<?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>49897</bug_id>
          
          <creation_ts>2010-11-22 01:47:09 -0800</creation_ts>
          <short_desc>Refactoring of the custom allocation framework</short_desc>
          <delta_ts>2011-01-20 09:33:12 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>42998</dependson>
    
    <dependson>46589</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Zoltan Horvath">zoltan</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>levin</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>312253</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-22 01:47:09 -0800</bug_when>
    <thetext>Inheriting from FastAllocBase can result in objects getting larger (bug #33896, bug #46589). Change Noncopyable and FastAllocBase inheriting to their macro implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312255</commentid>
    <comment_count>1</comment_count>
      <attachid>74534</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-22 01:59:13 -0800</bug_when>
    <thetext>Created attachment 74534
proposed patch

All in one patch. A bit large.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312259</commentid>
    <comment_count>2</comment_count>
      <attachid>74534</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-22 02:06:20 -0800</bug_when>
    <thetext>Comment on attachment 74534
proposed patch

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

&gt; JavaScriptCore/runtime/DateInstanceCache.h:40
&gt; +

I&apos;ll remove this.

&gt; WebKitTools/DumpRenderTree/ForwardingHeaders/wtf/Noncopyable.h:-1
&gt; -#include &lt;JavaScriptCore/Noncopyable.h&gt;

prepare-ChangeLog didn&apos;t generate changelog for WebKitTools. I&apos;ll make up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312260</commentid>
    <comment_count>3</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-22 02:09:04 -0800</bug_when>
    <thetext>I won&apos;t update the patch until Darin&apos;s comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312261</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-11-22 02:12:50 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I won&apos;t update the patch until Darin&apos;s comment.

Only 3 files should be updated to make this patch appliable:
JavaScriptCore/bytecode/CodeBlock.h
WebCore/bindings/js/JSSVGContextCache.h
WebCore/svg/DeprecatedSVGAnimatedPropertyTraits.h

We would like to know what EWS bots say. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312262</commentid>
    <comment_count>5</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-22 02:14:03 -0800</bug_when>
    <thetext>We would not want to know yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312349</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-22 08:24:09 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I won&apos;t update the patch until Darin&apos;s comment.

If it builds, I think it’s fine to do this all at once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312750</commentid>
    <comment_count>7</comment_count>
      <attachid>74640</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 04:10:47 -0800</bug_when>
    <thetext>Created attachment 74640
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312756</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-23 04:40:41 -0800</bug_when>
    <thetext>Attachment 74640 did not build on chromium:
Build output: http://queues.webkit.org/results/6404012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312765</commentid>
    <comment_count>9</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-11-23 04:56:12 -0800</bug_when>
    <thetext>Attachment 74640 did not build on qt:
Build output: http://queues.webkit.org/results/6373010</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312770</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-23 05:02:15 -0800</bug_when>
    <thetext>Attachment 74640 did not build on chromium:
Build output: http://queues.webkit.org/results/6420010</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312790</commentid>
    <comment_count>11</comment_count>
      <attachid>74652</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 05:40:44 -0800</bug_when>
    <thetext>Created attachment 74652
playing with EWSs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312803</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-23 06:22:32 -0800</bug_when>
    <thetext>Attachment 74652 did not build on chromium:
Build output: http://queues.webkit.org/results/6389012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312809</commentid>
    <comment_count>13</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-11-23 06:27:22 -0800</bug_when>
    <thetext>Attachment 74652 did not build on qt:
Build output: http://queues.webkit.org/results/6408014</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312819</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-23 07:01:02 -0800</bug_when>
    <thetext>Attachment 74652 did not build on chromium:
Build output: http://queues.webkit.org/results/6391012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312825</commentid>
    <comment_count>15</comment_count>
      <attachid>74660</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 07:15:17 -0800</bug_when>
    <thetext>Created attachment 74660
playing with EWSs round #2

I can&apos;t do anything on win applying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312842</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-23 07:53:17 -0800</bug_when>
    <thetext>Attachment 74660 did not build on chromium:
Build output: http://queues.webkit.org/results/6348018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312843</commentid>
    <comment_count>17</comment_count>
      <attachid>74664</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 07:55:37 -0800</bug_when>
    <thetext>Created attachment 74664
playing with Chromium&apos;s EWS bots round #3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312844</commentid>
    <comment_count>18</comment_count>
      <attachid>74665</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 07:58:18 -0800</bug_when>
    <thetext>Created attachment 74665
playing with Chromium&apos;s EWS bots round #3

FontCustomPlatformDataCairo.h fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312846</commentid>
    <comment_count>19</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-23 08:00:07 -0800</bug_when>
    <thetext>To be continued tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312848</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-23 08:03:26 -0800</bug_when>
    <thetext>Attachment 74660 did not build on chromium:
Build output: http://queues.webkit.org/results/6404015</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312892</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-23 09:31:18 -0800</bug_when>
    <thetext>Attachment 74665 did not build on chromium:
Build output: http://queues.webkit.org/results/6337018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313156</commentid>
    <comment_count>22</comment_count>
      <attachid>74729</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-24 00:20:49 -0800</bug_when>
    <thetext>Created attachment 74729
playing with Chromium&apos;s EWS bot round #4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313758</commentid>
    <comment_count>23</comment_count>
      <attachid>74876</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-25 07:23:17 -0800</bug_when>
    <thetext>Created attachment 74876
proposed patch (review candidate)

I tested it with Linux-Chrome, Linux-Gtk and others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313767</commentid>
    <comment_count>24</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-11-25 07:53:20 -0800</bug_when>
    <thetext>It would be awesome if WTF_MAKE_FAST_ALLOCATED required a semicolon at the end of it for two reasons:
1. It just follows the typical (mental) pattern in C++ for statements (otherwise it looks like a modifier for the next item.
2. It will help with things that do regex for simple parsing. For example,  editors (like emacs) that help with indenting or check-webkit-style.

A simple way to do this would be to add the following as the last line of WTF_MAKE_FAST_ALLOCATED :
  typedef int ThisIsHereToForceASemicolonAfterThisMacro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313787</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-11-25 08:39:15 -0800</bug_when>
    <thetext>Attachment 74876 did not build on chromium:
Build output: http://queues.webkit.org/results/6342043</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313987</commentid>
    <comment_count>26</comment_count>
      <attachid>74926</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-26 05:53:35 -0800</bug_when>
    <thetext>Created attachment 74926
updated rc</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313988</commentid>
    <comment_count>27</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-26 05:54:36 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; It would be awesome if WTF_MAKE_FAST_ALLOCATED required a semicolon at the end of it for two reasons:
&gt; 1. It just follows the typical (mental) pattern in C++ for statements (otherwise it looks like a modifier for the next item.
&gt; 2. It will help with things that do regex for simple parsing. For example,  editors (like emacs) that help with indenting or check-webkit-style.
&gt; 
&gt; A simple way to do this would be to add the following as the last line of WTF_MAKE_FAST_ALLOCATED :
&gt;   typedef int ThisIsHereToForceASemicolonAfterThisMacro

Good idea, I agree with you. I modified the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314898</commentid>
    <comment_count>28</comment_count>
      <attachid>75113</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-11-30 01:29:29 -0800</bug_when>
    <thetext>Created attachment 75113
updated proposed patch rc

Updated to latest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316886</commentid>
    <comment_count>29</comment_count>
      <attachid>75113</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-12-03 10:38:01 -0800</bug_when>
    <thetext>Comment on attachment 75113
updated proposed patch rc

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

It isn&apos;t clear why the noncopyable attribute wasn&apos;t retained in various places.

It also isn&apos;t clear why noncopyable was converted to noncopyable+fastallocated in some places but only noncopyable in others.

Lastly, I have some concerns about the macro placement and about some side effects of what is hidden in those macros (private:/public: , etc).

&gt; JavaScriptCore/bytecode/CodeBlock.h:582
&gt; +    public:

Remove &quot;public:&quot; here. (Not equivalent to what was here before.)

&gt; JavaScriptCore/bytecode/CodeBlock.h:606
&gt; +    private:

Remove &quot;private:&quot; here.

&gt; JavaScriptCore/parser/Nodes.h:116
&gt; +        WTF_MAKE_FAST_ALLOCATED;

Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot; (because it appears to me that this is not equivalent to what was here before.)

&gt; JavaScriptCore/parser/Nodes.h:1476
&gt; +        WTF_MAKE_FAST_ALLOCATED;

Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

&gt; JavaScriptCore/pcre/pcre_exec.cpp:51
&gt; +#include &lt;string.h&gt;

Why is this getting added?

&gt; JavaScriptCore/runtime/MarkStack.h:31
&gt; +#include &lt;string.h&gt;

Why did this get added?

&gt; JavaScriptCore/runtime/RegExpObject.h:63
&gt; +        struct RegExpObjectData {

What happened to the fast allocated quality here?

&gt; JavaScriptCore/runtime/RegExpObject.h:64
&gt; +        public:

Remove &quot;public:&quot;

&gt; JavaScriptCore/runtime/SmallStrings.h:41
&gt; +        WTF_MAKE_NONCOPYABLE(SmallStrings); WTF_MAKE_FAST_ALLOCATED;

Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

&gt; JavaScriptCore/runtime/SymbolTable.h:125
&gt; +        WTF_MAKE_FAST_ALLOCATED;

Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

&gt; JavaScriptCore/wtf/MD5.h:35
&gt; +#include &lt;stdint.h&gt;

Why is this being added?

&gt; JavaScriptCore/wtf/OwnArrayPtr.h:37
&gt; +template &lt;typename T&gt; class OwnArrayPtr {

Needs  WTF_MAKE_NONCOPYABLE

&gt; JavaScriptCore/wtf/OwnPtr.h:41
&gt; +    template&lt;typename T&gt; class OwnPtr {

Needs  WTF_MAKE_NONCOPYABLE

&gt; JavaScriptCore/wtf/Platform.h:1122
&gt; +/* Noncopyable&apos;s implementation as a macro */

Use C++ style comments.

platform.h seems like the wrong header file for this.  Why not put them in the header files where they were?

&gt; JavaScriptCore/wtf/Platform.h:1133
&gt; +        private: \

Hiding private: inside of this macro is unexpected and will lead to people scratching their heads when their class members become private after this is put in. (Much like hiding goto or return in a macro).

Instead how about just putting this macro at the end of classes and explicitly adding a private: section if there isn&apos;t one.

&gt; JavaScriptCore/wtf/Platform.h:1147
&gt; +public: \

Same comment as above but instead of putting this macro at the end of the class, one could put it at the end of the public section.

I tend to expect important information at the top of the class and whether the class is fast allocated or not really doesn&apos;t matter to me when I trying to use it.

&gt; JavaScriptCore/wtf/Platform.h:1176
&gt; +private: \

Ditto.

&gt; WebKitTools/WebKitAPITest/HostWindow.h:32
&gt; +class HostWindow {

What happened to Noncopyable?

&gt; WebKitTools/WebKitTestRunner/TestInvocation.h:33
&gt; +class TestInvocation {

What happened to Noncopyable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317617</commentid>
    <comment_count>30</comment_count>
      <attachid>75696</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-12-06 07:41:43 -0800</bug_when>
    <thetext>Created attachment 75696
updated patch

(In reply to comment #29)
&gt; (From update of attachment 75113 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=75113&amp;action=review
&gt; 
&gt; It isn&apos;t clear why the noncopyable attribute wasn&apos;t retained in various places.
&gt; 
&gt; It also isn&apos;t clear why noncopyable was converted to noncopyable+fastallocated in some places but only noncopyable in others.

When we implemented custom allocation framework into WebKit we made a decision to add FastAllocBase as a base class of Noncopyable because it is a superclass and a lot of heap allocated classes are inherited from it, so some classes needlessly got FastAllocBase&apos;s methods. In this patch I corrected these things, because we can choose exactly which class has to be either fast allocated or noncopyable or both. I use our static code analyzer tool (called Columbus, check http://www.inf.u-szeged.hu/sed/softwarequality) to determine these things.

&gt; Lastly, I have some concerns about the macro placement and about some side effects of what is hidden in those macros (private:/public: , etc).
&gt; 
&gt; &gt; JavaScriptCore/bytecode/CodeBlock.h:582
&gt; &gt; +    public:
&gt; 
&gt; Remove &quot;public:&quot; here. (Not equivalent to what was here before.)
&gt; 
&gt; &gt; JavaScriptCore/bytecode/CodeBlock.h:606
&gt; &gt; +    private:
&gt;
&gt; Remove &quot;private:&quot; here.

Adding of WTF_MAKE_FAST_ALLOCATED to RareData struct causes compile errors on windows:

2&gt;c:\cygwin\home\webkit\webkit\javascriptcore\wtf\OwnPtrCommon.h(59) : error C2248: &apos;JSC::CodeBlock::RareData&apos; : cannot access private struct declared in class &apos;JSC::CodeBlock&apos;
2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(582) : see declaration of &apos;JSC::CodeBlock::RareData&apos;
2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(245) : see declaration of &apos;JSC::CodeBlock&apos;
2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\wtf/PassOwnPtr.h(58) : see reference to function template instantiation &apos;void WTF::deleteOwnedPtr&lt;JSC::CodeBlock::RareData&gt;(T *)&apos; being compiled
2&gt;        with
2&gt;        [
2&gt;            T=JSC::CodeBlock::RareData
2&gt;        ]
2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\wtf/PassOwnPtr.h(58) : while compiling class template member function &apos;WTF::PassOwnPtr&lt;T&gt;::~PassOwnPtr(void)&apos;
2&gt;        with
2&gt;        [
2&gt;            T=JSC::CodeBlock::RareData
2&gt;        ]
2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(535) : see reference to class template instantiation &apos;WTF::PassOwnPtr&lt;T&gt;&apos; being compiled
2&gt;        with
2&gt;        [
2&gt;            T=JSC::CodeBlock::RareData
2&gt;        ]

I don&apos;t know what causes this. Modifying its access level has solved the problem.
 
&gt; &gt; JavaScriptCore/parser/Nodes.h:116
&gt; &gt; +        WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot; (because it appears to me that this is not equivalent to what was here before.)

Removed.

&gt; &gt; JavaScriptCore/parser/Nodes.h:1476
&gt; &gt; +        WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

FunctionParameters is a Vector and is a RefCounted. Both Vector and RefCounted is fast allocated, so we need to add the macro to make the methods unambigous for the compilers.

&gt; &gt; JavaScriptCore/pcre/pcre_exec.cpp:51
&gt; &gt; +#include &lt;string.h&gt;
&gt; 
&gt; Why is this getting added?

It is needed for memcpy on Chromium build.

&gt; &gt; JavaScriptCore/runtime/MarkStack.h:31
&gt; &gt; +#include &lt;string.h&gt;
&gt; 
&gt; Why did this get added?

When I removed include of Noncopyable.h memcpy missed string.h. 
 
&gt; &gt; JavaScriptCore/runtime/RegExpObject.h:63
&gt; &gt; +        struct RegExpObjectData {
&gt;
&gt; What happened to the fast allocated quality here?
&gt;

Same problem on Windows like at RareData struct. In the new patch I did the same as with RareData.

&gt; 
&gt; &gt; JavaScriptCore/runtime/RegExpObject.h:64
&gt; &gt; +        public:
&gt; 
&gt; Remove &quot;public:&quot;

Ups. It&apos;s a mistake, I removed it.
 
&gt; &gt; JavaScriptCore/runtime/SmallStrings.h:41
&gt; &gt; +        WTF_MAKE_NONCOPYABLE(SmallStrings); WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

Yeap, removed. SmallStringsStorage should be fast allocated not SmallStrings, changed.

&gt; &gt; JavaScriptCore/runtime/SymbolTable.h:125
&gt; &gt; +        WTF_MAKE_FAST_ALLOCATED;
&gt; 
&gt; Remove &quot;WTF_MAKE_FAST_ALLOCATED&quot;

SharedSymbolTable is a SymbolTable which is HashMap (HashMap is fast allocated), and it is RefCounted as well. 
The reason is same as for FunctionParameters class.

&gt; &gt; JavaScriptCore/wtf/MD5.h:35
&gt; &gt; +#include &lt;stdint.h&gt;
&gt; 
&gt; Why is this being added?

It is needed on windows because of uint8_t and etc.
MD5.cpp also needs string.h because of memcpy.

&gt; &gt; JavaScriptCore/wtf/OwnArrayPtr.h:37
&gt; &gt; +template &lt;typename T&gt; class OwnArrayPtr {
&gt; 
&gt; Needs  WTF_MAKE_NONCOPYABLE

It doesn&apos;t need because it has it&apos;s own copy constructor: 
JavaScriptCore/wtf/OwnArrayPtr.h:50

&gt; &gt; JavaScriptCore/wtf/OwnPtr.h:41
&gt; &gt; +    template&lt;typename T&gt; class OwnPtr {
&gt; 
&gt; Needs  WTF_MAKE_NONCOPYABLE

Same case as in OwnArrayPtr. CC: JavaScriptCore/wtf/OwnPtr.h:55

&gt; &gt; JavaScriptCore/wtf/Platform.h:1122
&gt; &gt; +/* Noncopyable&apos;s implementation as a macro */
&gt; 
&gt; Use C++ style comments.

Gtk build won&apos;t compile with C++ style comments. Platform.h contains only C style comments.

&gt; platform.h seems like the wrong header file for this.  Why not put them in the header files where they were?

I think it is simplier to put these to platform.h, in this way we can avoid including Noncopyable.h and FastAllocBase.h headers.

&gt; &gt; JavaScriptCore/wtf/Platform.h:1133
&gt; &gt; +        private: \
&gt; 
&gt; Hiding private: inside of this macro is unexpected and will lead to people scratching their heads when their class members become private after this is put in. (Much like hiding goto or return in a macro).

This is the original Noncopyable macro implementation made by Anders Carlsson in bug #46589.

&gt; 
&gt; Instead how about just putting this macro at the end of classes and explicitly adding a private: section if there isn&apos;t one.
&gt;
&gt; &gt; JavaScriptCore/wtf/Platform.h:1147
&gt; &gt; +public: \
&gt; 
&gt; Same comment as above but instead of putting this macro at the end of the class, one could put it at the end of the public section.

Then I think it&apos;s better to putting to the end of the classes. Btw, I had a related patch in bug #47887, but I closed it because I didn&apos;t get response and I wanted to go ahead with this big patch.

&gt; I tend to expect important information at the top of the class and whether the class is fast allocated or not really doesn&apos;t matter to me when I trying to use it.

That is true. I think we should wait for others opinion as well!
I haven&apos;t changed these in my new patch yet.

&gt; &gt; JavaScriptCore/wtf/Platform.h:1176
&gt; &gt; +private: \
&gt; 
&gt; Ditto.

Bug #47887 was related to this.
 
&gt; &gt; WebKitTools/WebKitAPITest/HostWindow.h:32
&gt; &gt; +class HostWindow {
&gt; 
&gt; What happened to Noncopyable?

I did&apos;t want to include Platform.h. Corrected.

&gt; &gt; WebKitTools/WebKitTestRunner/TestInvocation.h:33
&gt; &gt; +class TestInvocation {
&gt; 
&gt; What happened to Noncopyable?

Ditto.
I think these are the cases which indicate separate header files for noncopyable and fast allocated macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317640</commentid>
    <comment_count>31</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-12-06 08:31:01 -0800</bug_when>
    <thetext>Attachment 75696 did not build on qt:
Build output: http://queues.webkit.org/results/6746081</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317645</commentid>
    <comment_count>32</comment_count>
      <attachid>75700</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-12-06 08:43:35 -0800</bug_when>
    <thetext>Created attachment 75700
updated proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317725</commentid>
    <comment_count>33</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-12-06 11:01:29 -0800</bug_when>
    <thetext>When I look at http://trac.webkit.org/browser/trunk/JavaScriptCore/wtf/Platform.h, it has no macros of the type that you are adding. It is solely focused on defining what platforms use, enable, and support. The added macros have nothing to do with that.


(In reply to comment #30)
&gt; Created an attachment (id=75696) [details]
&gt; updated patch
&gt; 
&gt; (In reply to comment #29)
&gt; &gt; (From update of attachment 75113 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=75113&amp;action=review
&gt; &gt;  
&gt; Adding of WTF_MAKE_FAST_ALLOCATED to RareData struct causes compile errors on windows:
&gt; 
&gt; 2&gt;c:\cygwin\home\webkit\webkit\javascriptcore\wtf\OwnPtrCommon.h(59) : error C2248: &apos;JSC::CodeBlock::RareData&apos; : cannot access private struct declared in class &apos;JSC::CodeBlock&apos;
&gt; 2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(582) : see declaration of &apos;JSC::CodeBlock::RareData&apos;
&gt; 2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(245) : see declaration of &apos;JSC::CodeBlock&apos;
&gt; 2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\wtf/PassOwnPtr.h(58) : see reference to function template instantiation &apos;void WTF::deleteOwnedPtr&lt;JSC::CodeBlock::RareData&gt;(T *)&apos; being compiled
&gt; 2&gt;        with
&gt; 2&gt;        [
&gt; 2&gt;            T=JSC::CodeBlock::RareData
&gt; 2&gt;        ]
&gt; 2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\wtf/PassOwnPtr.h(58) : while compiling class template member function &apos;WTF::PassOwnPtr&lt;T&gt;::~PassOwnPtr(void)&apos;
&gt; 2&gt;        with
&gt; 2&gt;        [
&gt; 2&gt;            T=JSC::CodeBlock::RareData
&gt; 2&gt;        ]
&gt; 2&gt;        c:\cygwin\home\webkit\WebKit\JavaScriptCore\bytecode\CodeBlock.h(535) : see reference to class template instantiation &apos;WTF::PassOwnPtr&lt;T&gt;&apos; being compiled
&gt; 2&gt;        with
&gt; 2&gt;        [
&gt; 2&gt;            T=JSC::CodeBlock::RareData
&gt; 2&gt;        ]
&gt; 
&gt; I don&apos;t know what causes this. Modifying its access level has solved the problem.

It would be good to try to understand why you are doing what you are doing rather than just do something to shut up a compiler.

&gt; 
&gt; &gt; &gt; JavaScriptCore/wtf/Platform.h:1133
&gt; &gt; &gt; +        private: \
&gt; &gt; 
&gt; &gt; Hiding private: inside of this macro is unexpected and will lead to people scratching their heads when their class members become private after this is put in. (Much like hiding goto or return in a macro).
&gt; 
&gt; This is the original Noncopyable macro implementation made by Anders Carlsson in bug #46589.

I guess I&apos;ll have to take this one up with him.


&gt; &gt; 
&gt; &gt; Instead how about just putting this macro at the end of classes and explicitly adding a private: section if there isn&apos;t one.
&gt; &gt;
&gt; &gt; &gt; JavaScriptCore/wtf/Platform.h:1147
&gt; &gt; &gt; +public: \
&gt; &gt; 
&gt; &gt; Same comment as above but instead of putting this macro at the end of the class, one could put it at the end of the public section.
&gt; 
&gt; Then I think it&apos;s better to putting to the end of the classes. Btw, I had a related patch in bug #47887, but I closed it because I didn&apos;t get response and I wanted to go ahead with this big patch.

Well, I&apos;d support doing it in this patch (or I&apos;m willing to re-visit that other patch). Hiding a change in access level makes reading code harder which is bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317727</commentid>
    <comment_count>34</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-12-06 11:06:15 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; Created an attachment (id=75696) [details]
&gt; updated patch
&gt; 
&gt; (In reply to comment #29)
&gt; &gt; (From update of attachment 75113 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=75113&amp;action=review
&gt; &gt; 
&gt; &gt; It isn&apos;t clear why the noncopyable attribute wasn&apos;t retained in various places.
&gt; &gt; 
&gt; &gt; It also isn&apos;t clear why noncopyable was converted to noncopyable+fastallocated in some places but only noncopyable in others.
&gt; 
&gt; When we implemented custom allocation framework into WebKit we made a decision to add FastAllocBase as a base class of Noncopyable because it is a superclass and a lot of heap allocated classes are inherited from it, so some classes needlessly got FastAllocBase&apos;s methods. In this patch I corrected these things, because we can choose exactly which class has to be either fast allocated or noncopyable or both. I use our static code analyzer tool (called Columbus, check http://www.inf.u-szeged.hu/sed/softwarequality) to determine these things.

Your ChangeLog has not indication of what is happening here. Also this is not reflected in the bug title.

Ideally you&apos;d keep equivalence with respect to this aspect for this patch (since the patch is not about fixing FastAllocBase inheritance -- it is about getting rid of those classes -- and there are enough changes in here to do that without introducing a separate change for something else at the same time). Immediately after this change, get rid of the places where it isn&apos;t needed with an appropriate bug, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318163</commentid>
    <comment_count>35</comment_count>
      <attachid>75808</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-12-07 06:43:40 -0800</bug_when>
    <thetext>Created attachment 75808
updated, ews test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318166</commentid>
    <comment_count>36</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-12-07 06:48:41 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; When I look at http://trac.webkit.org/browser/trunk/JavaScriptCore/wtf/Platform.h, it has no macros of the type that you are adding. It is solely focused on defining what platforms use, enable, and support. The added macros have nothing to do with that.

Yeap, in the past we talked about to put these into platform.h. Currently, I don&apos;t know the bug&apos;s number.

&gt; It would be good to try to understand why you are doing what you are doing rather than just do something to shut up a compiler.

Done. Patch fixed. More about the build problem: http://msdn.microsoft.com/en-us/library/tsbce2bh(VS.80).aspx


&gt; &gt; 
&gt; &gt; This is the original Noncopyable macro implementation made by Anders Carlsson in bug #46589.
&gt; 
&gt; I guess I&apos;ll have to take this one up with him.
&gt; 
&gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; Instead how about just putting this macro at the end of classes and explicitly adding a private: section if there isn&apos;t one.
&gt; &gt; &gt;
&gt; &gt; &gt; &gt; JavaScriptCore/wtf/Platform.h:1147
&gt; &gt; &gt; &gt; +public: \
&gt; &gt; &gt; 
&gt; &gt; &gt; Same comment as above but instead of putting this macro at the end of the class, one could put it at the end of the public section.
&gt; &gt; 
&gt; &gt; Then I think it&apos;s better to putting to the end of the classes. Btw, I had a related patch in bug #47887, but I closed it because I didn&apos;t get response and I wanted to go ahead with this big patch.
&gt; 
&gt; Well, I&apos;d support doing it in this patch (or I&apos;m willing to re-visit that other patch). Hiding a change in access level makes reading code harder which is bad.

I have started to put the macro&apos;s to the end of the classes. It looks terrible. Do we really want to do that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318167</commentid>
    <comment_count>37</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-12-07 06:56:39 -0800</bug_when>
    <thetext>(In reply to comment #34)

&gt; &gt; When we implemented custom allocation framework into WebKit we made a decision to add FastAllocBase as a base class of Noncopyable because it is a superclass and a lot of heap allocated classes are inherited from it, so some classes needlessly got FastAllocBase&apos;s methods. In this patch I corrected these things, because we can choose exactly which class has to be either fast allocated or noncopyable or both. I use our static code analyzer tool (called Columbus, check http://www.inf.u-szeged.hu/sed/softwarequality) to determine these things.
&gt; 
&gt; Your ChangeLog has not indication of what is happening here. Also this is not reflected in the bug title.

Yes. What do you think about change the bug and the changelog title to Refactoring custom allocation framework and its inheritances?
 
&gt; Ideally you&apos;d keep equivalence with respect to this aspect for this patch (since the patch is not about fixing FastAllocBase inheritance -- it is about getting rid of those classes -- and there are enough changes in here to do that without introducing a separate change for something else at the same time). Immediately after this change, get rid of the places where it isn&apos;t needed with an appropriate bug, etc.

I&apos;d like to do this one patch if it&apos;s possible. Changing from inheriting to use macros indicates extra changes than just a simple batch replace either way. Of course, I need to extend my changelog! Btw, custom allocation framework has effect only on platforms which defines ENABLE_GLOBAL_FASTMALLOC_NEW to 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318217</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 08:49:23 -0800</bug_when>
    <thetext>Attachment 75808 did not pass style-queue:

Failed to run &quot;[u&apos;git&apos;, u&apos;reset&apos;, u&apos;--hard&apos;, u&apos;refs/remotes/trunk&apos;]&quot; exit_code: 128
error: Could not write new index file.
fatal: Could not reset index file to revision &apos;refs/remotes/trunk&apos;.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318269</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 09:50:38 -0800</bug_when>
    <thetext>Attachment 75808 did not pass style-queue:

Failed to run &quot;[u&apos;git&apos;, u&apos;reset&apos;, u&apos;--hard&apos;, u&apos;refs/remotes/trunk&apos;]&quot; exit_code: 128
error: Could not write new index file.
fatal: Could not reset index file to revision &apos;refs/remotes/trunk&apos;.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318302</commentid>
    <comment_count>40</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-12-07 10:31:49 -0800</bug_when>
    <thetext>Attachment 75808 did not build on qt:
Build output: http://queues.webkit.org/results/6774094</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318316</commentid>
    <comment_count>41</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 10:51:40 -0800</bug_when>
    <thetext>Attachment 75808 did not pass style-queue:

Failed to run &quot;[u&apos;git&apos;, u&apos;reset&apos;, u&apos;--hard&apos;, u&apos;refs/remotes/trunk&apos;]&quot; exit_code: 128
error: Could not write new index file.
fatal: Could not reset index file to revision &apos;refs/remotes/trunk&apos;.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318366</commentid>
    <comment_count>42</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 11:52:56 -0800</bug_when>
    <thetext>Attachment 75808 did not pass style-queue:

Failed to run &quot;[u&apos;git&apos;, u&apos;reset&apos;, u&apos;--hard&apos;, u&apos;refs/remotes/trunk&apos;]&quot; exit_code: 128
error: Could not write new index file.
fatal: Could not reset index file to revision &apos;refs/remotes/trunk&apos;.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318375</commentid>
    <comment_count>43</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-07 12:02:37 -0800</bug_when>
    <thetext>Attachment 75808 did not build on win:
Build output: http://queues.webkit.org/results/6853064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318406</commentid>
    <comment_count>44</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-07 13:08:35 -0800</bug_when>
    <thetext>Attachment 75808 did not build on win:
Build output: http://queues.webkit.org/results/6735090</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318407</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 13:26:42 -0800</bug_when>
    <thetext>Attachment 75808 did not build on chromium:
Build output: http://queues.webkit.org/results/6790080</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318596</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 21:35:05 -0800</bug_when>
    <thetext>Attachment 75808 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/update-webkit&apos;]&quot; exit_code: 2
Updating OpenSource
Incomplete data: Delta source ended unexpectedly at /usr/lib/git-core/git-svn line 5061

Died at WebKitTools/Scripts/update-webkit line 132.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326648</commentid>
    <comment_count>47</comment_count>
      <attachid>75808</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-24 09:47:08 -0800</bug_when>
    <thetext>Comment on attachment 75808
updated, ews test

Sorry about the style-bot noise.  The stylebot has been fixed.  Since this doens&apos;t pass any EWS (Except gtk) seems this is unlandable as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328993</commentid>
    <comment_count>48</comment_count>
      <attachid>77887</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-04 07:51:49 -0800</bug_when>
    <thetext>Created attachment 77887
updated, ews test, for prereview

In this patch I don&apos;t remove Noncopyable.h, but marcos are still the same with &apos;private:&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329001</commentid>
    <comment_count>49</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-01-04 08:21:08 -0800</bug_when>
    <thetext>Attachment 77887 did not build on win:
Build output: http://queues.webkit.org/results/7236421</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329527</commentid>
    <comment_count>50</comment_count>
      <attachid>77993</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-05 06:09:35 -0800</bug_when>
    <thetext>Created attachment 77993
proposed patch (review candidate)

Windows build and Chromium win build fixed. Patch is updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>333034</commentid>
    <comment_count>51</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-12 04:53:52 -0800</bug_when>
    <thetext>Hey, 

is there any thoughts on this patch?

Z</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336537</commentid>
    <comment_count>52</comment_count>
      <attachid>79429</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-19 08:08:25 -0800</bug_when>
    <thetext>Created attachment 79429
updated to latest, playing with ews-s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336539</commentid>
    <comment_count>53</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-19 08:11:22 -0800</bug_when>
    <thetext>Attachment 79429 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 193 in 443 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336657</commentid>
    <comment_count>54</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-19 11:10:04 -0800</bug_when>
    <thetext>Attachment 79429 did not build on mac:
Build output: http://queues.webkit.org/results/7551213</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337191</commentid>
    <comment_count>55</comment_count>
      <attachid>79564</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 01:55:50 -0800</bug_when>
    <thetext>Created attachment 79564
proposed patch (review candidate)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337193</commentid>
    <comment_count>56</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 01:59:06 -0800</bug_when>
    <thetext>Attachment 79564 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 192 in 445 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337198</commentid>
    <comment_count>57</comment_count>
      <attachid>79566</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 02:21:30 -0800</bug_when>
    <thetext>Created attachment 79566
proposed patch (review candidate) + efl fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337199</commentid>
    <comment_count>58</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 02:22:59 -0800</bug_when>
    <thetext>Attachment 79564 did not build on chromium:
Build output: http://queues.webkit.org/results/7613242</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337208</commentid>
    <comment_count>59</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-20 02:35:51 -0800</bug_when>
    <thetext>Attachment 79564 did not build on qt:
Build output: http://queues.webkit.org/results/7534250</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337209</commentid>
    <comment_count>60</comment_count>
      <attachid>79568</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 02:35:58 -0800</bug_when>
    <thetext>Created attachment 79568
proposed patch (review candidate)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337210</commentid>
    <comment_count>61</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 02:36:23 -0800</bug_when>
    <thetext>Attachment 79564 did not build on gtk:
Build output: http://queues.webkit.org/results/7499244</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337213</commentid>
    <comment_count>62</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 02:39:30 -0800</bug_when>
    <thetext>Attachment 79568 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 192 in 445 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337224</commentid>
    <comment_count>63</comment_count>
      <attachid>79571</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 02:59:35 -0800</bug_when>
    <thetext>Created attachment 79571
proposed patch (review candidate)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337227</commentid>
    <comment_count>64</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 03:02:47 -0800</bug_when>
    <thetext>Attachment 79571 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 192 in 445 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337234</commentid>
    <comment_count>65</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 03:15:40 -0800</bug_when>
    <thetext>Attachment 79568 did not build on chromium:
Build output: http://queues.webkit.org/results/7549242</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337235</commentid>
    <comment_count>66</comment_count>
      <attachid>79572</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 03:24:09 -0800</bug_when>
    <thetext>Created attachment 79572
proposed patch (review candidate)

EFL fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337236</commentid>
    <comment_count>67</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 03:25:16 -0800</bug_when>
    <thetext>Attachment 79571 did not build on chromium:
Build output: http://queues.webkit.org/results/7591225</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337237</commentid>
    <comment_count>68</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 03:26:37 -0800</bug_when>
    <thetext>Attachment 79572 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 192 in 446 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337243</commentid>
    <comment_count>69</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-20 03:51:48 -0800</bug_when>
    <thetext>Attachment 79571 did not build on qt:
Build output: http://queues.webkit.org/results/7613245</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337244</commentid>
    <comment_count>70</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 03:55:56 -0800</bug_when>
    <thetext>Attachment 79564 did not build on chromium:
Build output: http://queues.webkit.org/results/7510220</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337247</commentid>
    <comment_count>71</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 04:10:28 -0800</bug_when>
    <thetext>Attachment 79572 did not build on chromium:
Build output: http://queues.webkit.org/results/7493236</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337256</commentid>
    <comment_count>72</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-01-20 04:30:10 -0800</bug_when>
    <thetext>Attachment 79572 did not build on qt:
Build output: http://queues.webkit.org/results/7627207</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337268</commentid>
    <comment_count>73</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 04:38:49 -0800</bug_when>
    <thetext>Attachment 79572 did not build on gtk:
Build output: http://queues.webkit.org/results/7584224</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337270</commentid>
    <comment_count>74</comment_count>
      <attachid>79581</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2011-01-20 04:41:04 -0800</bug_when>
    <thetext>Created attachment 79581
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337273</commentid>
    <comment_count>75</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 04:44:40 -0800</bug_when>
    <thetext>Attachment 79581 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/API/JSClassRef.h&apos;, u...&quot; exit_code: 1

Last 3072 characters of output:
Core/loader/CrossOriginPreflightResultCache.h:68:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/css/MediaQueryEvaluator.h:53:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderBoxModelObject.cpp:67:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadingPrimitives.h:101:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/ValidityState.h:33:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGFontData.h:29:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/wtf/ThreadSafeShared.h:70:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/ColumnInfo.h:35:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/runtime/BatchedTransitionOptimizer.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/dom/NodeRareData.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/dom/NodeRareData.h:73:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/page/UserStyleSheet.h:39:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLPreloadScanner.h:42:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/OriginQuotaManager.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/JavaScriptCore/parser/Parser.h:49:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/canvas/CanvasRenderingContext.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/html/parser/HTMLElementStack.h:43:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/bridge/jsc/BridgeJSC.h:63:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/icon/IconDatabase.h:66:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathBlender.h:30:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/platform/ContextMenu.h:45:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/NavigationScheduler.cpp:57:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/ImageLoader.cpp:61:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/storage/DatabaseTracker.h:60:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/svg/SVGPathByteStream.h:47:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/rendering/RenderImageResource.h:38:  More than one command on the same line  [whitespace/newline] [4]
Source/WebCore/loader/cache/MemoryCache.h:74:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 192 in 446 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337341</commentid>
    <comment_count>76</comment_count>
      <attachid>79581</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-20 07:55:15 -0800</bug_when>
    <thetext>Comment on attachment 79581
proposed patch

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

Zoltan fixed everything what David mentioned, except putting macros at the end of classes.
I think these macros should be at the top to get quick if a class is fast allocated or not.

Great work, r=me. Please be sure not to break any platform.

&gt; Source/JavaScriptCore/wtf/FastAllocBase.h:60
&gt;  // Example usage:
&gt; -//    class Widget : public FastAllocBase { ... };
&gt; +//    class Widget {
&gt; +//        WTF_MAKE_FAST_ALLOCATED
&gt; +//    ...
&gt; +//    };
&gt; +//
&gt; +//    struct Data {
&gt; +//        WTF_MAKE_FAST_ALLOCATED
&gt; +//    public:
&gt; +//    ...
&gt; +//    };

This documentation is should be enough for developers not to surprise 
at private struct members if they miss to use explicit public modifier.

Additionally please write a mail to webkit-dev about this change. (and maybe a wiki page too)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337386</commentid>
    <comment_count>77</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-20 09:12:37 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76248 might have broken Windows Debug (Build)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337396</commentid>
    <comment_count>78</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-20 09:32:31 -0800</bug_when>
    <thetext>Patch landed in http://trac.webkit.org/changeset/76248
Qt-V8 buildfix landed in http://trac.webkit.org/changeset/76251
Mac and Win DRT buildfix landed in http://trac.webkit.org/changeset/76253</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337397</commentid>
    <comment_count>79</comment_count>
      <attachid>79581</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-20 09:33:12 -0800</bug_when>
    <thetext>Comment on attachment 79581
proposed patch

remove r+ from landed patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74534</attachid>
            <date>2010-11-22 01:59:13 -0800</date>
            <delta_ts>2010-11-23 04:10:47 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>fab1.patch</filename>
            <type>text/plain</type>
            <size>323191</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBjMjc0YWFkLi5kNDRkYWE5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjIgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQg
CisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1l
bnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiB3dGYv
RmFzdEFsbG9jQmFzZS5oOiBNb3ZlIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
biB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL05vbmNvcHlhYmxlLmggOiBSZW1vdmVkLiBO
b25jb3B5YWJsZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uJ3MgbW92ZWQgdG8gUGxhdGZvcm0uaAor
ICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOiBBZGQgTm9uY29weWFibGUncyBhbmQgRmFzdEFsbG9j
QmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uLgorCiAyMDEwLTExLTE4ICBDaGFvLXlpbmcgRnUg
IDxmdUBtaXBzLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBDc2FiYSBPc3p0cm9nb27DoWMu
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSBiL0phdmFTY3JpcHRD
b3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGY3ODA2YjQuLmQzNTQ5ZjAgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2Vm
aWxlLmFtCkBAIC00NjcsNyArNDY3LDYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJ
SmF2YVNjcmlwdENvcmUvd3RmL01ENS5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1
ZXVlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25Db3B5aW5nU29ydC5oIFwKLQlKYXZhU2Ny
aXB0Q29yZS93dGYvTm9uY29weWFibGUuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL05vdEZvdW5k
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9OdWxsUHRyLmggXAogCUphdmFTY3JpcHRDb3JlL3d0
Zi9Pd25BcnJheVB0ci5oIFwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmd5cGkgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCmluZGV4IGRlYjM2
ZmIuLmFkOTk3NTAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5
cGkKKysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQpAQCAtMzk4LDcgKzM5
OCw2IEBACiAgICAgICAgICAgICAnd3RmL01hdGhFeHRyYXMuaCcsCiAgICAgICAgICAgICAnd3Rm
L01lc3NhZ2VRdWV1ZS5oJywKICAgICAgICAgICAgICd3dGYvTm9uQ29weWluZ1NvcnQuaCcsCi0g
ICAgICAgICAgICAnd3RmL05vbmNvcHlhYmxlLmgnLAogICAgICAgICAgICAgJ3d0Zi9Ob3RGb3Vu
ZC5oJywKICAgICAgICAgICAgICd3dGYvT3duQXJyYXlQdHIuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkZhc3RNYWxsb2NQdHIuaCcsCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKaW5kZXggN2MyNmE5Yy4uNjVhNmI5YyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9q
CisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJv
agpAQCAtNTk4LDEwICs1OTgsNiBAQAogCQkJPg0KIAkJPC9GaWxlPg0KIAkJPEZpbGUNCi0JCQlS
ZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0ZlxOb25jb3B5YWJsZS5oIg0KLQkJCT4NCi0JCTwvRmlsZT4N
Ci0JCTxGaWxlDQogCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcTm9uQ29weWluZ1NvcnQuaCIN
CiAJCQk+DQogCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTFlMWM1Yy4uMGE3MmM4MiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC00NDQsNyArNDQ0LDYgQEAKIAkJQkMxOEM0M0MwRTE2RjVDRDAw
QjM0NDYwIC8qIE1hdGhPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY2OTJBODZCMDI1NTU5N0QwMUZGNjBGNyAvKiBNYXRoT2JqZWN0LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0M0Uw
RTE2RjVDRDAwQjM0NDYwIC8qIE1lc3NhZ2VRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFFRTc5OEIwRDZDQTUzRDAwRkVBM0JBIC8qIE1lc3Nh
Z2VRdWV1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NkUwMjU1NTk3RDAxRkY2MEY3IC8q
IE5vZGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKLQkJQkMxOEM0
NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzAzRjU2OTA5OTExOTAwMDBBRDcxQjggLyogTm9u
Y29weWFibGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlCQzE4QzQ0MTBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjY4MEMzMEUxNkQ0
RTkwMEEwNkU5MiAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oICovOyB9OwogCQlCQzE4QzQ0MjBFMTZG
NUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBFNjBFMTZENTIzMDBBMDZFOTIgLyog
TnVtYmVyQ29uc3RydWN0b3IubHV0LmggKi87IH07CiAJCUJDMThDNDQzMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY2OTJBODcxMDI1NTU5N0QwMUZGNjBGNyAvKiBOdW1iZXJPYmplY3QuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODc5LDcgKzg3
OCw2IEBACiAJCTkwNUIwMkFEMEUyODY0MEYwMDZERjg4MiAvKiBSZWZDb3VudGVkTGVha0NvdW50
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmQ291bnRlZExl
YWtDb3VudGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTBEMzQ2OUIwRTI4
NTI4MDAwOTQ5MkVFIC8qIFJlZkNvdW50ZWRMZWFrQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZWZDb3VudGVkTGVha0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTMwM0Y1NjcwOTkxMThGQTAwQUQ3MUI4IC8qIE93blB0ci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25QdHIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vbmNvcHlhYmxlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25BcnJheVB0
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25BcnJheVB0ci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFy
c2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2Vy
QXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMzBGQjc5MjE5
MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGFyc2VyQXJlbmEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MjIsNyAr
MTUyMCw2IEBACiAJCQkJNTExRkM0Q0ExMTdFRTJBODAwNDI1MjcyIC8qIE1ENS5oICovLAogCQkJ
CUUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLywKIAkJCQk2NUUx
QTJGNDEyMkI4ODBEMDBCMjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCAqLywKLQkJCQk5MzAzRjU2
OTA5OTExOTAwMDBBRDcxQjggLyogTm9uY29weWFibGUuaCAqLywKIAkJCQlDMEEyNzIzRjBFNTA5
RjFFMDBFOTZFMTUgLyogTm90Rm91bmQuaCAqLywKIAkJCQk5MzNGNUNEQjEyNjkyMjY5MDA0OTE5
MUUgLyogTnVsbFB0ci5oICovLAogCQkJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25B
cnJheVB0ci5oICovLApAQCAtMjIxMSw3ICsyMjA4LDYgQEAKIAkJCQk3RUZGMDA2NDBFQzA1QTlB
MDBBQTdDOTMgLyogTm9kZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDNGMEUxNkY1
Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVFMUEzREYxMjJCODk0
NTAwQjI2MDk3IC8qIE5vbkNvcHlpbmdTb3J0LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQzE4QzQ0
MDBFMTZGNUNEMDBCMzQ0NjAgLyogTm9uY29weWFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMw
QTI3MjYzMEU1MEEwNjMwMEU5NkUxNSAvKiBOb3RGb3VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMxOEM0NDEwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzE4QzQ0MjBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3Iu
bHV0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJz
dHJhY3RNYWNyb0Fzc2VtYmxlci5oCmluZGV4IDFmYTVlYzcuLjQ0Mjc5NTcgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ29kZUxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiTWFjcm9B
c3NlbWJsZXJDb2RlUmVmLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAKICNpZiBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCBiL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKaW5kZXggZTFkY2EwYi4uNDkyNDk0MSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIERV
TVBfQ09ERSAwCiAKICNpbmNsdWRlIDxNYWNyb0Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNTAsNyArNDksOCBAQCBuYW1l
c3BhY2UgSlNDIHsKIC8vICAgKiBUaGUgYWRkcmVzcyBvZiBhIExhYmVsIHBvaW50aW5nIGludG8g
dGhlIGNvZGUgbWF5IGJlIHJlc29sdmVkLgogLy8gICAqIFRoZSB2YWx1ZSByZWZlcmVuY2VkIGJ5
IGEgRGF0YUxhYmVsIG1heSBiZSBzZXQuCiAvLwotY2xhc3MgTGlua0J1ZmZlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBMaW5rQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMaW5rQnVmZmVyKTsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBDb2RlUmVm
OwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIENvZGVQdHI7CiAgICAgdHlwZWRl
ZiBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgTGFiZWw7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Jl
cGF0Y2hCdWZmZXIuaAppbmRleCA3MmNmNmIyLi5lNWE2ZTJkIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoQVNT
RU1CTEVSKQogCiAjaW5jbHVkZSA8TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKaW5kZXggNTRhY2Q1MC4uMjNlNjYzZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZUJsb2NrLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKQEAgLTI1NCw3ICsyNTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9CiAjZW5kaWYK
IAotICAgIHN0cnVjdCBFeGNlcHRpb25JbmZvIDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0
IEV4Y2VwdGlvbkluZm8geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1
YmxpYzoKICAgICAgICAgVmVjdG9yPEV4cHJlc3Npb25SYW5nZUluZm8+IG1fZXhwcmVzc2lvbklu
Zm87CiAgICAgICAgIFZlY3RvcjxMaW5lSW5mbz4gbV9saW5lSW5mbzsKIApAQCAtMjYzLDcgKzI2
NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogI2VuZGlmCiAgICAgfTsKIAotICAgIGNsYXNzIENvZGVC
bG9jayA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBDb2RlQmxvY2sgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwog
ICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG93bmVy
RXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxTb3VyY2VQ
cm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxl
LCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTg2LDcgKzU4OSwxMCBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgICAgICBPd25QdHI8RXhjZXB0aW9uSW5mbz4gbV9leGNlcHRpb25JbmZvOwogCi0g
ICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHB1YmxpYzoKKyAg
ICAgICAgc3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFZlY3RvcjxIYW5kbGVySW5mbz4gbV9l
eGNlcHRpb25IYW5kbGVyczsKIAogICAgICAgICAgICAgLy8gUmFyZSBDb25zdGFudHMKQEAgLTYw
Myw2ICs2MDksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIFZlY3RvcjxGdW5jdGlv
blJlZ2lzdGVySW5mbz4gbV9mdW5jdGlvblJlZ2lzdGVySW5mb3M7CiAjZW5kaWYKICAgICAgICAg
fTsKKyAgICBwcml2YXRlOgogICAgICAgICBPd25QdHI8UmFyZURhdGE+IG1fcmFyZURhdGE7CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24u
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKaW5kZXggYzY0NjhhNS4u
OTU2NzkzZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24u
aAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCkBAIC01NCw3ICs1
NCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFN0cnVjdHVyZUNoYWluOwogCiAgICAg
Ly8gU3RydWN0dXJlIHVzZWQgYnkgb3BfZ2V0X2J5X2lkX3NlbGZfbGlzdCBhbmQgb3BfZ2V0X2J5
X2lkX3Byb3RvX2xpc3QgaW5zdHJ1Y3Rpb24gdG8gaG9sZCBkYXRhIG9mZiB0aGUgbWFpbiBvcGNv
ZGUgc3RyZWFtLgotICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QgOiBG
YXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAg
IHN0cnVjdCBQb2x5bW9ycGhpY1N0dWJJbmZvIHsKICAgICAgICAgICAgIGJvb2wgaXNDaGFpbjsK
ICAgICAgICAgICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdFN0dWJSb3V0aW5lVHlw
ZSBzdHViUm91dGluZTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBs
aW5nVG9vbC5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKaW5kZXgg
OGUzZWQ5ZS4uOWNhNTRkYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2Ft
cGxpbmdUb29sLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgK
QEAgLTE0Miw3ICsxNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgZnJpZW5kIGNsYXNz
IEhvc3RDYWxsUmVjb3JkOwogICAgICAgICAKICNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQot
ICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
Y2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxs
UmVjb3JkKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGlu
Z1Rvb2wqIHNhbXBsaW5nVG9vbCkKICAgICAgICAgICAgICAgICA6IG1fc2FtcGxpbmdUb29sKHNh
bXBsaW5nVG9vbCkKQEAgLTE3Miw3ICsxNzMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfTsKICNlbHNlCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCopCiAgICAgICAgICAgICB7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDQ5OWQy
MzIuLmQ0Y2E4NTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5oCkBAIC04NSw3ICs4NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBS
ZWZQdHI8UmVnaXN0ZXJJRD4gcHJvcGVydHlSZWdpc3RlcjsKICAgICB9OwogCi0gICAgY2xhc3Mg
Qnl0ZWNvZGVHZW5lcmF0b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQnl0
ZWNvZGVHZW5lcmF0b3IgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3Rh
Y2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVu
Y3Rpb25TdGFjazsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdp
c3RlcklELmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCmluZGV4
IDM1MzJhZDguLjc4ZDQ5ZDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9SZWdpc3RlcklELmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVy
SUQuaApAQCAtMzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3Mg
UmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJJRCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgUmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBkZmJlNjU4Li4zYzg4YmFjIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCkBAIC0zMiw3ICszMiw4IEBA
CiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7Ci0gICAgY2xhc3Mg
Q2FjaGVkQ2FsbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2FjaGVkQ2FsbCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZENhbGwpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ2FjaGVkQ2FsbChDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNGdW5jdGlvbiogZnVuY3Rpb24sIGludCBhcmdDb3VudCkKICAgICAgICAgICAg
IDogbV92YWxpZChmYWxzZSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmggYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5o
CmluZGV4IDJiYzQwM2UuLmMxZTJmOWEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuaApAQCAtNjUsNyArNjUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0g
eyBNYXhMYXJnZVRocmVhZFJlZW50cnlEZXB0aCA9IDI1NiwgTWF4U21hbGxUaHJlYWRSZWVudHJ5
RGVwdGggPSAzMiB9OwogCi0gICAgY2xhc3MgSW50ZXJwcmV0ZXIgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgSW50ZXJwcmV0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwogICAgICAgICBmcmllbmQgY2xhc3Mg
Q2FjaGVkQ2FsbDsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9SZWdpc3Rlci5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIu
aAppbmRleCAzOGQxNjQ3Li40YTZjZTU4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9SZWdpc3Rlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lz
dGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQ3LDcgKzQ2
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0eXBlZGVmIEV4ZWNTdGF0ZSBDYWxsRnJhbWU7
CiAKLSAgICBjbGFzcyBSZWdpc3RlciA6IHB1YmxpYyBXVEY6OkZhc3RBbGxvY0Jhc2UgeworICAg
IGNsYXNzIFJlZ2lzdGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIFJlZ2lzdGVyKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
UmVnaXN0ZXJGaWxlLmgKaW5kZXggZDlmNmEyYi4uNjgyMjAzNSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJS
ZWdpc3Rlci5oIgogI2luY2x1ZGUgIldlYWtHQ1B0ci5oIgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlv
bi5oPgogI2luY2x1ZGUgPHd0Zi9WTVRhZ3MuaD4KIApAQCAtODksNyArODgsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0
ZXJGaWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmll
bmQgY2xhc3MgSklUOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJF
bnRyeSB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDRkMjUxM2QuLjE3ZjlmMTEgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xh
c3MgUmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIExleGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGV4ZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgLy8gQ2hhcmFjdGVyIG1h
bmlwdWxhdGlvbiBmdW5jdGlvbnMuCiAgICAgICAgIHN0YXRpYyBib29sIGlzV2hpdGVTcGFjZShp
bnQgY2hhcmFjdGVyKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5o
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggNjkzMGY2My4uZjNhM2Q0ZCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTExMyw2ICsxMTMsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB9OwogCiAgICAgY2xhc3MgUGFyc2VyQXJlbmFSZWZDb3VudGVkIDogcHVibGljIFJlZkNv
dW50ZWQ8UGFyc2VyQXJlbmFSZWZDb3VudGVkPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHJvdGVjdGVkOgogICAgICAgICBQYXJzZXJBcmVuYVJlZkNvdW50ZWQoSlNH
bG9iYWxEYXRhKik7CiAKQEAgLTEzNzQsNyArMTM3NSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBQYXJhbWV0ZXJOb2RlKiBtX25leHQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBTY29wZU5v
ZGVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFNjb3BlTm9kZURhdGEgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRl
ZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYg
RGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKIApAQCAtMTQ3
MCw2ICsxNDczLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNsYXNzIEZ1bmN0
aW9uUGFyYW1ldGVycyA6IHB1YmxpYyBWZWN0b3I8SWRlbnRpZmllcj4sIHB1YmxpYyBSZWZDb3Vu
dGVkPEZ1bmN0aW9uUGFyYW1ldGVycz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RnVuY3Rpb25QYXJhbWV0
ZXJzPiBjcmVhdGUoUGFyYW1ldGVyTm9kZSogZmlyc3RQYXJhbWV0ZXIpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBGdW5jdGlvblBhcmFtZXRlcnMoZmlyc3RQYXJhbWV0ZXIpKTsgfQogCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmgKaW5kZXggNjU0OTA2Ny4uY2NhOTZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIu
aApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlBhcnNlckFyZW5hLmgiCiAjaW5jbHVkZSAi
U291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAKQEAgLTQ1LDggKzQ0LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXJzZXJBcmVuYURhdGEgOiBQYXJzZXJBcmVuYURl
bGV0YWJsZSB7IFQgZGF0YTsgfTsKIAotICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFyc2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFBh
cnNlcigpIHsgfQogICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgUGFyc2VkTm9kZT4KICAgICAgICAg
UGFzc1JlZlB0cjxQYXJzZWROb2RlPiBwYXJzZShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2Jh
bE9iamVjdCwgRGVidWdnZXIqLCBFeGVjU3RhdGUqLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2Us
IEZ1bmN0aW9uUGFyYW1ldGVycyosIEpTUGFyc2VyU3RyaWN0bmVzcyBzdHJpY3RuZXNzLCBKU09i
amVjdCoqIGV4Y2VwdGlvbik7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJBcmVuYS5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKaW5kZXgg
N2MxODA5ZS4uN2NiNTc1MCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ckFyZW5hLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKQEAgLTM0
LDcgKzM0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUGFyc2VyQXJlbmFEZWxldGFi
bGU7CiAgICAgY2xhc3MgUGFyc2VyQXJlbmFSZWZDb3VudGVkOwogCi0gICAgY2xhc3MgSWRlbnRp
ZmllckFyZW5hIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIElkZW50aWZpZXJB
cmVuYSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBBTFdBWVNfSU5MSU5FIGNvbnN0IElkZW50aWZpZXImIG1ha2VJZGVudGlmaWVyKEpTR2xv
YmFsRGF0YSosIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoKTsKICAgICAg
ICAgY29uc3QgSWRlbnRpZmllciYgbWFrZU51bWVyaWNJZGVudGlmaWVyKEpTR2xvYmFsRGF0YSos
IGRvdWJsZSBudW1iZXIpOwpAQCAtNTksNyArNjAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgcmV0dXJuIG1faWRlbnRpZmllcnMubGFzdCgpOwogICAgIH0KIAotICAgIGNsYXNzIFBhcnNl
ckFyZW5hIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhcnNlckFyZW5hIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGFyc2VyQXJlbmEpOwogICAgIHB1YmxpYzoKICAgICAgICAg
UGFyc2VyQXJlbmEoKTsKICAgICAgICAgflBhcnNlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVf
ZXhlYy5jcHAKaW5kZXggZjQ4OTlmMi4uOGU5ODYzOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcGNyZS9wY3JlX2V4ZWMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVj
LmNwcApAQCAtMTEyLDcgKzExMiw5IEBAIHN0cnVjdCBCcmFja2V0Q2hhaW5Ob2RlIHsKICAgICBj
b25zdCBVQ2hhciogYnJhY2tldFN0YXJ0OwogfTsKIAotc3RydWN0IE1hdGNoRnJhbWUgOiBGYXN0
QWxsb2NCYXNlIHsKK3N0cnVjdCBNYXRjaEZyYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAorcHVibGljOgogICAgIFJldHVybkxvY2F0aW9uIHJldHVybkxvY2F0aW9uOwogICAgIHN0
cnVjdCBNYXRjaEZyYW1lKiBwcmV2aW91c0ZyYW1lOwogICAgIApkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaCBiL0phdmFTY3JpcHRDb3JlL3Byb2Zp
bGVyL0NhbGxJZGVudGlmaWVyLmgKaW5kZXggNTQ4NzIwOWYuLjczNDE2NDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBDYWxsSWRlbnRpZmllciA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKKyAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgVVN0cmluZyBtX25hbWU7CiAgICAg
ICAgIFVTdHJpbmcgbV91cmw7CiAgICAgICAgIHVuc2lnbmVkIG1fbGluZU51bWJlcjsKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmggYi9KYXZhU2NyaXB0Q29y
ZS9wcm9maWxlci9Qcm9maWxlci5oCmluZGV4IDRiOGI0YTAuLjkwY2YzNGMgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
cHJvZmlsZXIvUHJvZmlsZXIuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICBjbGFzcyBVU3RyaW5nOwogICAgIHN0cnVjdCBDYWxsSWRlbnRpZmllcjsgICAgCiAKLSAgICBj
bGFzcyBQcm9maWxlciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQcm9maWxl
ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgUHJvZmlsZXIqKiBlbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNjMjAgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJnTGlzdC5oCkBAIC0yNSwxNCArMjUsMTQgQEAKICNpbmNsdWRlICJDYWxsRnJh
bWUuaCIKICNpbmNsdWRlICJSZWdpc3Rlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNzIE1hcmtl
ZEFyZ3VtZW50QnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrZWRB
cmd1bWVudEJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZEFyZ3Vt
ZW50QnVmZmVyKTsKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
aW5saW5lQ2FwYWNpdHkgPSA4OwogICAgICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlciwgaW5s
aW5lQ2FwYWNpdHk+IFZlY3RvclR5cGU7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FyZ3VtZW50cy5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRl
eCA3MTVhMmFjLi45Mjk2MDA4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
Z3VtZW50cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMz
LDcgKzMzLDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0Rh
dGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKKyAgICBwdWJsaWM6CisgICAgICAgIEFyZ3VtZW50c0RhdGEoKSB7IH0KICAgICAgICAgSlNB
Y3RpdmF0aW9uKiBhY3RpdmF0aW9uOwogCiAgICAgICAgIHVuc2lnbmVkIG51bVBhcmFtZXRlcnM7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0
aW1pemVyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1p
emVyLmgKaW5kZXggNzQwODlhNS4uZGIyZDFkNyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaApAQCAtMjcsMTIgKzI3LDEyIEBA
CiAjaWZuZGVmIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKICNkZWZpbmUgQmF0Y2hlZFRy
YW5zaXRpb25PcHRpbWl6ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSAiSlNPYmplY3QuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBCYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQmF0
Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShC
YXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcik7CiAgICAgcHVibGljOgogICAgICAgICBCYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplcihKU09iamVjdCogb2JqZWN0KQogICAgICAgICAgICAgOiBtX29i
amVjdChvYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rv
ci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAppbmRleCAyMzdjMTM5Li45
M2VkZjA0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKQEAgLTMwLDcgKzMwLDYgQEAK
ICNpbmNsdWRlIDx3dGYvRml4ZWRBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNl
dC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYWdlQWxsb2NhdGlv
bi5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC04Nyw3ICs4Niw4IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICB9CiAgICAgfTsKIAotICAgIGNsYXNzIEhlYXAgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIEhlYXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIZWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGNsYXNzIFRocmVhZDsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDFlMjJiNmEuLmYxN2Uy
NDQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgQ29tbW9uSWRlbnRpZmllcnNfaAogCiAjaW5jbHVkZSAiSWRl
bnRpZmllci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBNYXJrZWRBcmd1
bWVudEJ1ZmZlciBvZiBwcm9wZXJ0eSBuYW1lcywgcGFzc2VkIHRvIGEgbWFjcm8gc28gd2UgY2Fu
IGRvIHNldCB0aGVtIHVwIHZhcmlvdXMKIC8vIHdheXMgd2l0aG91dCByZXBlYXRpbmcgdGhlIGxp
c3QuCkBAIC04NCw3ICs4Myw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQ29t
bW9uSWRlbnRpZmllcnMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbW1vbklk
ZW50aWZpZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29tbW9uSWRlbnRpZmll
cnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAgIENvbW1v
bklkZW50aWZpZXJzKEpTR2xvYmFsRGF0YSopOwogICAgICAgICBmcmllbmQgY2xhc3MgSlNHbG9i
YWxEYXRhOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2VD
YWNoZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlSW5zdGFuY2VDYWNoZS5oCmluZGV4
IGI2MGMyOWEuLmQ4NDk2ODQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZUluc3RhbmNlQ2FjaGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVJbnN0YW5j
ZUNhY2hlLmgKQEAgLTM3LDYgKzM3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBE
YXRlSW5zdGFuY2VEYXRhIDogcHVibGljIFJlZkNvdW50ZWQ8RGF0ZUluc3RhbmNlRGF0YT4gewog
ICAgIHB1YmxpYzoKKwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlSW5zdGFuY2VEYXRh
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRGF0ZUluc3RhbmNlRGF0YSk7IH0KIAog
ICAgICAgICBkb3VibGUgbV9ncmVnb3JpYW5EYXRlVGltZUNhY2hlZEZvck1TOwpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNDZWxsLmgKaW5kZXggN2Q0OTI5ZC4uNzM2M2FmOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2Vs
bC5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgIk1h
cmtTdGFjay5oIgogI2luY2x1ZGUgIlN0cnVjdHVyZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oCmluZGV4IDkzYTFiODguLjM0Yzg2ZDYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmgKQEAgLTQ2NCw3ICs0NjQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgcmV0dXJuIG5ldyAoZXhlYykgSlNBcnJheShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCktPmFycmF5U3RydWN0dXJlKCksIHZhbHVlcyk7CiAgICAgfQogCi0gICAgY2xhc3MgRHluYW1p
Y0dsb2JhbE9iamVjdFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEeW5h
bWljR2xvYmFsT2JqZWN0U2NvcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEeW5h
bWljR2xvYmFsT2JqZWN0U2NvcGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRHluYW1pY0dsb2Jh
bE9iamVjdFNjb3BlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbE9iamVjdCogZHluYW1p
Y0dsb2JhbE9iamVjdCkgCiAgICAgICAgICAgICA6IG1fZHluYW1pY0dsb2JhbE9iamVjdFNsb3Qo
Y2FsbEZyYW1lLT5nbG9iYWxEYXRhKCkuZHluYW1pY0dsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTG9jay5oCmluZGV4IDA1YjM4OGMuLjY0ZDdhNGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNMb2NrLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2su
aApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBKU0xvY2tfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpT
QyB7CiAKQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIEpTTG9j
a0JlaGF2aW9yIHsgU2lsZW5jZUFzc2VydGlvbnNPbmx5LCBMb2NrRm9yUmVhbCB9OwogCi0gICAg
Y2xhc3MgSlNMb2NrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBKU0xvY2sgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU0xvY2spOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSlNMb2NrKEV4ZWNTdGF0ZSopOwogICAgICAgICBKU0xvY2soSlNHbG9iYWxEYXRhKik7CkBA
IC04OSw3ICs4OSw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIEpTTG9ja0JlaGF2aW9y
IG1fbG9ja0JlaGF2aW9yOwogCi0gICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEcm9wQWxsTG9ja3MpOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBEcm9wQWxsTG9ja3MoRXhlY1N0YXRlKiBleGVjKTsKICAgICAgICAgICAgIERyb3BB
bGxMb2NrcyhKU0xvY2tCZWhhdmlvcik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT05PYmplY3QuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNw
cAppbmRleCBiNTQ3N2ExLi4wYjcyMmIyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVj
dC5jcHAKQEAgLTcwLDcgKzcwLDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIEpTVmFsdWUgbV92
YWx1ZTsKIH07CiAKLWNsYXNzIFN0cmluZ2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFN0cmluZ2lmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdpZmllcik7
CiBwdWJsaWM6CiAgICAgU3RyaW5naWZpZXIoRXhlY1N0YXRlKiwgSlNWYWx1ZSByZXBsYWNlciwg
SlNWYWx1ZSBzcGFjZSk7CiAgICAgflN0cmluZ2lmaWVyKCk7CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAu
aAppbmRleCA5YmM4MWQ0Li5hZjE5MzhiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xvb2t1cC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAgLTUz
LDcgKzUzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYyBHZXRGdW5jdGlvbjsKICAgICB0eXBlZGVmIHZvaWQgKCpQdXRGdW5jdGlvbiko
RXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgdmFsdWUpOwogCi0gICAg
Y2xhc3MgSGFzaEVudHJ5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hF
bnRyeSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFyIGF0dHJp
YnV0ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXJrU3RhY2suaAppbmRleCBjNTUxYmFjLi45ZjFmMDcyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTWFya1N0YWNrLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgTWFya1N0YWNrX2gK
IAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
CiAgICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051
bGxWYWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0
YWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikK
ICAgICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1
Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVj
dG9yUHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3Rv
clByaXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoK
ICAgICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4
cENvbnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygw
KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2Yy
YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEo
Q2FsbERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxv
Y0Jhc2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1Ymxp
YzoKICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhw
PiByZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVn
RXhwKQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uY2QyMzgzNiAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TY29wZUNoYWluLmgKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
Y2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hhaW5JdGVyYXRvcjsKICAgICAKLSAg
ICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWluTm9kZSogbmV4dCwgSlNP
YmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAgICAgICAgIDogbmV4dChu
ZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4IGYzNTg3Mjcu
LmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdz
LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNT
dHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDcgKzM5LDggQEAgc3RhdGljIGlu
bGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZyAm
JiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJpbmdzU3Rv
cmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsKIHB1YmxpYzoK
ICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3Ry
aW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21h
bGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3Mg
TWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAgICBjbGFzcyBT
bWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNtYWxsU3RyaW5n
cyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTbWFsbFN0cmluZ3MoKTsKICAg
ICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCmlu
ZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgK
QEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIEhhc2hNYXA8
UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5LCBJZGVudGlmaWVyUmVwSGFzaCwg
SGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3ltYm9sVGFibGVJbmRleEhhc2hUcmFp
dHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVkU3ltYm9sVGFibGUgOiBwdWJsaWMg
U3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJlZFN5bWJvbFRhYmxlPiB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9X
ZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlNDZWxsOwogCiAvLyBBIEhhc2hNYXAg
d2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3YWl0
aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFw
cGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAvKgogICAgIElu
dmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMgdGhlIFdlYWtHQ01hcCBtYXJrZWQu
IChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCmluZGV4
IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaApAQCAtMjgs
MTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3IuaCIKICNpbmNsdWRlICJHQ0hhbmRs
ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAog
Ly8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMgMCBmb3IgY2Vs
bHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vh
a0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtH
Q1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vha0dDUHRyKTsKIHB1YmxpYzoKICAg
ICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jv
c3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApAQCAtNTEsNyArNTEsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFsIGFuZCBhbnkg
b3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkKICAgICAvLyBv
d25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAgICAgdGVtcGxh
dGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291bnRlZCk7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVhZFJlZkNvdW50ZWQ8VD4gPiBjcmVh
dGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Rh
dGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCBiZTUxOTQ3Li40
MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUg
PHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFy
YW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyArMTA4LDkgQEAgZG91YmxlIHBhcnNl
RGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhlY1N0YXRlKiwgY29uc3QgY2hhciog
ZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVycmlkZGluZyB0aGUgZGVmYXVsdCB0
bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2YgdG0gZGlmZmVyIG9uIHZhcmlvdXMg
b3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBOb25jb3B5YWJs
ZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBHcmVnb3JpYW5EYXRlVGltZSgpCiAg
ICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRlKDApCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCmluZGV4
IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIERlcXVlQ29uc3RSZXZl
cnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIERlcXVl
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIERlcXVlIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVxdWVJ
dGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0SXRlcmF0b3I8
VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFs
bG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAppbmRleCBiYjE4
MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFz
ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAgLTMyLDggKzMy
LDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVycmlkZXMgb2YgZmFzdE1hbGxvYy9m
YXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8KIC8vIFByb3ZpZGVkIGZ1bmN0aW9u
YWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIC8vICAgIG5hbWVz
cGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxvY0Jhc2U7CiAvLwogLy8gICAgICAg
IFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KGFyZyk7CkBA
IC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1bWVzIHRoYXQgdGhlIHVuZGVybHlp
bmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xhc3MgV2lkZ2V0IDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdpZGdldCB7CisvLyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8gICAgfTsKIC8vCiAvLyAgICBjaGFy
KiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAgZmFzdERlbGV0ZShjaGFyUHRyKTsK
QEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi0jZGVmaW5lIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXpl
X3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNp
emVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9y
IG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZh
c3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0
ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAg
ICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2
b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0
ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKLSAgICAgICAg
OjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9y
IG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6
ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRh
dGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAot
ICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRl
bGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0
Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5
KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi1wcml2YXRlOgot
Ci1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCAgCi19
OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RBbGxvY0Jhc2UgewogCiB9IC8vIG5h
bWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NCYXNlOwogdXNpbmcgV1RGOjpmYXN0
RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYgLy8gRmFzdEFsbG9jQmFzZV9oCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRlZDc1YzUuLmUyZjgyNmUgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yOSw3ICsyOSw4IEBACiBuYW1lc3BhY2Ug
V1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rp
b25zID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFt
ZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRz
PFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVu
c2lnbmVkLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaE1hcC5oCmluZGV4IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApA
QCAtMjksNyArMjksOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUg
RGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJn
ID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJh
aXRzPE1hcHBlZEFyZz4gPgotICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgSGFzaE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwog
ICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hT
ZXQuaAppbmRleCA2NjYzOWU0Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcg
KzM1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0
IElkZW50aXR5RXh0cmFjdG9yOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5
cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0g
ICAgICAgIHR5cGVuYW1lIFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3Mg
SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRz
QXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hB
cmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVj
dCBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVB
cmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RI
YXNoU2V0Tm9kZUhhc2hGdW5jdGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFy
Zywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5h
bWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90
IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVs
dEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFz
aFNldE5vZGU8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVm
IExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVB
bGxvY2F0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZh
U2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9M
b2NrZXIuaApAQCAtMjgsMTEgKzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExv
Y2tlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7
CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9ja2VyKTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDog
bV9sb2NrYWJsZShsb2NrYWJsZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIo
KSB7IG1fbG9ja2FibGUudW5sb2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9NZXNzYWdlUXVldWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAppbmRl
eCAxNDEwMGM5Li5kN2Q1NzEyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCkBAIC0zMyw3
ICszMyw2IEBACiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTQ4LDcgKzQ3
LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8gd2hlbiBtZXNzYWdlcyBhcmUgZmV0Y2hlZCBm
cm9tIHRoZSBxdWV1ZS4KICAgICAvLyBFc3NlbnRpYWxseSwgTWVzc2FnZVF1ZXVlIGFjdHMgYXMg
YSBxdWV1ZSBvZiBPd25QdHI8RGF0YVR5cGU+LgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFU
eXBlPgotICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWVzc2FnZVF1ZXVlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2Fn
ZVF1ZXVlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1lc3NhZ2VRdWV1ZSgpIDogbV9raWxsZWQo
ZmFsc2UpIHsgfQogICAgICAgICB+TWVzc2FnZVF1ZXVlKCk7CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS93dGYvTm9uY29weWFibGUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyODVlZDJlLi4wMDAwMDAwCi0tLSBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjMg
KzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqICBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqICBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBXVEZfTm9uY29weWFibGVf
aAotI2RlZmluZSBXVEZfTm9uY29weWFibGVfaAotCi0jaWZuZGVmIF9faGFzX2ZlYXR1cmUKLSAg
ICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAotI2VuZGlmCi0KLSNpZiBfX2hhc19mZWF0dXJl
KGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKLSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxF
KENsYXNzTmFtZSkgXAotICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHB1c2giKSBc
Ci0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XdW5rbm93bi1w
cmFnbWFzXCIiKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBc
Ii1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAotICAgICAgICBwcml2YXRlOiBcCi0gICAgICAgICAg
ICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxldGU7IFwKLSAgICAgICAgICAgIENs
YXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRlOyBcCi0gICAgICAg
IF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9wIikKLSNlbHNlCi0gICAgI2RlZmluZSBXVEZf
TUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKLSAgICAgICAgcHJpdmF0ZTogXAotICAgICAg
ICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpOyBcCi0gICAgICAgICAgICBDbGFzc05h
bWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKQotI2VuZGlmCi0KLS8vIFdlIGRvbid0IHdh
bnQgYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cCB0byBwdWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0
aGUgV1RGCi0vLyBuYW1lc3BhY2Ugd2hlbiB5b3UgdXNlIE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQg
aW4gaXRzIG93biBuYW1lc3BhY2UuCi0KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5h
bWVzcGFjZSBXVEZOb25jb3B5YWJsZSB7Ci0KLSAgICBjbGFzcyBOb25jb3B5YWJsZSA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKLSAgICAgICAgTm9uY29weWFibGUoY29uc3QgTm9uY29weWFibGUm
KTsKLSAgICAgICAgTm9uY29weWFibGUmIG9wZXJhdG9yPShjb25zdCBOb25jb3B5YWJsZSYpOwot
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgTm9uY29weWFibGUoKSB7IH0KLSAgICAgICAgfk5vbmNv
cHlhYmxlKCkgeyB9Ci0gICAgfTsKLQotfSAvLyBuYW1lc3BhY2UgV1RGTm9uY29weWFibGUKLQot
dXNpbmcgV1RGTm9uY29weWFibGU6Ok5vbmNvcHlhYmxlOwotCi0jZW5kaWYgLy8gV1RGX05vbmNv
cHlhYmxlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKaW5kZXggNjQzYjkwYi4uY2Q2NGVkYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgV1RG
X093bkFycmF5UHRyX2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25j
b3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIuaCIKICNpbmNsdWRlICJPd25BcnJheVB0ckNv
bW1vbi5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KQEAgLTM1LDcgKzM0LDcgQEAgbmFtZXNwYWNl
IFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duQXJyYXlQdHI7CiB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQdHI8VD4gYWRvcHRBcnJheVB0cihUKik7CiAK
LXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0ciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgewogcHVibGlj
OgogICAgIHR5cGVkZWYgVCogUHRyVHlwZTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9j
UHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1h
bGxvY1B0ci5oCkBAIC0yMywxMSArMjMsMTEgQEAKICNkZWZpbmUgT3duRmFzdE1hbGxvY1B0cl9o
CiAKICNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAog
bmFtZXNwYWNlIFdURiB7CiAKLSAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFs
bG9jUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFz
cyBPd25GYXN0TWFsbG9jUHRyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3duRmFz
dE1hbGxvY1B0cik7CiAgICAgcHVibGljOgogICAgICAgICBleHBsaWNpdCBPd25GYXN0TWFsbG9j
UHRyKFQqIHB0cikgOiBtX3B0cihwdHIpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25QdHIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAppbmRleCBj
ZGMyNzdjLi5mYjU5NDMyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVm
aW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5v
bmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93blB0ckNvbW1v
bi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIKQEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093blB0cjsKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRyPFQ+IGFkb3B0UHRyKFQqKTsKIAotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIHsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9pbnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7CiAg
ICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRl
eCAyOTY5MWI2Li4xMTFlODE0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApAQCAtMTEyMyw1ICsxMTIz
LDYxIEBACiAjaW5jbHVkZSAiR1R5cGVkZWZzLmgiCiAjZW5kaWYKIAorLyogTm9uY29weWFibGUn
cyBpbXBsZW1lbnRhdGlvbiBhcyBhIG1hY3JvICovCisKKyNpZm5kZWYgX19oYXNfZmVhdHVyZQor
ICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCisjZW5kaWYKKworI2lmIF9faGFzX2ZlYXR1
cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIp
IFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVd1bmtub3du
LXByYWdtYXNcIiIpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVk
IFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCisgICAgICAgIHByaXZhdGU6IFwKKyAgICAgICAg
ICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAorICAgICAgICAgICAg
Q2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxldGU7IFwKKyAgICAg
ICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQorI2Vsc2UKKyAgICAjZGVmaW5lIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAorICAgICAgICBwcml2YXRlOiBcCisgICAg
ICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKKyAgICAgICAgICAgIENsYXNz
TmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCisjZW5kaWYKKworLyogUHJvdmlkZXMg
Y3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBvcGVyYXRvciBuZXcvZGVsZXRlICovCisKKyNkZWZp
bmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAorcHVibGljOiBcCisgICAgdm9pZCogb3BlcmF0
b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCisgICAgdm9pZCogb3BlcmF0
b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKKyAgICBcCisgICAgdm9p
ZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBcCisgICAgeyBcCisgICAgICAgIHZvaWQqIHAg
PSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAorICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NN
YXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcp
OyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAgfSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0
b3IgZGVsZXRlKHZvaWQqIHApIFwKKyAgICB7IFwKKyAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NN
YXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsg
XAorICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9p
ZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90IHNpemUpIFwKKyAgICB7IFwKKyAgICAgICAgdm9pZCog
cCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9j
TWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3
QXJyYXkpOyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAgfSBcCisgICAgXAorICAgIHZvaWQg
b3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICAgOjpXVEY6OmZh
c3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNs
YXNzTmV3QXJyYXkpOyBcCisgICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKKyAgICB9IFwK
K3ByaXZhdGU6CisKICNlbmRpZiAvKiBXVEZfUGxhdGZvcm1faCAqLwogCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNv
dW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgK
QEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAKICNpbmNsdWRlICJBc3Nl
cnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0QWxsb2NC
YXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMxLDggQEAgaW5saW5lIHZv
aWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5kaWYKIAotdGVtcGxhdGU8
dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkQmFzZSwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50ZWQg
OiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZkNv
dW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZvaWQgZGVyZWYo
KQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6
CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkKICAgICB7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLjVmYzRkNzAgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKQEAg
LTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICBlbnVtIEhhc2hUYWJsZURlbGV0
ZWRWYWx1ZVR5cGUgeyBIYXNoVGFibGVEZWxldGVkVmFsdWUgfTsKIAotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoKSA6IG1f
cHRyKDApIHsgfQogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cihUKiBwdHIpIDogbV9wdHIo
cHRyKSB7IHJlZklmTm90TnVsbChwdHIpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRySGFzaE1hcC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaApp
bmRleCA3ZjZlYmZlLi4yMjUxZmQ4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVm
UHRySGFzaE1hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKQEAg
LTQyLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUg
S2V5VHJhaXRzQXJnLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmc+Ci0gICAgY2xhc3MgSGFzaE1h
cDxSZWZQdHI8VD4sIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFp
dHNBcmc+IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hNYXA8UmVmUHRy
PFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPiB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAgICAgICAg
dHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRy
YWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElk
ZW50aWZpZXJEYXRhUHRocmVhZHMuaAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMx
LDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNk
ZWZpbmUgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewogCiAvLyBIb2xkcyBUaHJlYWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3Rv
cmFnZSBhbmQgZW1wbG95cyBwdGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8g
cmVsaWFibHkgcmVtb3ZlCiAvLyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBh
c3N1bWVzIHJlZ3VsYXIgVGhyZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBh
c3MgZGVzdHJ1Y3Rpb24uCi1jbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGhyZWFkSWRlbnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVu
dGlmaWVyRGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2Fm
ZVNoYXJlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAppbmRleCAz
M2M2NjEyLi4xMzEyOTAwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2Fm
ZVNoYXJlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKQEAg
LTYyLDEyICs2MiwxMiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRlIDx3dGYv
QXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBUaHJlYWRT
YWZlU2hhcmVkQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRTYWZlU2hh
cmVkQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU2FmZVNoYXJlZEJhc2Up
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRocmVhZFNhZmVTaGFyZWRC
YXNlKGludCBpbml0aWFsUmVmQ291bnQgPSAxKQogICAgICAgICA6IG1fcmVmQ291bnQoaW5pdGlh
bFJlZkNvdW50KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmlj
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaAppbmRleCA5M2VkNDY2Li4x
MTM3YmQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApAQCAtNDEsNyArNDEsNiBA
QAogI2lmbmRlZiBXVEZfVGhyZWFkU3BlY2lmaWNfaAogI2RlZmluZSBXVEZfVGhyZWFkU3BlY2lm
aWNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMp
CiAjaW5jbHVkZSA8cHRocmVhZC5oPgpAQCAtNjEsNyArNjAsOCBAQCBuYW1lc3BhY2UgV1RGIHsK
IHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBUaHJlYWRTcGVjaWZpYygp
OwogICAgIFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg0LDkgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHN0YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0UoUFRIUkVBRFMpIHx8IFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1MpCi0gICAgc3RydWN0IERh
dGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERhdGEoVCogdmFsdWUsIFRo
cmVhZFNwZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93bmVyKG93bmVyKSB7fQog
I2lmIFBMQVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXItPmRlc3Ryb3kodGhpcyk7
IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCmluZGV4IGYyYzBjYWQu
LmQ3Mjk5NmEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dp
bi5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcApAQCAt
MjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAiVGhyZWFkU3Bl
Y2lmaWMuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFVTRShQVEhSRUFE
UykKICNlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBieSBwb3J0cyB0aGF0
IGRvIG5vdCB1c2UgV2luZG93cyBuYXRpdmUgVGhyZWFkU3BlY2lmaWMgaW1wbGVtZW50YXRpb24u
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDQ5ZGU1OWUuLjcyYWU1ZTUgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC0zMCw3ICszMCw5IEBACiAKIG5hbWVzcGFjZSBXVEYgewog
Ci1zdHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE5ld1Ro
cmVhZENvbnRleHQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAg
TmV3VGhyZWFkQ29udGV4dChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lkKiBkYXRhLCBj
b25zdCBjaGFyKiBuYW1lKQogICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQb2ludCkKICAgICAg
ICAgLCBkYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKaW5kZXggMDQ0MzY1Zi4uZGFlYTE4
ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaApAQCAtNjYsNyArNjYsNiBAQAogI2luY2x1ZGUgPHd0
Zi9BdG9taWNzLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2tlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWlu
VGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZFNhZmVTaGFyZWQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgog
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaAppbmRleCBjMTFhNmNiLi4y
Y2Q1NzU0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZl
cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKQEAgLTM1
LDcgKzM1LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3Rm
L0xvY2tlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgT1MoV0lORE9X
UykKICNpbmNsdWRlIDx3aW5kb3dzLmg+CkBAIC05Niw3ICs5NSw4IEBAIHR5cGVkZWYgdm9pZCog
UGxhdGZvcm1SZWFkV3JpdGVMb2NrOwogdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybUNvbmRpdGlvbjsK
ICNlbmRpZgogICAgIAotY2xhc3MgTXV0ZXggOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TXV0ZXggeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE11dGV4KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpAQCAtMTEzLDcg
KzExMyw4IEBAIHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRleExvY2tlcjsK
IAotY2xhc3MgUmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFk
V3JpdGVMb2NrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVMb2NrKTsKIHB1
YmxpYzoKICAgICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2soKTsKQEAgLTEz
MCw3ICsxMzEsOCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9jayBtX3JlYWRX
cml0ZUxvY2s7CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
aHJlYWRDb25kaXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRpdGlvbigpOwogICAgIH5U
aHJlYWRDb25kaXRpb24oKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3Iu
aCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaAppbmRleCBmNzM3OTNmLi5jMWI2YmE0IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1ZlY3Rvci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFdURl9WZWN0b3JfaAog
CiAjaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAj
aW5jbHVkZSAiTm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRl
ICJWYWx1ZUNoZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
fTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFz
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAg
ICAgIHsKQEAgLTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFz
cyBWZWN0b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBl
ZGVmIFZlY3RvckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBl
ZGVmIFZlY3RvclR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9X
VEZUaHJlYWREYXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RG
VGhyZWFkRGF0YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUo
V09SS0VSUykgaW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxp
bmcgSlNDLgpAQCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNo
TWFwPGNvbnN0IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+
ID4gTGl0ZXJhbElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAt
ODQsNyArODQsOCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgq
QXRvbWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFz
cyBXVEZUaHJlYWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgog
ICAgIFdURlRocmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3Bw
CmluZGV4IGM4OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9k
dG9hLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQs
MTAgQEAgc3RhdGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikK
ICAgICBhUmVmID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVj
dCBQNU5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsK
ICAgICBQNU5vZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dv
YmplY3QvR093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmlu
ZGV4IGNlYzNlNDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2Jq
ZWN0L0dPd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgK
QEAgLTI2LDcgKzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYv
QXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMi
IHZvaWQgZ19mcmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQg
ZnJlZU93bmVkR1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2
b2lkIGZyZWVPd25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25l
ZEdQdHI8R0ZpbGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3du
UHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBH
T3duUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093
blB0cigpIHsgZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3Ry
aW5nQnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3Rl
eHQvU3RyaW5nQnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZm
ZXJfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGlt
aXRzPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3RyaW5nQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5z
aWduZWQgbGVuZ3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93
dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAj
aWZuZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5o
PgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBib29sIGlzU3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3Jl
ZkNvdW50SW52YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5n
SW1wbDsgfQogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9
CkBAIC00NSw5ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAg
IH07CiAKLSAgICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9w
ZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1
cm4gaW5QbGFjZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxs
b2NhdGVzIGFuIGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBs
QmFzZSgpIHsgfQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xs
YXRvci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZh
ODA5Li41YWIzNDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xs
YXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5
LDcgKzI5LDYgQEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9y
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4
IEBAIHN0cnVjdCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29s
bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIg
PSAxLCBMZXNzID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eEludGVycHJldGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApp
bmRleCBkYWU4ZjlkLi5mYTU2YWE4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1Jl
Z2V4SW50ZXJwcmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0
ZXIuaApAQCAtMzA2LDcgKzMwNiw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAot
Y2xhc3MgQnl0ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IEJ5dGVEaXNqdW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVT
aXplKQogICAgICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTks
NyArMzIwLDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3Ry
dWN0IEJ5dGVjb2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0
dGVybiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29k
ZVBhdHRlcm4oUGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlz
anVuY3Rpb24qPiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVt
cFBvaW50ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAg
ICAgICAgLCBtX2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9S
ZWdleFBhdHRlcm4uaAppbmRleCBiZTMxZmNkLi4xYjIzMThmIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVn
ZXhQYXR0ZXJuLmgKQEAgLTczLDcgKzczLDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1
Y3QgQ2hhcmFjdGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFz
cyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hh
cmFjdGVyQ2xhc3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hl
cyBhbmQgcmFuZ2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9y
IGZhc3RlciBsb29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBt
YXRjaGVzIGFuZCByYW5nZXMpCkBAIC0yMDUsNyArMjA3LDkgQEAgc3RydWN0IFBhdHRlcm5UZXJt
IHsKICAgICB9CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAorcHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24q
IGRpc2p1bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAs
IG1fb25jZVRocm91Z2goZmFsc2UpCkBAIC0yNDYsNyArMjUwLDkgQEAgc3RydWN0IFBhdHRlcm5B
bHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9
IDApCiAgICAgICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXpl
KGZhbHNlKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlw
dEdsdWUvQ2hhbmdlTG9nCmluZGV4IGM3YjJkY2UuLmU0M2RlMjYgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRHbHVlL0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMC0xMS0yMiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQg
cmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAg
IEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0
aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTEwLTI1ICBP
bGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2F2
aW4gQmFycmFjbG91Z2guCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaCBiL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJz
L3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmODQ4NGQy
Li4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25j
b3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGY1YWIzYWYuLjljMzY3NDUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTAtMTEtMjIgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9u
Y29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZy
b20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1
ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQgCisgICAgICAgIEZhc3RB
bGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3Zl
IE5vbmNvcHlhYmxlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93
dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgTmlrb2xhcyBaaW1tZXJt
YW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaXJrIFNj
aHVsemUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oIGIvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzUxMjY3Ny4uMDAwMDAwMAotLS0gYS9XZWJDb3Jl
L0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEs
NCArMCwwIEBACi0jaWZuZGVmIFdlYkNvcmVfRldEX05vbmNvcHlhYmxlX2gKLSNkZWZpbmUgV2Vi
Q29yZV9GV0RfTm9uY29weWFibGVfaAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlh
YmxlLmg+Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGY5
YTc3NTguLjY3MDZjM2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAt
NzEwNDIsMTAgKzcxMDQyLDYgQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQot
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHd0ZlxOb25jb3B5YWJsZS5o
Ig0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHd0ZlxPd25BcnJheVB0ci5oIg0KIAkJCQkJPg0KIAkJCQk8
L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aCBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggMmVlNTZlZS4u
YjJhYzg2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aAorKysgYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC01Nyw3ICs1
Nyw4IEBAIHN0cnVjdCBUZXh0TWFya2VyRGF0YSB7CiAKIGVudW0gUG9zdFR5cGUgeyBQb3N0U3lu
Y2hyb25vdXNseSwgUG9zdEFzeW5jaHJvbm91c2x5IH07CiAKLWNsYXNzIEFYT2JqZWN0Q2FjaGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQVhPYmplY3RDYWNoZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQVhPYmplY3RDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgQVhPYmplY3RDYWNoZSgpOwogICAgIH5BWE9iamVjdENhY2hlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgKaW5kZXgg
ODA5YTQ4OC4uZDA5MTQzMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRT
Y3JpcHRTb3VyY2VQcm92aWRlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgY2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0
U291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcj4gY3JlYXRlKENhY2hlZFNjcmlwdCogY2Fj
aGVkU2NyaXB0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlk
ZXIoY2FjaGVkU2NyaXB0KSk7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9H
Q0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKaW5kZXgg
NGMyNTQwNy4uZDMyZjc1MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCkBAIC0yNiwx
MiArMjYsMTIgQEAKICNpZm5kZWYgR0NDb250cm9sbGVyX2gKICNkZWZpbmUgR0NDb250cm9sbGVy
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIlRpbWVyLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgR0NDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoR0NDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAg
ICAgZnJpZW5kIEdDQ29udHJvbGxlciYgZ2NDb250cm9sbGVyKCk7CiAKICAgICBwdWJsaWM6CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAppbmRleCA1NGU5Y2Y2Li43NzNiNTczIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01CaW5kaW5nLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDxydW50
aW1lL0xvb2t1cC5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dDTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IEpTQyB7CiAgICAgY2xhc3MgSlNHbG9iYWxEYXRhOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVn
V3JhcHBlclNldC5oCmluZGV4IDk0YjZmNzguLmY0Mzk3MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVidWdXcmFwcGVyU2V0LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTRE9N
V3JhcHBlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBkZWxldGVkIHdpdGhvdXQg
YmVpbmcgcmVtb3ZlZCBmcm9tIHRoZSBjYWNoZQogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgY2Fj
aGVkIHR3aWNlCiAKLWNsYXNzIEpTRGVidWdXcmFwcGVyU2V0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEpTRGVidWdXcmFwcGVyU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShK
U0RlYnVnV3JhcHBlclNldCk7CiAgICAgZnJpZW5kIGNsYXNzIFdURjo6VGhyZWFkU3BlY2lmaWM8
SlNEZWJ1Z1dyYXBwZXJTZXQ+OwogcHVibGljOgogICAgIHN0YXRpYyBKU0RlYnVnV3JhcHBlclNl
dCYgc2hhcmVkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVh
ZEV4ZWNTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUu
aAppbmRleCA4MTkzZDdjLi4zNDlkYzE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgKQEAgLTMwLDExICszMCwxMSBAQAogI2lmbmRlZiBOREVCVUcKICNp
bmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2VuZGlmCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNNYWluVGhyZWFkRXhlY1N0YXRlKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgSlNDOjpFeGVjU3RhdGUqIGN1cnJlbnRTdGF0ZSgpCiAgICAgeyAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTVkdDb250ZXh0Q2FjaGUuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNTVkdDb250ZXh0Q2FjaGUuaAppbmRleCA3NWVkMzI0Li5lYjQ0OTNm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1ZHQ29udGV4dENhY2hlLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NWR0NvbnRleHRDYWNoZS5oCkBAIC0yOCw3ICsyOCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NT2JqZWN0OwogCi1jbGFzcyBKU1NW
R0NvbnRleHRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBKU1NWR0NvbnRleHRD
YWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNTVkdDb250ZXh0Q2FjaGUpOwogcHVi
bGljOgogICAgIHR5cGVkZWYgSGFzaE1hcDxET01PYmplY3QqLCBTVkdFbGVtZW50Kj4gV3JhcHBl
ck1hcDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24u
aCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4u
Y2ZjZWVkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24u
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0
MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBv
bmNlIG9yIHJlcGVhdGVkbHkuIFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFu
ZCB3aW5kb3cuc2V0SW50ZXJ2YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1
bGVkQWN0aW9uPiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xh
dGVkV29ybGQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hl
ZEZyYW1lRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEu
aAppbmRleCAxNWMyM2M1Li4yNzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIERPTVdpbmRvdzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBj
bGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTY3JpcHRDYWNoZWRGcmFtZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3Rl
ZFB0cjxKU0RPTVdpbmRvdz4gPiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5M2Y3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBA
IGNsYXNzIFBhZ2VHcm91cDsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZh
U2NyaXB0Q2FsbEZyYW1lOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdn
ZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6
RGVidWdnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdT
ZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dFByb2ZpbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXgg
MDVlN2EyNS4uZDRkZDYwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQ
cm9maWxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAt
MzIsMTEgKzMyLDExIEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNj
cmlwdFN0YXRlLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0
UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBz
dGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0
UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFN0YXRlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3Rh
dGVfaAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyAr
NTEsOCBAQCBjbGFzcyBQYWdlOwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5
IGJ5IGNvbnZlbnRpb24uCiB0eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1j
bGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Ny
aXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEu
aCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMz
MjguLjUyOGNiYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xp
ZW50RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5o
CkBAIC0yNCwxNyArMjQsMTggQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2lu
Y2x1ZGUgIkRPTU9iamVjdEhhc2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJs
aWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGll
bnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29y
bGRJdGVyYXRvcjsKICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpT
Qzo6SlNHbG9iYWxEYXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkg
eyB9CiAgICAgdmlydHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBB
U1NFUlQobV93b3JsZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjc4
YjdkZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJv
bGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5o
CkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBX
b3JrZXJDb250ZXh0OwogCi0gICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJv
bGxlcihXb3JrZXJDb250ZXh0Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NRGF0YS5oCmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9N
RGF0YS5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJl
YWQuICBUaGUgRE9NRGF0YSBmb3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3Ig
Y2hpbGQgdGhyZWFkcwogICAgIC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwot
ICAgIGNsYXNzIERPTURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURh
dGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIERPTURhdGEoKTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvRE9NRGF0YVN0b3JlLmgKaW5kZXggYzM5YTBlZC4uYTI4YWRjOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0RPTURhdGFTdG9yZS5oCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djguaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0x
NDksNyArMTQ4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9l
c24ndCBtYW5hZ2UgdGhlIGxpZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAg
ICAgLy8gbGlmZXRpbWUgaXMgbWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xh
c3MgRE9NRGF0YVN0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRh
U3RvcmUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAg
IHB1YmxpYzoKICAgICAgICAgZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBE
T01Ob2RlTWFwLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRG
cmFtZURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
aW5kZXggMWFhMWY2Mi4uZjQyZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRDYWNoZWRGcmFtZURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENh
Y2hlZEZyYW1lRGF0YS5oCkBAIC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5jbHVkZSAi
T3duSGFuZGxlLmgiCiAjaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdpbmRv
dzsKIAotY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTY3JpcHRDYWNoZWRGcmFtZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNoZWRGcmFt
ZURhdGEoRnJhbWUqKTsKICAgICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIzZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzksNiBAQAog
I2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00OCw3
ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHRE
ZWJ1Z0xpc3RlbmVyOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2NyaXB0RGVidWdTZXJ2ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1Nl
cnZlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
UHJvZmlsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBi
NzVhMDU0Li5lMDk2OWUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFBy
b2ZpbGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCkBAIC0z
NiwxMyArMzYsMTMgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0UHJvZmls
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
dm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRl
LCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0U3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAx
MTgxM2IwLi5kYzI0NzEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0
YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0zMyw3ICsz
Myw2IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2OC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBj
bGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdFN0YXRlKTsKIHB1YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsgcmV0dXJu
ICFtX2V4Y2VwdGlvbi5Jc0VtcHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2ODo6TG9j
YWw8djg6OlZhbHVlPiBleGNlcHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKICAgICB+
RW1wdHlTY3JpcHRTdGF0ZSgpIHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1
YmxpYzoKICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0ZSgwKSB7
IH0KICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUp
IDogbV9zY3JpcHRTdGF0ZShzY3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4
LDggQEAgcHJpdmF0ZToKIAogLy8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemlu
ZyBwcmltaXRpdmUgdHlwZXMgYW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVj
b25zdHJ1Y3QgY29tcG9zaXRlIHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgewor
Y2xhc3MgV3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGlj
OgogICAgIFdyaXRlcigpCiAgICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4
IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTdGF0ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+
U3RhdGVCYXNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIv
V2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgK
QEAgLTI4LDE0ICsyOCwxNSBAQAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdl
SlNDLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsK
IAogbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE1ldGhvZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2
aXJ0dWFsIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0
aG9kKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9X
ZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uOGYwZmRjNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJp
ZGdlL0lkZW50aWZpZXJSZXAuaApAQCAtMzMsNyArMzMsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgCi1jbGFzcyBJZGVudGlmaWVyUmVwIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
Y2xhc3MgSWRlbnRpZmllclJlcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGludCk7CiAgICAgc3RhdGljIElkZW50
aWZpZXJSZXAqIGdldChjb25zdCBjaGFyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9q
c2MvQnJpZGdlSlNDLmggYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKaW5kZXggOTY5
NzRkOS4uODhlYzcyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
CisrKyBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaApAQCAtNTksOCArNTksMTAgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgfkZpZWxkKCkgeyB9CiB9OwogCi1jbGFzcyBDbGFzcyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ2xhc3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIENsYXNzKCkg
eyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25zdCBJZGVudGlmaWVy
JiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVsZCogZmllbGROYW1lZChj
b25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBKU1Zh
bHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29uc3QgSWRlbnRpZmll
ciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsxMjcsOCBAQCBwcml2YXRl
OgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVPYmplY3Q7CiB9OwogCi1j
bGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcnJheSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFycmF5KFBhc3NSZWZQdHI8
Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JyaWRnZS9ydW50aW1lX3Jvb3QuaCBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCmlu
ZGV4IGJhYmQ3YWQuLjM5ZmIzNTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVf
cm9vdC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCkBAIC0zMyw3ICszMyw2
IEBACiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKaW5kZXggODMz
ZDdmZS4uNTZiMjgyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCisr
KyBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMzIsNiArMzIsNyBAQCBjbGFzcyBT
dHlsZUNhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVJbWFnZTsKIAogY2xhc3MgQ1NTSW1hZ2VWYWx1
ZSA6IHB1YmxpYyBDU1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW1hZ2VWYWx1ZSk7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVh
dGUoY29uc3QgU3RyaW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbWFnZVZhbHVl
KHVybCkpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmggYi9XZWJD
b3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKaW5kZXggMTBkMzAyNi4uNzNmMmFjYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU0ltcG9y
dFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNoZWRDU1NTdHlsZVNoZWV0OwogY2xh
c3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxlIDogcHVibGljIENTU1J1bGUsIHBy
aXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1wb3J0UnVsZT4gY3JlYXRlKENT
U1N0eWxlU2hlZXQqIHBhcmVudCwgY29uc3QgU3RyaW5nJiBocmVmLCBQYXNzUmVmUHRyPE1lZGlh
TGlzdD4gbWVkaWEpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNl
LmggYi9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaAppbmRleCA2MjI1YzM2Li4wNmQ0MDZiIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaAorKysgYi9XZWJDb3JlL2Nzcy9D
U1NOYW1lc3BhY2UuaApAQCAtMjYsNyArMjYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LSAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDU1NO
YW1lc3BhY2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NOYW1lc3BhY2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgQXRvbWljU3RyaW5n
IHByZWZpeDsKICAgICAgICAgQXRvbWljU3RyaW5nIHVyaTsKICAgICAgICAgT3duUHRyPENTU05h
bWVzcGFjZT4gcGFyZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAxZGEyMGI3Li45NzJmNzc3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApA
QCAtMzI4LDcgKzMyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBpbnQgY3NzUHJvcGVy
dHlJRChjb25zdCBTdHJpbmcmKTsKICAgICBpbnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3QgQ1NT
UGFyc2VyU3RyaW5nJik7CiAKLSAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTaG9ydGhhbmRTY29wZShDU1NQ
YXJzZXIqIHBhcnNlciwgaW50IHByb3BJZCkgOiBtX3BhcnNlcihwYXJzZXIpCiAgICAgICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oIGIvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggOTkzYWUyOC4uNDVmNGE0NiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFs
dWVzLmgKQEAgLTU5LDcgKzU5LDggQEAgc3RydWN0IENTU1BhcnNlclZhbHVlIHsKICAgICBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBjcmVhdGVDU1NWYWx1ZSgpOwogfTsKIAotY2xhc3MgQ1NTUGFyc2Vy
VmFsdWVMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUGFyc2VyVmFsdWVM
aXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1BhcnNl
clZhbHVlTGlzdCgpCiAgICAgICAgIDogbV9jdXJyZW50KDApCkBAIC04Myw3ICs4NCw5IEBAIHBy
aXZhdGU6CiAgICAgVmVjdG9yPENTU1BhcnNlclZhbHVlLCA0PiBtX3ZhbHVlczsKIH07CiAKLXN0
cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENTU1BhcnNl
ckZ1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIENT
U1BhcnNlclN0cmluZyBuYW1lOwogICAgIE93blB0cjxDU1NQYXJzZXJWYWx1ZUxpc3Q+IGFyZ3M7
CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaCBiL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5LmgKaW5kZXggMTA2MTcxZC4uOWE5ZWM0NCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCkBAIC0y
OSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTUHJvcGVydHkg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQcm9wZXJ0eSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDU1NQcm9wZXJ0eShpbnQgcHJvcElELCBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQgPSBmYWxzZSwgaW50IHNo
b3J0aGFuZElEID0gMCwgYm9vbCBpbXBsaWNpdCA9IGZhbHNlKQogICAgICAgICA6IG1faWQocHJv
cElEKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGZiOGY2OTUuLjQyY2RmNzkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKQEAgLTM3LDggKzM3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNw
YWNlIEhUTUxOYW1lczsKIAotY2xhc3MgQ1NTU2VsZWN0b3JCYWcgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ1NTU2VsZWN0b3JCYWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENT
U1NlbGVjdG9yQmFnKTsKIHB1YmxpYzoKKyAgICBDU1NTZWxlY3RvckJhZygpIHsgfQogICAgIH5D
U1NTZWxlY3RvckJhZygpCiAgICAgewogICAgICAgICBBU1NFUlQoaXNFbXB0eSgpKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ci5oCmluZGV4IDAwZTIzYjkuLjQ2ZjRhYWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMjQsNyArMjQsNiBA
QAogCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29u
c3RhbnRzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTMzLDcgKzMyLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENTU1NlbGVjdG9yQmFnOwogCiAgICAgLy8g
dGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0b3IgZm9yIGEgU3R5bGVSdWxlCi0gICAgY2xh
c3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1NlbGVj
dG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3IpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTU2VsZWN0b3IoKQogICAg
ICAgICAgICAgOiBtX3JlbGF0aW9uKERlc2NlbmRhbnQpCkBAIC0zMDIsNyArMzAyLDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBzcGVjaWZpY2l0eUZvclBhZ2UoKSBj
b25zdDsKICAgICAgICAgdm9pZCBleHRyYWN0UHNldWRvVHlwZSgpIGNvbnN0OwogCi0gICAgICAg
IHN0cnVjdCBSYXJlRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgc3RydWN0IFJhcmVEYXRh
IHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJhcmVEYXRhKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmFyZURhdGEoUGFz
c093blB0cjxDU1NTZWxlY3Rvcj4gdGFnSGlzdG9yeSkKICAgICAgICAgICAgICAgICA6IG1fYSgw
KQogICAgICAgICAgICAgICAgICwgbV9iKDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvckxpc3QuaCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCmluZGV4IDllNDBl
ZjguLjg1ODQyNzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCisr
KyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCkBAIC0yNywxMSArMjcsMTEgQEAKICNk
ZWZpbmUgQ1NTU2VsZWN0b3JMaXN0X2gKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLWNs
YXNzIENTU1NlbGVjdG9yTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NTZWxl
Y3Rvckxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yTGlzdCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBt
X3NlbGVjdG9yQXJyYXkoMCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcAppbmRleCBhZjY3ZmIzLi4zNjIwYTJkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcApAQCAtMzQ5LDcgKzM0OSw4IEBAIGlmIChpZCA9PSBwcm9wSUQpIHsgXAogICAgIHJl
dHVybjsgXAogfQogCi1jbGFzcyBDU1NSdWxlU2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIENTU1J1bGVTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwog
cHVibGljOgogICAgIENTU1J1bGVTZXQoKTsKICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCmluZGV4IGI3MTg3NTEuLjEzZmM5N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgK
QEAgLTY5LDcgKzY5LDggQEAgY2xhc3MgU3R5bGVkRWxlbWVudDsKIGNsYXNzIFdlYktpdENTU0tl
eWZyYW1lUnVsZTsKIGNsYXNzIFdlYktpdENTU0tleWZyYW1lc1J1bGU7CiAKLWNsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeVJlc3Vs
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeVJlc3VsdCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTWVkaWFRdWVyeVJlc3VsdChjb25zdCBNZWRp
YVF1ZXJ5RXhwJiBleHByLCBib29sIHJlc3VsdCkKICAgICAgICAgOiBtX2V4cHJlc3Npb24oZXhw
cikKQEAgLTgyLDcgKzgzLDggQEAgcHVibGljOgogfTsKIAogICAgIC8vIFRoaXMgY2xhc3Mgc2Vs
ZWN0cyBhIFJlbmRlclN0eWxlIGZvciBhIGdpdmVuIGVsZW1lbnQgYmFzZWQgb24gYSBjb2xsZWN0
aW9uIG9mIHN0eWxlc2hlZXRzLgotICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3IgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3IgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDU1NTdHlsZVNlbGVjdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0b3IoRG9jdW1lbnQqLCBTdHls
ZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hl
ZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVTaGVldCogcGFnZVVzZXJTaGVl
dCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KiBwYWdlR3JvdXBVc2VyU2hl
ZXRzLApAQCAtMjA5LDcgKzIxMSw4IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRBdmFpbGFibGUoKSB7IHJldHVybiBzX3N0eWxl
Tm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAgY2xhc3MgU2VsZWN0b3JDaGVja2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU2VsZWN0b3JDaGVja2VyIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdG9yQ2hlY2tlcik7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1bWVudCosIGJvb2wgc3RyaWN0
UGFyc2luZyk7CiAKQEAgLTMxNSw3ICszMTgsOCBAQCBwdWJsaWM6CiAgICAgICAgIFZlY3RvcjxN
ZWRpYVF1ZXJ5UmVzdWx0Kj4gbV92aWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwog
ICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQ1NTUnVsZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBD
U1NSdWxlRGF0YSh1bnNpZ25lZCBwb3MsIENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNl
bCwgQ1NTUnVsZURhdGEqIHByZXYgPSAwKQogICAgICAgICAgICAgOiBtX3Bvc2l0aW9uKHBvcykK
QEAgLTM0Myw3ICszNDcsOCBAQCBwdWJsaWM6CiAgICAgICAgIENTU1J1bGVEYXRhKiBtX25leHQ7
CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgQ1NTUnVsZURhdGFMaXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIENTU1J1bGVEYXRhTGlzdCh1bnNpZ25lZCBwb3MsIENTU1N0eWxlUnVsZSog
cnVsZSwgQ1NTU2VsZWN0b3IqIHNlbCkKICAgICAgICAgICAgIDogbV9maXJzdChuZXcgQ1NTUnVs
ZURhdGEocG9zLCBydWxlLCBzZWwpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eS5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCmluZGV4IDI4MTAwOWIuLjdkMWZjN2IgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5LmgKQEAgLTM3LDcgKzM3LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1l
ZGlhUXVlcnlFeHA7CiAKLWNsYXNzIE1lZGlhUXVlcnkgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgTWVkaWFRdWVyeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9yIHsK
ICAgICAgICAgT25seSwgTm90LCBOb25lCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5RXZhbHVhdG9yLmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXgg
MDBhYzM5NC4uZDhjNTk4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNDksNyAr
NDksOCBAQCBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogICogdGhlIGRldmljZSBjaGFyYWN0ZXJpc3Rp
Y3MgYXJlIG5vdCBrbm93bi4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGluZwog
ICogb2Ygc3R5bGVzaGVldHMgdG8gb25seSB0aG9zZSB3aGljaCBhcmUgcHJvYmFibGUgdG8gbWF0
Y2guCiAgKi8KLWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1lZGlhUXVlcnlFdmFsdWF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIC8qKiBDcmVhdGVzIGV2YWx1YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBzaW1wbGUgbWVk
aWEgcXVlcmllcwogICAgICAqICBFdmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciAiYWxsIiwgYW5k
IHJldHVybnMgdmFsdWUgb2YgXG1lZGlhRmVhdHVyZVJlc3VsdApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUV4cC5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCmluZGV4
IDcyZDNmZmYuLjhlNDI1NWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAu
aAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3MgTWVk
aWFRdWVyeUV4cCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlFeHAg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8TWVkaWFRdWVyeUV4cD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbWVkaWFGZWF0
dXJlLCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHZhbHVlcyk7CiAgICAgfk1lZGlhUXVlcnlFeHAoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcCBiL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcAppbmRleCA3ZjVmMWI2Li40YThkMjVhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKKysrIGIvV2ViQ29yZS9kb20v
QXN5bmNTY3JpcHRSdW5uZXIuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIHZvaWQgQXN5bmNTY3JpcHRS
dW5uZXI6OmV4ZWN1dGVTY3JpcHRTb29uKFNjcmlwdEVsZW1lbnQqIGRhdGEsIENhY2hlZFJlc291
cmNlSGFuCiAgICAgQVNTRVJUKGVsZW1lbnQtPmluRG9jdW1lbnQoKSk7CiAKICAgICBtX2RvY3Vt
ZW50LT5pbmNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCk7Ci0gICAgbV9zY3JpcHRzVG9FeGVj
dXRlU29vbi5hcHBlbmQobWFrZV9wYWlyKGRhdGEsIGNhY2hlZFNjcmlwdCkpOworICAgIG1fc2Ny
aXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGRhdGEsIGNhY2hlZFNjcmlw
dCkpOwogICAgIGVsZW1lbnQtPnJlZigpOyAvLyBCYWxhbmNlZCBieSBkZXJlZigpcyBpbiB0aW1l
ckZpcmVkKCkgYW5kIGR0b3IuCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAg
IG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQXN5bmNT
Y3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKaW5kZXggMWEw
NTFhOC4uMjllZTU2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIu
aAorKysgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCkBAIC0yOCw3ICsyOCw2IEBA
CiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM4LDcgKzM3LDggQEAgY2xhc3MgQ2Fj
aGVkU2NyaXB0OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBTY3JpcHRFbGVtZW50OwogICAgIAot
Y2xhc3MgQXN5bmNTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5
bmNTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jU2NyaXB0UnVu
bmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxBc3luY1NjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkgeyByZXR1
cm4gbmV3IEFzeW5jU2NyaXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1NjcmlwdFJ1
bm5lcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmggYi9XZWJDb3Jl
L2RvbS9ET01TdHJpbmdNYXAuaAppbmRleCA4NmEyMmIwLi5mNTAzNmU0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAorKysgYi9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAu
aApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBET01TdHJpbmdNYXBfaAogCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDcgKzM0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlv
bkNvZGU7CiAKLWNsYXNzIERPTVN0cmluZ01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBET01TdHJpbmdNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVN0cmluZ01hcCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NU3RyaW5n
TWFwKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAppbmRleCA5YWQ5NTZmLi4wNmRkYzI4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00
NjQwLDcgKzQ2NDAsOSBAQCB2b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAogICAgICAgICB3aW5kb3ct
PmNvbnNvbGUoKS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5l
TnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IDogTm9u
Y29weWFibGUgeworc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUGVyZm9ybVRhc2tDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1
YmxpYzoKICAgICBQZXJmb3JtVGFza0NvbnRleHQoUGFzc1JlZlB0cjxEb2N1bWVudFdlYWtSZWZl
cmVuY2U+IGRvY3VtZW50UmVmZXJlbmNlLCBQYXNzT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OlRhc2s+IHRhc2spCiAgICAgICAgIDogZG9jdW1lbnRSZWZlcmVuY2UoZG9jdW1lbnRSZWZl
cmVuY2UpCiAgICAgICAgICwgdGFzayh0YXNrKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmggYi9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRy
b2xsZXIuaAppbmRleCA5NmZiN2YzLi41MGVjODgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9E
b2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXIuaApAQCAtMzgsOCArMzgsMTAgQEAgY2xhc3MgSW50UmVjdDsKIGNsYXNzIE5v
ZGU7CiBjbGFzcyBSYW5nZTsKIAotY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7
IH0KICAgICB+RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyBkZXRhY2goKTsgfQogCiAgICAg
dm9pZCBkZXRhY2goKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmggYi9XZWJDb3Jl
L2RvbS9FdmVudC5oCmluZGV4IDBkMmYyYjkuLjYyZjQxMjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL0V2ZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAtMjQsNiArMjQsNyBAQAog
I2lmbmRlZiBFdmVudF9oCiAjZGVmaW5lIEV2ZW50X2gKIAorI2luY2x1ZGUgIkNsaXBib2FyZC5o
IgogI2luY2x1ZGUgIkRPTVRpbWVTdGFtcC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTMxLDggKzMyLDYgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0gICAgY2xhc3MgQ2xpcGJvYXJkOwotCiAgICAgY2xhc3MgRXZlbnQgOiBw
dWJsaWMgUmVmQ291bnRlZDxFdmVudD4gewogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBQaGFz
ZVR5cGUgeyAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaAppbmRleCA0OTY4MDRlLi43ZTEwZTZmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0x
NzgsNyArMTc4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFwKIC8vIGVuZCBvZiBET01f
RVZFTlRfTkFNRVNfRk9SX0VBQ0gKIAotICAgIGNsYXNzIEV2ZW50TmFtZXMgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TmFtZXMgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFdmVudE5hbWVzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgaW50
IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgogICAg
ICAgICAvLyBQcml2YXRlIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMo
KSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5hbWVzKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
aAppbmRleCBkZGNiNjYzLi5mYTE5MGRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTgzLDcgKzgzLDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyZWRFdmVudExp
c3RlbmVyLCAxPiBFdmVudExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9t
aWNTdHJpbmcsIEV2ZW50TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3RlbmVyTWFwOwogCi0gICAg
c3RydWN0IEV2ZW50VGFyZ2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRU
YXJnZXREYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRUYXJnZXREYXRh
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIEV2ZW50VGFy
Z2V0RGF0YSgpOwogICAgICAgICB+RXZlbnRUYXJnZXREYXRhKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmggYi9XZWJD
b3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCmluZGV4IDlk
MTgzNWEuLjI2ZjdmZDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZl
V3JpdGVDb3VudEluY3JlbWVudGVyLmgKKysrIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3Rp
dmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaApAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVmaW5lIEln
bm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyX2gKIAogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVt
ZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBJZ25vcmVEZXN0cnVjdGl2
ZVdyaXRlQ291bnRJbmNyZW1lbnRlcihEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgICAgIDogbV9j
b3VudChkb2N1bWVudCA/ICZkb2N1bWVudC0+bV9pZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnQg
OiAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmggYi9XZWJD
b3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAppbmRleCBmMzA4YTI5Li4xNGQ5MGZiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAorKysgYi9XZWJDb3JlL2Rv
bS9NZXNzYWdlUG9ydENoYW5uZWwuaApAQCAtNTUsNyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICAvLyBNZXNzYWdlUG9ydENoYW5uZWwgaXMgYSBwbGF0Zm9ybS1pbmRlcGVuZGVu
dCBpbnRlcmZhY2UgdG8gdGhlIHJlbW90ZSBzaWRlIG9mIGEgbWVzc2FnZSBjaGFubmVsLgogICAg
IC8vIEl0IGFjdHMgYXMgYSB3cmFwcGVyIGFyb3VuZCB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IFBs
YXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsIGltcGxlbWVudGF0aW9uIHdoaWNoIGVuc3VyZXMgdGhh
dCB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IGNsb3NlKCkgbWV0aG9kIGlzIGludm9rZWQgYmVmb3Jl
IGRlc3RydWN0aW9uLgotICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVzc2FnZVBvcnRDaGFubmVsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNoYW5uZWwoUGFzc1Jl
ZlB0cjxNZXNzYWdlUG9ydD4sIFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+KTsKIApAQCAtNzgsNyAr
NzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0
aGUgcHJveHkgY3VycmVudGx5IGNvbnRhaW5zIG1lc3NhZ2VzIGZvciB0aGlzIHBvcnQuCiAgICAg
ICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiAKLSAgICAgICAgY2xhc3MgRXZlbnREYXRh
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXZlbnREYXRhIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEV2
ZW50RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc093
blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9Ob2RlUmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IGFiMjA4
ZDIuLmVkYzUwNjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBi
L1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0zNCw3ICszNCw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDogTm9uY29weWFibGUgewor
c3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2Rl
TGlzdHNOb2RlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgdHlw
ZWRlZiBIYXNoU2V0PER5bmFtaWNOb2RlTGlzdCo+IE5vZGVMaXN0U2V0OwogICAgIE5vZGVMaXN0
U2V0IG1fbGlzdHNXaXRoQ2FjaGVzOwogICAgIApAQCAtNjcsNyArNjksOCBAQCBwcml2YXRlOgog
ICAgIH0KIH07CiAgICAgCi1jbGFzcyBOb2RlUmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTm9kZVJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlUmFy
ZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOiAgICAKICAgICBOb2RlUmFy
ZURhdGEoKQogICAgICAgICA6IG1fdGFiSW5kZXgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1F1YWxpZmllZE5hbWUuaCBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAppbmRleCAzNGZj
MDY5Li4xN2U4NTAwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysr
IGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0zMiw3ICszMiw4IEBAIHN0cnVjdCBR
dWFsaWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9
OwogCi1jbGFzcyBRdWFsaWZpZWROYW1lIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3Mg
UXVhbGlmaWVkTmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBjbGFzcyBRdWFsaWZpZWROYW1lSW1wbCA6IHB1YmxpYyBSZWZDb3VudGVkPFF1YWxpZmllZE5h
bWVJbXBsPiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4IGI2YmViNmUuLjRlOTFi
ZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAorKysgYi9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2NyaXB0RWxlbWVu
dDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2
YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFNjcmlwdEVsZW1lbnQoRWxlbWVudCosIGJvb2wgY3JlYXRlZEJ5UGFyc2Vy
LCBib29sIGlzRXZhbHVhdGVkKTsKICAgICB2aXJ0dWFsIH5TY3JpcHRFbGVtZW50KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYjQ2YTBmNC4uOGNhODJhMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMTE2LDggKzExNiwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgcmVmKCkgeyByZWZTY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7IH0KICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZTY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7IH0KIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNr
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgorICAgICAgICAgICAg
VGFzaygpIHsgfQogICAgICAgICAgICAgdmlydHVhbCB+VGFzaygpOwogICAgICAgICAgICAgdmly
dHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CiAgICAg
ICAgICAgICAvLyBDZXJ0YWluIHRhc2tzIGdldCBtYXJrZWQgc3BlY2lhbGx5IHNvIHRoYXQgdGhl
eSBhcmVuJ3QgZGlzY2FyZGVkLCBhbmQgYXJlIGV4ZWN1dGVkLCB3aGVuIHRoZSBjb250ZXh0IGlz
IHNodXR0aW5nIGRvd24gaXRzIG1lc3NhZ2UgcXVldWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9TcGFjZVNwbGl0U3RyaW5nLmggYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKaW5k
ZXggODI2ZTZiZC4uODM5OWI2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCisrKyBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaApAQCAtMjgsNyArMjgs
OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTcGFjZVNwbGl0U3RyaW5n
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU3BhY2VTcGxpdFN0cmluZ0Rh
dGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGFjZVNwbGl0U3RyaW5nRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTcGFjZVNwbGl0
U3RyaW5nRGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzaG91bGRGb2xkQ2FzZSkKICAg
ICAgICAgICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRGb2xkQ2FzZShzaG91bGRGb2xk
Q2FzZSksIG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1Ry
YW5zZm9ybVNvdXJjZS5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKaW5kZXggZjk3
YWZjZi4uOTdlYzQ4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgK
KysrIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNp
ZiBFTkFCTEUoWFNMVCkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVRyYW5z
Zm9ybVNvdXJjZTsKICNlbmRpZgogCi0gICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2UgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1Tb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgVHJhbnNmb3JtU291cmNlKGNvbnN0IFBsYXRmb3JtVHJh
bnNmb3JtU291cmNlJiBzb3VyY2UpOwogICAgICAgICB+VHJhbnNmb3JtU291cmNlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20v
VXNlckdlc3R1cmVJbmRpY2F0b3IuaAppbmRleCAxN2VhMzE5Li5kZTU3ZWZhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dlYkNvcmUvZG9tL1Vz
ZXJHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgVXNlckdlc3R1
cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyR2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNiw3ICsz
NSw4IEBAIGVudW0gUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgewogICAgIERlZmluaXRlbHlO
b3RQcm9jZXNzaW5nVXNlckdlc3R1cmUKIH07CiAKLWNsYXNzIFVzZXJHZXN0dXJlSW5kaWNhdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJHZXN0dXJlSW5kaWNhdG9yIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyR2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgeyByZXR1cm4gc19wcm9jZXNz
aW5nVXNlckdlc3R1cmUgPT0gRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQogICAg
IHN0YXRpYyBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSBnZXRVc2VyR2VzdHVyZVN0YXRlKCkg
eyByZXR1cm4gc19wcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmggYi9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvci5oCmluZGV4IDZjNzEwNzkuLmJjM2FjZTEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBV
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcl9oCiAjZGVmaW5lIFVzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzQsNyArMzMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIFVzZXJUeXBp
bmdHZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJUeXBp
bmdHZXN0dXJlSW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcHJvY2Vzc2luZ1Vz
ZXJUeXBpbmdHZXN0dXJlKCk7CiAgICAgc3RhdGljIE5vZGUqIGZvY3VzZWRFbGVtZW50QXRHZXN0
dXJlU3RhcnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgg
Yi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IGUzZDNjYzIuLmQ1ZGE5ZGYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKKysrIGIvV2ViQ29y
ZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtNzEsNiArNzEsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAjZW5kaWYKIAogICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyIDogcHVibGljIFNj
cmlwdGFibGVEb2N1bWVudFBhcnNlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFhNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50
LCBGcmFtZVZpZXcqIHZpZXcpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1hN
TERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNl
ckxpYnhtbDIuY3BwCmluZGV4IDdhMzI4NWYuLjZlZGU3ODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUsMTAgQEAgdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFja3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVibGljOgorICAgIFBlbmRpbmdD
YWxsYmFja3MoKSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNrcygpCiAgICAgewogICAgICAgICBk
ZWxldGVBbGxWYWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1M
RG9jdW1lbnRQYXJzZXJTY29wZS5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZS5oCmluZGV4IDU4ZThhNmIuLjhmNDE5MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERv
Y3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNj
b3BlLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9o
CiAjZGVmaW5lIFhNTERvY3VtZW50UGFyc2VyU2NvcGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpZiBFTkFCTEUoWFNMVCkKICNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgpA
QCAtMzYsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjsKIAotICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxEb2N1bWVudFBhcnNlclNjb3BlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2NvcGUoQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKTsKICAgICAgICAgflhNTERvY3VtZW50UGFyc2VyU2Nv
cGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVy
LmggYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCmluZGV4IDEyODZj
MDcuLjg5ZjJjYmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApA
QCAtMzYsNyArMzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNzIFJlbmRlck9iamVjdDsK
IGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9uQ29udHJvbGxlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlcihGcmFt
ZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1h
bmQuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAppbmRl
eCBmYjUyZTU2Li4xYzdiNzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNl
bGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZC5jcHAKQEAgLTU5LDcgKzU5LDggQEAgZW51bSBFRnJhZ21lbnRUeXBlIHsgRW1wdHlG
cmFnbWVudCwgU2luZ2xlVGV4dE5vZGVGcmFnbWVudCwgVHJlZUZyYWdtZW50IH07CiAKIC8vIC0t
LSBSZXBsYWNlbWVudEZyYWdtZW50IGhlbHBlciBjbGFzcwogCi1jbGFzcyBSZXBsYWNlbWVudEZy
YWdtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxhY2VtZW50RnJhZ21lbnQpOwogcHVibGlj
OgogICAgIFJlcGxhY2VtZW50RnJhZ21lbnQoRG9jdW1lbnQqLCBEb2N1bWVudEZyYWdtZW50Kiwg
Ym9vbCBtYXRjaFN0eWxlLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL2VkaXRpbmcv
U2VsZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDJlZGFkMGEuLjFkN2E3NjIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlNj
cm9sbEJlaGF2aW9yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJWaXNpYmxlU2Vs
ZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAKIGVudW0g
RGlyZWN0aW9uYWxpdHlQb2xpY3kgeyBNYWtlTm9uRGlyZWN0aW9uYWxTZWxlY3Rpb24sIE1ha2VE
aXJlY3Rpb25hbFNlbGVjdGlvbiB9OwogCi1jbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNlbGVjdGlvbkNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIGVudW0gRUFsdGVyYXRpb24geyBBbHRlcmF0aW9uTW92ZSwgQWx0
ZXJhdGlvbkV4dGVuZCB9OwogICAgIGVudW0gRURpcmVjdGlvbiB7IERpcmVjdGlvbkZvcndhcmQs
IERpcmVjdGlvbkJhY2t3YXJkLCBEaXJlY3Rpb25SaWdodCwgRGlyZWN0aW9uTGVmdCB9OwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oIGIvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCmluZGV4IDRkY2VkMDUuLmRlOWM3NTUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAorKysgYi9XZWJDb3Jl
L2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKQEAgLTcyLDcgKzcyLDggQEAgcHJpdmF0ZToK
ICAgICBtdXRhYmxlIGludCBtX2NoZWNraW5nTGVuZ3RoOwogfTsKIAotY2xhc3MgVGV4dENoZWNr
aW5nSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRleHRDaGVja2luZ0hlbHBl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENoZWNraW5nSGVscGVyKTsKIHB1Ymxp
YzoKICAgICBUZXh0Q2hlY2tpbmdIZWxwZXIoRWRpdG9yQ2xpZW50KiwgUGFzc1JlZlB0cjxSYW5n
ZT4pOwogICAgIH5UZXh0Q2hlY2tpbmdIZWxwZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAK
aW5kZXggYTk2MjY4ZC4uMWZiZTYwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1RleHRJ
dGVyYXRvci5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTU3
LDcgKzU3LDggQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIC8vIEtlZXBzIGVub3VnaCBv
ZiB0aGUgcHJldmlvdXMgdGV4dCB0byBiZSBhYmxlIHRvIHNlYXJjaCBpbiB0aGUgZnV0dXJlLCBi
dXQgbm8gbW9yZS4KIC8vIE5vbi1icmVha2luZyBzcGFjZXMgYXJlIGFsd2F5cyBlcXVhbCB0byBu
b3JtYWwgc3BhY2VzLgogLy8gQ2FzZSBmb2xkaW5nIGlzIGFsc28gZG9uZSBpZiA8aXNDYXNlU2Vu
c2l0aXZlPiBpcyBmYWxzZS4KLWNsYXNzIFNlYXJjaEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTZWFyY2hCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlYXJj
aEJ1ZmZlcik7CiBwdWJsaWM6CiAgICAgU2VhcmNoQnVmZmVyKGNvbnN0IFN0cmluZyYgdGFyZ2V0
LCBib29sIGlzQ2FzZVNlbnNpdGl2ZSk7CiAgICAgflNlYXJjaEJ1ZmZlcigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhy
ZWFkLmgKaW5kZXggZDdhYWJmNy4uNDUyMDVjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBp
L0ZpbGVUaHJlYWQuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCkBAIC01NCw3
ICs1NCw4IEBAIHB1YmxpYzoKICAgICBib29sIHN0YXJ0KCk7CiAgICAgdm9pZCBzdG9wKCk7CiAK
LSAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUYXNrIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7CiAgICAgcHVibGljOgogICAgICAg
ICB2aXJ0dWFsIH5UYXNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzaygp
ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCBiL1dl
YkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAppbmRleCBiNzc5YTVmLi4xMmE3MDEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29y
ZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIEZpbGVT
eXN0ZW1DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIEtlZXBz
IHBlci1wcm9jZXNzIGluZm9ybWF0aW9uIGFuZCBwcm92aWRlcyBhbiBlbnRyeSBwb2ludCB0byBv
cGVuIGEgZmlsZSBzeXN0ZW0uCi1jbGFzcyBMb2NhbEZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgTG9jYWxGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMb2NhbEZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIC8vIFJldHVybnMgYSBwZXItcHJvY2Vz
cyBpbnN0YW5jZSBvZiBMb2NhbEZpbGVTeXN0ZW0uCiAgICAgLy8gTm90ZSB0aGF0IExvY2FsRmls
ZVN5c3RlbTo6aW5pdGlhbGl6ZUxvY2FsRmlsZVN5c3RlbSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaCBiL1dlYkNv
cmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAppbmRleCAyNWU2NzM5Li4wMjBhYzQ5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKKysrIGIvV2Vi
Q29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCkBAIC01OCw3ICs1OCw4IEBAIGNsYXNz
IEZpbGVFbnRyeVN5bmM7CiAKIC8vIEEgaGVscGVyIHRlbXBsYXRlIGZvciBGaWxlU3lzdGVtU3lu
YyBpbXBsZW1lbnRhdGlvbi4KIHRlbXBsYXRlIDx0eXBlbmFtZSBTdWNjZXNzQ2FsbGJhY2ssIHR5
cGVuYW1lIE9ic2VydmVyVHlwZSwgdHlwZW5hbWUgQ2FsbGJhY2tBcmcsIHR5cGVuYW1lIFJlc3Vs
dFR5cGU+Ci1jbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTeW5j
Q2FsbGJhY2tIZWxwZXIpOwogcHVibGljOgogICAgIHR5cGVkZWYgU3luY0NhbGxiYWNrSGVscGVy
PFN1Y2Nlc3NDYWxsYmFjaywgT2JzZXJ2ZXJUeXBlLCBDYWxsYmFja0FyZywgUmVzdWx0VHlwZT4g
SGVscGVyVHlwZTsKICAgICBTeW5jQ2FsbGJhY2tIZWxwZXIoT2JzZXJ2ZXJUeXBlKiBvYnNlcnZl
ciA9IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVy
LmggYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKaW5kZXggZTg5ZTMy
Yi4uZDY4MDQ3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJv
bGxlci5oCisrKyBiL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaApAQCAt
MjYsNyArMjYsNiBAQAogI2lmbmRlZiBCYWNrRm9yd2FyZENvbnRyb2xsZXJfaAogI2RlZmluZSBC
YWNrRm9yd2FyZENvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKQEAgLTM2
LDcgKzM1LDggQEAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OwogY2xhc3MgSGlzdG9yeUl0ZW07CiBj
bGFzcyBQYWdlOwogCi1jbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShCYWNrRm9yd2FyZENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEJhY2tGb3J3YXJkQ29udHJvbGxlcihQYWdlKiwgUGFzc1JlZlB0cjxCYWNr
Rm9yd2FyZExpc3Q+KTsKICAgICB+QmFja0ZvcndhcmRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmggYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hl
LmgKaW5kZXggNzFhZTVhZC4uZDUwYjljZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9oaXN0b3J5L1Bh
Z2VDYWNoZS5oCisrKyBiL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaApAQCAtMzAsNyArMzAs
NiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIEhpc3RvcnlJdGVtOwogICAgIGNsYXNzIFBhZ2U7CiAgICAgCi0gICAgY2xhc3Mg
UGFnZUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlQ2FjaGUgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSogcGFnZUNhY2hl
KCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5o
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEuLmRhM2U2ZDUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3Jl
L2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAorcHVibGljOgogICAgIENvbGxlY3Rpb25DYWNoZSgpOwogICAgIENvbGxlY3Rpb25D
YWNoZShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUmIG9wZXJh
dG9yPShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmIG90aGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tl
bkxpc3QuaAppbmRleCAyYjcxMWI0Li5lMTUwNzMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
RE9NU2V0dGFibGVUb2tlbkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tl
bkxpc3QuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBE
T01TZXR0YWJsZVRva2VuTGlzdCA6IHB1YmxpYyBET01Ub2tlbkxpc3QsIHB1YmxpYyBSZWZDb3Vu
dGVkPERPTVNldHRhYmxlVG9rZW5MaXN0PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01TZXR0YWJsZVRva2VuTGlzdD4gY3Jl
YXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmggYi9X
ZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKaW5kZXggNWRmMmVkZS4uZTBkYmNjOCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9ET01U
b2tlbkxpc3QuaApAQCAtMjcsMTUgKzI3LDE2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLWNsYXNzIERPTVRva2VuTGlzdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBET01Ub2tlbkxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERPTVRva2VuTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRE9N
VG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0KCkge307CiAKICAgICB2
aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGFm
NGU3ZDAuLmQ0ZDVlNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTEyMDEsNyAr
MTIwMSw5IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVTZXBhcmF0ZUZyb21B
dHRyaWJ1dGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RydWN0IEV2ZW50SGFu
ZGxpbmdTdGF0ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEV2ZW50SGFuZGxpbmdTdGF0ZSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBSZWZQdHI8SFRNTElu
cHV0RWxlbWVudD4gbV9jdXJyUmFkaW87CiAgICAgYm9vbCBtX2luZGV0ZXJtaW5hdGU7CiAgICAg
Ym9vbCBtX2NoZWNrZWQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJr
cy5oIGIvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAppbmRleCA1MGRlNzEwLi4zYmYy
MmE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCisrKyBiL1dl
YkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmlu
ZSBIVE1MUGFyc2VyUXVpcmtzX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTm9k
ZTsKIAotY2xhc3MgSFRNTFBhcnNlclF1aXJrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIVE1MUGFyc2VyUXVpcmtzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2Vy
UXVpcmtzKTsKIHB1YmxpYzoKICAgICBIVE1MUGFyc2VyUXVpcmtzKCkgeyB9CiAgICAgdmlydHVh
bCB+SFRNTFBhcnNlclF1aXJrcygpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lucHV0
VHlwZS5oIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGYxYTViNmQuLjBjYzE2Yjgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwv
SW5wdXRUeXBlLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgUmVuZGVy
U3R5bGU7CiAvLyBBbiBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIHR5cGUtc3BlY2lm
aWMgcGFydCBvZiBhbiBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90IGV4cG9zZSBpbnN0YW5j
ZXMgb2YgSW5wdXRUeXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBpdCB0byBjbGFzc2VzCiAv
LyBvdGhlciB0aGFuIEhUTUxJbnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1dFR5cGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJbnB1dFR5cGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQqLCBjb25zdCBB
dG9taWNTdHJpbmcmKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZVRl
eHQoSFRNTElucHV0RWxlbWVudCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1N0ZXBSYW5n
ZS5oIGIvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCmluZGV4IGNlMDQ0ZWEuLjFmMTY2YmYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAorKysgYi9XZWJDb3JlL2h0bWwvU3Rl
cFJhbmdlLmgKQEAgLTIyLDEzICsyMiwxMyBAQAogI2RlZmluZSBTdGVwUmFuZ2VfaAogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogCi1jbGFzcyBTdGVw
UmFuZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RlcFJhbmdlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTdGVwUmFuZ2UpOwogcHVibGljOgogICAgIGJvb2wgaGFzU3RlcDsK
ICAgICBkb3VibGUgc3RlcDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKaW5kZXggZmUxOGI2Yi4u
ZjgzYTVlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKKysr
IGIvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNk
ZWZpbmUgVmFsaWRhdGlvbk1lc3NhZ2VfaAogCiAjaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQwLDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OwogCi1jbGFzcyBWYWxpZGF0aW9u
TWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxpZGF0aW9uTWVzc2FnZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRhdGlvbk1lc3NhZ2UpOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPFZhbGlkYXRpb25NZXNzYWdlPiBjcmVhdGUoSFRNTEZvcm1D
b250cm9sRWxlbWVudCopOwogICAgIH5WYWxpZGF0aW9uTWVzc2FnZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRl
LmgKaW5kZXggNTMyZGRiMi4uMjJhNDhiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlk
aXR5U3RhdGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC0yOSw3ICsy
OSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVmFsaWRpdHlTdGF0ZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxpZGl0eVN0YXRlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShWYWxpZGl0eVN0YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBjcmVhdGUoSFRNTEZvcm1D
b250cm9sRWxlbWVudCogY29udHJvbCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGEyNWU4YTEuLjE0ZjVhMGEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdI
YXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgSFRN
TFZpZGVvRWxlbWVudDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9iamVjdDsKIAotY2xhc3Mg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYW52
YXNSZW5kZXJpbmdDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYW52YXNSZW5k
ZXJpbmdDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDYW52
YXNSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+Q2Fu
dmFzUmVuZGVyaW5nQ29udGV4dCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNl
ci9DU1NQcmVsb2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nh
bm5lci5oCmluZGV4IDdhYzI4MmYuLmZhZTk1YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1By
ZWxvYWRTY2FubmVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENTU1ByZWxvYWRTY2FubmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1ByZWxvYWRTY2FubmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBwdWJsaWM6CiAgICAgQ1NT
UHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29u
c3RydWN0aW9uU2l0ZS5oCmluZGV4IDhiMDliZjUuLmZmNjE4NmQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAorKysgYi9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRl
ICJIVE1MRWxlbWVudFN0YWNrLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlz
dC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgQXRvbWljSFRNTFRva2VuOwogY2xhc3MgRG9j
dW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSFRNTENvbnN0cnVjdGlvblNpdGUpOwogcHVibGljOgogICAgIEhU
TUxDb25zdHJ1Y3Rpb25TaXRlKERvY3VtZW50KiwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9u
LCBib29sIGlzUGFyc2luZ0ZyYWdtZW50KTsKICAgICB+SFRNTENvbnN0cnVjdGlvblNpdGUoKTsK
QEAgLTg5LDcgKzg5LDggQEAgcHVibGljOgogICAgIEhUTUxGb3JtRWxlbWVudCogZm9ybSgpIGNv
bnN0IHsgcmV0dXJuIG1fZm9ybS5nZXQoKTsgfQogICAgIFBhc3NSZWZQdHI8SFRNTEZvcm1FbGVt
ZW50PiB0YWtlRm9ybSgpOwogCi0gICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJk
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFyZW50
R3VhcmQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWRpcmVjdFRvRm9zdGVyUGFy
ZW50R3VhcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1
YXJkKEhUTUxDb25zdHJ1Y3Rpb25TaXRlJiB0cmVlKQogICAgICAgICAgICAgOiBtX3RyZWUodHJl
ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IDA1MDUzZGYu
LmMyMDFjM2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaApAQCAt
NTAsNiArNTAsNyBAQCBjbGFzcyBTY3JpcHRDb250cm9sbGVyOwogY2xhc3MgU2NyaXB0U291cmNl
Q29kZTsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyIDogIHB1YmxpYyBTY3JpcHRhYmxlRG9j
dW1lbnRQYXJzZXIsIEhUTUxTY3JpcHRSdW5uZXJIb3N0LCBDYWNoZWRSZXNvdXJjZUNsaWVudCB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxIVE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBi
b29sIHJlcG9ydEVycm9ycykKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFj
ay5oCmluZGV4IDhhOGUxNjAuLjkzNmQ0MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTEVsZW1lbnRTdGFjay5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1l
bnRTdGFjay5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIEhUTUxFbGVtZW50U3RhY2tfaAog
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zOSwxMiArMzgsMTQgQEAgY2xhc3MgUXVhbGlmaWVk
TmFtZTsKIAogLy8gTk9URTogVGhlIEhUTUw1IHNwZWMgdXNlcyBhIGJhY2t3YXJkcyAoZ3Jvd3Mg
ZG93bndhcmQpIHN0YWNrLiAgV2UncmUgdXNpbmcKIC8vIG1vcmUgc3RhbmRhcmQgKGdyb3dzIHVw
d2FyZHMpIHN0YWNrIHRlcm1pbm9sb2d5IGhlcmUuCi1jbGFzcyBIVE1MRWxlbWVudFN0YWNrIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxFbGVtZW50U3RhY2sgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEhUTUxFbGVtZW50U3RhY2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAgICB+SFRNTEVsZW1lbnRTdGFj
aygpOwogCi0gICAgY2xhc3MgRWxlbWVudFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgRWxlbWVudFJlY29yZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVs
ZW1lbnRSZWNvcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgfkVsZW1lbnRSZWNvcmQoKTsgLy8g
UHVibGljIGZvciB+UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1YmIuLmY3NWZhNTAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCkBAIC0z
NSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiAKIC8vIFRo
aXMgbWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNrLgotY2xhc3MgSFRNTEZv
cm1hdHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRm9y
bWF0dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRm9ybWF0
dGluZ0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0
KCk7CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxJbnB1dFN0cmVhbS5oCmluZGV4IGE3MDliZDkuLjY0MmU0MzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9mIHRoZSBhZnRlckluc2VydGlv
blBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRhdGEgYXQgdGhlIGVuZCBvZiB0
aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0gdG8gdGhlICJsYXN0IiBzdHJp
bmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MSW5wdXRTdHJl
YW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAgICAgICAgIDogbV9sYXN0KCZt
X2ZpcnN0KQpAQCAtMTI4LDcgKzEyOSw4IEBAIHByaXZhdGU6CiAgICAgU2VnbWVudGVkU3RyaW5n
KiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGljOgogICAgIGV4cGxpY2l0IElu
c2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5wdXRTdHJlYW0pCiAgICAgICAg
IDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBh
cnNlclNjaGVkdWxlci5oCmluZGV4IDViZTMzYjAuLmE0Yjc0NjAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCArMjgsMTQgQEAKIAogI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiAKLWNsYXNzIEhUTUxQYXJz
ZXJTY2hlZHVsZXIgOiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQYXJzZXJTY2hl
ZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJzZXJTY2hlZHVsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhU
TUxQYXJzZXJTY2hlZHVsZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNlcikKICAg
ICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5o
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAppbmRleCA5NGE5MGU2
Li44NjA0NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDU1NQcmVsb2FkU2Nhbm5lci5oIgogI2luY2x1ZGUg
IkhUTUxUb2tlbi5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDcgKzM4LDgg
QEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTFRva2VuaXplcjsKIGNsYXNzIFNlZ21lbnRl
ZFN0cmluZzsKIAotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFByZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBIVE1MUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxT
Y3JpcHRSdW5uZXIuaAppbmRleCA2Y2Y3NGQ4Li4xYjdmOTFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxTY3JpcHRSdW5uZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIlBlbmRpbmdT
Y3JpcHQuaCIKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0
UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNs
YXNzIEZyYW1lOwogY2xhc3MgSFRNTFNjcmlwdFJ1bm5lckhvc3Q7CiBjbGFzcyBTY3JpcHRTb3Vy
Y2VDb2RlOwogCi1jbGFzcyBIVE1MU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhUTUxTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxT
Y3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQs
IEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRva2VuLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5o
CmluZGV4IDQyY2RkYjguLjhlY2Q4ZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRva2VuLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaApAQCAtMjcs
MTMgKzI3LDEzIEBACiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAKICNpbmNsdWRlICJOYW1lZE5vZGVN
YXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRva2Vu
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW4pOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIFVuaW5pdGlhbGl6ZWQs
CkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICAvLyB3YW50IHRvIGVuZCB1cCB3aXRo
IGEgY2xlYW5lciBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdHdvIGNsYXNzZXMuCiAgICAgZnJpZW5k
IGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIAotICAgIGNsYXNzIERvY3R5cGVEYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEb2N0eXBlRGF0YSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERvY3R5cGVEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvY3R5cGVE
YXRhKCkKICAgICAgICAgICAgIDogbV9oYXNQdWJsaWNJZGVudGlmaWVyKGZhbHNlKQpAQCAtMzUy
LDcgKzM1Myw4IEBAIHByaXZhdGU6CiAKIC8vIEZJWE1FOiBUaGlzIGNsYXNzIHNob3VsZCBldmVu
dHVhbGx5IGJlIG5hbWVkIEhUTUxUb2tlbiBvbmNlIHdlIG1vdmUgdGhlCiAvLyBleGl0aW5nIEhU
TUxUb2tlbiB0byBiZSBpbnRlcm5hbCB0byB0aGUgSFRNTFRva2VuaXplci4KLWNsYXNzIEF0b21p
Y0hUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdG9taWNIVE1MVG9rZW4g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY0hUTUxUb2tlbik7CiBwdWJsaWM6CiAg
ICAgQXRvbWljSFRNTFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV90eXBlKHRv
a2VuLnR5cGUoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXpl
ci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKaW5kZXggZjE2YjA0OS4u
ZDU3NzlmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgK
KysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKQEAgLTI4LDcgKzI4LDYg
QEAKICNkZWZpbmUgSFRNTFRva2VuaXplcl9oCiAKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNT
dHJpbmcuaD4KQEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgRWxlbWVudDsKIGNsYXNzIEZyYW1lOwog
Y2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEhUTUxUb2tlbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhU
TUxUb2tlbml6ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0g
U3RhdGUgewogICAgICAgICBEYXRhU3RhdGUsCkBAIC0xNzIsNyArMTcyLDggQEAgcHVibGljOgog
CiBwcml2YXRlOgogICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9j
dXJyZW50LXdvcmsvI3ByZXByb2Nlc3NpbmctdGhlLWlucHV0LXN0cmVhbQotICAgIGNsYXNzIElu
cHV0U3RyZWFtUHJlcHJvY2Vzc29yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJ
bnB1dFN0cmVhbVByZXByb2Nlc3NvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElu
cHV0U3RyZWFtUHJlcHJvY2Vzc29yKTsKICAgICBwdWJsaWM6CiAgICAgICAgIElucHV0U3RyZWFt
UHJlcHJvY2Vzc29yKEhUTUxUb2tlbml6ZXIqIHRva2VuaXplcikKICAgICAgICAgICAgIDogbV90
b2tlbml6ZXIodG9rZW5pemVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VHJlZUJ1aWxkZXIuY3BwIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3Bw
CmluZGV4IDNkMzkxMzEuLjA0MzFjZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAKQEAgLTI0MCw3ICsyNDAsOCBAQCBIVE1MRm9ybUVsZW1lbnQqIGNsb3Nlc3RGb3Jt
QW5jZXN0b3IoRWxlbWVudCogZWxlbWVudCkKIAogfSAvLyBuYW1lc3BhY2UKIAotY2xhc3MgSFRN
TFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1
ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1
ZmZlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgRXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZl
cihBdG9taWNIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6IG1fY3VycmVudCh0b2tlbi5jaGFy
YWN0ZXJzKCkuZGF0YSgpKQpAQCAtMjMzNCw3ICsyMzM1LDggQEAgdm9pZCBIVE1MVHJlZUJ1aWxk
ZXI6OnJlcHJvY2Vzc0VuZFRhZyhBdG9taWNIVE1MVG9rZW4mIHRva2VuKQogICAgIHByb2Nlc3NF
bmRUYWcodG9rZW4pOwogfQogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNlcnRpb25N
b2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RmFrZUlu
c2VydGlvbk1vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZha2VJbnNlcnRpb25Nb2Rl
KTsKIHB1YmxpYzoKICAgICBGYWtlSW5zZXJ0aW9uTW9kZShIVE1MVHJlZUJ1aWxkZXIqIHRyZWVC
dWlsZGVyLCBJbnNlcnRpb25Nb2RlIG1vZGUpCiAgICAgICAgIDogbV90cmVlQnVpbGRlcih0cmVl
QnVpbGRlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVy
LmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCmluZGV4IDBlNzU5N2Mu
Ljk2OWM3YTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVy
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaApAQCAtMzMsNyAr
MzMsNiBAQAogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCIKICNpbmNsdWRl
ICJIVE1MVG9rZW5pemVyLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAg
LTUwLDcgKzQ5LDggQEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTERvY3VtZW50OwogY2xh
c3MgTm9kZTsKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhUTUxUcmVlQnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRy
ZWVCdWlsZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MVG9rZW5pemVyKiB0b2tlbml6
ZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzLCBib29sIHVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwMyw3ICsyMDMsOCBAQCBwcml2YXRlOgog
ICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlNb2RlQW5kUmVzZXRNb2Rl
KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRGb3JlaWduSW5zZXJ0aW9u
TW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAgICBGcmFnbWVudFBhcnNp
bmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJh
Z21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGlu
Z0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKKysrIGIvV2ViQ29y
ZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCkBAIC0yOCw3ICsyOCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbEluY3JlbWVudGVyKTsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcih1bnNpZ25lZCYgbmVzdGlu
Z0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0aW5nTGV2ZWwpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvV2ViQ29yZS9pbnNwZWN0
b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCA0ZTg4YmVjLi45MDJlZGMzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgU2NyaXB0Q2FsbEZyYW1l
OwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFsdWU7CiAKLWNsYXNzIENv
bnNvbGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENvbnNvbGVNZXNzYWdl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2FnZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCB1bnNpZ25lZCBsaSwg
Y29uc3QgU3RyaW5nJiB1LCB1bnNpZ25lZCBnKTsKICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIFBhc3NP
d25QdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc093blB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNp
Z25lZCBnKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmgg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCmluZGV4IGY4MGNmYjQuLmZmOGQz
OGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtMzQsNyArMzQsNiBAQAogI2lu
Y2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50Lmgg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAppbmRl
eCAxMWYxMGNlLi43YjNlOTJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtMjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpICYmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCiAKICNpbmNsdWRl
ICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQw
LDcgKzM5LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9yVmFsdWU7
CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIElu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0
b3JDb250cm9sbGVyLCBJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpOwogICAgIH5JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaAppbmRleCBjYTVhOWQ5Li5mOWMxMDQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oCkBAIC0xMDEsNyArMTAxLDggQEAgY2xhc3MgV2ViU29ja2V0SGFu
ZHNoYWtlUmVxdWVzdDsKIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlOwogI2VuZGlm
CiAKLWNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSW5zcGVjdG9yQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdHlw
ZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U+ID4gRGF0
YWJhc2VSZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3Bl
Y3RvckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01TdG9yYWdlUmVzb3VyY2VzTWFwOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4IDk1MDFhYzguLjAzMTYw
OTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTUy
LDcgKzUyLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50VHlwZSB7CiAgICAgTmF0aXZlQnJlYWtwb2lu
dERlYnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDog
cHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckRl
YnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKiwgSW5zcGVjdG9yRnJvbnRl
bmQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKaW5kZXggOWRjYWE1
YS4uNGFhODdlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsK
IGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBwdWJs
aWMgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsKEluc3BlY3RvckNvbnRyb2xsZXIqLCBQYWdlKik7CiAgICAgdmlydHVh
bCB+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5oCmluZGV4IGMxZjVkYjEuLmIxYThiZTUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKQEAgLTM1LDcgKzM1LDYgQEAKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Nyw3ICs0
Niw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIFNjcmlwdEhlYXBTbmFwc2hvdDsK
IGNsYXNzIFNjcmlwdFByb2ZpbGU7CiAKLWNsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIH5J
bnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgKaW5kZXggYmMxZTAyNy4uYTZiYTNkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAsNyArNzAsOCBAQCBlbnVtIFRpbWVsaW5l
UmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3RUaW1lbGluZVJlY29yZFR5
cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZl
bnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5k
KTsKICAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggYi9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaAppbmRleCA1NGM2YmJhLi4xMzFlMTMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2suaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxs
U3RhY2suaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIFNjcmlwdENhbGxTdGFja19oCiAK
ICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgSW5zcGVjdG9yQXJyYXk7CiAKLWNsYXNzIFNjcmlwdENhbGxTdGFjayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNjcmlwdENhbGxTdGFjayk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBt
YXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlID0gMjAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmggYi9XZWJDb3JlL2xvYWRlci9D
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKaW5kZXggMTAxNmFlZC4uNWQ4NDliZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUu
aApAQCAtMzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSFRUUEhl
YWRlck1hcDsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgQ3Jvc3NP
cmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0pOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ3Jvc3NPcmlnaW5Q
cmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0oYm9vbCBjcmVkZW50aWFscykKICAgICAgICAgICAgIDog
bV9hYnNvbHV0ZUV4cGlyeVRpbWUoMCkKQEAgLTYzLDcgKzY0LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBIZWFkZXJzU2V0IG1faGVhZGVyczsKICAgICB9OwogCi0gICAgY2xhc3Mg
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIENyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGViZjNhMjUuLjkzZTc0MzkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50OwogCiAgICAgY2xh
c3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIsIHByaXZhdGUgU3VicmVz
b3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
RG9jdW1lbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9jdW1lbnQqLCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3Jp
dGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCmluZGV4IDVmYjNkYzEuLmZi
OTM2MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBG
cmFtZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsK
IAotY2xhc3MgRG9jdW1lbnRXcml0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRG9j
dW1lbnRXcml0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50V3JpdGVyKTsK
IHB1YmxpYzoKICAgICBEb2N1bWVudFdyaXRlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CmluZGV4IGExNWNlZTUuLjMxMTk1M2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0yMTQsOCAr
MjE0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNs
aWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RnJhbWVMb2FkZXJDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSB7
IH0KICAgICB2aXJ0dWFsIH5FbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkgeyAgfQogICAgIHZpcnR1
YWwgdm9pZCBmcmFtZUxvYWRlckRlc3Ryb3llZCgpIHsgfQogCkBAIC0zODMsOCArMzg1LDEwIEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4g
Y3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVybiBQYXNzUmVmUHRyPEZyYW1lTmV0d29y
a2luZ0NvbnRleHQ+KCk7IH0KIH07CiAKLWNsYXNzIEVtcHR5RWRpdG9yQ2xpZW50IDogcHVibGlj
IEVkaXRvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RWRpdG9yQ2xp
ZW50IDogcHVibGljIEVkaXRvckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1w
dHlFZGl0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEVt
cHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlFZGl0b3JDbGllbnQoKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpIHsgfQogCkBAIC00OTYsOCArNTAw
LDEwIEBAIHB1YmxpYzoKIH07CiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLWNsYXNzIEVt
cHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQ29udGV4dE1lbnVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRl
eHRNZW51Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUNvbnRleHRNZW51
Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUNvbnRl
eHRNZW51Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlDb250ZXh0TWVudUNsaWVudCgp
IHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVEZXN0cm95ZWQoKSB7IH0KIApAQCAt
NTE5LDggKzUyNSwxMCBAQCBwdWJsaWM6CiAjZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMp
CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotY2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVi
bGljIERyYWdDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eURyYWdDbGll
bnQgOiBwdWJsaWMgRHJhZ0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlE
cmFnQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eURy
YWdDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eURyYWdDbGllbnQoKSB7fQogICAgIHZp
cnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRp
b25BY3Rpb24sIERyYWdEYXRhKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJh
Z1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25zdCBJbnRQb2ludCYsIENsaXBib2Fy
ZCopIHsgfQpAQCAtNTMyLDggKzU0MCwxMCBAQCBwdWJsaWM6CiB9OwogI2VuZGlmIC8vIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAKLWNsYXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIElu
c3BlY3RvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5SW5zcGVjdG9y
Q2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRW1wdHlJbnNwZWN0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIEVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlJbnNw
ZWN0b3JDbGllbnQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQo
KSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmggYi9XZWJD
b3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCmluZGV4IGQ3MjQ4MzUuLjdmNThmOTEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvRm9ybVN1Ym1pc3Npb24uaApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBGb3JtU3VibWlzc2lv
biA6IHB1YmxpYyBSZWZDb3VudGVkPEZvcm1TdWJtaXNzaW9uPiB7CiBwdWJsaWM6CiAgICAgZW51
bSBNZXRob2QgeyBHZXRNZXRob2QsIFBvc3RNZXRob2QgfTsKIAotICAgIGNsYXNzIEF0dHJpYnV0
ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEF0dHJpYnV0ZXMgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdHRyaWJ1dGVzKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IEF0dHJpYnV0ZXMoKQogICAgICAgICAgICAgOiBtX21ldGhvZChHZXRNZXRob2QpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuaAppbmRleCA3NmFkOTc3Li42YTc2M2QwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTg2
LDcgKzg2LDggQEAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogCiBib29sIGlzQmFja0ZvcndhcmRM
b2FkVHlwZShGcmFtZUxvYWRUeXBlKTsKIAotY2xhc3MgRnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlcihGcmFtZSosIEZyYW1lTG9h
ZGVyQ2xpZW50Kik7CiAgICAgfkZyYW1lTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXJTdGF0ZU1hY2hpbmUuaAppbmRleCBjMzQwOGMyLi4xZGRmMmVhIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKQEAgLTI5LDEzICsyOSwxMyBAQAogI2lmbmRlZiBG
cmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAjZGVmaW5lIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5l
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRlIG1hY2hpbmUgZm9yIEZyYW1lTG9hZGVyLiBOb3Rl
IHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBGcmFtZVN0YXRlLAogLy8gd2hpY2ggc3RvcmVz
IHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBsb2FkIHRoYXQgRnJhbWVMb2FkZXIgaXMgZXhlY3V0
aW5nLgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJv
bGxlci5oIGIvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAppbmRleCAxMDAyZGJj
Li4wNDE4Mjk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYg
QEAKIAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBGcmFt
ZTsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogCi1j
bGFzcyBIaXN0b3J5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIaXN0
b3J5Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGlzdG9yeUNvbnRyb2xs
ZXIpOwogcHVibGljOgogICAgIGVudW0gSGlzdG9yeVVwZGF0ZVR5cGUgeyBVcGRhdGVBbGwsIFVw
ZGF0ZUFsbEV4Y2VwdEJhY2tGb3J3YXJkTGlzdCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5k
ZXggOTRhMjFhNC4uNmE1NGU4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtNTcsNyArNTcs
OCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1ZUNoZWNrPFdlYkNvcmU6OkltYWdlTG9hZGVyKj4g
ewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEltYWdlRXZlbnRTZW5kZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VFdmVudFNlbmRlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgSW1hZ2VFdmVudFNlbmRlcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
IGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKaW5kZXggMjhmZGE5YS4u
MjQ5NWIxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5j
cHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTUxLDcg
KzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTY2hlZHVsZWROYXZpZ2F0
aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjaGVkdWxlZE5hdmlnYXRpb24gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZE5hdmlnYXRpb24pOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNjaGVkdWxlZE5hdmlnYXRpb24oZG91YmxlIGRl
bGF5LCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExpc3QsIGJvb2wgd2Fz
RHVyaW5nTG9hZCwgYm9vbCBpc0xvY2F0aW9uQ2hhbmdlKQogICAgICAgICA6IG1fZGVsYXkoZGVs
YXkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmggYi9X
ZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKaW5kZXggM2JmNTAxMC4uMTdhZTg4
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBj
bGFzcyBGcmFtZTsKIHN0cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogY2xhc3MgU2NoZWR1bGVkTmF2
aWdhdGlvbjsKIAotY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShOYXZpZ2F0aW9uU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBOYXZpZ2F0aW9uU2NoZWR1bGVy
KEZyYW1lKik7CiAgICAgfk5hdmlnYXRpb25TY2hlZHVsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAppbmRl
eCBlYjQzMTY2Li45MjY4YjI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCkBAIC0zNCw3ICszNCw2IEBACiAK
ICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJlc291cmNlUmVzcG9u
c2U7CiAvLyB0byBhbGxvdyB0aGUgbG9hZCB0byBsaXZlIGxvbmcgZW5vdWdoIHRvIGVuc3VyZSB0
aGUgbWVzc2FnZSB3YXMgYWN0dWFsbHkgc2VudC4KIC8vIFRoZXJlZm9yZSwgYXMgc29vbiBhcyBh
IGNhbGxiYWNrIGlzIHJlY2VpdmVkIGZyb20gdGhlIFJlc291cmNlSGFuZGxlLCB0aGlzIGNsYXNz
IAogLy8gd2lsbCBjYW5jZWwgdGhlIGxvYWQgYW5kIGRlbGV0ZSBpdHNlbGYuCi1jbGFzcyBQaW5n
TG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQaW5nTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsb2FkSW1hZ2UoRnJhbWUqLCBjb25zdCBLVVJM
JiB1cmwpOwogICAgIHN0YXRpYyB2b2lkIHNlbmRQaW5nKEZyYW1lKiwgY29uc3QgS1VSTCYgcGlu
Z1VSTCwgY29uc3QgS1VSTCYgZGVzdGluYXRpb25VUkwpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvUG9saWN5Q2hlY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCmlu
ZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKQEAgLTQ1LDcgKzQ1
LDggQEAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFz
cyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBQb2xpY3lDaGVja2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFBvbGljeUNoZWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBvbGljeUNoZWNrZXIpOwogcHVibGljOgogICAgIFBvbGljeUNoZWNrZXIoRnJhbWUqKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1dlYkNvcmUv
bG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggY2QxNTQzMy4uMWJkMTlhNSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9XZWJDb3JlL2xv
YWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01MCw3ICs1MCw5IEBAIHN0YXRpYyBjb25zdCBk
b3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAgLSBpbml0aWFsUHJvZ3Jlc3NW
YWx1ZQogCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzSXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5n
dGggPSAxMDI0ICogMTY7CiAKLXN0cnVjdCBQcm9ncmVzc0l0ZW0gOiBOb25jb3B5YWJsZSB7Citz
dHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc0l0
ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFByb2dyZXNzSXRlbShs
b25nIGxvbmcgbGVuZ3RoKSAKICAgICAgICAgOiBieXRlc1JlY2VpdmVkKDApCiAgICAgICAgICwg
ZXN0aW1hdGVkTGVuZ3RoKGxlbmd0aCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCmluZGV4
IDVkNWI2YjIuLjhjNGEwZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJh
Y2tlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCkBAIC0yNyw3ICsy
Nyw2IEBACiAjZGVmaW5lIFByb2dyZXNzVHJhY2tlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzYsNyArMzUsOCBAQCBjbGFzcyBGcmFtZTsK
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBzdHJ1Y3QgUHJvZ3Jlc3NJdGVtOwogCi1jbGFzcyBQ
cm9ncmVzc1RyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUHJvZ3Jlc3NUcmFj
a2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc1RyYWNrZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb2dyZXNzVHJhY2tlcigpOwogICAgIH5Q
cm9ncmVzc1RyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaCBi
L1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaAppbmRleCBiNmRlMzEyLi45NmY3YjFiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUmVxdWVz
dC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNo
ZWRSZXNvdXJjZTsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKIAotICAgIGNsYXNz
IFJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlcXVlc3QgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXF1ZXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIFJlcXVlc3QoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBD
YWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50YWwsIFNlY3VyaXR5Q2hlY2tQb2xpY3ksIGJv
b2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyk7CiAgICAgICAgIH5SZXF1ZXN0KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oIGIvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAppbmRleCAyZjEwODU2Li4yNzA0MDZhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpZm5k
ZWYgUmVzb3VyY2VMb2FkTm90aWZpZXJfaAogI2RlZmluZSBSZXNvdXJjZUxvYWROb3RpZmllcl9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC00Myw3ICs0Miw4IEBAIGNsYXNzIFJlc291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkTm90
aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlTG9hZE5vdGlmaWVyKTsKIHB1Ymxp
YzoKICAgICBSZXNvdXJjZUxvYWROb3RpZmllcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZFNjaGVkdWxlci5oCmluZGV4IDg0Zjg4NDUuLjI5Yzc0ZGQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSA8d3Rm
L0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNl
dC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDIsOCBAQCBjbGFz
cyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFN1YnJl
c291cmNlTG9hZGVyQ2xpZW50OwogCi1jbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWRTY2hlZHVsZXIpOwogcHVibGljOgogICAgIGZy
aWVuZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogCkBA
IC02Niw3ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZVNlcnZlUGVuZGluZ1Jl
cXVlc3RzKCk7CiAgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRT
Y2hlZHVsZXI+Kik7CiAKLSAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhvc3RJbmZvcm1hdGlvbik7CiAgICAgcHVibGljOgogICAgICAgICBIb3N0SW5m
b3JtYXRpb24oY29uc3QgU3RyaW5nJiwgdW5zaWduZWQpOwogICAgICAgICB+SG9zdEluZm9ybWF0
aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oIGIvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAppbmRleCBhNTczMDQ1Li5kMTFkOWI5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU0LDcgKzUzLDggQEAgY2xhc3MgTm9kZTsK
IGNsYXNzIFdpZGdldDsKIAogLy8gVGhpcyBpcyBhIHNsaWdodCBtaXNub21lci4gSXQgaGFuZGxl
cyB0aGUgaGlnaGVyIGxldmVsIGxvZ2ljIG9mIGxvYWRpbmcgYm90aCBzdWJmcmFtZXMgYW5kIHBs
dWdpbnMuCi1jbGFzcyBTdWJmcmFtZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTdWJmcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3ViZnJhbWVMb2Fk
ZXIpOwogcHVibGljOgogICAgIFN1YmZyYW1lTG9hZGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuaAppbmRleCBmNDFhNzc0Li5iYzFhM2JhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJfaAog
I2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFVzZWZ1bCBm
b3IgZG9pbmcgbG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2Fm
ZSwgCiAgICAgLy8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1h
aW4gdGhyZWFkKS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
dm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFk
YWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRl
ck9wdGlvbnMmKTsKQEAgLTc1LDYgKzc1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2b2lkIGRlcmVmKCkgeyBkZXJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQogCiAgICAgcHJvdGVj
dGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRo
cmVhZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVM
b2FkZXIoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVMb2FkZXIo
KSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50
LmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKaW5kZXggYmNmNjhi
ZS4uOGU1Mjc0MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNs
aWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAt
MzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJDbGllbnRfaAogI2RlZmlu
ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwogICAg
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIC8qYnl0ZXNTZW50Ki8sIHVuc2ln
bmVkIGxvbmcgbG9uZyAvKnRvdGFsQnl0ZXNUb0JlU2VudCovKSB7IH0KIApAQCAtNTEsNiArNTEs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZl
QXV0aGVudGljYXRpb25DYW5jZWxsYXRpb24oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIHsgfQog
CiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAg
ICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXJDbGllbnQoKSB7IH0KICAgICB9OwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5o
IGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAppbmRleCBk
M2MxYTlmLi5kNGZlYWNlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50V3JhcHBlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJD
bGllbnRXcmFwcGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudFdyYXBwZXJfaAogCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRh
YmxlTG9hZGVyLmgKaW5kZXggODFkYTJlMC4uZTg5MTNlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1dvcmtl
clRocmVhZGFibGVMb2FkZXIuaApAQCAtNTQsNiArNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YTsKIAogICAgIGNsYXNz
IFdvcmtlclRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291
cmNlU3luY2hyb25vdXNseShXb3JrZXJDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVhZGFibGVMb2FkZXI+IGNyZWF0
ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBj
bGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaCBiL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCmluZGV4IDI5ZDA3NDku
LmQwZGYxMGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9u
Q2FjaGVHcm91cC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGll
bnQuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KIApAQCAtNTMsNyArNTIsOCBAQCBlbnVtIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVPcHRpb24g
ewogICAgIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVXaXRob3V0QnJvd3NpbmdDb250ZXh0CiB9Owog
Ci1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUsIFJlc291
cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IFJlc291cmNl
SGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hl
R3JvdXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFwcGxpY2F0aW9u
Q2FjaGVHcm91cChjb25zdCBLVVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBpc0NvcHkgPSBmYWxzZSk7
ICAgIAogICAgIH5BcHBsaWNhdGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCmluZGV4IDhhYzUzNTcuLjY1YzNhOGIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgK
KysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaApAQCAt
NTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSBTdGF0dXMgbnVt
ZXJpYyB2YWx1ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUgSFRNTDUgc3BlYy4KICAgICAgICAgZW51
bSBTdGF0dXMgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZVN0b3JhZ2UuaCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlLmgKaW5kZXggN2RiMzRlNi4uMDBiMjljODUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaApAQCAtNDQsNyArNDQsOCBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVD4KIGNsYXNzIFN0b3JhZ2VJREpvdXJuYWw7CiBjbGFzcyBTZWN1
cml0eU9yaWdpbjsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEZhaWx1cmVSZWFzb24gewogICAgICAgICBPcmlnaW5R
dW90YVJlYWNoZWQsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24uaCBiL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbi5oCmluZGV4IDlkNjMwZDEuLjY2ZmI5YTggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oCkBAIC0zOSw3ICsz
OSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29s
bGVjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcmNoaXZlUmVzb3VyY2VDb2xsZWN0
aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBBcmNoaXZlUmVzb3Vy
Y2VDb2xsZWN0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4
IGVkNjBmODQuLjBiYmQ1OWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApA
QCAtNDksNyArNDksOCBAQCBjbGFzcyBSZXF1ZXN0OwogLy8gQSByZXNvdXJjZSB0aGF0IGlzIGhl
bGQgaW4gdGhlIGNhY2hlLiBDbGFzc2VzIHdobyB3YW50IHRvIHVzZSB0aGlzIG9iamVjdCBzaG91
bGQgZGVyaXZlCiAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xpZW50LCB0byBnZXQgdGhlIGZ1bmN0
aW9uIGNhbGxzIGluIGNhc2UgdGhlIHJlcXVlc3RlZCBkYXRhIGhhcyBhcnJpdmVkLgogLy8gVGhp
cyBjbGFzcyBhbHNvIGRvZXMgdGhlIGFjdHVhbCBjb21tdW5pY2F0aW9uIHdpdGggdGhlIGxvYWRl
ciB0byBvYnRhaW4gdGhlIHJlc291cmNlIGZyb20gdGhlIG5ldHdvcmsuCi1jbGFzcyBDYWNoZWRS
ZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAgICBmcmllbmQgY2xhc3Mg
SW5zcGVjdG9yUmVzb3VyY2U7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VDbGllbnQuaAppbmRleCAyNzVkMzMxLi40NjdiNWRkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKQEAgLTQ1LDggKzQ1LDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAqIGluaGVyaXQgZnJvbSB0aGlzIGNsYXNzIGFuZCBvdmVybG9hZCBv
bmUgb2YgdGhlIDMgZnVuY3Rpb25zCiAgICAgICoKICAgICAgKi8KLSAgICBjbGFzcyBDYWNoZWRS
ZXNvdXJjZUNsaWVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlCisgICAgY2xhc3MgQ2FjaGVkUmVz
b3VyY2VDbGllbnQKICAgICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsgfQogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBmMzcxYTBl
Li43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJMOwogCiAv
LyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBzY3JpcHRz
L2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJj
ZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogZnJp
ZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAppbmRl
eCBiZjBmMzJjLi45ZWUzYTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTMx
LDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2gu
aD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2YXJpYWJs
ZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1vcnkgc28g
d2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRoaXMuCiAK
LWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lbW9yeUNh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNoZSgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5hYzBhNTdkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUv
bG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4IEBAIGVu
dW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1jbGFzcyBJ
Y29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0YWJhc2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAgICB2b2lk
IHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25E
YXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVmaW5lIElj
b25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhvZHMgd2ls
bCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3ByaWF0ZSBt
ZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGll
bnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZp
cnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3Jt
SW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJl
bW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25M
b2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFlYmFjNDgu
LmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCisr
KyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2IEBACiAK
ICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNzIEZyYW1l
OwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxvYWRlciA6
IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1l
Kik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24v
UGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKaW5k
ZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdl
VVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKQEAg
LTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBpY29uVVJM
OwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJMUmVjb3Jk
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNv
bnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKaW5kZXgg
ODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJT
dWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50Lmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDgg
KzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxv
YWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVibGljIE5v
bmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBjbGFzcyBM
b2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0KICAgICAg
ICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlcios
IENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5Q2hlY2tQ
b2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyA9
IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5o
IGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjMx
MTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAor
KysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBj
bGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGlj
IEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0
IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29k
ZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAgICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlv
bkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhj
ZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggODMzYjkwOS4uYjU4NTRiMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lm
bmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogI2RlZmluZSBDb250ZXh0TWVudUNvbnRyb2xs
ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRXZlbnQ7
CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51Q29udHJv
bGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRNZW51Q29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmggYi9X
ZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
RHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAgICAKLSAg
ICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
RHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFnQ29udHJv
bGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBEcmFn
Q29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi45NDBjMjVlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5o
CkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lz
OwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERv
bnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAg
IH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAgICAgICAg
UGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFn
U3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBFdmVudEhhbmRsZXJE
cmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8gZWxlbWVu
dCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2UgZ2VzdHVy
ZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2RyYWdTcmNJ
c0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi41YmVlYjJiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFk
YWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8
RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVudFNv
dXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
RXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0ZvY3Vz
Q29udHJvbGxlci5oCmluZGV4IDA1MGEwOGYuLjk1Y2MzZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVy
LmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2luY2x1
ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVudDsKIGNs
YXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5i
YWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIvV2ViQ29y
ZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0
aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1l
KHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZmUwYmU2YS4uYTkyODgzMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJl
cGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVt
YmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9y
ZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJh
dGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2
ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBTY2hlZHVsZWRFdmVu
dCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9kZT4gbV9l
dmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250
cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5kZXggMmQ4
MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJv
bGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApAQCAtMzAs
NyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBHZW9s
b2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBhZ2U7CiAK
LWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xv
Y2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKFBh
Z2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xsZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmggYi9XZWJDb3JlL3BhZ2Uv
R3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3Mu
aApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBhZ2VHcm91
cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBH
cm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRpbmdzKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxH
cm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Q
YWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGUwNzQ4MTQuLmFmMmM1ODEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAt
MjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVkdWxlUGFp
ci5oIgpAQCAtODksMTIgKzg4LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGVudW0g
RmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9uQmFja3dh
cmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFBhZ2UgewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgc2NoZWR1bGVGb3JjZWRT
dHlsZVJlY2FsY0ZvckFsbFBhZ2VzKCk7CiAKICAgICAgICAgLy8gSXQgaXMgdXAgdG8gdGhlIHBs
YXRmb3JtIHRvIGVuc3VyZSB0aGF0IG5vbi1udWxsIGNsaWVudHMgYXJlIHByb3ZpZGVkIHdoZXJl
IHJlcXVpcmVkLgotICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgOiBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50cyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQYWdlQ2xpZW50cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1Ymxp
YzoKICAgICAgICAgICAgIFBhZ2VDbGllbnRzKCk7CiAgICAgICAgICAgICB+UGFnZUNsaWVudHMo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oIGIvV2ViQ29yZS9wYWdl
L1BhZ2VHcm91cC5oCmluZGV4IGNjNDdmYmEuLjE0ZGI0OTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9QYWdlR3JvdXAuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKQEAgLTI3LDcg
KzI3LDYgQEAKICNkZWZpbmUgUGFnZUdyb3VwX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiTGlua0hhc2guaCIKICNp
bmNsdWRlICJVc2VyU2NyaXB0LmgiCiAjaW5jbHVkZSAiVXNlclN0eWxlU2hlZXQuaCIKQEAgLTQx
LDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xh
c3MgU3RvcmFnZU5hbWVzcGFjZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3VwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFnZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIFBhZ2VHcm91cChjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgICAgICBQYWdlR3JvdXAo
UGFnZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5o
IGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCmluZGV4IGQ0NDNlYmQuLmY3
OTU2YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAor
KysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKQEAgLTI4LDcgKzI4LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIFBhZ2U7
CiAKLSAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBhZ2VHcm91cExvYWREZWZlcnJlcik7CiAgICAgcHVibGljOgogICAgICAgICBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSosIGJvb2wgZGVmZXJTZWxmKTsKICAgICAgICAgflBh
Z2VHcm91cExvYWREZWZlcnJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCmluZGV4IGFmOGIzMWUuLjViNzA3
MjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvUGx1Z2luSGFsdGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBIYWx0YWJsZVBsdWdpbjsKIAotY2xhc3MgUGx1Z2luSGFsdGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpbkhhbHRlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGx1Z2luSGFsdGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBQbHVnaW5IYWx0ZXIoUGx1Z2luSGFsdGVyQ2xpZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMWUzYzI4
Ny4uNDE1MmE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAot
ICAgIGNsYXNzIFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTZXR0
aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNldHRpbmdzKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmggYi9XZWJDb3JlL3BhZ2UvU3Bl
ZWNoSW5wdXQuaAppbmRleCA0NTMyZDQ5Li44NTNjMGFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvU3BlZWNoSW5wdXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaApAQCAtMzYs
NyArMzYsNiBAQAogI2luY2x1ZGUgIlNwZWVjaElucHV0TGlzdGVuZXIuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNyArNDYsOCBAQCBj
bGFzcyBTcGVlY2hJbnB1dExpc3RlbmVyOwogLy8gVGhpcyBjbGFzcyBjb25uZWN0cyB0aGUgaW5w
dXQgZWxlbWVudHMgcmVxdWlyaW5nIHNwZWVjaCBpbnB1dCB3aXRoIHRoZSBwbGF0Zm9ybSBzcGVj
aWZpYwogLy8gc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZS4gSXQgcHJvdmlkZXMgbWV0aG9kcyBm
b3IgdGhlIGlucHV0IGVsZW1lbnRzIHRvIGFjdGl2YXRlIHNwZWVjaAogLy8gcmVjb2duaXRpb24g
YW5kIG1ldGhvZHMgZm9yIHRoZSBzcGVlY2ggcmVjb2duaXRpb24gZW5naW5lIHRvIHJldHVybiBi
YWNrIHRoZSByZXN1bHRzLgotY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgTm9uY29weWFibGUs
IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsKK2NsYXNzIFNwZWVjaElucHV0IDogcHVibGlj
IFNwZWVjaElucHV0TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwZWVjaElu
cHV0KTsKIHB1YmxpYzoKICAgICBTcGVlY2hJbnB1dChTcGVlY2hJbnB1dENsaWVudCopOwogICAg
IHZpcnR1YWwgflNwZWVjaElucHV0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVXNlclNj
cmlwdC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAppbmRleCAwNjUyNDM5Li5jZDNkMGY1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCisrKyBiL1dlYkNvcmUvcGFn
ZS9Vc2VyU2NyaXB0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBVc2VyU2NyaXB0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTY3Jp
cHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTY3JpcHQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2Us
IGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmlu
Zz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaCBiL1dlYkNvcmUvcGFnZS9V
c2VyU3R5bGVTaGVldC5oCmluZGV4IGZhNDJlMmMuLjI0Nzk4NGUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCisrKyBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVl
dC5oCkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNl
clN0eWxlU2hlZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclN0eWxlU2hlZXQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTdHlsZVNoZWV0KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBVc2VyU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHNv
dXJjZSwgY29uc3QgS1VSTCYgdXJsLAogICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVj
dG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFj
a2xpc3QsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oIGIvV2ViQ29yZS9w
YWdlL1hTU0F1ZGl0b3IuaAppbmRleCAyYjc4MWYxLi40OTA3MWQyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvWFNTQXVkaXRvci5oCisrKyBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAg
LTY5LDcgKzY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICogSFRNTERvY3VtZW50
UGFyc2VyOjpzaG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4
dGVybmFsIEphdmFTY3JpcHQgc2NyaXB0cy4KICAgICAvLyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1
ZXN0T2JqZWN0IC0gdXNlZCB0byBsb2FkIDxvYmplY3Q+LzxlbWJlZD4gZWxlbWVudHMuCiAgICAg
Ly8KLSAgICBjbGFzcyBYU1NBdWRpdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBYU1NBdWRpdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBYU1NBdWRpdG9y
KEZyYW1lKik7CiAgICAgICAgIH5YU1NBdWRpdG9yKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcAppbmRleCBhZDUyNTdlLi5kNWI2ODY4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKQEAgLTIxOSw3ICsyMTksOCBAQCBjbGFzcyBQcm9w
ZXJ0eVdyYXBwZXJCYXNlOwogc3RhdGljIHZvaWQgYWRkU2hvcnRoYW5kUHJvcGVydGllcygpOwog
c3RhdGljIFByb3BlcnR5V3JhcHBlckJhc2UqIHdyYXBwZXJGb3JQcm9wZXJ0eShpbnQgcHJvcGVy
dHlJRCk7CiAKLWNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvcGVydHlXcmFwcGVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgUHJvcGVydHlXcmFwcGVyQmFzZShpbnQgcHJvcCkKICAgICAgICAgOiBtX3Byb3AocHJvcCkK
QEAgLTQzOCw3ICs0MzksOCBAQCBwdWJsaWM6CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4K
LWNsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQ
cm9wZXJ0eVdyYXBwZXJCYXNlLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRmlsbExheWVy
UHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJh
c2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdl
dHRlcik7CiBwdWJsaWM6CiAgICAgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKFQgKEZp
bGxMYXllcjo6KmdldHRlcikoKSBjb25zdCkKICAgICAgICAgOiBtX2dldHRlcihnZXR0ZXIpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2
YXRlLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
LmgKaW5kZXggODkzYzcxNy4uZWE3OGNjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtNDksNyArNDksOCBAQCBjbGFz
cyBOb2RlOwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKLWNsYXNz
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUqKTsKICAgICB+QW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQ29tcG9zaXRlQW5pbWF0aW9uLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0
ZUFuaW1hdGlvbi5oCmluZGV4IDI0OWY0YzMuLjBkMGJiMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUg
IkltcGxpY2l0QW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVBbmltYXRpb24uaCIKICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IDJkYjcxM2YuLmI5OGJjYjIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCkBAIC03Nyw3ICs3Nyw4IEBAIE5TRXZlbnQgKkV2
ZW50SGFuZGxlcjo6Y3VycmVudE5TRXZlbnQoKQogICAgIHJldHVybiBjdXJyZW50TlNFdmVudFNs
b3QoKS5nZXQoKTsKIH0KIAotY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgeworICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDdXJyZW50RXZlbnRTY29wZSk7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUo
TlNFdmVudCAqKTsKICAgICB+Q3VycmVudEV2ZW50U2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCmluZGV4IGQ5NmMxYWQuLmMzNGE2NDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVT
eXN0ZW0uaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7
CiBjbGFzcyBBc3luY0ZpbGVXcml0ZXJDbGllbnQ7CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMg
YXN5bmMgaW50ZXJmYWNlIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1l
bnRhdGlvbi4gIE5vdGUgdGhhdCBhbGwgdGhlIG1ldGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4K
LWNsYXNzIEFzeW5jRmlsZVN5c3RlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3lu
Y0ZpbGVTeXN0ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+QXN5bmNGaWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCmluZGV4IDI5MGE2NjkuLjdkODYy
ZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tz
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAt
NDEsNyArNDEsOCBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW07CiBjbGFzcyBBc3luY0ZpbGVXcml0
ZXI7CiBzdHJ1Y3QgRmlsZU1ldGFkYXRhOwogCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFj
a3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tz
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MpOwog
cHVibGljOgogICAgIC8vIENhbGxlZCB3aGVuIGEgcmVxdWVzdGVkIG9wZXJhdGlvbiBpcyBjb21w
bGV0ZWQgc3VjY2Vzc2Z1bGx5LgogICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVkKCkgPSAwOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKaW5kZXggZDQ0ZWUxZS4uZDY1NTQzMyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWZuZGVmIEF1dG9k
cmFpbmVkUG9vbF9oCiAjZGVmaW5lIEF1dG9kcmFpbmVkUG9vbF9oCiAKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogI2lmZGVmIF9fT0JKQ19fCiBAY2xhc3MgTlNBdXRvcmVsZWFzZVBv
b2w7CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIEF1dG9kcmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBBdXRvZHJhaW5lZFBvb2wgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1
dG9kcmFpbmVkUG9vbCk7CiBwdWJsaWM6CiAgICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRp
b25MaW1pdCA9IDEpOwogICAgIH5BdXRvZHJhaW5lZFBvb2woKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUu
aAppbmRleCBhMTYyZmU0Li5lNzkxYjJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIENvbnRleHRNZW51X2gKICNkZWZpbmUgQ29udGV4dE1lbnVfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlICJDb250ZXh0TWVudUl0
ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCkBAIC00NSw4ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDb250ZXh0TWVudUNsaWVudEVmbDsKICNlbmRpZgog
Ci0gICAgY2xhc3MgQ29udGV4dE1lbnUgOiBwdWJsaWMgTm9uY29weWFibGUKLSAgICB7CisgICAg
Y2xhc3MgQ29udGV4dE1lbnUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0
TWVudSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDb250
ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0Jik7CiAgICAgICAgIENvbnRleHRNZW51KGNvbnN0
IEhpdFRlc3RSZXN1bHQmLCBjb25zdCBQbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9Db250ZXh0TWVudUl0ZW0uaAppbmRleCBlNzAyOTIxLi4xMTI2NTRjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmgKQEAgLTI1Miw3ICsyNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb247CiAjZW5kaWYK
IAotICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICBjbGFzcyBDb250ZXh0TWVudUl0ZW0geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKFBsYXRmb3JtTWVudUl0ZW1E
ZXNjcmlwdGlvbik7CiAgICAgICAgIENvbnRleHRNZW51SXRlbShDb250ZXh0TWVudSogc3ViTWVu
dSA9IDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCmluZGV4IDQ3Y2Q1MzguLjI2
YzdhOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKQEAgLTMzLDcgKzMzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVj
YXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0
ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewordGVtcGxhdGUgPGNsYXNzIFQ+IGNs
YXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBsKGRlbGV0ZUZ1bmMpLCBkZWxfaXRl
bShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0KCkgeyBpbXBsLmNsZWFyKGRlbF9p
dGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdElt
cGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmluZGV4
IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRl
ZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0
SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAjaW5jbHVk
ZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRGVwcmVjYXRl
ZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFzcyBEZXByZWNhdGVkTGlzdE5v
ZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9kZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZExpc3ROb2RlKHZvaWQg
KmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKaW5k
ZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExv
b3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCkBAIC0yNiwxMSArMjYsMTEg
QEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZlbnRMb29wX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBF
dmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TG9vcCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9vcCk7CiAgICAgcHVibGljOgogICAg
ICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2VuZGVkKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2NS4uZjYyN2M2OCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEdl
b2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0aW9uU2VydmljZV9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3
ICs0MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJy
b3JPY2N1cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2Nh
dGlvblNlcnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2
aWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVi
bGljOgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNl
cnZpY2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93
LmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9z
dFdpbmRvd19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRn
ZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhv
c3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3co
KSB7IH0KIAogICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywg
bm90IHRoZSBjb250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3Vz
bHksIG90aGVyd2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJp
bmcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iODgzZmYw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9LaWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25z
dCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJD
b3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLjY4OTc3NjIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGgu
aApAQCAtMzUsNyArMzUsOSBAQCBjb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZm
ZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBl
IHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWlu
SW50cmluc2ljIH07CiAKLXN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBM
ZW5ndGggeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTGVuZ3Ro
KCkKICAgICAgICAgOiBtX3ZhbHVlKDApCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3
YzUwNzM3Li40OTZmYmIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgxLDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJh
bmdlOwogY2xhc3MgQXJjaGl2ZVJlc291cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgLy9IZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2Fy
ZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5
Ym9hcmRFdmVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaApp
bmRleCBiYzI4ZTg0Li42YTM2MzE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtS2V5Ym9hcmRFdmVudC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2Fy
ZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50
MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRF
dmVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJk
RXZlbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAg
ICAgICAgZW51bSBUeXBlIHsKICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0
Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBh
Ym91dCBib3RoIHBoeXNpY2FsIHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKaW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2Vh
YmxlQnVmZmVyX2gKIAogI2luY2x1ZGUgIlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdl
YWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVm
ZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3Jl
YXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRp
bWVyLmgKaW5kZXggNjVmMjUzZS4uZjhjNTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9SdW5Mb29wVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBA
IC0zMCwxNSArMzAsMTYgQEAKICNkZWZpbmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNj
aGVkdWxlUGFpci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFs
cyBhcmUgYWxsIGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUnVuTG9vcFRpbWVyQmFzZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFz
ZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2No
ZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGJhclRoZW1lLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5k
ZXggMGVmYWY3YS4uYjNkODg5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXJUaGVtZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYs
OCArMzYsMTAgQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwog
Y2xhc3MgU2Nyb2xsVmlldzsKIAotY2xhc3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcm9sbGJhclRoZW1lKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBT
Y3JvbGxiYXJUaGVtZSgpIHsgfQogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAK
ICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29u
c3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4uMTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApA
QCAtMjYsMTUgKzI2LDE2IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVk
VGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIC8vIEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBv
ZiBzaGFyZWQgdGltZXIsIHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8g
VGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAg
IC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNz
IGluc3RlYWQuCi0gICAgY2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hh
cmVkVGltZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAg
U2hhcmVkVGltZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2V0RmlyZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKICNpZiBF
TkFCTEUoV09SS0VSUykKQEAgLTQ1LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFwcGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAot
ICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFRocmVhZEdsb2JhbERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJl
YWRHbG9iYWxEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsK
ICAgICAgICAgflRocmVhZEdsb2JhbERhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4
IGFiNDI1OTguLjM1ZWQwMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGlt
ZXJzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNyArMjcs
NiBAQAogI2lmbmRlZiBUaHJlYWRUaW1lcnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIFRpbWVyQmFzZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1l
cnMgcGVyIHRocmVhZC4gS2VwdCBpbiBUaHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVh
ZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmgKaW5kZXggYzQ0NDNkYS4uMDgxMDQwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAog
I2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5lIFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVh
cEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVh
bCB+VGltZXJCYXNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFy
ZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTMyLDcgKzMxLDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJl
ZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAj
ZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hh
cmVkKCkKICAgICAgICAgOiBtX3JlZkNvdW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlv
bi9BbmltYXRpb25MaXN0LmgKaW5kZXggOWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CitjbGFzcyBBbmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIEFuaW1hdGlvbkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0KGNv
bnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9CdXMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4
YjgxLi4zOThlMTI3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVz
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEF1ZGlvQnVzX2gKIAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBt
b3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBUaGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bw
b3NlZCB0byAiaW50ZXJsZWF2ZWQiLgogLy8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBp
cyBtb25vLCBhbiBBdWRpb0J1cyB3aXRoIHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNs
YXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyAgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAgZW51bSB7
CiAgICAgICAgIENoYW5uZWxMZWZ0ID0gMCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5l
bC5oCmluZGV4IDY4MTY4MzAuLjczMjVlOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0No
YW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNp
bmNsdWRlICJBdWRpb0FycmF5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBB
dWRpb0NoYW5uZWwgcmVwcmVzZW50cyBhIGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRp
bmctcG9pbnQgYXVkaW8gc2FtcGxlcy4KIC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkg
YXNzdW1lZCB0byBiZSBpbiBhIG5vbWluYWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRp
b0NoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1l
bW9yeSBjYW4gYmUgZXh0ZXJuYWxseSByZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBh
bGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zsb2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZEYXRhYmFzZS5oCmluZGV4IGMzM2IzOGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9IUlRGRGF0YWJhc2UuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJURkVsZXZh
dGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEhSVEZLZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhSVEZEYXRhYmFzZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
SFJURkRhdGFiYXNlPiBjcmVhdGUoZG91YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vSFJURkVsZXZhdGlvbi5oCmluZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEhS
VEZFbGV2YXRpb25faAogCiAjaW5jbHVkZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0Miw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2Yg
dGhlIEhSVEZLZXJuZWxzIChvbmUgbGVmdCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11
dGggYW5nbGUpIGZvciBhIHBhcnRpY3VsYXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0
aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEhSVEZFbGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRz
IGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFz
ZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZhdGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFt
ZXdvcmspIHJlc291cmNlcy4KICAgICAvLyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEg
c2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3Np
YmlsaXR5IG9mIG11bHRpcGxlIG9uZXMgd2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3Qg
RnJhbWVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAg
ICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCAyZTRlOTYyLi42Y2Q3MDU4IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Db2xvci5oCkBAIC03NSw3ICs3NSw4IEBAIGlubGluZSBpbnQgZ3JlZW5DaGFubmVs
KFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDgpICYgMHhGRjsgfQogaW5saW5lIGlu
dCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIGNvbG9yICYgMHhGRjsgfQogaW5s
aW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiAoY29sb3IgPj4gMjQp
ICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvbG9y
KCkgOiBtX2NvbG9yKDApLCBtX3ZhbGlkKGZhbHNlKSB7IH0KICAgICBDb2xvcihSR0JBMzIgY29s
KSA6IG1fY29sb3IoY29sKSwgbV92YWxpZCh0cnVlKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCmluZGV4IDg3YTFjNWMuLjA3MjVhOTIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcApAQCAtMzAsNyArMzAsNiBA
QAogI2luY2x1ZGUgIkNvbnRleHRTaGFkb3cuaCIKIAogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHVzaW5nIFdURjo6bWluOwogdXNp
bmcgV1RGOjptYXg7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKaW5kZXgg
MTQ5ZWE3OS4uZjVkZDhiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cApAQCAtNTMsNyArNTMsOSBAQCBGb250Q2FjaGU6OkZvbnRDYWNoZSgpCiB7CiB9CiAKLXN0cnVj
dCBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBGb250
UGxhdGZvcm1EYXRhQ2FjaGVLZXkgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJs
aWM6CiAgICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFt
aWx5ID0gQXRvbWljU3RyaW5nKCksIHVuc2lnbmVkIHNpemUgPSAwLCB1bnNpZ25lZCB3ZWlnaHQg
PSAwLCBib29sIGl0YWxpYyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGlzUHJpbnRlckZvbnQgPSBmYWxzZSwgRm9udFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9k
ZSA9IE5vcm1hbFJlbmRlcmluZ01vZGUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiA9IEhv
cml6b250YWwpCiAgICAgICAgIDogbV9zaXplKHNpemUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuaAppbmRleCBlNjg0NWQ5Li40ZmE3NDE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhY2hlLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwog
Y2xhc3MgRm9udFNlbGVjdG9yOwogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnRD
YWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250Q2FjaGUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgZnJpZW5kIEZvbnRDYWNoZSogZm9udENhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udERhdGEuaAppbmRleCBlZTk0YTk4Li4wZWI2Njg1IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGF0YS5oCkBAIC0yNywxNCArMjcsMTQgQEAKICNkZWZpbmUgRm9udERhdGFf
aAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnREYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZvbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRm9udERhdGEo
KQogICAgICAgICA6IG1fbWF4R2x5cGhQYWdlVHJlZUxldmVsKDApCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAppbmRleCBmYTg1YmNjLi4zZTEzZmJiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKQEAgLTQwLDcgKzQw
LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHbHlwaDsKIAogY29uc3QgZmxvYXQgY0dseXBo
U2l6ZVVua25vd24gPSAtMTsKIAotdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgR2x5cGhNZXRyaWNz
TWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIEdseXBo
TWV0cmljc01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2x5cGhNZXRyaWNzTWFwKTsK
IHB1YmxpYzoKICAgICBHbHlwaE1ldHJpY3NNYXAoKSA6IG1fZmlsbGVkUHJpbWFyeVBhZ2UoZmFs
c2UpIHsgfQogICAgIH5HbHlwaE1ldHJpY3NNYXAoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggNzFhNGM0OC4uN2FlYmJkOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCkBAIC0zNCw3ICszNCw2IEBACiAj
aW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlBhdGguaCIKICNpbmNsdWRlICJUZXh0RGly
ZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIAogI2lmIFBMQVRGT1JNKENHKQpAQCAtMTUzLDcgKzE1Miw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSW50ZXJwb2xhdGlvbkhpZ2gKICAgICB9OwogCi0gICAg
Y2xhc3MgR3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBH
cmFwaGljc0NvbnRleHQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0Nv
bnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgR3Jh
cGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0Kik7CiAgICAgICAgIH5HcmFwaGlj
c0NvbnRleHQoKTsKQEAgLTM1Niw3ICszNTYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZvaWQgc2V0U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cyhib29sKTsKICAgICAgICAgYm9v
bCBzaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7CiAKLSAgICAgICAgY2xhc3MgV2lu
ZG93c0JpdG1hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFdpbmRvd3NC
aXRtYXAgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93c0JpdG1hcCk7
CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFdpbmRvd3NCaXRtYXAoSERDLCBJbnRTaXpl
KTsKICAgICAgICAgICAgIH5XaW5kb3dzQml0bWFwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggYzJkNWMyNC4uN2MwN2JlYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtMzEsNyAr
MzEsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gRklYTUU6IEZpbmQg
YSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9uIGZvciBOT19FUlJPUi4K
ICNpZiAoKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhXSU5ET1dTKSkgfHwgUExBVEZPUk0oV0lO
KSB8fCAoUExBVEZPUk0oUVQpICYmIE9TKFdJTkRPV1MpKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKaW5kZXggOTg1Y2FkOS4uMTlj
NjA2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHRQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHRQcml2YXRlLmgKQEAgLTg0LDcgKzg0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlm
CiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZhdGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZhdGUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQcml2YXRlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dFByaXZhdGUo
KQogICAgICAgICAgICAgOiBtX3VwZGF0aW5nQ29udHJvbFRpbnRzKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRleCA5OTFjYTMyLi5lNWRkY2I5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApAQCAtMTA0LDcgKzEw
NCw4IEBAIGNsYXNzIFRpbWluZ0Z1bmN0aW9uOwogLy8gQmFzZSBjbGFzcyBmb3IgYW5pbWF0aW9u
IHZhbHVlcyAoYWxzbyB1c2VkIGZvciB0cmFuc2l0aW9ucykuIEhlcmUgdG8KIC8vIHJlcHJlc2Vu
dCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgYmVpbmcgYW5pbWF0ZWQgdmlhIHRoZSBHcmFwaGljc0xh
eWVyLAogLy8gd2l0aG91dCBwdWxsaW5nIGluIHN0eWxlLXJlbGF0ZWQgZGF0YSBmcm9tIG91dHNp
ZGUgb2YgdGhlIHBsYXRmb3JtIGRpcmVjdG9yeS4KLWNsYXNzIEFuaW1hdGlvblZhbHVlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlvblZhbHVlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShBbmltYXRpb25WYWx1ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQW5pbWF0aW9uVmFsdWUoZmxvYXQga2V5VGltZSwgUGFzc1JlZlB0cjxUaW1pbmdG
dW5jdGlvbj4gdGltaW5nRnVuY3Rpb24gPSAwKQogICAgICAgICA6IG1fa2V5VGltZShrZXlUaW1l
KQpAQCAtMTU2LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAKIC8vIFVzZWQgdG8gc3RvcmUgYSBzZXJp
ZXMgb2YgdmFsdWVzIGluIGEga2V5ZnJhbWUgbGlzdC4gVmFsdWVzIHdpbGwgYWxsIGJlIG9mIHRo
ZSBzYW1lIHR5cGUsCiAvLyB3aGljaCBjYW4gYmUgaW5mZXJyZWQgZnJvbSB0aGUgcHJvcGVydHku
Ci1jbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBL
ZXlmcmFtZVZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoS2V5ZnJhbWVWYWx1
ZUxpc3QpOwogcHVibGljOgogCiAgICAgS2V5ZnJhbWVWYWx1ZUxpc3QoQW5pbWF0ZWRQcm9wZXJ0
eUlEIHByb3BlcnR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCmluZGV4
IDgyMmEwZmYuLmQ1NGUwMDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVy
LmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBVbm11bHRp
cGxpZWQKICAgICB9OwogCi0gICAgY2xhc3MgSW1hZ2VCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIEltYWdlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSW1hZ2VCdWZmZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gV2lsbCByZXR1cm4gYSBudWxsIHBvaW50ZXIgb24gYWxsb2NhdGlvbiBmYWlsdXJl
LgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IElu
dFNpemUmIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9IENvbG9yU3BhY2VEZXZpY2VSR0Ip
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKaW5kZXggYWViMTU2MS4uOTFj
ZWU1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaApAQCAtMjgsNyAr
MjgsNiBAQAogI2RlZmluZSBJbWFnZVNvdXJjZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAogI2lmIFBMQVRGT1JNKFdYKQpAQCAtMTE3LDcgKzExNiw4IEBAIGNvbnN0IGludCBjQW5pbWF0
aW9uTG9vcE9uY2UgPSAwOwogY29uc3QgaW50IGNBbmltYXRpb25Mb29wSW5maW5pdGUgPSAtMTsK
IGNvbnN0IGludCBjQW5pbWF0aW9uTm9uZSA9IC0yOwogCi1jbGFzcyBJbWFnZVNvdXJjZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW1hZ2VTb3VyY2UpOwogcHVibGljOgogICAgIEltYWdlU291cmNlKGJvb2wgcHJl
bXVsdGlwbHlBbHBoYSA9IHRydWUsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUgPSBm
YWxzZSk7CiAgICAgfkltYWdlU291cmNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCmluZGV4IGU4N2M1M2MuLjMxNjU0NzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyArMTQ3LDkgQEAgc3RhdGljIE1lZGlh
UGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlTnVsbE1lZGlhUGxheWVyKE1lZGlhUGxheWVy
KiBwbGF5ZXIpCiAKIC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0cnVjdCBNZWRpYVBsYXllckZhY3Rv
cnkgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllckZhY3RvcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAorcHVibGljOgogICAgIE1lZGlhUGxheWVyRmFjdG9yeShDcmVhdGVNZWRpYUVuZ2luZVBs
YXllciBjb25zdHJ1Y3RvciwgTWVkaWFFbmdpbmVTdXBwb3J0ZWRUeXBlcyBnZXRTdXBwb3J0ZWRU
eXBlcywgTWVkaWFFbmdpbmVTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlQW5kQ29kZWNzKSAKICAg
ICAgICAgOiBjb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikKICAgICAgICAgLCBnZXRTdXBwb3J0ZWRU
eXBlcyhnZXRTdXBwb3J0ZWRUeXBlcykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaAppbmRleCBjOWMwNDJiLi43MWM5OWQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5oCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtMTQ2LDcgKzE0NSw4IEBAIHB1Ymxp
YzoKICNlbmRpZgogfTsKIAotY2xhc3MgTWVkaWFQbGF5ZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTWVkaWFQbGF5ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUGxh
eWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKIAogICAgIHN0YXRpYyBQYXNz
T3duUHRyPE1lZGlhUGxheWVyPiBjcmVhdGUoTWVkaWFQbGF5ZXJDbGllbnQqIGNsaWVudCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCmluZGV4IGQ5
NTYyODYuLjY2OTgxOWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaApAQCAtMzYsOCArMzYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgSW50UmVjdDsKIGNsYXNzIEludFNpemU7CiAKLWNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgTWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAgICAgdmlydHVhbCB+TWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVy
bCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRleCA4NmJhODMxLi43NmQ0M2FmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMTAxLDcgKzEwMSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgdm9pZCAoKlBhdGhBcHBsaWVyRnVuY3Rpb24pKHZvaWQq
IGluZm8sIGNvbnN0IFBhdGhFbGVtZW50Kik7CiAKLSAgICBjbGFzcyBQYXRoIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBhdGggeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUGF0aCgpOwogICAgICAgICB+UGF0aCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDU4
NDc3ZGIuLjhlM2EwNDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFj
a2luZ1N0b3JlLmgKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
R3JhcGhpY3NDb250ZXh0OwogY2xhc3MgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQ7CiAKLWNsYXNz
IFRpbGVkQmFja2luZ1N0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGVkQmFj
a2luZ1N0b3JlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxlZEJhY2tpbmdTdG9yZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgVGlsZWRCYWNraW5nU3RvcmUo
VGlsZWRCYWNraW5nU3RvcmVDbGllbnQqKTsKICAgICB+VGlsZWRCYWNraW5nU3RvcmUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKaW5kZXggZGFjMzFmOC4uNGYzOTRmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJG
b250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IEZUX0ZhY2VSZWNfKiAgRlRfRmFj
ZTsKIHR5cGVkZWYgc3RydWN0IF9jYWlyb19mb250X2ZhY2UgY2Fpcm9fZm9udF9mYWNlX3Q7CkBA
IC0zNSw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURh
dGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogcHVibGljOgogICAg
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoRlRfRmFjZSwgU2hhcmVkQnVmZmVyKik7CiAgICAgfkZv
bnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaAppbmRleCA2ZmMxYTBlLi44MTlmOTgxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCkBAIC0zOSw3
ICszOSw2IEBACiAjaW5jbHVkZSAiVGV4dHVyZS5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgRmxvYXRSZWN0
OwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBTaGFyZWRHcmFwaGljc0NvbnRleHQz
RDsKIAotY2xhc3MgR0xFUzJDYW52YXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR0xF
UzJDYW52YXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdMRVMyQ2FudmFzKTsKIHB1Ymxp
YzoKICAgICBHTEVTMkNhbnZhcyhTaGFyZWRHcmFwaGljc0NvbnRleHQzRCosIERyYXdpbmdCdWZm
ZXIqLCBjb25zdCBJbnRTaXplJik7CiAgICAgfkdMRVMyQ2FudmFzKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uaAppbmRleCA1MzFkNjUyLi4zYzcxYWM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKQEAgLTQz
LDcgKzQzLDYgQEAKICNpbmNsdWRlICJTa0JpdG1hcC5oIgogI2luY2x1ZGUgIlZpZGVvTGF5ZXJD
aHJvbWl1bS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0u
aAppbmRleCAxZjMzNTI3Li41MjZhODdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKQEAgLTMyLDE0
ICszMiwxNCBAQAogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIK
ICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIExheWVyUmVuZGVyZXJDaHJv
bWl1bTsKIGNsYXNzIExheWVyQ2hyb21pdW07CiAKLWNsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1
bSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlclN1cmZhY2VDaHJvbWl1bSk7CiAgICAgZnJp
ZW5kIGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBS
ZW5kZXJTdXJmYWNlQ2hyb21pdW0oTGF5ZXJDaHJvbWl1bSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKaW5kZXggYjZiZWY5
MS4uMjc1MTI1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9UcmFuc3BhcmVuY3lXaW4uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1RyYW5zcGFyZW5jeVdpbi5oCkBAIC0zNSw3ICszNSw2IEBACiAKICNpbmNsdWRlICJBZmZp
bmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgotI2luY2x1ZGUgIk5vbmNv
cHlhYmxlLmgiCiAjaW5jbHVkZSAid3RmL093blB0ci5oIgogCiBjbGFzcyBTa0JpdG1hcDsKQEAg
LTU0LDcgKzUzLDggQEAgY2xhc3MgVHJhbnNwYXJlbmN5V2luX09wYXF1ZUNvbXBvc2l0ZUxheWVy
X1Rlc3Q7CiAvLyB0aGF0IGlzIGNvbXBvc2l0ZWQgbGF0ZXIgbWFudWFsbHkuIFRoaXMgaXMgdG8g
Z2V0IGFyb3VuZCBXaW5kb3dzJyBpbmFiaWxpdHkKIC8vIHRvIGhhbmRsZSB0aGUgYWxwaGEgY2hh
bm5lbCwgc2VtaXRyYW5zcGFyZW50IHRleHQsIGFuZCB0cmFuc2Zvcm1lZCBmb3JtCiAvLyBjb250
cm9scy4KLWNsYXNzIFRyYW5zcGFyZW5jeVdpbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUcmFuc3BhcmVuY3lXaW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW5j
eVdpbik7CiBwdWJsaWM6CiAgICAgZW51bSBMYXllck1vZGUgewogICAgICAgICAvLyBObyBleHRy
YSBsYXllciBpcyBjcmVhdGVkLiBEcmF3aW5nIHdpbGwgaGFwcGVuIHRvIHRoZSBzb3VyY2UuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKaW5kZXggOWY3
OTg4OS4uMGY0Yzk1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
RHJhd2luZ0J1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdp
bmdCdWZmZXIuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIK
ICNpbmNsdWRlICJJbnRTaXplLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpZiBQ
TEFURk9STShNQUMpCkBAIC03Nyw3ICs3Niw4IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oQ0hST01JVU0pCi0gICAgY2xhc3MgV2lsbFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2lsbFB1Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQdWJsaXNoQ2FsbGJhY2spOwogICAgIHB1YmxpYzoKICAg
ICAgICAgdmlydHVhbCB+V2lsbFB1Ymxpc2hDYWxsYmFjaygpIHsgfQogICAgICAgICAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaApp
bmRleCBjNjY1ODQ0Li4xYmQ2N2I4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCkBAIC0zMCwxNCArMzAsMTQgQEAKICNpZm5k
ZWYgTG9vcEJsaW5uQ2xhc3NpZmllcl9oCiAjZGVmaW5lIExvb3BCbGlubkNsYXNzaWZpZXJfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgRmxvYXRQb2ludDsKIAogLy8gQ2xhc3NpZmllcyBjdWJpYyBjdXJ2ZXMgaW50byBzcGVj
aWZpYyB0eXBlcy4KLWNsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTG9vcEJsaW5uQ2xhc3NpZmllcik7CiBwdWJsaWM6CiAgICAgLy8gVGhlIHR5cGVzIG9mIGN1
YmljIGN1cnZlcy4KICAgICBlbnVtIEN1cnZlVHlwZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAppbmRl
eCBlYTNkN2UzLi5kMDFlNmM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKQEAgLTMwLDE5ICszMCwy
MCBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0
YW50cy5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gUGVyZm9ybXMgYSBsb2NhbGl6
ZWQgdHJpYW5ndWxhdGlvbiBvZiB0aGUgdHJpYW5nbGUgbWVzaAogLy8gY29ycmVzcG9uZGluZyB0
byB0aGUgZm91ciBjb250cm9sIHBvaW50IHZlcnRpY2VzIG9mIGEgY3ViaWMgY3VydmUKIC8vIHNl
Z21lbnQuCi1jbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IpOwogcHVibGljOgogICAgIC8v
IFRoZSB2ZXJ0aWNlcyB0aGF0IHRoZSB0cmlhbmd1bGF0b3Igb3BlcmF0ZXMgdXBvbiwgY29udGFp
bmluZyBib3RoCiAgICAgLy8gdGhlIHBvc2l0aW9uIGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgdGhl
IGN1YmljIHRleHR1cmUKICAgICAvLyBjb29yZGluYXRlcy4KLSAgICBjbGFzcyBWZXJ0ZXggOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFZlcnRleCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFZlcnRleCk7CiAgICAgcHVibGljOgogICAgICAgICBWZXJ0ZXgoKQogICAg
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxp
bm5UZXh0dXJlQ29vcmRzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxp
bm5UZXh0dXJlQ29vcmRzLmgKaW5kZXggNWZkZWIzYi4uYjI5YThmNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaApA
QCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkxvb3BCbGlubkNsYXNzaWZpZXIuaCIKICNpbmNs
dWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1BPREFyZW5hLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Q
T0RBcmVuYS5oCmluZGV4IGY2OGJhZWYuLjVmZWVmMDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvUE9EQXJlbmEuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPHN0ZGludC5o
PgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2Mu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgpAQCAtMTU4LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgLy8gTWFuYWdlcyBh
IGNodW5rIG9mIG1lbW9yeSBhbmQgaW5kaXZpZHVhbCBhbGxvY2F0aW9ucyBvdXQgb2YgaXQuCi0g
ICAgY2xhc3MgQ2h1bmsgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENodW5rIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2h1bmspOwogICAgIHB1YmxpYzoKICAgICAg
ICAgLy8gQWxsb2NhdGVzIGEgYmxvY2sgb2YgbWVtb3J5IG9mIHRoZSBnaXZlbiBzaXplIGZyb20g
dGhlIHBhc3NlZAogICAgICAgICAvLyBBbGxvY2F0b3IuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCmluZGV4IDMyMGNlNjAuLmZhMWUyN2MgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiUE9ESW50ZXJ2YWwuaCIKICNpbmNsdWRlICJQT0RS
ZWRCbGFja1RyZWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDQsOCArNDMsOCBAQCBzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKIC8vIHN1cHBv
cnRzIGVmZmljaWVudCAoTyhsZyBuKSkgaW5zZXJ0aW9uLCByZW1vdmFsIGFuZCBxdWVyeWluZyBv
ZgogLy8gaW50ZXJ2YWxzIGluIHRoZSB0cmVlLgogdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgVXNl
ckRhdGEgPSB2b2lkKj4KLWNsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50
ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworY2xhc3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIFBP
RFJlZEJsYWNrVHJlZTxQT0RJbnRlcnZhbDxULCBVc2VyRGF0YT4gPiB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUE9ESW50ZXJ2YWxUcmVlKTsKIHB1YmxpYzoKICAgICAvLyBUeXBlZGVmIHRv
IHJlZHVjZSB0eXBpbmcgd2hlbiBkZWNsYXJpbmcgaW50ZXJ2YWxzIHRvIGJlIHN0b3JlZCBpbgog
ICAgIC8vIHRoaXMgdHJlZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L1BPRFJlZEJsYWNrVHJlZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9E
UmVkQmxhY2tUcmVlLmgKaW5kZXggNmQ1OTU0Yy4uYjBkOTE4ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKQEAgLTc0LDcgKzc0LDYgQEAK
IAogI2luY2x1ZGUgIlBPREFyZW5hLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaWZu
ZGVmIE5ERUJVRwogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTE5OCw3ICsxOTcsOCBAQCBwcm90
ZWN0ZWQ6CiAgICAgLy8gVGhlIGJhc2UgTm9kZSBjbGFzcyB3aGljaCBpcyBzdG9yZWQgaW4gdGhl
IHRyZWUuIE5vZGVzIGFyZSBvbmx5CiAgICAgLy8gYW4gaW50ZXJuYWwgY29uY2VwdDsgdXNlcnMg
b2YgdGhlIHRyZWUgZGVhbCBvbmx5IHdpdGggdGhlIGRhdGEKICAgICAvLyB0aGV5IHN0b3JlIGlu
IGl0LgotICAgIGNsYXNzIE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE5v
ZGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIC8vIENvbnN0cnVjdG9yLiBOZXdseS1jcmVhdGVkIG5vZGVzIGFyZSBjb2xvcmVkIHJl
ZC4KICAgICAgICAgZXhwbGljaXQgTm9kZShjb25zdCBUJiBkYXRhKQpAQCAtNjU5LDcgKzY1OSw4
IEBAIHByaXZhdGU6CiAgICAgLy8gSGVscGVyIGNsYXNzIGZvciBzaXplKCkKIAogICAgIC8vIEEg
VmlzaXRvciB3aGljaCBzaW1wbHkgY291bnRzIHRoZSBudW1iZXIgb2YgdmlzaXRlZCBlbGVtZW50
cy4KLSAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ291bnRlcik7CiAgICAgcHVibGljOgogICAgICAgICBDb3VudGVyKCkK
ICAgICAgICAgICAgIDogbV9jb3VudCgwKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
U2hhZGVyLmgKaW5kZXggZTViZDhkZS4uYjU2NjBmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvU2hhZGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZm5kZWYgU2hhZGVyX2gKICNkZWZp
bmUgU2hhZGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAg
Y2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBD
b2xvcjsKIAotY2xhc3MgU2hhZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNoYWRl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhZGVyKTsKIHByb3RlY3RlZDoKICAgICBT
aGFkZXIoR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBwcm9ncmFtKTsKICAgICB+U2hhZGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRh
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKaW5kZXggMWJk
YzUxYS4uZGNhOGFiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
VGlsaW5nRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0Rh
dGEuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRpbGluZ0RhdGFfaAogI2RlZmluZSBU
aWxpbmdEYXRhX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEludFJlY3Q7CiAKLWNsYXNzIFRp
bGluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGlsaW5nRGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsaW5nRGF0YSk7CiBwdWJsaWM6CiAgICAgVGlsaW5nRGF0
YShpbnQgbWF4VGV4dHVyZVNpemUsIGludCB0b3RhbFNpemVYLCBpbnQgdG90YWxTaXplWSwgYm9v
bCBoYXNCb3JkZXJUZXhlbHMpOwogICAgIGludCBtYXhUZXh0dXJlU2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbWF4VGV4dHVyZVNpemU7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmlu
ZGV4IDYzNWZlZmYuLmJmNjBhYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcApA
QCAtMjQsNyArMjQsNiBAQAogI2luY2x1ZGUgIkdPd25QdHIuaCIKICNpbmNsdWRlICJHUmVmUHRy
LmgiCiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJs
ZS5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5k
bGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCkBAIC0zNiw3
ICszNSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1jbGFzcyBTdHJlYW1pbmdD
bGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7
CitjbGFzcyBTdHJlYW1pbmdDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmVhbWluZ0NsaWVudCk7CiAgICAgcHVibGljOgog
ICAgICAgICBTdHJlYW1pbmdDbGllbnQoV2ViS2l0V2ViU3JjKik7CiAgICAgICAgIHZpcnR1YWwg
flN0cmVhbWluZ0NsaWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9y
aWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJl
ZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFi
bGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAg
ICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggNzcwMjQ1Ny4uZTgwMjhkYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAj
aW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250
KiBDR0ZvbnRSZWY7CiB0eXBlZGVmIFVJbnQzMiBBVFNGb250Q29udGFpbmVyUmVmOwpAQCAtMzYs
NyArMzUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwog
Y2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5v
bmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhKEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyLCBBVFNGb250
UmVmIGF0c0ZvbnQsIENHRm9udFJlZiBjZ0ZvbnQpCiAgICAgOiBtX2F0c0NvbnRhaW5lcihjb250
YWluZXIpLCBtX2F0c0ZvbnQoYXRzRm9udCksIG1fY2dGb250KGNnRm9udCkKICAgICB7fQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCmluZGV4
IGU0YzY2ODguLjg0ODk5M2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnZnL1BhaW50ZXJPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW52Zy9QYWludGVyT3BlblZHLmgKQEAgLTI1LDcgKzI1LDYgQEAKIAogI2luY2x1ZGUgPG9wZW52
Zy5oPgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIFRpbGVk
SW1hZ2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKIAotY2xhc3MgUGFp
bnRlck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWludGVyT3BlblZHIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVyT3BlblZHKTsKIHB1YmxpYzoKICAgICBm
cmllbmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBmcmllbmQgc3RydWN0IFBsYXRmb3JtUGFp
bnRlclN0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcv
U3VyZmFjZU9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFj
ZU9wZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLmVlNzIwMDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKQEAgLTI0LDcgKzI0LDYgQEAKICNp
bmNsdWRlIDxlZ2wuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBJbnRTaXplOwog
ICogb2YgI2lmZGVmcyBhbmQgc2hvdWxkIG1ha2UgaXQgZWFzeSB0byBhZGQgZGlmZmVyZW50IHN1
cmZhY2UvY29udGV4dAogICogaW1wbGVtZW50YXRpb25zIHRoYW4gRUdMLgogICovCi1jbGFzcyBT
dXJmYWNlT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN1cmZhY2VPcGVuVkcg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1cmZhY2VPcGVuVkcpOwogcHVibGljOgogICAg
IGVudW0gTWFrZUN1cnJlbnRNb2RlIHsKICAgICAgICAgQXBwbHlQYWludGVyU3RhdGVPblN1cmZh
Y2VTd2l0Y2gsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcuLjBhNGMxMGMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBA
IC0yNSwxNCArMjUsMTYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRl
ICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CisgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpIHsgfQogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CiAKICAgICAvLyBmb3IgdXNl
IHdpdGggUUZvbnREYXRhYmFzZTo6YWRkQXBwbGljYXRpb25Gb250L3JlbW92ZUFwcGxpY2F0aW9u
Rm9udApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZv
cm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEu
aAppbmRleCAyMjAxZjE4Li41NTZjYWMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjksMTAgKzI5LDEyIEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8UUZvbnQ+CiAjaW5jbHVkZSA8UUhhc2g+Cisj
aW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9u
dFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIEZvbnRQbGF0Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAt
NjIsOCArNjQsMTAgQEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQog
ICAgIEZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUp
OwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBG
b250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZmFtaWx5TmFtZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAw
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250
ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRR
dC5jcHAKaW5kZXggMDZlMWUxYy4uNDJjOGVkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjksOCBAQCBz
dGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAg
ICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0
UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYg
aW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5
TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIu
aAppbmRleCA2YmRmYjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7
CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CitwdWJsaWM6CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0
IFFSZWN0ICZyZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAg
IDogcGl4bWFwKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5
KG9wYWNpdHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4xNDNlZTc5IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCkBAIC00OSw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEpOwogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5E
TEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJl
ZmVyZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4
IDVlMTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMx
LDE0ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAog
I2RlZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNv
bnRleHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0
UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDog
bV9jb250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMTAwODVkLi5kNjgz
YWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1D
b250ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9y
bUNvbnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0
U2tpYV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5
YWJsZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJh
d0xvb3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2li
bGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBh
cmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9y
IHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3Bw
ZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBG
b3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJl
IE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28g
Y2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uNjMwZWFmOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRy
YW5zZm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZp
bmVUcmFuc2Zvcm0uaApAQCAtNTUsNyArNTUsOCBAQCBjbGFzcyBJbnRQb2ludDsKIGNsYXNzIElu
dFJlY3Q7CiBjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKIAotY2xhc3MgQWZmaW5lVHJhbnNm
b3JtIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQWZmaW5lVHJhbnNmb3JtIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIFRy
YW5zZm9ybVs2XTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3Ny4uMDhmMjc2MSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9y
bU9wZXJhdGlvbnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
VHJhbnNmb3JtT3BlcmF0aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgVHJhbnNmb3JtT3BlcmF0aW9ucyhib29sIG1ha2VJZGVudGl0eSA9
IGZhbHNlKTsKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKaW5kZXggOTZiNGJhYS4uNTJiYTJm
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5z
Zm9ybWF0aW9uTWF0cml4LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJG
bG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDxzdHJpbmcuaD4g
Ly9mb3IgbWVtY3B5Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogI2lmIFBMQVRG
T1JNKENHKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0FmZmluZVRyYW5zZm9ybS5oPgpAQCAt
NjIsNyArNjEsOCBAQCBjbGFzcyBGbG9hdFBvaW50M0Q7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFz
cyBGbG9hdFF1YWQ7CiAKLWNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXggeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdHlwZWRlZiBkb3VibGUgTWF0cml4NFs0XVs0XTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCmluZGV4IDFiZGYyNzAuLjE2MjhlZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1
LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7CiAKQEAg
LTM0LDcgKzMzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0
YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5n
JiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQogICAgICAg
ICAsIG1fbmFtZShuYW1lKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaAppbmRleCAzYWI1MmI4Li41MTU0
ZWFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhQ2Fpcm8uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaApAQCAtMjQsNyArMjQsNiBAQAogCiAjaW5jbHVk
ZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPGNhaXJvLmg+CiAKQEAgLTMzLDcgKzMy
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNz
IFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YShjYWlyb19mb250X2ZhY2VfdCogZm9udEZhY2UpCiAgICAgICAgIDogbV9mb250RmFjZShm
b250RmFjZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Mb2NhbFdpbmRvd3NDb250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9M
b2NhbFdpbmRvd3NDb250ZXh0LmgKaW5kZXggYzIxNjE0MC4uNTk1MWU0OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaApAQCAt
MzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIExvY2FsV2luZG93
c0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxXaW5kb3dzQ29udGV4dCk7CiBwdWJs
aWM6CiAgICAgTG9jYWxXaW5kb3dzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29u
dGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCA9IHRydWUs
IGJvb2wgbWF5Q3JlYXRlQml0bWFwID0gdHJ1ZSkKICAgICAgICAgOiBtX2dyYXBoaWNzQ29udGV4
dChncmFwaGljc0NvbnRleHQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9RVE1vdmllLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUu
Y3BwCmluZGV4IGU0MjViZjguLmM3Y2U2M2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1FUTW92aWUuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSA8UVRNTC5oPgogI2lu
Y2x1ZGUgPFF1aWNrVGltZUNvbXBvbmVudHMuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTYzLDcgKzYyLDggQEAgdW5pb24gVXBwUGFyYW0g
ewogc3RhdGljIFZlY3RvcjxDRlN0cmluZ1JlZj4qIGdTdXBwb3J0ZWRUeXBlcyA9IDA7CiBzdGF0
aWMgU0ludDMyIHF1aWNrVGltZVZlcnNpb24gPSAwOwogCi1jbGFzcyBRVE1vdmllUHJpdmF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFFUTW92aWVUYXNrQ2xpZW50IHsKK2NsYXNzIFFU
TW92aWVQcml2YXRlIDogcHVibGljIFFUTW92aWVUYXNrQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShRVE1vdmllUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRNb3ZpZVByaXZhdGUo
KTsKICAgICB+UVRNb3ZpZVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAKaW5kZXggZTEzZjczMi4uMjY4NjEyZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAKQEAgLTMzLDcg
KzMzLDYgQEAKICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2su
Y3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKaW5kZXggMDkx
NDJiYy4uYmY4MGE4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
UVRUcmFjay5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5j
cHAKQEAgLTMxLDcgKzMxLDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAotY2xhc3MgUVRU
cmFja1ByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUVRUcmFja1ByaXZhdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFFUVHJhY2tQcml2YXRlKTsKIHB1YmxpYzoKICAg
ICBRVFRyYWNrUHJpdmF0ZSgpOwogICAgIH5RVFRyYWNrUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKaW5kZXgg
MTdlYzQxZC4uMWU5OTBhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAKQEAgLTM2LDcgKzM1LDggQEAgc3RydWN0IFdL
Q0FDRkNvbnRleHQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgV0tDQUNGQ29udGV4
dEZsdXNoZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV0tDQUNGQ29udGV4dEZsdXNo
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdLQ0FDRkNvbnRleHRGbHVzaGVyKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgV0tDQUNGQ29udGV4dEZsdXNoZXImIHNoYXJlZCgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgK
aW5kZXggNzYzZmZmYS4uYTE2NmU4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV0tDQUNGTGF5ZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CkBAIC01Niw3ICs1NSw4IEBAIHB1YmxpYzoKIC8vIEZJWE1FOiBDdXJyZW50
bHkgdGhlcmUgaXMgYSBXS0NBQ0ZMYXllclJlbmRlcmVyIGZvciBlYWNoIFdlYlZpZXcgYW5kIGVh
Y2gKIC8vIGhhcyBpdHMgb3duIENBUmVuZGVyT0dMQ29udGV4dCBhbmQgRGlyZWN0M0REZXZpY2U5
LCB3aGljaCBpcyBpbmVmZmljaWVudC4KIC8vIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzE4NTUpCi1jbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkxheWVyUmVuZGVyZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdLQ0FDRkxheWVyUmVuZGVyZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
T3duUHRyPFdLQ0FDRkxheWVyUmVuZGVyZXI+IGNyZWF0ZShXS0NBQ0ZMYXllclJlbmRlcmVyQ2xp
ZW50Kik7CiAgICAgfldLQ0FDRkxheWVyUmVuZGVyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXgg
YWJkYzBmMi4uMjdjMmU5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDcgKzI0LDYgQEAKICNp
bmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5o
IgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyRm9udChjb25zdCBTdHJp
bmcmIGZvbnROYW1lKSA9IDA7CiAgICAgfTsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7
CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY29uc3QgU3RyaW5nJiBuYW1lKQogICAg
ICAgICAgICAgOiBtX25hbWUobmFtZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250UGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaAppbmRleCBlNzNhN2IyLi45ODYy
N2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0
Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0
Zm9ybURhdGEuaApAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5o
IgogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
SW1wbC5oPgogCiB0eXBlZGVmIHN0cnVjdCB0YWdURVhUTUVUUklDVyBURVhUTUVUUklDOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRX
aW5DRS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4
dFdpbkNFLmNwcAppbmRleCA4YWY2ZWY3My4uYjQ5ODFkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKQEAg
LTQ0MCw3ICs0NDAsOCBAQCBzdGF0aWMgdm9pZCByb3RhdGVCaXRtYXAoU2hhcmVkQml0bWFwKiBk
ZXN0Qm1wLCBjb25zdCBTaGFyZWRCaXRtYXAqIHNvdXJjZUJtcCwgYwogICAgICAgICBfcm90YXRl
Qml0bWFwPHVuc2lnbmVkLCBmYWxzZT4oZGVzdEJtcCwgc291cmNlQm1wLCB0cmFuc2Zvcm0pOwog
fQogCi1jbGFzcyBUcmFuc3BhcmVudExheWVyREMgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFu
c3BhcmVudExheWVyREMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW50TGF5
ZXJEQyk7CiBwdWJsaWM6CiAgICAgVHJhbnNwYXJlbnRMYXllckRDKEdyYXBoaWNzQ29udGV4dFBs
YXRmb3JtUHJpdmF0ZSogZGF0YSwgSW50UmVjdCYgb3JpZ1JlY3QsIGNvbnN0IEludFJlY3QqIHJl
Y3RCZWZvcmVUcmFuc2Zvcm0gPSAwLCBpbnQgYWxwaGEgPSAyNTUsIGJvb2wgcGFpbnRJbWFnZSA9
IGZhbHNlKTsKICAgICB+VHJhbnNwYXJlbnRMYXllckRDKCk7CkBAIC01NjAsNyArNTYxLDggQEAg
dm9pZCBUcmFuc3BhcmVudExheWVyREM6OmZpbGxBbHBoYUNoYW5uZWwoKQogICAgIH0KIH0KIAot
Y2xhc3MgU2NvcGVEQ1Byb3ZpZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgU2NvcGVEQ1Byb3Zp
ZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY29wZURDUHJvdmlkZXIpOwogcHVibGlj
OgogICAgIGV4cGxpY2l0IFNjb3BlRENQcm92aWRlcihHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUqIGRhdGEpCiAgICAgICAgIDogbV9kYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGNjMzQ4
ZTMuLjg2Zjk5YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCwxNCArMjQsMTQgQEAKICNpbmNsdWRlICJG
b250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiAgICAgY2xhc3Mg
U2hhcmVkQnVmZmVyOwogCi0gICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25j
b3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICAgICAgfkZvbnRDdXN0
b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVj
b2RlcnMvSW1hZ2VEZWNvZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0lt
YWdlRGVjb2Rlci5oCmluZGV4IDY4YzZlMzEuLmNkMTFmZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaApAQCAtMjIxLDcgKzIyMSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBzZXRNYXhOdW1QaXhlbHMoKSB0byBzcGVjaWZ5IHRo
ZSBiaWdnZXN0IHNpemUgdGhhdCBkZWNvZGVkIGltYWdlcyBjYW4KICAgICAvLyBoYXZlLiBJbWFn
ZSBkZWNvZGVycyB3aWxsIGRlZmxhdGUgdGhvc2UgaW1hZ2VzIHRoYXQgYXJlIGJpZ2dlciB0aGFu
CiAgICAgLy8gbV9tYXhOdW1QaXhlbHMuIChOb3Qgc3VwcG9ydGVkIGJ5IGFsbCBpbWFnZSBkZWNv
ZGVycyB5ZXQpCi0gICAgY2xhc3MgSW1hZ2VEZWNvZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBJbWFnZURlY29kZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bWFnZURlY29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgSW1hZ2VEZWNvZGVyKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgYm9vbCBpZ25vcmVHYW1tYUFu
ZENvbG9yUHJvZmlsZSkKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0NsaXBib2FyZE1hYy5oCmluZGV4IDcxODdlY2YuLjg5ZjgzM2IgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0NsaXBib2FyZE1hYy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3Mg
RmlsZUxpc3Q7CiAKIGNsYXNzIENsaXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1Ymxp
YyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRNYWM+IGNyZWF0ZShDbGlwYm9h
cmRUeXBlIGNsaXBib2FyZFR5cGUsIE5TUGFzdGVib2FyZCAqcGFzdGVib2FyZCwgQ2xpcGJvYXJk
QWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmgKaW5kZXggOTBiZWI0
MC4uYjk5MGQ3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0LmgKQEAgLTE3LDcgKzE3LDYgQEAKICAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgogICovCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmZGVm
IF9fT0JKQ19fCiBAY2xhc3MgTlNHcmFwaGljc0NvbnRleHQ7CkBAIC0zMSw3ICszMCw4IEBAIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDsKICAgICAKIC8vIFRoaXMgY2xhc3MgYXV0b21hdGljYWxseSBz
YXZlcyBhbmQgcmVzdG9yZXMgdGhlIGN1cnJlbnQgTlNHcmFwaGljc0NvbnRleHQgZm9yCiAvLyBm
dW5jdGlvbnMgd2hpY2ggY2FsbCBvdXQgaW50byBBcHBLaXQgYW5kIHJlbHkgb24gdGhlIGN1cnJl
bnRDb250ZXh0IGJlaW5nIHNldAotY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KTsK
IHB1YmxpYzoKICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0
KiBncmFwaGljc0NvbnRleHQpOwogICAgIH5Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KaW5kZXggY2M5ZmYxNy4uNDQ2YmRh
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KQEAgLTI5LDcgKzI5LDYg
QEAKICNpbXBvcnQgPElPS2l0L0lPTWVzc2FnZS5oPgogI2ltcG9ydCA8SU9LaXQvcHdyX21ndC9J
T1BNTGliLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgotI2ltcG9ydCA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1VudXNl
ZFBhcmFtLmg+CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0
YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKaW5kZXggMWZmNjM0NC4u
NmVmMjI0MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKQEAgLTE0NSw2ICsxNDUs
NyBAQCBwcml2YXRlOgogdHlwZWRlZiBWZWN0b3I8QmxvYkRhdGFJdGVtPiBCbG9iRGF0YUl0ZW1M
aXN0OwogCiBjbGFzcyBCbG9iRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxCbG9iRGF0YT4gY3JlYXRlKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAppbmRleCA4N2QwZWYzLi4xMTJl
MzE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVy
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCkBAIC0y
MywxNCArMjMsMTQgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xh
c3MgRm9ybURhdGFCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvcm1EYXRh
QnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9ybURhdGFCdWlsZGVyKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgVGV4dEVuY29kaW5nIGVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQo
Y29uc3QgU3RyaW5nJiBhY2NlcHRDaGFyc2V0LCBEb2N1bWVudCogZG9jdW1lbnQpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCmluZGV4IGQx
ZjJkYjQuLjM5OTc4MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RhdGVOb3RpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RhdGVOb3RpZmllci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyX2gKICNkZWZpbmUgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTYxLDcgKzYwLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTmV0d29ya1N0YXRlTm90aWZpZXJQcml2YXRlOwog
I2VuZGlmCiAKLWNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShOZXR3b3JrU3RhdGVOb3RpZmllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgTmV0d29ya1N0YXRlTm90aWZpZXIoKTsKICAgICB2b2lkIHNldE5ldHdvcmtTdGF0ZUNo
YW5nZWRGdW5jdGlvbih2b2lkICgqKSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDljY2NlY2QuLjBmMmJlMjQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaApA
QCAtODAsNyArODAsOCBAQCBjbGFzcyBOU1VSTENvbm5lY3Rpb247CiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVDbGllbnQ7CiAKLSAgICBjbGFzcyBSZXNvdXJj
ZUhhbmRsZUludGVybmFsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXNvdXJj
ZUhhbmRsZUludGVybmFsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2FkZXIsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGMsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAgICAgICA6IG1f
Y2xpZW50KGMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXF1ZXN0QmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuaAppbmRleCAzM2ExODRlLi4yYjc0MTczIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAg
ICAvLyBEbyBub3QgdXNlIHRoaXMgdHlwZSBkaXJlY3RseS4gIFVzZSBSZXNvdXJjZVJlcXVlc3Qg
aW5zdGVhZC4KLSAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIHR5cGUgb2YgdGhp
cyBSZXNvdXJjZVJlcXVlc3QsIGJhc2VkIG9uIGhvdyB0aGUgcmVzb3VyY2Ugd2lsbCBiZSB1c2Vk
LgogICAgICAgICBlbnVtIFRhcmdldFR5cGUgewpAQCAtMjA1LDcgKzIwNiwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXF1
ZXN0QmFzZTo6Y29tcGFyZShhLCBiKTsgfQogICAgIGlubGluZSBib29sIG9wZXJhdG9yIT0oUmVz
b3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuICEoYSA9
PSBiKTsgfQogCi0gICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2Ug
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0
YUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNl
UmVxdWVzdERhdGFCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6Cisg
ICAgICAgIENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UoKSB7IH0KICAgICAgICAg
S1VSTCBtX3VybDsKIAogICAgICAgICBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBtX2NhY2hl
UG9saWN5OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJh
c2UuaAppbmRleCA0ZGExM2JiLi40NjZiNDMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGE7CiAK
IC8vIERvIG5vdCB1c2UgdGhpcyBjbGFzcyBkaXJlY3RseSwgdXNlIHRoZSBjbGFzcyBSZXNwb25z
ZVJlc3BvbnNlIGluc3RlYWQKLWNsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2UgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8UmVzb3VyY2VS
ZXNwb25zZT4gYWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRh
Pik7CiAKQEAgLTE3NSw3ICsxNzYsMTAgQEAgcHJpdmF0ZToKIGlubGluZSBib29sIG9wZXJhdG9y
PT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYikg
eyByZXR1cm4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbXBhcmUoYSwgYik7IH0KIGlubGluZSBi
b29sIG9wZXJhdG9yIT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgYikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLXN0cnVjdCBDcm9zc1RocmVhZFJl
c291cmNlUmVzcG9uc2VEYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UpOworcHVibGljOgorICAgIENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKCkgeyB9CiAgICAgS1VSTCBtX3VybDsKICAgICBT
dHJpbmcgbV9taW1lVHlwZTsKICAgICBsb25nIGxvbmcgbV9leHBlY3RlZENvbnRlbnRMZW5ndGg7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcAppbmRleCAwZjk3ODY3Li4xODE1OGZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTYwLDcgKzYwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJWkUgODE5Mgog
Ci1jbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVD
bGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2Fk
ZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNo
cm9ub3VzTG9hZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlICYsIFZlY3Rvcjxj
aGFyPiYpOwogICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKaW5kZXggMzhkOWNk
MS4uZjUwNTQwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNv
dXJjZUhhbmRsZVdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNv
dXJjZUhhbmRsZVdpbi5jcHAKQEAgLTc2LDcgKzc2LDggQEAgc3RhdGljIFN0cmluZyBxdWVyeUhU
VFBIZWFkZXIoSElOVEVSTkVUIHJlcXVlc3RIYW5kbGUsIERXT1JEIGluZm9MZXZlbCkKIH0KIAog
Ci1jbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVD
bGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2Fk
ZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNo
cm9ub3VzTG9hZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNo
YXI+JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAgIH5XZWJDb3JlU3luY2hyb25vdXNM
b2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAppbmRleCA1YWNhMWE2Li4xZWVjOGFk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMg
Zm9yIGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICBjbGFzcyBDbGlwYm9hcmRRdCA6
IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxDbGlwYm9hcmRRdD4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ks
IGNvbnN0IFFNaW1lRGF0YSogcmVhZGFibGVDbGlwYm9hcmQpCiAgICAgICAgIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCmluZGV4IGMzMjkyNzMuLmRhNTNhY2MgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaApAQCAtNTAsNyArNTAsOCBAQCBleHRlcm4gY29u
c3QgaW50IFNRTFJlc3VsdFNjaGVtYTsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0RnVsbDsK
IGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0SW50ZXJydXB0OwogCi1jbGFzcyBTUUxpdGVEYXRh
YmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxpdGVEYXRhYmFzZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlRGF0YWJhc2UpOwogICAgIGZyaWVuZCBjbGFzcyBT
UUxpdGVUcmFuc2FjdGlvbjsKIHB1YmxpYzoKICAgICBTUUxpdGVEYXRhYmFzZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmggYi9XZWJDb3JlL3Bs
YXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAppbmRleCAxNDQ0ZjBlLi4xZWUzYmUzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTFZhbHVlOwogCi1jbGFzcyBTUUxpdGVTdGF0ZW1l
bnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlU3RhdGVtZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVTdGF0ZW1lbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIFNRTGl0ZVN0YXRlbWVudChTUUxpdGVEYXRhYmFzZSYsIGNvbnN0
IFN0cmluZyYpOwogICAgIH5TUUxpdGVTdGF0ZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVUcmFuc2FjdGlvbi5oCmluZGV4IDkyNDI0MWYuLjQyN2IyOTYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaApAQCAtMjYsMTQgKzI2LDEzIEBACiAjaWZuZGVm
IFNRTGl0ZVRyYW5zYWN0aW9uX2gKICNkZWZpbmUgU1FMaXRlVHJhbnNhY3Rpb25faAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
U1FMaXRlRGF0YWJhc2U7CiAKLWNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIDogcHVibGljIE5vbmNv
cHlhYmxlCi17CitjbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1FMaXRlVHJhbnNhY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIFNRTGl0ZVRyYW5zYWN0aW9uKFNRTGl0ZURhdGFiYXNlJiBkYiwgYm9vbCByZWFkT25s
eSA9IGZhbHNlKTsKICAgICB+U1FMaXRlVHJhbnNhY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9C
aWRpUmVzb2x2ZXIuaAppbmRleCAxZjg3MTE1Li4wNTZlZDcyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0JpZGlSZXNvbHZlci5oCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIEJpZGlSZXNvbHZlcl9o
CiAKICNpbmNsdWRlICJCaWRpQ29udGV4dC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC0xMjYsNyArMTI1LDggQEAgc3RydWN0IEJpZGlDaGFyYWN0ZXJSdW4gewogICAgIEJpZGlD
aGFyYWN0ZXJSdW4qIG1fbmV4dDsKIH07CiAKLXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xh
c3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxh
dGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQmlkaVJlc29sdmVyKTsKIHB1YmxpYyA6CiAgICAgQmlkaVJl
c29sdmVyKCkKICAgICAgICAgOiBtX2RpcmVjdGlvbihXVEY6OlVuaWNvZGU6Ok90aGVyTmV1dHJh
bCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKaW5kZXggZjE2MTFl
NS4uMTJkMDUyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHBy
ZXNzaW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgK
QEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWd1bGFy
RXhwcmVzc2lvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlZ3VsYXJFeHByZXNz
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlZ3VsYXJF
eHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkpOwogICAgIH5SZWd1
bGFyRXhwcmVzc2lvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRD
b2RlYy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCmluZGV4IGM2YWYzOGEu
LjE4YjVkOGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKQEAgLTI5LDcgKzI5LDYgQEAK
IAogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTU3
LDggKzU2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgY2hhciBVbmVu
Y29kYWJsZVJlcGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAgY2xhc3MgVGV4dENvZGVjIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29kZWMgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKKyAgICAgICAgVGV4dENvZGVjKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRleHRDb2Rl
YygpOwogCiAgICAgICAgIFN0cmluZyBkZWNvZGUoY29uc3QgY2hhciogc3RyLCBzaXplX3QgbGVu
Z3RoLCBib29sIGZsdXNoID0gZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3Ry
YW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAppbmRleCA2N2RiOTc3Li44ODQ2Y2RkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKQEAg
LTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgRm9udFRyYW5zY29kZXJfaAogCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcg
KzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xh
c3MgVGV4dEVuY29kaW5nOwogCi1jbGFzcyBGb250VHJhbnNjb2RlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGb250VHJhbnNjb2RlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Rm9udFRyYW5zY29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZv
aWQgY29udmVydChTdHJpbmcmIHRleHQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRl
eHRFbmNvZGluZyogPSAwKSBjb25zdDsKICAgICBib29sIG5lZWRzVHJhbnNjb2RpbmcoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmggYi9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9DbGlwYm9hcmRXaW4uaAppbmRleCBjZTY0Yjg1Li4yZDE0NGIwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9DbGlwYm9hcmRXaW4uaApAQCAtNDEsNiArNDEsNyBAQCBjbGFzcyBXQ0RhdGFPYmpl
Y3Q7CiAKIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcgYW5k
IGRyb3AgYW5kIGNvcHkvcGFzdGUKIGNsYXNzIENsaXBib2FyZFdpbiA6IHB1YmxpYyBDbGlwYm9h
cmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0
ZShDbGlwYm9hcmRUeXBlIGNsaXBib2FyZFR5cGUsIElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBD
bGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1
NmU3Li5kMzZjMjMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNz
YWdlQnJvYWRjYXN0ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdl
QnJvYWRjYXN0ZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0
ZW5lcjsKIAotICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGFkZExpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VM
aXN0ZW5lciopOwogICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5k
b3dNZXNzYWdlTGlzdGVuZXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5E
YXRhYmFzZS5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKaW5kZXggYjE0NjA1
Zi4uOTMyYTFkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgK
KysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5Q
YWNrYWdlPiwgUGx1Z2luUGFja2FnZUhhc2g+IFBsdWdpblNldDsKIAotICAgIGNsYXNzIFBsdWdp
bkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5EYXRhYmFz
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkRhdGFiYXNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpbkRhdGFiYXNlKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVy
LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCmluZGV4IDYx
MGU4OWMuLmUyZTA4MDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhy
ZWFkU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hl
ZHVsZXIuaApAQCAtMzYsNyArMzYsOCBAQCB0eXBlZGVmIE5QUF90KiBOUFA7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIHZvaWQgTWFpblRocmVhZEZ1bmN0aW9u
KHZvaWQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1dl
YkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggZGVhZWM5OS4uNWYwZjZjYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAorKysgYi9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luVmlldy5oCkBAIC05Myw3ICs5Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgUGx1Z2luU3RhdHVzTG9hZGVkU3VjY2Vzc2Z1bGx5CiAgICAgfTsKIAotICAgIGNsYXNzIFBs
dWdpblJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBsdWdpblJlcXVl
c3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5SZXF1ZXN0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpblJlcXVlc3QoY29u
c3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0
aW9uLCB2b2lkKiBub3RpZnlEYXRhLCBib29sIHNob3VsZEFsbG93UG9wdXBzKQogICAgICAgICAg
ICAgOiBtX2ZyYW1lTG9hZFJlcXVlc3QoZnJhbWVMb2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbklu
Zm8uaAppbmRleCA1ZTZmNjE5Li5kYjk0NzhjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9Db2x1bW5JbmZvLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0z
MSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDb2x1bW5JbmZvKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBDb2x1bW5JbmZvKCkKICAgICAgICAgOiBtX2Rlc2lyZWRDb2x1bW5XaWR0aCgwKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL0NvdW50ZXJOb2RlLmgKaW5kZXggNTI5ZDQwOS4uNTU1ZTgxYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9Db3Vu
dGVyTm9kZS5oCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIENvdW50ZXJOb2RlX2gKIAogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogLy8gVGhpcyBpbXBsZW1lbnRzIGEgY291bnRlciB0
cmVlIHRoYXQgaXMgdXNlZCBmb3IgZmluZGluZyBwYXJlbnRzIGluIGNvdW50ZXJzKCkgbG9va3Vw
LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL0xheW91dFN0YXRlLmgKaW5kZXggY2NhM2U0Mi4uYmJhNjAxZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9MYXlvdXRTdGF0ZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJJbnRSZWN0Lmgi
CiAjaW5jbHVkZSAiSW50U2l6ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgY2xhc3MgUmVuZGVyQXJlbmE7
CiBjbGFzcyBSZW5kZXJCb3g7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIExheW91dFN0
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMYXlvdXRTdGF0ZSk7CiBwdWJsaWM6CiAgICAgTGF5b3V0U3RhdGUo
KQogICAgICAgICA6IG1fY2xpcHBlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckFyZW5hLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCmluZGV4
IDMyMTM5ZmIuLjNiNWNmMDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFy
ZW5hLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaApAQCAtMzYsMTMgKzM2
LDEzIEBACiAjZGVmaW5lIFJlbmRlckFyZW5hX2gKIAogI2luY2x1ZGUgIkFyZW5hLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGlj
IGNvbnN0IHNpemVfdCBnTWF4UmVjeWNsZWRTaXplID0gNDAwOwogCi1jbGFzcyBSZW5kZXJBcmVu
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJBcmVuYSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVuZGVyQXJlbmEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFJlbmRlckFyZW5hKHVuc2lnbmVkIGFyZW5hU2l6ZSA9IDQwOTYpOwogICAgIH5S
ZW5kZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggNjQ1YzBlYy4uNDAyNjcw
OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0zNTIsNyArMzUyLDkgQEAgcHJpdmF0ZToK
ICAgICAgICAgYm9vbCBldmVySGFkTGF5b3V0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRmxvYXRp
bmdPYmplY3QgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmxvYXRpbmdPYmplY3QpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBi
aXRzIHNvIHlvdSBjYW4gdXNlIEZsb2F0Qm90aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGgg
bGVmdCBhbmQgcmlnaHQuCiAgICAgICAgIGVudW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0
UmlnaHQgPSAyLCBGbG9hdEJvdGggPSAzIH07CiAKQEAgLTY4MCw3ICs2ODIsOSBAQCBwcml2YXRl
OgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBtX2NvbnRpbnVhdGlvbjsKICAgICAKICAgICAv
LyBBbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1
bHQgdmFsdWVzCi0gICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZW5kZXJCbG9ja1JhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAg
ICBwdWJsaWM6CiAgICAgICAgIFJlbmRlckJsb2NrUmFyZURhdGEoY29uc3QgUmVuZGVyQmxvY2sq
IGJsb2NrKSAKICAgICAgICAgICAgIDogbV9tYXJnaW5zKHBvc2l0aXZlTWFyZ2luQmVmb3JlRGVm
YXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQmVmb3JlRGVmYXVsdChibG9jayksIHBvc2l0aXZl
TWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5BZnRlckRlZmF1bHQoYmxv
Y2spKQogICAgICAgICAgICAgLCBtX3BhZ2luYXRpb25TdHJ1dCgwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDE0M2M3MmMuLjRlNWY2ZjggMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTUzLDcgKzUzLDgg
QEAgc3RhdGljIGNvbnN0IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsg
Ly8gNTAwIG1zCiB0eXBlZGVmIHBhaXI8UmVuZGVyQm94TW9kZWxPYmplY3QqLCBjb25zdCB2b2lk
Kj4gTGFzdFBhaW50U2l6ZU1hcEtleTsKIHR5cGVkZWYgSGFzaE1hcDxMYXN0UGFpbnRTaXplTWFw
S2V5LCBJbnRTaXplPiBMYXN0UGFpbnRTaXplTWFwOwogCi1jbGFzcyBJbWFnZVF1YWxpdHlDb250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlUXVhbGl0eUNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlUXVhbGl0eUNvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEltYWdlUXVhbGl0eUNvbnRyb2xs
ZXIoKTsKICAgICBib29sIHNob3VsZFBhaW50QXRMb3dRdWFsaXR5KEdyYXBoaWNzQ29udGV4dCos
IFJlbmRlckJveE1vZGVsT2JqZWN0KiwgSW1hZ2UqLCBjb25zdCB2b2lkKiBsYXllciwgY29uc3Qg
SW50U2l6ZSYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKaW5kZXggZDBhYjM0Ni4uMWU1
MTFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03Myw3ICs3Myw4IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1NwbGl0ID0gLTE7CiAKLSAg
ICBjbGFzcyBHcmlkQXhpcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JpZEF4
aXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmlkQXhpcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBHcmlkQXhpcygpOwogICAgICAgICB2b2lkIHJlc2l6ZShpbnQpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCmluZGV4IDIzNDY3MTIuLmU1OGNkOWIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKQEAgLTI5LDEzICsyOSwxMyBA
QAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5k
bGUuaCIKICNpbmNsdWRlICJTdHlsZUltYWdlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFz
cyBSZW5kZXJJbWFnZVJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRl
ckltYWdlUmVzb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckltYWdlUmVz
b3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwgflJl
bmRlckltYWdlUmVzb3VyY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aAppbmRleCBmYjNhYjY3Li5jYWQ4NDU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuaApAQCAtNTMsNyArNTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8v
IAogLy8gVGhlcmUgaXMgb25lIFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXll
ciB0aGF0IGlzIGNvbXBvc2l0ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1Ymxp
YyBHcmFwaGljc0xheWVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVy
TGF5ZXJCYWNraW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgUmVuZGVyTGF5ZXJCYWNraW5nKFJlbmRlckxheWVyKik7CiAgICAgflJl
bmRlckxheWVyQmFja2luZygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCmluZGV4IDc5OTk4
ZWQuLjNiNWViMzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKQEAgLTUzLDcgKzUzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyTGF5ZXI7CiAKIC8vIFRoaXMgY2xh
c3MgaGFuZGxlcyB0aGUgYXV0by1zY3JvbGxpbmcgb2YgbGF5ZXJzIHdpdGggb3ZlcmZsb3c6IG1h
cnF1ZWUuCi1jbGFzcyBSZW5kZXJNYXJxdWVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlbmRlck1hcnF1ZWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck1hcnF1ZWUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlck1h
cnF1ZWUoUmVuZGVyTGF5ZXIqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJNYXJxdWVlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAppbmRleCAyNTNhNjcyLi4zMWUwMWU3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck92ZXJmbG93LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUK
IC8vIEV4YW1wbGVzIG9mIHZpc3VhbCBvdmVyZmxvdyBhcmUgc2hhZG93cywgdGV4dCBzdHJva2Ug
KGFuZCBldmVudHVhbGx5IG91dGxpbmUgYW5kIGJvcmRlci1pbWFnZSkuCiAKIC8vIFRoaXMgb2Jq
ZWN0IGlzIGFsbG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMgaGF2ZSBub24t
ZGVmYXVsdCB2YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCi1jbGFzcyBSZW5kZXJPdmVyZmxvdyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJPdmVyZmxvdyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVuZGVyT3ZlcmZsb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGRlZmF1bHRSZWN0ID0g
SW50UmVjdCgpKSAKICAgICAgICAgOiBtX3RvcExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0Lnko
KSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBl
ci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKaW5kZXgg
MjAxNTNlOS4uNDM1ZmVjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VDbGlwcGVyLmgKQEAgLTM2LDcgKzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1z
dHJ1Y3QgQ2xpcHBlckRhdGEgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDbGlwcGVyRGF0YSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBPd25QdHI8SW1hZ2VC
dWZmZXI+IGNsaXBNYXNrSW1hZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTZWxlY3Rpb25JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rp
b25JbmZvLmgKaW5kZXggYTA5ZmMxYS4uMjNiNWU2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNlbGVjdGlvbkluZm8uaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQogICAgICAgICA6IG1fb2JqZWN0KDAp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggMDdmOTMzZi4uMTMzZWI3OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuaApAQCAtMjU0LDcgKzI1NCw4IEBAIHZvaWQgdG9SZW5kZXJWaWV3KGNvbnN0IFJl
bmRlclZpZXcqKTsKIAogCiAvLyBTdGFjay1iYXNlZCBjbGFzcyB0byBhc3Npc3Qgd2l0aCBMYXlv
dXRTdGF0ZSBwdXNoL3BvcAotY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTGF5b3V0U3RhdGVNYWludGFpbmVyKTsKIHB1YmxpYzoKICAgICAvLyBjdG9y
IHRvIHB1c2ggbm93CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcqIHZpZXcs
IFJlbmRlckJveCogcm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFs
c2UsIGludCBwYWdlSGVpZ2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBD
b2x1bW5JbmZvKiBjb2xJbmZvID0gMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcldpZGdldFByb3RlY3Rvci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJv
dGVjdG9yLmgKaW5kZXggNzg4MzA0Yy4uOGJmNmFjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyV2lkZ2V0UHJvdGVjdG9yLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgOiBwcml2YXRlIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKTsKIHB1YmxpYzoKICAgICBSZW5kZXJXaWRnZXRQcm90
ZWN0b3IoUmVuZGVyV2lkZ2V0KiBvYmplY3QpCiAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCmluZGV4IDliY2M3YTQuLjkyMjU4
MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKQEAgLTIyLDcgKzIy
LDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMiw3
ICszMSw4IEBAIGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdJbWFnZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBj
cmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlVGFyZ2V0UmVjdCwgY29u
c3QgRmxvYXRSZWN0JiBjbGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0LCBPd25QdHI8SW1hZ2VCdWZm
ZXI+JiwgQ29sb3JTcGFjZSk7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3VidHJlZVRvSW1hZ2VC
dWZmZXIoSW1hZ2VCdWZmZXIqLCBSZW5kZXJPYmplY3QqLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0m
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAppbmRleCA4ZjU5NzAzNS4u
MDcyYjRiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5m
by5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaApAQCAtMjMs
NyArMjMsNiBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAj
aW5jbHVkZSAiU1ZHTWFya2VyRGF0YS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgc3RydWN0IE1hcmtlckxh
eW91dCB7CiAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKIH07CiAKLWNsYXNzIFNWR01hcmtl
ckxheW91dEluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHTWFya2VyTGF5b3V0
SW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHTWFya2VyTGF5b3V0SW5mbyk7CiBw
dWJsaWM6CiAgICAgU1ZHTWFya2VyTGF5b3V0SW5mbygpOwogICAgIH5TVkdNYXJrZXJMYXlvdXRJ
bmZvKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCmluZGV4IDQ5NTkxY2YuLjY1OTkxYWQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUo
U1ZHKQogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAKQEAgLTM4LDcgKzM3LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI7CiBjbGFz
cyBTVkdSZW5kZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2YgcmVzb3VyY2VzIGFzc29jaWF0
ZWQgd2l0aCBhIFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3VyY2VzIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1ZHUmVzb3VyY2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTVkdS
ZXNvdXJjZXMoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2Vz
Q2FjaGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKaW5kZXggNGE2
MTU3MC4uODI3YWMwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2Vz
Q2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0z
MSw3ICszMSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGUoKTsKICAgICB+U1ZHUmVzb3Vy
Y2VzQ2FjaGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5
Y2xlU29sdmVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5o
CmluZGV4IGU2M2VlNjMuLjM0MTI1OGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NW
R1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzQ3ljbGVTb2x2ZXIuaApAQCAtMjksNyArMjksOCBAQCBjbGFzcyBSZW5kZXJPYmplY3Q7CiBj
bGFzcyBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjsKIGNsYXNzIFNWR1Jlc291cmNlczsKIAot
Y2xhc3MgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1Jlc291cmNlc0N5Y2xlU29sdmVyKTsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDeWNsZVNv
bHZlcihSZW5kZXJPYmplY3QqLCBTVkdSZXNvdXJjZXMqKTsKICAgICB+U1ZHUmVzb3VyY2VzQ3lj
bGVTb2x2ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0Lmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCmluZGV4IGUwZmE4ZWUuLmQ5ZWQxOTgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaApAQCAtMjEsMTMgKzIxLDEzIEBACiAjaWZuZGVmIFRh
YmxlTGF5b3V0X2gKICNkZWZpbmUgVGFibGVMYXlvdXRfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyVGFibGU7CiAK
LWNsYXNzIFRhYmxlTGF5b3V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRhYmxlTGF5
b3V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYWJsZUxheW91dCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgVGFibGVMYXlvdXQoUmVuZGVyVGFibGUqIHRhYmxl
KQogICAgICAgICA6IG1fdGFibGUodGFibGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9UcmFuc2Zvcm1TdGF0ZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaApp
bmRleCAwYjRjYTQ2Li4zNmZjNmVjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UcmFu
c2Zvcm1TdGF0ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKQEAg
LTMxLDE0ICszMSwxNCBAQAogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkludFNp
emUuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtU3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVHJhbnNmb3JtU3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zZm9ybVN0
YXRlKTsKIHB1YmxpYzoKICAgICBlbnVtIFRyYW5zZm9ybURpcmVjdGlvbiB7IEFwcGx5VHJhbnNm
b3JtRGlyZWN0aW9uLCBVbmFwcGx5SW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiB9OwogICAgIGVu
dW0gVHJhbnNmb3JtQWNjdW11bGF0aW9uIHsgRmxhdHRlblRyYW5zZm9ybSwgQWNjdW11bGF0ZVRy
YW5zZm9ybSB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlv
bkNhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAppbmRl
eCA0ZGVhZWY1Li5iMjViMmY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNh
bFBvc2l0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9u
Q2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBjb25zdCBpbnQgUG9zaXRpb25Ub3AgPSAtMHg3ZmZm
ZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvbkJvdHRvbSA9IDB4N2ZmZmZmZmY7CiBjb25zdCBpbnQg
UG9zaXRpb25VbmRlZmluZWQgPSAweDgwMDAwMDAwOwogCi1jbGFzcyBWZXJ0aWNhbFBvc2l0aW9u
Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUpOwogcHVi
bGljOgogICAgIFZlcnRpY2FsUG9zaXRpb25DYWNoZSgpCiAgICAgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQ29udGVudERhdGEuaAppbmRleCA0Zjk2NGEyLi5mMjNlNzA0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBTdHlsZUltYWdlOwogCi1zdHJ1Y3QgQ29udGVudERhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgQ29udGVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bnRlbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDb250ZW50
RGF0YSgpCiAgICAgICAgIDogbV90eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmggYi9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9Db3VudGVyQ29udGVudC5oCmluZGV4IDUyNzU3YWQuLmRkZjliMWUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgQ291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgQ291bnRlckNvbnRlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBpZGVu
dGlmaWVyLCBFTGlzdFN0eWxlVHlwZSBzdHlsZSwgY29uc3QgQXRvbWljU3RyaW5nJiBzZXBhcmF0
b3IpCiAgICAgICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0ZpbGxMYXllci5oCmluZGV4IDQ5ZmIyOTQuLmM2ZWU1MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0ZpbGxMYXllci5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBGaWxsU2l6ZSB7CiAgICAgTGVu
Z3RoU2l6ZSBzaXplOwogfTsKIAotY2xhc3MgRmlsbExheWVyIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworY2xhc3MgRmlsbExheWVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIEZpbGxMYXllcihFRmlsbExheWVyVHlwZSk7CiAgICAgfkZpbGxMYXllcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCmluZGV4IGNhODNhZjAuLjUwY2YwYmUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNkZWZp
bmUgU2hhZG93RGF0YV9oCiAKICNpbmNsdWRlICJDb2xvci5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBl
bnVtIFNoYWRvd1N0eWxlIHsgTm9ybWFsLCBJbnNldCB9OwogCiAvLyBUaGlzIHN0cnVjdCBob2xk
cyBpbmZvcm1hdGlvbiBhYm91dCBzaGFkb3dzIGZvciB0aGUgdGV4dC1zaGFkb3cgYW5kIGJveC1z
aGFkb3cgcHJvcGVydGllcy4KIAotY2xhc3MgU2hhZG93RGF0YSA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKK2NsYXNzIFNoYWRvd0RhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgU2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAppbmRleCAzNjM0MmU3Li4zMjFmMzkxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcg
KzM1LDggQEAgc3RydWN0IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQg
dGhlIGFjdHVhbCBwZXItY2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3Np
dGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3gg
b2JqZWN0cyAoU1ZHVGV4dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBt
b2RpZmljYXRpb25zIHRoYXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0
ZXh0IGNodW5rICh0ZXh0LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1
bmtCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxk
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVi
bGljOgogICAgIFNWR1RleHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCmluZGV4IGYyOWFj
NjQuLmM2ODE4NWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0QXR0cmlidXRlc0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4
dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVy
U1ZHVGV4dDsKIC8vIHRvIGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUgYmFzZWQgb24gdGV4dCBj
aHVuayBib3VuZGFyaWVzICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRoZSBzZWNvbmQgbGF5b3V0
IHBoYXNlIGlzIGNhcnJpZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUuCiAKLWNsYXNzIFNW
R1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgU1ZHVGV4
dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWlsZExheW91dEF0dHJpYnV0
ZXNGb3JUZXh0U3VidHJlZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmUuaAppbmRleCBhZDA1OGQ4Li42MzFlNGNkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAgLTQ0LDcgKzQ0LDggQEAg
Y2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVUZXh0IHJlbmRlcmVycyB0
byBjb21wdXRlIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyCiAvLyB3aGlj
aCBhcmUgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMuCiAKLWNsYXNzIFNW
R1RleHRMYXlvdXRFbmdpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExh
eW91dEVuZ2luZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2lu
ZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwogICAgIFNWR1RleHRDaHVu
a0J1aWxkZXImIGNodW5rTGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1fY2h1bmtMYXlvdXRCdWls
ZGVyOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVu
Z2luZUJhc2VsaW5lLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lLmgKaW5kZXggZDc1M2IzOS4uYWMzOTNlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApAQCAtMjIsNyArMjIs
NiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0zMyw3ICszMiw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHVGV4dE1ldHJp
Y3M7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFu
ZGxlICdhbGlnbm1lbnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2VsaW5lJyBhbmQgJ2Jhc2Vs
aW5lLXNoaWZ0Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSk7CiBwdWJsaWM6
CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZvbnQmKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAppbmRl
eCAwYTZkNzM2Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEVuZ2luZVNwYWNpbmcuaApAQCAtMzAsNyArMzAsOCBAQCBjbGFzcyBTVkdSZW5k
ZXJTdHlsZTsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNW
R1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdrZXJuaW5nJyAvICdsZXR0ZXItc3BhY2luZycg
YW5kICd3b3JkLXNwYWNpbmcnLgotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nKTsKIHB1
YmxpYzoKICAgICBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyhjb25zdCBGb250Jik7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZVRhc2suaAppbmRleCBiNjFlNDY1Li5jZTBiYTRlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
VGFzay5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ2FuIGJl
IHVzZWQgdG8gd2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVkLgogLy8gSGFzIHRv
IGJlIHBhc3NlZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFzc29jaWF0ZWQgd2l0
aCB0aGUgdGFzay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJsaWM6CiAgICAgRGF0
YWJhc2VUYXNrU3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAgcHJpdmF0ZToKICNl
bmRpZgogfTsKIAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIERhdGFiYXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNr
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5EYXRhYmFz
ZVRhc2soKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5o
IGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCmluZGV4IDcxNDVlNmIuLmE2MWQ5
ZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAorKysgYi9X
ZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKQEAgLTU2LDcgKzU2LDggQEAgY2xhc3Mg
RGF0YWJhc2VUcmFja2VyQ2xpZW50Owogc3RydWN0IFNlY3VyaXR5T3JpZ2luVHJhaXRzOwogI2Vu
ZGlmIC8vICFQTEFURk9STShDSFJPTUlVTSkKIAotY2xhc3MgRGF0YWJhc2VUcmFja2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlVHJhY2tlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YWJhc2VUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIGRh
dGFiYXNlUGF0aCk7CiAgICAgc3RhdGljIERhdGFiYXNlVHJhY2tlciYgdHJhY2tlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCBi
L1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKaW5kZXggNzgz
YTczMS4uNGZjYzIzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFu
c2FjdGlvbk1vbml0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0
aW9uTW9uaXRvci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQsNyArNDMsOCBAQCBjbGFzcyBJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U7CiAvLyBGSVhNRTogbW92ZSB0aGUgdmVjdG9yIG9m
IHRyYW5zYWN0aW9ucyB0byBUTFMuIEtlZXBpbmcgaXQgc3RhdGljCiAvLyB3aWxsIG5vdCB3b3Jr
IG9uY2Ugd2UgYWRkIHN1cHBvcnQgZm9yIHdvcmtlcnMuIEFub3RoZXIgcG9zc2libGUKIC8vIHNv
bHV0aW9uIGlzIHRvIGtlZXAgdGhlIHZlY3RvciBpbiB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC4KLWNsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgYWRkUGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZElu
dGVyZmFjZSopOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVBlbmRpbmdUcmFuc2FjdGlvbihJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFn
ZS9Mb2NhbFN0b3JhZ2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5o
CmluZGV4IGEyZTM1ZWEuLjQ2NzIwNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2Nh
bFN0b3JhZ2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaApA
QCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9y
YWdlVGhyZWFkOwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIGNsYXNzIHRvIFN0b3JhZ2VU
YXNrCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExvY2FsU3RvcmFnZVRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5bmMsIERlbGV0ZUVtcHR5RGF0
YWJhc2UsIFRlcm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2Uv
TG9jYWxTdG9yYWdlVGhyZWFkLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFk
LmgKaW5kZXggNmYwNTkxMS4uMjRmZTE5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xv
Y2FsU3RvcmFnZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJl
YWQuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9j
YWxTdG9yYWdlVGFzazsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9y
YWdlVGhyZWFkCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGhyZWFk
PiBjcmVhdGUoKTsKICAgICAgICAgfkxvY2FsU3RvcmFnZVRocmVhZCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oIGIvV2ViQ29yZS9zdG9yYWdlL09y
aWdpblF1b3RhTWFuYWdlci5oCmluZGV4IGVjOTYyMGMuLmFjMjhhNzcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
T3JpZ2luUXVvdGFNYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIGNsYXNzIE9yaWdpblVzYWdlUmVjb3JkOwogCi1j
bGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgT3Jp
Z2luUXVvdGFNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5RdW90YU1h
bmFnZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE9yaWdpblF1b3Rh
TWFuYWdlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNv
cmQuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCmluZGV4IGE4MzBlNjgu
LmQ2YWU1OTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5o
CisrKyBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCkBAIC0zOSw3ICszOSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gT2JqZWN0cyBvZiB0aGlzIGNsYXNzIGNhbiBi
ZSB1c2VkIGZyb20gbXVsdGlwbGUgdGhyZWFkcyB3aXRoIGV4dGVybmFsIHN5bmNocm9uaXphdGlv
bi4KIC8vIFN0cmluZyBhcmd1bWVudHMgYXJlIGFsc28gc3VwcG9zZWQgdG8gYmUgZGVlcGx5IGNv
cGllZCBieSB0aGUgY2FsbGVyIHdoZW4gbmVjZXNzYXJ5LgotY2xhc3MgT3JpZ2luVXNhZ2VSZWNv
cmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE9yaWdpblVzYWdlUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJlY29yZCgpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaCBiL1dlYkNvcmUvc3RvcmFn
ZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2NTcuLmQ1NjdhNGYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCisrKyBiL1dlYkNvcmUv
c3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpZiBF
TkFCTEUoREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00MSw4ICs0MCwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNl
OwogCiAvLyBBIGNsaWVudCB0byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxU
cmFuc2FjdGlvbiB0byBub3RpZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4g
dGhpbmdzIGhhdmUgaGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0
aW9uQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1FMVHJhbnNhY3Rpb25DbGllbnQo
KSB7IH0KICAgICB2b2lkIGRpZENvbW1pdFdyaXRlVHJhbnNhY3Rpb24oQWJzdHJhY3REYXRhYmFz
ZSopOwogICAgIHZvaWQgZGlkRXhlY3V0ZVN0YXRlbWVudChBYnN0cmFjdERhdGFiYXNlKik7CiAg
ICAgYm9vbCBkaWRFeGNlZWRRdW90YShBYnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIGIvV2ViQ29yZS9zdG9y
YWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAppbmRleCA5NDM2MGMwLi4zNDI1NjY0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKQEAgLTQzLDgg
KzQzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9u
OwogCi0gICAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU1FMVHJhbnNhY3Rpb25Db29yZGlu
YXRvcigpIHsgfQogICAgICAgICB2b2lkIGFjcXVpcmVMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAg
ICAgICAgIHZvaWQgcmVsZWFzZUxvY2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCBz
aHV0ZG93bigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvRGVwcmVjYXRlZFNWR0FuaW1hdGVk
UHJvcGVydHlUcmFpdHMuaCBiL1dlYkNvcmUvc3ZnL0RlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3Bl
cnR5VHJhaXRzLmgKaW5kZXggM2UzMTA5NS4uYjlhZDYwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dmcvRGVwcmVjYXRlZFNWR0FuaW1hdGVkUHJvcGVydHlUcmFpdHMuaAorKysgYi9XZWJDb3JlL3N2
Zy9EZXByZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0cy5oCkBAIC0yNyw3ICsyNyw5IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFR5cGU+Ci1zdHJ1Y3Qg
RGVwcmVjYXRlZFNWR0FuaW1hdGVkUHJvcGVydHlUcmFpdHMgOiBwdWJsaWMgTm9uY29weWFibGUg
eyB9Oworc3RydWN0IERlcHJlY2F0ZWRTVkdBbmltYXRlZFByb3BlcnR5VHJhaXRzIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEZXByZWNhdGVkU1ZHQW5pbWF0ZWRQcm9wZXJ0eVRyYWl0cyk7
Cit9OwogCiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9u
cy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4u
MTU1ZDBhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgK
KysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDgg
QEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3Mg
U1ZHU1ZHRWxlbWVudDsKIAotY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+
ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVu
dCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5n
LCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNW
R1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRl
bnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0
ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJs
aWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291
cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVy
ZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0
IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0YS4uNzViZDQzYiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxl
bWVudFJhcmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBj
bGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdF
bGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJh
cmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgp
CiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9T
VkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li4y
OTQxYTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dlYkNv
cmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ZvbnREYXRhKFNWR0ZvbnRGYWNl
RWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIu
aAppbmRleCBjMGFlN2YzLi43MjllZDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRo
QmxlbmRlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKQEAgLTIzLDExICsy
MywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAj
aW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhCbGVuZGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5
dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJi
Ni4uY2FiZmIyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAor
KysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAj
ZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFtX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQzLDcgKzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAg
dW5zaWduZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRT
aG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQ
YXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi40ZDU3ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIu
aApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBv
aW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0
ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
U1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGluY3JlbWVudFBhdGhTZWdt
ZW50Q291bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9z
dmcvU1ZHUGF0aFBhcnNlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2
NzlhOTUuLmM0OGIyMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAor
KysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2lu
Y2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNs
dWRlICJTVkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBT
VkdQYXRoUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5o
CmluZGV4IGQxYTYxNDkuLmNmNGNkMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
b3VyY2UuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEw
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
KyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsg
fQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgK
aW5kZXggZGQ0NjZlZi4uMGYwY2NiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmlld1Nw
ZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xh
c3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pv
b21BbmRQYW4geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTVkdWaWV3U3BlYyhT
VkdFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCBjOTgwNGFlLi45
MTYyNmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysr
IGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC01NSw3ICs1NSw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJs
aWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFn
ZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAg
ICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFs
dGltZUFuYWx5c2VyLmggYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRl
eCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1l
QW5hbHlzZXIuaAorKysgYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAt
MzksNyArMzksOCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2Vu
ZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUmVhbHRpbWVBbmFseXNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVB
bmFseXNlcik7CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwg
flJlYWx0aW1lQW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29y
ZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYg
QEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBj
bGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdl
YlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2Nv
bCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2Vi
U29ja2V0Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLjE5NzM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tl
dENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3
IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAg
ICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93
ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNv
Y2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tl
dHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgog
I2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAg
ICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQs
IENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi5hYzgzZThlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysg
Yi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApA
QCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1
bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGlj
IFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+
IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoK
IHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUgUGVlciBhbmQg
aXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAvLyBsaWZldGltZXMuCi0gICAg
Y2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50LCBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3Jr
ZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1
bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGExLi42OGY5NjI1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJD
b3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYs
NiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0t
c3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3Rh
dGljIGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9z
aXRvcnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZp
cmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVk
KFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmlu
ZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29u
dGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBi
b29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9i
c2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlz
IGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE9ic2Vy
dmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLmEyZWM0NWYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3ICszNCw2IEBA
CiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQ
cm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xh
c3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29y
a2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJM
b2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdp
bmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQ
cm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNmLi43YjMxNDljIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6
OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BT
ZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNl
dHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3Ap
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAppbmRleCA5ZDRlZGZkLi5mYTFiY2Q0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAg
ICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUoKTsKIAotICAgICAgICBjbGFzcyBUYXNr
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRl
KFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3Ry
aW5nJiBtb2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
Y3BwCmluZGV4IGY2MTEyMGUuLjRhYTlmODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBA
IC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVk
ZSA8dXRpbGl0eT4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShE
QVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5z
aWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhy
ZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRh
PiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRl
eCA3ODJlMTU5Li4xYjljNTI5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjMsNyArNjMs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50
ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0
cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1M
SHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRw
UmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJl
Zml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4
IDFiOTgzZTYuLjAwNDI2YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDIsNiArNDIsNyBAQCBj
bGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xh
c3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1
YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMg
QWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0
KGNvbnRleHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9u
Tm9kZS5oCmluZGV4IGMwNGQ0NWIuLjZhNzNiODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQ
YXRoRXhwcmVzc2lvbk5vZGUuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2Rl
LmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNl
IFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCA6IEZh
c3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgeworICAgICAg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwog
ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAg
ICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUs
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMg
UGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24p
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBz
dGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0
LmgKaW5kZXggZDVjNDdiZS4uZDg5N2RhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhO
b2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAg
ICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBO
b2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJl
ZXNBcmVEaXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUveG1sL1hQYXRoUGFyc2VyLmggYi9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCmluZGV4IDQ0
YThlNDguLjQwYjczZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysr
IGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbihpbnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTog
dHlwZSh0KSwgZXFvcCh2KSB7fQogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIFBhcnNlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAg
ICAgICBQYXJzZXIoKTsKICAgICAgICAgICAgIH5QYXJzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUveG1sL1hQYXRoUHJlZGljYXRlLmggYi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCmlu
ZGV4IDVmMjQ4MmEuLmU3ZTFiY2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGlj
YXRlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUg
cmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAg
ICAgfTsKIAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgICAgICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNh
dGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwv
WFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uZjc3MGQ5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94
bWwvWFBhdGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAg
ICAgICAgCi0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgICAgICBjbGFzcyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAg
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAg
ICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAg
LTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZB
eGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2Rl
VGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0
IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgICAgIGVudW0gS2luZCB7CiAgICAgICAgICAgICAgICAgICAg
IFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2Rl
VGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YU0xJ
bXBvcnRSdWxlLmggYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4u
MWZlYTViYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCisrKyBiL1dl
YkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxl
IDogcHVibGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxY
U0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0
cmluZyYgaHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCA5YzI5ZTgzLi5mOTZlYjcyIDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0y
MiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJs
ZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0
QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5
NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAgRmFzdEFsbG9jQmFz
ZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29w
eWFibGUuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25j
b3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE2ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBh
cm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRp
ZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmggYi9XZWJLaXQvY2hy
b21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4uNDNkYjc5ZCAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCisrKyBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvQm91bmRPYmplY3QuaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIEJvdW5kT2Jq
ZWN0X2gKIAogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBCb3VuZE9iamVjdCBpcyBhIGhlbHBlciBjbGFzcyB0
aGF0IGxldHMgeW91IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxscwogLy8gZGlyZWN0bHkgdG8g
QysrIG1ldGhvZCBjYWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3llZCBvbmNlIEpTIG9iamVjdCBp
cwogLy8gYnVpbHQuCi1jbGFzcyBCb3VuZE9iamVjdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBCb3VuZE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQm91bmRPYmplY3Qp
OwogcHVibGljOgogICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRl
eHQsIHZvaWQqIHY4VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFtZSk7CiAgICAgdmlydHVhbCB+
Qm91bmRPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdl
ci5jcHAKaW5kZXggMDg2MGNiMS4uNTljMjE3NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9E
ZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJXZWJG
cmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01NSw3ICs1NCw4
IEBAIGJvb2wgRGVidWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhwb3NlVjhEZWJ1Z2dlclByb3RvY29s
ID0gZmFsc2U7CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIENhbGxlcklkV3JhcHBlciA6IHB1Ymxp
YyB2ODo6RGVidWc6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWxs
ZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDYWxsZXJJZFdyYXBwZXIpOwogcHVibGljOgogICAgIENhbGxlcklkV3Jh
cHBlcigpIDogbV9jYWxsZXJJc01hbmFuYWdlcih0cnVlKSwgbV9jYWxsZXJJZCgwKSB7IH0KICAg
ICBleHBsaWNpdCBDYWxsZXJJZFdyYXBwZXIoaW50IGNhbGxlcklkKQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCmluZGV4IDY2YmQ3MTQuLmI3ODU2Y2YgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKQEAgLTM2LDcgKzM2LDYg
QEAKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYzLDcgKzYyLDgg
QEAgY2xhc3MgV2ViVmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qgc29tZSBhY3Rpb25zIGZyb20g
dGhlIGhhbmRsZXIuIElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRlCiAvLyBkZWJ1Z2dlciBhZ2Vu
dCB0byBoYW5kbGUgc3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3aWxsIHBlcmZvcm0gdGhlIGFj
dGlvbgogLy8gaXRzZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcgd2FpdGluZyBmb3IgdGhlIGFj
dGlvbi4KLWNsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
ZWJ1Z2dlckFnZW50TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVidWdBdHRh
Y2goRGVidWdnZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwogICAgIHN0YXRpYyB2b2lkIGRl
YnVnRGV0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9XZWJL
aXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4IGZjMjFm
M2UuLjA1OTZjYWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudEltcGwuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBJbnNwZWN0b3JGcm9u
dGVuZENsaWVudEltcGxfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OwpAQCAtNDQsOCArNDMsOCBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIGNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7CiBjbGFzcyBXZWJEZXZUb29s
c0Zyb250ZW5kSW1wbDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDogcHVi
bGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsKK2NsYXNzIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
KTsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoV2ViQ29yZTo6UGFn
ZSosIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCop
OwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCgpOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAgYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAppbmRleCA4ODBhZGI0Li4wMjI2
ZWYzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBs
LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApA
QCAtNTgsNyArNTgsNiBAQAogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKICNpbmNsdWRlICJX
ZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogdXNpbmcgV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRl
dlRvb2xzRnJvbnRlbmRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJv
bnRlbmRJbXBsLmgKaW5kZXggODY2YTFjYi4uYjA4NTMzOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1
ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAt
NTUsOCArNTQsOCBAQCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogdXNpbmcgV1RG
OjpTdHJpbmc7CiAKLWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktp
dDo6V2ViRGV2VG9vbHNGcm9udGVuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJs
aWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAgICAgV2ViRGV2VG9vbHNGcm9u
dGVuZEltcGwoCiAgICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwqIHdlYlZpZXdJbXBsLApkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IGFkYWFiNjEuLmMwNTQ4MzcgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI3OSw3ICsyNzksOCBAQCBXZWJQbHVn
aW5Db250YWluZXJJbXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNvbnRhaW5lckZyb21GcmFtZShG
cmFtZSogZnJhbWUpCiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVycmlkZSBzb21lIG9mIFByaW50
Q29udGV4dCBiZWhhdmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwogLy8gbWFkZSB2aXJ0dWFsIHNv
IHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBsdWdpblByaW50Q29udGV4dC4K
LWNsYXNzIENocm9tZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmludENvbnRleHQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250
ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQcmludENvbnRleHQpOwogcHVi
bGljOgogICAgIENocm9tZVByaW50Q29udGV4dChGcmFtZSogZnJhbWUpCiAgICAgICAgIDogUHJp
bnRDb250ZXh0KGZyYW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmggYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwuaAppbmRleCA0YmJhZTI1Li42N2M0NjA4IDEw
MDY0NAotLS0gYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXJFZmwuaAorKysgYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXJFZmwuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVs
ZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAg
IHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oIGIvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggZDRi
YmVhMi4uM2ZiOGIxNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmgKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJI
VE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAgYi9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRkb3dubG9hZC5jcHAKaW5kZXggMThiNjRhYi4uZTI2YTVjNCAxMDA2NDQKLS0t
IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCisrKyBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcApAQCAtMjIsNyArMjIsNiBAQAogCiAjaW5jbHVkZSA8
Z2xpYi9naTE4bi1saWIuaD4KICNpbmNsdWRlICJHUmVmUHRyLmgiCi0jaW5jbHVkZSAiTm9uY29w
eWFibGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAt
NTQsNyArNTMsOCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAqIG91dCB3aGF0IGlzIHRv
IGJlIGRvd25sb2FkZWQsIGFuZCBkbyBpdCBpdHNlbGYuCiAgKi8KIAotY2xhc3MgRG93bmxvYWRD
bGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7
CitjbGFzcyBEb3dubG9hZENsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG93bmxvYWRDbGllbnQpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgRG93bmxvYWRDbGllbnQoV2ViS2l0RG93bmxvYWQqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dlYktpdC9tYWMv
Rm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDA1MDgwMjQuLjAwMDAwMDAKLS0tIGEvV2ViS2l0L21hYy9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbXBv
cnQgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oIGIvV2ViS2l0L21h
Yy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAppbmRleCBmNzg0
YWRlLi40ZjJjNTY2IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNj
YXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCisrKyBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQv
TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKQEAgLTMxMyw3ICszMTMsOCBAQCBwcml2YXRl
OgogICAgIGJvb2wgZGVtYXJzaGFsVmFsdWVGcm9tQXJyYXkoSlNDOjpFeGVjU3RhdGUqLCBOU0Fy
cmF5ICphcnJheSwgTlNVSW50ZWdlciYgaW5kZXgsIEpTQzo6SlNWYWx1ZSYgcmVzdWx0KTsKICAg
ICB2b2lkIGRlbWFyc2hhbFZhbHVlcyhKU0M6OkV4ZWNTdGF0ZSosIGRhdGFfdCB2YWx1ZXNEYXRh
LCBtYWNoX21zZ190eXBlX251bWJlcl90IHZhbHVlc0xlbmd0aCwgSlNDOjpNYXJrZWRBcmd1bWVu
dEJ1ZmZlciYgcmVzdWx0KTsKIAotICAgIGNsYXNzIExvY2FsT2JqZWN0TWFwIDogTm9uY29weWFi
bGUgeworICAgIGNsYXNzIExvY2FsT2JqZWN0TWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTG9jYWxPYmplY3RNYXApOwogICAgIHB1YmxpYzoKICAgICAgICAgTG9jYWxPYmplY3RN
YXAoKTsKICAgICAgICAgfkxvY2FsT2JqZWN0TWFwKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFj
L1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tIGIvV2ViS2l0L21hYy9TdG9yYWdl
L1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQppbmRleCAyOTEzNzM5Li42NWFiYTQzIDEwMDY0
NAotLS0gYS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCisr
KyBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KQEAgLTUy
LDcgKzUyLDggQEAgV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Ojp+V2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50KCkKIHsKIH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEaWRNb2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBk
aXNwYXRjaFRvTWFpblRocmVhZChXZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQqIGNsaWVudCwgU2Vj
dXJpdHlPcmlnaW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViS2l0
X3BjaC5oIGIvV2ViS2l0L3F0L1dlYktpdF9wY2guaAppbmRleCAxZGQ0ZDUyLi5lMDk1ZWY0IDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCisrKyBiL1dlYktpdC9xdC9XZWJLaXRf
cGNoLmgKQEAgLTcyLDcgKzcyLDYgQEAKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2lu
Y2x1ZGUgPHd0Zi9UQ1N5c3RlbUFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAjaW5jbHVkZSA8d3RmL0Fsd2F5c0lubGlu
ZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oIGIvV2ViS2l0L3dp
bi9DT01FbnVtVmFyaWFudC5oCmluZGV4IGE5M2EzYzIuLjY3MjUxMDcgMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAorKysgYi9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50
LmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2RlZmluZSBOT01JTk1BWAogI2luY2x1ZGUgPHVua253
bi5oPgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlICJDT01WYXJp
YW50U2V0dGVyLmgiCiAKIHRlbXBsYXRlPHR5cGVuYW1lIENvbnRhaW5lclR5cGU+Ci1jbGFzcyBD
T01FbnVtVmFyaWFudCA6IHB1YmxpYyBJRW51bVZBUklBTlQsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDT01FbnVtVmFyaWFudCA6IHB1YmxpYyBJRW51bVZBUklBTlQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENPTUVudW1WYXJpYW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09N
RW51bVZhcmlhbnQqIGFkb3B0KENvbnRhaW5lclR5cGUmKTsKICAgICBzdGF0aWMgQ09NRW51bVZh
cmlhbnQqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IENvbnRhaW5lclR5cGUmKTsKZGlmZiAtLWdpdCBh
L1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaCBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aAppbmRleCA2MTBjMzY3Li4yYjU3YTY3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTVByb3Bl
cnR5QmFnLmgKKysrIGIvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCkBAIC0yOSwxMyArMjks
MTMgQEAKICNkZWZpbmUgTk9NSU5NQVgNCiAjaW5jbHVkZSA8dW5rbnduLmg+DQogDQotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPg0KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPg0KIA0KICNp
bmNsdWRlICJDT01WYXJpYW50U2V0dGVyLmgiDQogDQogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVU
eXBlLCB0eXBlbmFtZSBLZXlUeXBlID0gdHlwZW5hbWUgV1RGOjpTdHJpbmcsIHR5cGVuYW1lIEhh
c2hUeXBlID0gdHlwZW5hbWUgV1RGOjpTdHJpbmdIYXNoPg0KLWNsYXNzIENPTVByb3BlcnR5QmFn
IDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIElQcm9wZXJ0eUJhZzIsIE5vbmNvcHlhYmxl
IHsNCitjbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJ
UHJvcGVydHlCYWcyIHsNCisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ09NUHJvcGVydHlCYWcp
Ow0KIHB1YmxpYzoNCiAgICAgdHlwZWRlZiBIYXNoTWFwPEtleVR5cGUsIFZhbHVlVHlwZSwgSGFz
aFR5cGU+IEhhc2hNYXBUeXBlOw0KIA0KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oIGIvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmgKaW5kZXggOWFjOGM2OS4uNzUzMTg4OCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9GdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyLmgKKysrIGIvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyLmgKQEAgLTEwMiw3ICsxMDIsOCBAQCBwcml2YXRlOgogICAgIGludCBtX2RyYWdTdGFy
dE9mZnNldDsKIH07CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3Jl
OjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUZ1bGxzY3JlZW5DbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAgYi9XZWJLaXQvd2luL1dl
YkRhdGFiYXNlTWFuYWdlci5jcHAKaW5kZXggYmRjYjU0OS4uZTJiODFlMSAxMDA2NDQKLS0tIGEv
V2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViRGF0
YWJhc2VNYW5hZ2VyLmNwcApAQCAtNTIsNyArNTIsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNF
cXVhbChMUENXU1RSIHMxLCBMUENXU1RSIHMyKQogICAgIHJldHVybiAhd2NzY21wKHMxLCBzMik7
CiB9CiAKLWNsYXNzIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0
eUJhZywgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5
QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0
YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcpOwogcHVibGljOgogICAgIHN0YXRpYyBEYXRhYmFzZURl
dGFpbHNQcm9wZXJ0eUJhZyogY3JlYXRlSW5zdGFuY2UoY29uc3QgRGF0YWJhc2VEZXRhaWxzJik7
CiAKQEAgLTMyOCw3ICszMjksOCBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkRhdGFi
YXNlTWFuYWdlcjo6ZGVsZXRlRGF0YWJhc2UoCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLWNsYXNz
IERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9k
aWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2lu
RGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2Vi
RGF0YWJhc2VNYW5hZ2VyKiBkYXRhYmFzZU1hbmFnZXIsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4p
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaCBiL1dlYktpdC93
aW4vV2ViSW5zcGVjdG9yLmgKaW5kZXggMDUzYTU5My4uY2QzMjRhOCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9XZWJJbnNwZWN0b3IuaAorKysgYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCkBA
IC0zMCwxMSArMzAsMTEgQEAKICNkZWZpbmUgV2ViSW5zcGVjdG9yX2gKIAogI2luY2x1ZGUgIldl
YktpdC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBjbGFzcyBXZWJWaWV3Owog
Ci1jbGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMgSVdlYkluc3BlY3RvciwgcHVibGljIElXZWJJ
bnNwZWN0b3JQcml2YXRlLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViSW5zcGVjdG9y
IDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViSW5zcGVjdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgV2ViSW5zcGVjdG9yKiBjcmVhdGVJbnN0YW5jZShXZWJWaWV3Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcCBiL1dlYktpdC93aW4vV2ViTG9j
YWxpemFibGVTdHJpbmdzLmNwcAppbmRleCBkYTZiMjIxLi5lOWI5OWFkIDEwMDY0NAotLS0gYS9X
ZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJM
b2NhbGl6YWJsZVN0cmluZ3MuY3BwCkBAIC03Miw3ICs3Miw4IEBAIHN0YXRpYyBMb2NhbGl6ZWRT
dHJpbmdNYXAgZnJhbWV3b3JrTG9jU3RyaW5ncygpCiAgICAgcmV0dXJuIG1hcDsKIH0KIAotY2xh
c3MgTG9jYWxpemVkU3RyaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsaXpl
ZFN0cmluZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxpemVkU3RyaW5nKTsKIHB1
YmxpYzoKICAgICBMb2NhbGl6ZWRTdHJpbmcoQ0ZTdHJpbmdSZWYgc3RyaW5nKQogICAgICAgICA6
IG1fY2ZTdHJpbmcoc3RyaW5nKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3Js
ZC5oIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCmluZGV4IGYwODhhNzIuLjAxNTExZGUg
MTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAorKysgYi9XZWJLaXQvd2lu
L1dlYlNjcmlwdFdvcmxkLmgKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIH0KIAotY2xhc3MgV2ViU2NyaXB0V29ybGQgOiBw
dWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViU2NyaXB0V29ybGQgeworY2xhc3MgV2ViU2Ny
aXB0V29ybGQgOiBwdWJsaWMgSVdlYlNjcmlwdFdvcmxkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXZWJTY3JpcHRXb3JsZCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlNjcmlwdFdvcmxk
KiBzdGFuZGFyZFdvcmxkKCk7CiAgICAgc3RhdGljIENPTVB0cjxXZWJTY3JpcHRXb3JsZD4gY3Jl
YXRlSW5zdGFuY2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFs
dWUuaCBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaAppbmRleCBhMmQ2ZDU2Li42
ZTM3NDdkIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKKysr
IGIvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCkBAIC0zNCw3ICszNCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiB9CiAK
LWNsYXNzIFdlYlNlcmlhbGl6ZWRKU1ZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMg
SVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0
ZSB7CitjbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBJV2ViU2VyaWFsaXplZEpT
VmFsdWUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXZWJTZXJpYWxpemVkSlNWYWx1ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IENPTVB0cjxXZWJTZXJpYWxpemVkSlNWYWx1ZT4gY3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBiL1dlYktpdC93aW4v
V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKaW5kZXggZThmNmI2Ny4uNDI4NTRiNCAxMDA2NDQK
LS0tIGEvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAorKysgYi9XZWJLaXQv
d2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCkBAIC0zMiw3ICszMiw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBVc2VyQ29udGVudFVSTFBhdHRlcm47CiB9CiAKLWNsYXNz
IFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElX
ZWJVc2VyQ29udGVudFVSTFBhdHRlcm4geworY2xhc3MgV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
IDogcHVibGljIElXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4geworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdlYlVzZXJDb250ZW50VVJMUGF0dGVybik7CiBwdWJsaWM6CiAgICAgc3RhdGljIENP
TVB0cjxXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzk0ZDlj
Ni4uMjI0NWJiZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0xMS0yMiAgWm9sdGFuIEhvcnZhdGggIDx6
b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBj
bGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQg
aW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5v
bmNvcHlhYmxlIGFuZCAKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWly
IG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBpbmNsdWRlcy4KKwog
MjAxMC0xMS0xNyAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9XZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBCaW5hcnlTZW1hcGhvcmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1By
aW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9Q
bGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJm
Ni4uZWMxYWNjZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9X
ZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVs
ZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5
LDcgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBNb2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1vZHVsZSk7CiBwdWJsaWM6CiAgICAgTW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAg
fk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBi
L1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQy
L1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJl
ZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJlZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAKQEAgLTUyLDcgKzUxLDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUK
ICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhh
bmRsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGlj
OgogICAgICAgICBIYW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHku
aAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAg
LTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
UnVuTG9vcC5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEw
YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysr
IGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBA
QCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nl
c3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgog
ICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApp
bmRleCA3OGZlMWY0Li44YzVlOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFBy
b2Nlc3MuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3
LDExIEBACiAjZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6
CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0
Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjku
LjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXIuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2Fn
ZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRi
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysg
Yi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBA
QAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50
aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JX
aW5kb3cuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5o
CmluZGV4IGU4ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvRmluZEluZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJ
bmRpY2F0b3JXaW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9y
dCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9y
dCA8d3RmL1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUy
Li4wZGM3YTljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNT
KQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQx
LDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7
CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDog
Tm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4u
OWUxNzQyZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2lu
SW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVn
aW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1
Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3Rvcmll
czsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQ
YXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1Ymxp
YzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIv
VUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNz
IFZpc2l0ZWRMaW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1By
b3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsK
IApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM0NzRiOGYuLjRl
YTEwMzUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQu
aAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01Myw3ICs1Miw2
IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1l
c3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9h
ZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVp
bnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAg
IH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRN
YW5hZ2VyLmgKaW5kZXggMTliYmU4Yy4uNjA3NGVkZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nl
c3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5l
IERvd25sb2FkTWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVz
b3VyY2VIYW5kbGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUEpTT2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9O
UEpTT2JqZWN0LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
bnBydW50aW1lX2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8v
IE5QSlNPYmplY3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3Mg
TlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09i
amVjdCA6IHB1YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09i
amVjdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVP
YmplY3RNYXAqIG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1h
bmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0
aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdl
ci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rp
b25zIGZvciB0aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1j
bGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4NGEg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgK
KysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJs
YXkuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2Li5hZTZj
NzE5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3Iu
aAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0Zvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0Zv
cndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAs
MCBAQAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmggYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKaW5kZXgg
NmNiNjM4ZS4uYmQzNmQ1OCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaApAQCAtNDUsNyArNDUsNiBAQAogCiAjaW5jbHVkZSAi
Q3BwVmFyaWFudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIApAQCAtNTgsNyArNTcsOCBAQCB0eXBlZGVmIFZlY3RvcjxDcHBWYXJpYW50PiBDcHBB
cmd1bWVudExpc3Q7CiAKIC8vIENwcEJvdW5kQ2xhc3MgbGV0cyB5b3UgbWFwIEphdmFzY3JpcHQg
bWV0aG9kIGNhbGxzIGFuZCBwcm9wZXJ0eSBhY2Nlc3NlcwogLy8gZGlyZWN0bHkgdG8gQysrIG1l
dGhvZCBjYWxscyBhbmQgQ3BwVmFyaWFudCogdmFyaWFibGUgYWNjZXNzLgotY2xhc3MgQ3BwQm91
bmRDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDcHBCb3VuZENsYXNzIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcHBCb3VuZENsYXNzKTsKIHB1YmxpYzoKICAgICBjbGFz
cyBQcm9wZXJ0eUNhbGxiYWNrIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmggYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKaW5kZXggZTE0Nzhk
MC4uMGRhYzRjNyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJURGV2VG9vbHNBZ2VudC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0RSVERldlRvb2xzQWdlbnQuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlRh
c2suaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0FnZW50Q2xpZW50LmgiCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKQEAgLTQ5LDggKzQ4LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7
CiAKIGNsYXNzIERSVERldlRvb2xzQ2xpZW50OwogCi1jbGFzcyBEUlREZXZUb29sc0FnZW50IDog
cHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVudAotICAgICAgICAgICAgICAgICAg
ICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29sc0FnZW50IDogcHVi
bGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRFJURGV2VG9vbHNBZ2VudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHNBZ2VudCgp
OwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQWdlbnQoKSB7fQpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaCBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKaW5kZXgg
OWNhMTQwMi4uMDMwZDY4NyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5j
bHVkZSAiRFJURGV2VG9vbHNDYWxsQXJncy5oIgogI2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRl
ICJXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4
LDggKzQ3LDggQEAgY2xhc3MgV2ViVmlldzsKIAogY2xhc3MgRFJURGV2VG9vbHNBZ2VudDsKIAot
Y2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250
ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEUlREZXZUb29sc0NsaWVudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJv
bnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQ2xpZW50
KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29sc0NsaWVudChEUlREZXZUb29sc0FnZW50KiwgV2Vi
S2l0OjpXZWJWaWV3Kik7CiAgICAgdmlydHVhbCB+RFJURGV2VG9vbHNDbGllbnQoKTsKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9u
Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5h
dmlnYXRpb25Db250cm9sbGVyLmgKaW5kZXggYjY3MTQ4OS4uODUwMmE5NiAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9s
bGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmln
YXRpb25Db250cm9sbGVyLmgKQEAgLTExMSw3ICsxMTEsOCBAQCBwdWJsaWM6CiAKIC8vIFRlc3Qg
c2hlbGwncyBOYXZpZ2F0aW9uQ29udHJvbGxlci4gVGhlIGdvYWwgaXMgdG8gYmUgYXMgY2xvc2Ug
dG8gdGhlIENocm9tZQogLy8gdmVyc2lvbiBhcyBwb3NzaWJsZS4KLWNsYXNzIFRlc3ROYXZpZ2F0
aW9uQ29udHJvbGxlcjogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3ROYXZpZ2F0aW9u
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdE5hdmlnYXRpb25Db250
cm9sbGVyKTsKIHB1YmxpYzoKICAgICBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIoTmF2aWdhdGlv
bkhvc3QqKTsKICAgICB+VGVzdE5hdmlnYXRpb25Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5o
CmluZGV4IDM4ODMxZDkuLjk2MThkYzQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCkBAIC00MSwxMiArNDEs
MTIgQEAKIAogI2luY2x1ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZhcy5oIgogI2luY2x1ZGUg
InRoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3JlL1NrQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogLy8gU2tpYSBmb3J3YXJkIGRlY2xhcmF0aW9ucwogc3RydWN0IFNr
SVJlY3Q7CiAKLWNsYXNzIFdlYlRoZW1lQ29udHJvbERSVCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdl
YlRoZW1lQ29udHJvbERSVCk7CiBwdWJsaWM6CiAgICAgLy8gVGhpcyBsaXN0IG9mIHN0YXRlcyBt
b3N0bHkgbWlycm9ycyB0aGUgbGlzdCBpbiBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAog
ICAgIC8vIGJ1dCBpcyBtYWludGFpbmVkIHNlcGFyYXRlbHkgc2luY2UgdGhhdCBpc24ndCBwdWJs
aWMgYW5kIGFsc28gdG8gbWluaW1pemUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCmluZGV4IGU1MDg4NmIuLjUzNjJm
YjMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRo
ZW1lRW5naW5lRFJULmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVGhlbWVFbmdpbmVEUlQuaApAQCAtNDgsOSArNDgsOSBAQAogI2RlZmluZSBXZWJUaGVtZUVu
Z2luZURSVF9oCiAKICNpbmNsdWRlICJ3aW4vV2ViVGhlbWVFbmdpbmUuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAotY2xhc3MgV2ViVGhlbWVFbmdpbmVEUlQgOiBwdWJsaWMgV2Vi
S2l0OjpXZWJUaGVtZUVuZ2luZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYlRoZW1l
RW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdlYlRoZW1lRW5naW5lRFJUKTsKIHB1YmxpYzoKICAgICBXZWJUaGVtZUVu
Z2luZURSVCgpIHt9CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9z
dFdpbmRvdy5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKaW5kZXgg
YTI3MzRlZC4uYzE3MTgxMyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9I
b3N0V2luZG93LmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgK
QEAgLTI2LDExICsyNiwxMCBAQAogI2RlZmluZSBIb3N0V2luZG93X2gKIAogI2luY2x1ZGUgPHdp
bmRvd3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktp
dEFQSVRlc3QgewogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhvc3RXaW5kb3cgewogcHVibGljOgogICAgIEhvc3RXaW5kb3coKTsKICAgICB+SG9zdFdp
bmRvdygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRy
b2xsZXIuaCBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKaW5k
ZXggMTFiNDU3ZC4uYmRjYzQ1NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVz
dC9UZXN0c0NvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3Rz
Q29udHJvbGxlci5oCkBAIC0yOCwxMyArMjgsMTMgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCiBjbGFz
cyBUZXN0OwogCi1jbGFzcyBUZXN0c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgVGVzdHNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0c0Nv
bnRyb2xsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXN0c0NvbnRyb2xsZXImIHNoYXJlZCgp
OwogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmggYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKaW5k
ZXggZmVjMWY3YS4uMjM2Y2MxYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdEludm9jYXRpb24uaApAQCAtMjcsMTEgKzI3LDEwIEBACiAjZGVmaW5lIFRlc3RJbnZvY2F0
aW9uX2gKIAogI2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdUUiB7CiAKLWNsYXNzIFRlc3RJbnZvY2F0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RJbnZvY2F0aW9uIHsKIHB1YmxpYzoK
ICAgICBUZXN0SW52b2NhdGlvbihjb25zdCBjaGFyKik7CiAgICAgflRlc3RJbnZvY2F0aW9uKCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74640</attachid>
            <date>2010-11-23 04:10:47 -0800</date>
            <delta_ts>2010-11-23 05:40:44 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>kedd2.patch</filename>
            <type>text/plain</type>
            <size>325784</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li5iYTlkYzc5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi44ZTk4NjM5IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC0xMTIsNyArMTEyLDkgQEAgc3RydWN0IEJyYWNr
ZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7CiB9OwogCi1zdHJ1
Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNoRnJhbWUgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJuTG9jYXRpb24gcmV0
dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3VzRnJhbWU7CiAgICAg
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRleCA3NmMxNDcwLi4y
NTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmll
ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4
LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNpbmNsdWRlIDxydW50
aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcgbV9uYW1lOwogICAg
ICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVOdW1iZXI7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIvSmF2YVNjcmlwdENv
cmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7ICAgIAogCi0gICAg
Y2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUHJvZmls
ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNlKCkKICAgICAgICAg
ewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmggYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2UzYzIwIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5jbHVkZSAiQ2FsbEZy
YW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAgICBjbGFzcyBNYXJr
ZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFya2Vk
QXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYXJrZWRBcmd1
bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8UmVnaXN0ZXIsIGlu
bGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5k
ZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCkBAIC0z
Myw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBBcmd1bWVudHNE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRhIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpT
QWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJz
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9w
dGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3LDEyICsyNywxMiBA
QAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVmaW5lIEJhdGNoZWRU
cmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEJh
dGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIDogbV9v
YmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0
b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5kZXggMjM3YzEzOS4u
OTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFnZUFsbG9jYXRp
b24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyArODYsOCBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBIZWFwIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJlYWQ7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAxZTIyYjZhLi5mMTdl
MjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0y
Miw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAogI2luY2x1ZGUgIklk
ZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gTWFya2VkQXJn
dW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1hY3JvIHNvIHdlIGNh
biBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVwZWF0aW5nIHRoZSBs
aXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIENv
bW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb21tb25J
ZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklkZW50aWZp
ZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICBDb21t
b25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpTR2xv
YmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQuLjczNjNhZjggMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkpTVmFs
dWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4wYzViYmVkIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUsNyArNDY1LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJyYXkoZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1ZXMpOwogICAgIH0K
IAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNH
bG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAgICAgOiBtX2R5bmFt
aWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5bmFtaWNHbG9iYWxP
YmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42NGQ3YTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgSlNMb2NrX2gK
IAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRpb25zT25seSwgTG9j
a0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNMb2NrKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAgICAgICAgSlNMb2Nr
KEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAgICBjbGFzcyBEcm9w
QWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBEcm9wQWxsTG9j
a3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFsbExvY2tzKTsKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNTdGF0ZSogZXhlYyk7
CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHByaXZhdGU6CiAgICAg
bXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdpZmllciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVyKEV4ZWNTdGF0ZSos
IEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJpbmdpZmllcigpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHR5cGVk
ZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAgICAgdHlwZWRlZiB2
b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlT2JqZWN0LCBKU1Zh
bHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmluZ0ltcGwqIGtleSwg
dW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRyX3QgdjIKICNpZiBF
TkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2su
aCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXggYzU1MWJhYy4uMTAx
OGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2suaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3ICsyNyw4IEBACiAj
ZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAgICAgZW51bSBNYXJr
U2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxWYWx1ZXMgfTsKICAg
ICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFya1N0
YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNrKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAgICAgICAgICAgIDog
bV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3QgUmVnRXhwQ29uc3Ry
dWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSA6IEZh
c3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgLy8gR2xv
YmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yUHJp
dmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsKIAot
ICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAg
ICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAg
IFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiByZWdFeHAsIGRvdWJs
ZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhwKQogICAgICAgICAg
ICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWlu
LmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWlu
LmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAjZGVmaW5lIFNjb3Bl
Q2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hhaW5JdGVyYXRvcjsK
ICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWluTm9kZSog
bmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAgICAgICAg
IDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0
cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4
IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21h
bGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5j
cHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5j
bHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDcgKzM5LDggQEAg
c3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJu
IHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxT
dHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NT
dG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsK
IHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAg
ICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNt
YWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTbWFsbFN0cmlu
Z3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xU
YWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJv
bFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVm
IEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5LCBJZGVudGlmaWVy
UmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3ltYm9sVGFibGVJbmRl
eEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVkU3ltYm9sVGFibGUg
OiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJlZFN5bWJvbFRhYmxl
PiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlNDZWxsOwogCiAvLyBB
IEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZhbHVlKCkgZm9yIGNl
bGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZSwgdHlw
ZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAv
KgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMgdGhlIFdlYWtHQ01h
cCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0
ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIu
aApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3IuaCIKICNpbmNsdWRl
ICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMg
MCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNs
YXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vha0dDUHRyKTsKIHB1
YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApAQCAtNTEsNyArNTEs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFs
IGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkK
ICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAg
ICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291bnRlZCk7CiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVhZFJlZkNvdW50ZWQ8
VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCBi
ZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGgu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYsNyArNDYsNiBAQAog
I2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyArMTA4LDkgQEAgZG91
YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhlY1N0YXRlKiwgY29u
c3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVycmlkZGluZyB0aGUg
ZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2YgdG0gZGlmZmVyIG9u
IHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBHcmVnb3JpYW5EYXRl
VGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRlKDApCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1
ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBAIC00NCw3ICs0NCw4
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIERlcXVl
Q29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGNs
YXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIERlcXVlIHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVk
ZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0
SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaApp
bmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFz
dEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAg
LTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVycmlkZXMgb2YgZmFz
dE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8KIC8vIFByb3ZpZGVk
IGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIC8v
ICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxvY0Jhc2U7CiAvLwog
Ly8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+
KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1bWVzIHRoYXQgdGhl
IHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xhc3MgV2lkZ2V0IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdpZGdldCB7CisvLyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8gICAgfTsKIC8vCiAv
LyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAgZmFzdERlbGV0ZShj
aGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi0jZGVmaW5l
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZvaWQqIG9wZXJhdG9y
IG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZvaWQqIG9wZXJhdG9y
IG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAgXAotICAgIHZvaWQq
IG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAgICB2b2lkKiBwID0g
OjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0
Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsg
XAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9y
IGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0
Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwK
LSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAgXAotICAgIHZvaWQq
IG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAg
PSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01h
dGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0Fy
cmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9w
ZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0
TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFz
c05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi1w
cml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAogICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RBbGxvY0Jhc2Ugewog
CiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NCYXNlOwogdXNpbmcg
V1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYgLy8gRmFzdEFsbG9j
QmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRlZDc1YzUuLjdhYjI5
ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwxNCArMjIsMTQgQEAK
ICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIK
LSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1hcC5oIgogI2luY2x1
ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+
IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0
eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHM+
IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9I
YXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4IDA5MDk0ZDEuLjQ5
NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBuYW1lc3BhY2UgV1RG
IHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0
eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKICAg
ICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0eXBlbmFt
ZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgotICAgIGNsYXNzIEhh
c2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRl
ZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0Fy
ZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5o
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0Li5iZWFlNGZiIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9yOwogCiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZh
dWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRyYWl0c0FyZyA9IEhh
c2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBj
bGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlw
ZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCmluZGV4
IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCkBAIC01Miw3ICs1
Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBz
aXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I7CiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlw
ZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5jdGlvbnM7CiAKLSAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2
LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNo
PiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFt
ZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBM
aXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0
ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcsIGlubGluZUNhcGFj
aXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxWYWx1
ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKaW5kZXgg
NDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEgKzI4LDExIEBACiAj
aWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFz
cyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNs
YXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2VyKTsKIHB1YmxpYzoK
ICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJsZSkgeyBtX2xvY2th
YmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5sb2NrKCk7IH0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9N
RDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0zMiw2ICszMiw3IEBA
CiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUg
PHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5o
CmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9N
ZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKQEAg
LTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtNDgs
NyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3NhZ2VzIGFyZSBmZXRj
aGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNzYWdlUXVldWUgYWN0
cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
RGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShN
ZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1ZXVlKCkgOiBtX2tp
bGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNv
cHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVkMmUuLjAwMDAwMDAK
LS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICog
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdURl9Ob25jb3B5
YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYgX19oYXNfZmVhdHVy
ZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQotI2lmIF9faGFzX2Zl
YXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcHVz
aCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVd1bmtu
b3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZhdGU6IFwKLSAgICAg
ICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAotICAgICAgICAg
ICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxldGU7IFwKLSAg
ICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UKLSAgICAjZGVmaW5l
IFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBwcml2YXRlOiBcCi0g
ICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAgICAgICAgICAgIENs
YXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYKLQotLy8gV2UgZG9u
J3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4gZXZlcnl0aGluZyBm
cm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29weWFibGUsIHNvIHB1
dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIK
LQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5vbmNvcHlhYmxlIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShjb25zdCBOb25jb3B5
YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0IE5vbmNvcHlhYmxl
Jik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsgfQotICAgICAgICB+
Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXVEZOb25jb3B5YWJs
ZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNlbmRpZiAvLyBXVEZf
Tm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRy
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2NDNiOTBiLi5jZDY0
ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmlu
ZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUg
Ik5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93bkFycmF5
UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyArMzQsNyBAQCBuYW1l
c3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NPd25BcnJheVB0cjsK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9wdEFycmF5UHRyKFQq
KTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0ciB7CiBw
dWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RN
YWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25G
YXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBPd25GYXN0TWFsbG9j
UHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5o
IgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZh
c3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShP
d25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0IE93bkZhc3RN
YWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCmlu
ZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIyLDcgKzIyLDYgQEAK
ICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVk
ZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5jbHVkZSAiT3duUHRy
Q29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyArMzgsNyBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duUHRyOwog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQdHIoVCopOwogCi0g
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewogICAgIHB1YmxpYzoK
ICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpUeXBlIFZhbHVlVHlw
ZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Q
bGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0yLDYgKzIs
NyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBN
b2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQg
MjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJz
aXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTE4LDQg
KzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgogCisvKiBOb25jb3B5
YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRlZiBfX2hhc19mZWF0
dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgorCisjaWYgX19oYXNf
ZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBXVEZfTUFLRV9OT05D
T1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBw
dXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV3Vu
a25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJpdmF0ZTogXAorICAg
ICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRlOyBcCisgICAgICAg
ICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAor
ICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxzZQorICAgICNkZWZp
bmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIHByaXZhdGU6IFwK
KyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAorICAgICAgICAgICAg
Q2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRpZgorCisvKiBQcm92
aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9kZWxldGUgKi8KKwor
I2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwKKyAgICB2b2lkKiBv
cGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKKyAgICB2b2lkKiBv
cGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAorICAgIFwKKyAg
ICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwKKyAgICAgICAgdm9p
ZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6OldURjo6ZmFzdE1h
bGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFz
c05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCBv
cGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6OldURjo6ZmFzdE1h
bGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NO
ZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0gXAorICAgIFwKKyAg
ICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsgXAorICAgICAgICB2
b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAgOjpXVEY6OmZhc3RN
YWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xh
c3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBcCisgICAg
dm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisgICAgICAgICA6OldU
Rjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NU
eXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAg
IH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVk
LmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAKICNpbmNsdWRlICJB
c3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0QWxs
b2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMxLDggQEAgaW5saW5l
IHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5kaWYKIAotdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkQmFzZSwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50
ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
ZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZvaWQgZGVy
ZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0
ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkKICAgICB7CiAgICAg
fQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLjNmYWFiYWQgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgK
QEAgLTI0LDcgKzI0LDYgQEAKICNkZWZpbmUgV1RGX1JlZlB0cl9oCiAKICNpbmNsdWRlIDxhbGdv
cml0aG0+Ci0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIu
aCIKIAogbmFtZXNwYWNlIFdURiB7CkBAIC0zNiw3ICszNSw4IEBAIG5hbWVzcGFjZSBXVEYgewog
CiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZh
bHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFM
V0FZU19JTkxJTkUgUmVmUHRyKCkgOiBtX3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElO
RSBSZWZQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKaW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvUmVmUHRySGFzaE1hcC5oCkBAIC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewog
ICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5
cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJh
aXRzQXJnPgotICAgIGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcs
IEtleVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFp
dHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsK
ICAgICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2Fm
ODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50
aWZpZXJEYXRhUHRocmVhZHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRp
ZmllckRhdGFQdGhyZWFkcy5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRl
bnRpZmllckRhdGFQdGhyZWFkc19oCiAjZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVh
ZHNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBp
biB0aGUgdGhyZWFkLXNwZWNpZmljIHN0b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lm
aWMgMi1wYXNzIGRlc3RydWN0aW9uIHRvIHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRp
ZmllciBmcm9tIHRocmVhZE1hcC4gSXQgYXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5
cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1wYXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRl
bnRpZmllckRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmll
ckRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsK
IHB1YmxpYzoKICAgICB+VGhyZWFkSWRlbnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTYWZlU2hhcmVkLmgKaW5kZXggMzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBAIC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0
Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRocmVhZFNhZmVTaGFyZWRCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAg
ICAgICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNw
ZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uMTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZFNwZWNpZmljLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNw
ZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYgQEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gK
ICNkZWZpbmUgV1RGX1RocmVhZFNwZWNpZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAjaWYgVVNFKFBUSFJFQURTKQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcg
KzYwLDggQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgp
OwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNw
ZWNpZmljIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJs
aWM6CiAgICAgVGhyZWFkU3BlY2lmaWMoKTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3
ICs4NCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwog
CiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBP
UyhXSU5ET1dTKQotICAgIHN0cnVjdCBEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBE
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgog
ICAgICAgICBEYXRhKFQqIHZhbHVlLCBUaHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUo
dmFsdWUpLCBvd25lcihvd25lcikge30KICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEo
KSB7IG93bmVyLT5kZXN0cm95KHRoaXMpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNp
ZmljV2luLmNwcAppbmRleCBmMmMwY2FkLi5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3Qg
YmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVh
ZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZGluZy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0
OWRlNTllLi43MmFlNWU1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAs
OSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0
QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdUaHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24g
ZW50cnlQb2ludCwgdm9pZCogZGF0YSwgY29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRy
eVBvaW50KGVudHJ5UG9pbnQpCiAgICAgICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oCmluZGV4IDA0NDM2NWYuLmRhZWExOGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2
LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2Nr
ZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmlt
aXRpdmVzLmgKaW5kZXggYzExYTZjYi4uMmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0zNSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogI2lmIE9TKFdJTkRPV1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYs
NyArOTUsOCBAQCB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYg
dm9pZCogUGxhdGZvcm1Db25kaXRpb247CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNdXRleCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsK
ICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExv
Y2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUmVhZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVhZFdyaXRlTG9jayk7CiBwdWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAg
IH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0xMzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0
Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFkV3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29u
ZGl0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBU
aHJlYWRDb25kaXRpb24oKTsKICAgICB+VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgK
aW5kZXggZjczNzkzZi4uYWJjOTYwMyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Zl
Y3Rvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBA
QAogI2lmbmRlZiBXVEZfVmVjdG9yX2gKICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRl
ICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJG
YXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAiTm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRy
YXMuaCIKICNpbmNsdWRlICJWYWx1ZUNoZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3Mg
VmVjdG9yQnVmZmVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9y
QnVmZmVyQmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJh
c2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3
Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAgLTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5
ID0gMD4KLSAgICBjbGFzcyBWZWN0b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xh
c3MgVmVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRl
OgogICAgICAgICB0eXBlZGVmIFZlY3RvckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVy
OwogICAgICAgICB0eXBlZGVmIFZlY3RvclR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25z
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBU
aGlzIHdhcyBFTkFCTEUoV09SS0VSUykgaW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmlu
ZWQgd2hlbiBjb21waWxpbmcgSlNDLgpAQCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhh
c2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJhbElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRp
ZmllclRhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxl
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVy
VGFibGUoKTsKIApAQCAtODQsNyArODQsOCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAog
dHlwZWRlZiB2b2lkICgqQXRvbWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdU
YWJsZSopOwogCi1jbGFzcyBXVEZUaHJlYWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdURlRocmVhZERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERh
dGEpOwogcHVibGljOgogICAgIFdURlRocmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgp
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENv
cmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAK
QEAgLTQxNCw3ICs0MTQsMTAgQEAgc3RhdGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0
IEJpZ0ludCYgYlJlZikKICAgICBhUmVmID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9k
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAg
ICAgQmlnSW50IHZhbDsKICAgICBQNU5vZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmpl
Y3QvR093blB0ci5oCmluZGV4IGNlYzNlNDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29i
amVjdC9HT3duUHRyLmgKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4K
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBleHRlcm4gIkMiIHZvaWQgZ19mcmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0
ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyop
OwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8
PiB2b2lkIGZyZWVPd25lZEdQdHI8R0ZpbGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBjbGFzcyBHT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBHT3duUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRy
KTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRy
KSB7IH0KICAgICB+R093blB0cigpIHsgZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2Rl
ZmluZSBTdHJpbmdCdWZmZXJfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+
CiAjaW5jbHVkZSA8bGltaXRzPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVm
ZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5nQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBT
dHJpbmdCdWZmZXIodW5zaWduZWQgbGVuZ3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIw
MzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNl
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYs
MTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1w
bEJhc2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Vu
aWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJh
c2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBib29sIGlzU3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50
QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJ
bnZhbGlkRm9yU3RyaW5nSW1wbDsgfQogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVm
ZmVyU2hhcmVkLAogICAgIH07CiAKLSAgICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3
OwotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJU
KGluUGxhY2UpOyByZXR1cm4gaW5QbGFjZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3Rv
cmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFuIGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4K
ICAgICBTdHJpbmdJbXBsQmFzZSgpIHsgfQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvdW5pY29kZS9Db2xsYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0
b3IuaAppbmRleCBmZTZhODA5Li41YWIzNDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvdW5pY29kZS9Db2xsYXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0Nv
bGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZp
bmUgV1RGX0NvbGxhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CkBAIC0zOSw3ICszOCw4IEBAIHN0cnVjdCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewog
Ci0gICAgY2xhc3MgQ29sbGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENv
bGxhdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVh
bCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNzID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUveWFyci9SZWdleEludGVycHJldGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4
SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYxY2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJy
L1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAtMzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7
CiAgICAgfQogfTsKIAotY2xhc3MgQnl0ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworY2xhc3MgQnl0ZURpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIEJ5dGVEaXNqdW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywg
dW5zaWduZWQgZnJhbWVTaXplKQogICAgICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0
dGVybnMpCkBAIC0zMTcsNyArMzE4LDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVT
aXplOwogfTsKIAotc3RydWN0IEJ5dGVjb2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3Ry
dWN0IEJ5dGVjb2RlUGF0dGVybiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1Ymxp
YzoKICAgICBCeXRlY29kZVBhdHRlcm4oUGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHks
IFZlY3RvcjxCeXRlRGlzanVuY3Rpb24qPiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVy
biYgcGF0dGVybiwgQnVtcFBvaW50ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBt
X2JvZHkoYm9keSkKICAgICAgICAgLCBtX2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2Up
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNj
cmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAg
ICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDaGFyYWN0ZXJDbGFzcyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoK
ICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xhc3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVs
bCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFuZ2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0
aW9uYWwgdGFibGUgZm9yIGZhc3RlciBsb29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAg
IC8vIHNwZWNpZmllZCBtYXRjaGVzIGFuZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3Ry
dWN0IFBhdHRlcm5UZXJtIHsKICAgICB9CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZl
IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0
ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0
aW9uKQogICAgICAgICAsIG1fb25jZVRocm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAg
c3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9j
b250YWluc0JPTCA6IDE7CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJu
YXRpdmUqIHBhcmVudCA9IDApCiAgICAgICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAs
IG1faGFzRml4ZWRTaXplKGZhbHNlKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdl
TG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCmluZGV4IGM3YjJkY2UuLjRhNjk5MzIgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6
b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBj
bGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQg
aW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5v
bmNvcHlhYmxlIGFuZCAKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWly
IG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3Nh
cnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRl
cnMvd3RmL05vbmNvcHlhYmxlLmg6IFJlbW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50
ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNs
b3VnaC4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9O
b25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNv
cHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAK
LS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgK
KysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9u
Y29weWFibGUuaD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNTQwMDk3Ny4uNjRmNmQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAg
Wm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBh
bmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxs
b2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5Niwg
IzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGlu
aGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJs
ZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAg
KiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0x
MS0xOCAgU2F0aXNoIFNhbXBhdGggIDxzYXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEplcmVteSBPcmxvdy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9O
b25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAw
MDAwCi0tLSBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFi
bGVfaAotI2RlZmluZSBXZWJDb3JlX0ZXRF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvTm9uY29weWFibGUuaD4KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKaW5kZXggODVkYjZmZC4uOTVmYjc1NSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCkBAIC02MzU1OCwxMCArNjM1NTgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmls
ZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNc
d3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgi
DQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aAppbmRleCAyZWU1NmVlLi5iMmFjODY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmgKQEAgLTU3LDcgKzU3LDggQEAgc3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQ
b3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xh
c3MgQVhPYmplY3RDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2Jq
ZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
U291cmNlUHJvdmlkZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNl
UHJvdmlkZXIuaAppbmRleCA4MDlhNDg4Li5kMDkxNDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRl
ciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQcm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUo
Q2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRT
Y3JpcHRTb3VyY2VQcm92aWRlcihjYWNoZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0Nv
bnRyb2xsZXIuaAppbmRleCA0YzI1NDA3Li5kMzJmNzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250
cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwxMiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2Rl
ZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSAiVGltZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgICAgICBmcmllbmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsK
IAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5k
aW5nLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYu
Ljc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBA
QAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9va3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NN
YXAuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSAiSlNET01XcmFwcGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
Nyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5n
IGRlbGV0ZWQgd2l0aG91dCBiZWluZyByZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3
cmFwcGVycyBiZWluZyBjYWNoZWQgdHdpY2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEpTRGVidWdXcmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RG
OjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVnV3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGlj
IEpTRGVidWdXcmFwcGVyU2V0JiBzaGFyZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFp
blRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAj
aWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBK
U01haW5UaHJlYWRFeGVjU3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWlu
VGhyZWFkRXhlY1N0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRF
eGVjU3RhdGUpOwogcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0
YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRB
Y3Rpb24uaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5
ZDBiYS4uY2ZjZWVkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRB
Y3Rpb24uaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00
MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVp
dGhlciBvbmNlIG9yIHJlcGVhdGVkbHkuIFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAg
ICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVk
QWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24g
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8
U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQq
IGlzb2xhdGVkV29ybGQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENhY2hlZEZyYW1lRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFt
ZURhdGEuaAppbmRleCAxNWMyM2M1Li4yNzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIERPTVdpbmRvdzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAK
LSAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRDYWNoZWRGcmFtZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgICAgICB0eXBlZGVmIEhhc2hNYXA8IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlBy
b3RlY3RlZFB0cjxKU0RPTVdpbmRvdz4gPiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5
M2Y3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1
Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFz
cyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6
RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6
IEpTQzo6RGVidWdnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2Vy
dmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0
RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdFByb2ZpbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgK
aW5kZXggMDVlN2EyNS4uZDRkZDYwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRQcm9maWxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIu
aApAQCAtMzIsMTEgKzMyLDExIEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1
ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0
YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0
bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2Ny
aXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAt
NTIsNyArNTEsOCBAQCBjbGFzcyBQYWdlOwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMg
cHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRl
OwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlw
dFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVj
dGVkUHRyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVu
dERhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4
IDVkMDMzMjguLjUyOGNiYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50
RGF0YS5oCkBAIC0yNCwxNyArMjQsMTggQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5o
IgogI2luY2x1ZGUgIkRPTU9iamVjdEhhc2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEg
OiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRh
OjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnRE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxE
YXRhV29ybGRJdGVyYXRvcjsKICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnRE
YXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnRE
YXRhKCkgeyB9CiAgICAgdmlydHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAg
ICAgICBBU1NFUlQobV93b3JsZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBi
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2Rh
NGQuLjc4YjdkZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJv
bGxlci5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0
NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBj
bGFzcyBXb3JrZXJDb250ZXh0OwogCi0gICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0
Q29udHJvbGxlcihXb3JrZXJDb250ZXh0Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9s
bGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvRE9NRGF0YS5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAv
LyB0aHJlYWQuICBUaGUgRE9NRGF0YSBmb3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0
YSBmb3IgY2hpbGQgdGhyZWFkcwogICAgIC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAg
ICAvLwotICAgIGNsYXNzIERPTURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IERPTURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIERPTURhdGEoKTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKaW5kZXggMzc1OGUyMy4uOGM2YzAyYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djgu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CkBAIC0xNDksNyArMTQ4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xh
c3MgZG9lc24ndCBtYW5hZ2UgdGhlIGxpZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0
b3JlCiAgICAgLy8gbGlmZXRpbWUgaXMgbWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0g
ICAgY2xhc3MgRE9NRGF0YVN0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBE
T01EYXRhU3RvcmUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUp
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAg
ICAgICBET01Ob2RlTWFwLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRD
YWNoZWRGcmFtZURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhLmgKaW5kZXggMWFhMWY2Mi4uZjQyZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENhY2hlZEZyYW1lRGF0YS5oCkBAIC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5j
bHVkZSAiT3duSGFuZGxlLmgiCiAjaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERP
TVdpbmRvdzsKIAotY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRDYWNoZWRGcmFtZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEoRnJhbWUqKTsKICAgICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIz
ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzks
NiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBA
IC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBT
Y3JpcHREZWJ1Z0xpc3RlbmVyOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHRE
ZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaApp
bmRleCBiNzVhMDU0Li5lMDk2OWUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdFByb2ZpbGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5o
CkBAIC0zNiwxMyArMzYsMTMgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0
UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUp
OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUq
IHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0U3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApp
bmRleCAxMTgxM2IwLi5kYzI0NzEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdFN0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0z
Myw3ICszMyw2IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2
OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJh
bWU7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsg
cmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0VtcHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2
ODo6TG9jYWw8djg6OlZhbHVlPiBleGNlcHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoK
ICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgpIHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90
ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0
ZWRQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRy
KTsKIHB1YmxpYzoKICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0
ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0
U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShzY3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgs
NyArMTI4LDggQEAgcHJpdmF0ZToKIAogLy8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJp
YWxpemluZyBwcmltaXRpdmUgdHlwZXMgYW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQg
dG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRlIHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFi
bGUgeworY2xhc3MgV3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwog
cHVibGljOgogICAgIFdyaXRlcigpCiAgICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcg
KzM3OCw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTdGF0ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmly
dHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRn
ZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJp
ZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBAQAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAi
QnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBK
U0MgIHsKIAogbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhvZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0
aG9kKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0K
ICAgICB2aXJ0dWFsIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVh
bCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVw
LmggYi9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uY2E0M2Fk
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNv
cmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElk
ZW50aWZpZXJSZXBfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNs
dWRlIDxzdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRp
ZmllclJlcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZp
ZXJSZXAqIGdldChpbnQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hh
ciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCmluZGV4IDk2OTc0ZDkuLjg4ZWM3MjQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9q
c2MvQnJpZGdlSlNDLmgKQEAgLTU5LDggKzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5G
aWVsZCgpIHsgfQogfTsKIAotY2xhc3MgQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ2xhc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBDbGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9k
TGlzdCBtZXRob2RzTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgRmllbGQqIGZpZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3Rh
bmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVj
U3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5l
ZCgpOyB9CkBAIC0xMjUsNyArMTI3LDggQEAgcHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGlt
ZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0OwogfTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXJyYXkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5
KTsKIHB1YmxpYzoKICAgICBBcnJheShQYXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0
dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290Lmgg
Yi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaAppbmRleCBiYWJkN2FkLi4zOWZiMzU3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaAorKysgYi9XZWJDb3JlL2Jy
aWRnZS9ydW50aW1lX3Jvb3QuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvV2Vi
Q29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCmluZGV4IDgzM2Q3ZmUuLjU2YjI4MjUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbWFn
ZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNz
IFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENTU0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZl
VmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7
IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5o
CmluZGV4IDEwZDMwMjYuLjczZjJhY2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9y
dFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcg
QEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVTaGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3Mg
Q1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBDU1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNv
bnN0IFN0cmluZyYgaHJlZiwgUGFzc1JlZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFt
ZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4uMDZkNDA2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3Mv
Q1NTTmFtZXNwYWNlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcg
KzI2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFj
ZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFtZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
KyAgICBwdWJsaWM6CiAgICAgICAgIEF0b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAgIEF0b21p
Y1N0cmluZyB1cmk7CiAgICAgICAgIE93blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgK
aW5kZXggMWRhMjBiNy4uOTcyZjc3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTMyOCw3ICszMjgsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgaW50IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAg
ICAgaW50IGNzc1ZhbHVlS2V5d29yZElEKGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAg
Y2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3Mg
U2hvcnRoYW5kU2NvcGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgU2hvcnRoYW5kU2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9w
SWQpIDogbV9wYXJzZXIocGFyc2VyKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4
IDk5M2FlMjguLjQ1ZjRhNDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVl
cy5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBA
IHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRl
Q1NTVmFsdWUoKTsKIH07CiAKLWNsYXNzIENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKK2NsYXNzIENTU1BhcnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6
IG1fY3VycmVudCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQ
YXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24g
OiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAg
ICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVMaXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5LmggYi9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCmluZGV4IDEw
NjE3MWQuLjlhOWVjNDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysr
IGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIENTU1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworY2xhc3MgQ1NTUHJvcGVydHkgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQ1NTUHJvcGVydHkoaW50IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFs
dWUsIGJvb2wgaW1wb3J0YW50ID0gZmFsc2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1w
bGljaXQgPSBmYWxzZSkKICAgICAgICAgOiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRl
eCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNz
IENTU1NlbGVjdG9yQmFnIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9y
QmFnIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6
CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKGlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NT
ZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li40NmY0
YWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmll
ZE5hbWUuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogCkBAIC0zMyw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBDU1NTZWxlY3RvckJhZzsKIAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBh
IHNlbGVjdG9yIGZvciBhIFN0eWxlUnVsZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENTU1NlbGVjdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIENTU1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihE
ZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMwMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdW5zaWduZWQgc3BlY2lmaWNpdHlGb3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0
cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25j
b3B5YWJsZSB7CisgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAg
IHB1YmxpYzoKICAgICAgICAgICAgIFJhcmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRh
Z0hpc3RvcnkpCiAgICAgICAgICAgICAgICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1f
YigwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAppbmRleCA5ZTQwZWY4Li44NTg0Mjc1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvckxpc3QuaApAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9o
CiAKICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDU1NTZWxlY3Rvckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIENTU1NlbGVjdG9yTGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQog
ICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMWZm
M2JkNS4uMDVhMWJmNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5j
cHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDks
OCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NT
UnVsZVNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDU1NSdWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0
KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuaCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUx
Li4xM2ZjOTdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysr
IGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNz
IFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlOwogCi1jbGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIE1lZGlhUXVlcnlSZXN1bHQoY29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCBy
ZXN1bHQpCiAgICAgICAgIDogbV9leHByZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1
YmxpYzoKIH07CiAKICAgICAvLyBUaGlzIGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3Ig
YSBnaXZlbiBlbGVtZW50IGJhc2VkIG9uIGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAg
ICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5
bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBDU1NTdHlsZVNlbGVjdG9yKERvY3VtZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0
cywgQ1NTU3R5bGVTaGVldCogbWFwcGVkRWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgIENTU1N0eWxlU2hlZXQqIHBhZ2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8
Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdyb3VwVXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBA
QCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxl
Tm90WWV0QXZhaWxhYmxlKCkgeyByZXR1cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0g
ICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
ICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTZWxlY3RvckNoZWNrZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxl
Y3RvckNoZWNrZXIoRG9jdW1lbnQqLCBib29sIHN0cmljdFBhcnNpbmcpOwogCkBAIC0zMTUsNyAr
MzE4LDggQEAgcHVibGljOgogICAgICAgICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdCo+IG1fdmll
d3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5UmVzdWx0czsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NT
UnVsZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9z
LCBDU1NTdHlsZVJ1bGUqIHIsIENTU1NlbGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0g
MCkKICAgICAgICAgICAgIDogbV9wb3NpdGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVi
bGljOgogICAgICAgICBDU1NSdWxlRGF0YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBD
U1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVE
YXRhTGlzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YUxpc3QodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwp
CiAgICAgICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnkuaAppbmRleCAyODEwMDliLi43ZDFmYzdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBN
ZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIGVudW0gUmVzdHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwgTm9u
ZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCmluZGV4IDAwYWMzOTQuLmQ4YzU5ODMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAorKysgYi9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVy
eUV4cDsKICAqIHRoZSBkZXZpY2UgY2hhcmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMg
Y2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhlIGxvYWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9u
bHkgdGhvc2Ugd2hpY2ggYXJlIHByb2JhYmxlIHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1
ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFs
dWF0b3IgeworICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0
b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZh
bHVhdG9yIHJldHVybnMgdHJ1ZSBmb3IgImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRp
YUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBi
L1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAppbmRleCA3MmQzZmZmLi44ZTQyNTVlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeUV4cC5oCkBAIC0zOCw3ICszOCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAKLWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNy
ZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0
KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5j
cHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNT
Y3JpcHRSdW5uZXIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApA
QCAtNTcsNyArNTcsNyBAQCB2b2lkIEFzeW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29v
bihTY3JpcHRFbGVtZW50KiBkYXRhLCBDYWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVt
ZW50LT5pbkRvY3VtZW50KCkpOwogCiAgICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50
RGVsYXlDb3VudCgpOwotICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFp
cihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKKyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVu
ZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYo
KTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYoKXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAg
IGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgw
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3Jl
L2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCmluZGV4IDFhMDUxYTguLjI5ZWU1NmIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVz
b3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3Vt
ZW50OwogY2xhc3MgU2NyaXB0RWxlbWVudDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBc3luY1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+
IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpIHsgcmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5l
cihkb2N1bWVudCk7IH0KICAgICB+QXN5bmNTY3JpcHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oIGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5k
ZXggODZhMjJiMC4uZjUwMzZlNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFw
LmgKKysrIGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNk
ZWZpbmUgRE9NU3RyaW5nTWFwX2gKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBET01TdHJp
bmdNYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NU3RyaW5nTWFwIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01TdHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
ODNiYTg4NS4uODQxYmIyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBE
b2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGwKICAgICAgICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uo
c291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0K
IAotc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJm
b3JtVGFza0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29u
dGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tD
b250ZXh0KFBhc3NSZWZQdHI8RG9jdW1lbnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5j
ZSwgUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAg
ICA6IGRvY3VtZW50UmVmZXJlbmNlKGRvY3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2so
dGFzaykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5o
IGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4u
NTBlYzg4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
LmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDgg
KzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNs
YXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERv
Y3VtZW50TWFya2VyQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CisgICAgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2Vy
Q29udHJvbGxlcigpIHsgZGV0YWNoKCk7IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBmMDVk
MzZjLi5jZDQ5ZGU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNv
cmUvZG9tL0V2ZW50LmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmlu
ZSBFdmVudF9oCiAKKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3Rh
bXAuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CkBAIC0zMSw4ICszMiw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNz
IENsaXBib2FyZDsKLQogICAgIGNsYXNzIEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gUGhhc2VUeXBlIHsgCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXgg
NDk2ODA0ZS4uN2UxMGU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisr
KyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMTc4LDcgKzE3OCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBcCiAvLyBlbmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAK
LSAgICBjbGFzcyBFdmVudE5hbWVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBF
dmVudE5hbWVzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1h
a2UgaW5pdGlhbGl6YXRpb24gbWFjcm8gd29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2
ZW50IGFjY2lkZW50YWwgY2FsbCB0byBFdmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVz
KCkKICAgICAgICAgRXZlbnROYW1lcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uZmExOTBk
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oCkBAIC04Myw3ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5l
clZlY3RvcjsKICAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVy
VmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1hcDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECisgICAgcHVibGljOgogICAgICAgICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2
ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3Rp
dmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5o
CisrKyBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVy
LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291
bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3Ry
dWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJs
aWM6CiAgICAgZXhwbGljaXQgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIo
RG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1l
bnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFu
bmVsLmgKaW5kZXggZjMwOGEyOS4uMTRkOTBmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVz
c2FnZVBvcnRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgK
QEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBv
cnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1v
dGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBl
ciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5l
bCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVu
dCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFz
cyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1l
c3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQ
b3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFubmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNz
UmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAKQEAgLTc4LDcgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3h5IGN1cnJlbnRseSBjb250
YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBwb3J0LgogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rp
dml0eSgpOwogCi0gICAgICAgIGNsYXNzIEV2ZW50RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgICAgIGNsYXNzIEV2ZW50RGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShFdmVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVs
QXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJD
b3JlL2RvbS9Ob2RlUmFyZURhdGEuaAppbmRleCBhYjIwOGQyLi5lZGM1MDYyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBO
b2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9k
ZUxpc3QqPiBOb2RlTGlzdFNldDsKICAgICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsK
ICAgICAKQEAgLTY3LDcgKzY5LDggQEAgcHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3Mg
Tm9kZVJhcmVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzogICAgCiAgICAgTm9kZVJhcmVEYXRhKCkKICAgICAgICAgOiBtX3Rh
YkluZGV4KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9XZWJD
b3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKaW5kZXggMzRmYzA2OS4uMTdlODUwMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCisrKyBiL1dlYkNvcmUvZG9tL1F1YWxpZmll
ZE5hbWUuaApAQCAtMzIsNyArMzIsOCBAQCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMg
ewogICAgIFN0cmluZ0ltcGwqIG1fbmFtZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFt
ZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUlt
cGwgOiBwdWJsaWMgUmVmQ291bnRlZDxRdWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1Nj
cmlwdEVsZW1lbnQuaAppbmRleCBiNmJlYjZlLi40ZTkxYmQ5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBA
IC0zMiw2ICszMiw3IEBAIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VD
b2RlOwogCiBjbGFzcyBTY3JpcHRFbGVtZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVt
ZW50KEVsZW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAg
ICAgdmlydHVhbCB+U2NyaXB0RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCmluZGV4IGI0NmEwZjQuLjhjYTgyYTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQg
ZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xh
c3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAg
ICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAgICAg
IHZpcnR1YWwgflRhc2soKTsKICAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KikgPSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0YXNr
cyBnZXQgbWFya2VkIHNwZWNpYWxseSBzbyB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwgYW5k
IGFyZSBleGVjdXRlZCwgd2hlbiB0aGUgY29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBtZXNz
YWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCmluZGV4IDgyNmU2YmQuLjgzOTliNjggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2Rv
bS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAgLTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi0gICAgY2xhc3MgU3BhY2VTcGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFNwYWNlU3BsaXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgU3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5n
JiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9sZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0
cmluZyksIG1fc2hvdWxkRm9sZENhc2Uoc2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3Io
ZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNv
cmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCmluZGV4IGY5N2FmY2YuLjk3ZWM0ODIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5z
Zm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsyMyw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAot
ICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgVHJhbnNmb3JtU291cmNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNm
b3JtU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAg
IFRyYW5zZm9ybVNvdXJjZShjb25zdCBQbGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsK
ICAgICAgICAgflRyYW5zZm9ybVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNl
ckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgK
aW5kZXggMTdlYTMxOS4uZGU1N2VmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1
cmVJbmRpY2F0b3IuaAorKysgYi9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUg
VXNlckdlc3R1cmVJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdV
c2VyR2VzdHVyZVN0YXRlIHsKICAgICBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
CiB9OwogCi1jbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlckdlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3Np
bmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmlu
aXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJH
ZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUlu
ZGljYXRvci5oIGIvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRl
eCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvci5oCisrKyBiL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNh
dG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0
b3JfaAogI2RlZmluZSBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJh
bWU7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVi
bGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAg
IHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxlbWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXIuaAppbmRleCBlM2QzY2MyLi5kNWRhOWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9YTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2Vy
LmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBj
bGFzcyBYTUxEb2N1bWVudFBhcnNlciA6IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIs
IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxEb2N1bWVu
dFBhcnNlcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3KQogICAg
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIu
Y3BwIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCA3YTMy
ODVmLi42ZWRlNzg2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxp
YnhtbDIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAK
QEAgLTc1LDggKzc1LDEwIEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5n
Q2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAgICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBl
bmRpbmdDYWxsYmFja3MoKQogICAgIHsKICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJh
Y2tzKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBi
L1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi44ZjQx
OTMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysr
IGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCkBAIC0yNiw3ICsyNiw2IEBA
CiAjaWZuZGVmIFhNTERvY3VtZW50UGFyc2VyU2NvcGVfaAogI2RlZmluZSBYTUxEb2N1bWVudFBh
cnNlclNjb3BlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxF
KFhTTFQpCiAjaW5jbHVkZSA8bGlieG1sL3RyZWUuaD4KQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBj
bGFzcyBYTUxEb2N1bWVudFBhcnNlclNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBYTUxEb2N1bWVudFBhcnNlclNjb3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoWE1MRG9jdW1lbnRQYXJzZXJTY29wZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1
bWVudFBhcnNlclNjb3BlKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRl
cik7CiAgICAgICAgIH5YTUxEb2N1bWVudFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0Rl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaAppbmRleCAxMjg2YzA3Li44OWYyY2JiIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUv
ZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3Mg
SFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9u
OwogCi1jbGFzcyBEZWxldGVCdXR0b25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysg
Yi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1
OSw4IEBAIGVudW0gRUZyYWdtZW50VHlwZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2Rl
RnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBo
ZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZXBsYWNlbWVudEZyYWdtZW50KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdt
ZW50KERvY3VtZW50KiwgRG9jdW1lbnRGcmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3Qg
VmlzaWJsZVNlbGVjdGlvbiYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0
aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaApp
bmRleCA4Y2M4OWU0Li4zOTc4Zjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0
aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVy
LmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1
ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiVmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDgg
QEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsg
TWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsK
IAotY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTZWxlY3Rpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rp
b25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVt
IEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlvbk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBl
bnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rpb25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGly
ZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxlZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxw
ZXIuaAppbmRleCA0ZGNlZDA1Li5kZTljNzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcv
VGV4dENoZWNraW5nSGVscGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hl
bHBlci5oCkBAIC03Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVj
a2luZ0xlbmd0aDsKIH07CiAKLWNsYXNzIFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRleHRDaGVja2luZ0hlbHBlcik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVs
cGVyKEVkaXRvckNsaWVudCosIFBhc3NSZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5n
SGVscGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IGE5NjI2OGQuLjFmYmU2MGYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVz
cGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVwcyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8g
YmUgYWJsZSB0byBzZWFyY2ggaW4gdGhlIGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJl
YWtpbmcgc3BhY2VzIGFyZSBhbHdheXMgZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2Ug
Zm9sZGluZyBpcyBhbHNvIGRvbmUgaWYgPGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFz
cyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAg
IFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJpbmcmIHRhcmdldCwgYm9vbCBpc0Nhc2VTZW5zaXRpdmUp
OwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxl
VGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1
MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBzdGFydCgpOwogICAgIHZvaWQgc3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxl
U3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4uMTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL0xvY2FsRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0
ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlv
biBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xh
c3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmls
ZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1
YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxl
U3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2Nh
bEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNr
SGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJh
Y2tIZWxwZXIuaApAQCAtNTgsNyArNTgsOCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBB
IGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmlsZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0NhbGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5
cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBlbmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxi
YWNrSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIFN5bmNDYWxsYmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2Vy
dmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJlc3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0Nh
bGxiYWNrSGVscGVyKE9ic2VydmVyVHlwZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0Jh
Y2tGb3J3YXJkQ29udHJvbGxlci5oCmluZGV4IGU4OWUzMmIuLmQ2ODA0N2UgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hp
c3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYg
QmFja0ZvcndhcmRDb250cm9sbGVyX2gKICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tG
b3J3YXJkTGlzdDsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFj
a0ZvcndhcmRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3
YXJkQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250
cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBCYWNrRm9yd2Fy
ZENvbnRyb2xsZXIoUGFnZSosIFBhc3NSZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJh
Y2tGb3J3YXJkQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VD
YWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmQ1MGI5
Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3Jl
L2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsK
ICAgICBjbGFzcyBQYWdlOwogICAgIAotICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFnZUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUqIHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZhLi5kYTNlNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5o
CkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsK
IAotc3RydWN0IENvbGxlY3Rpb25DYWNoZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxl
Y3Rpb25DYWNoZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBD
b2xsZWN0aW9uQ2FjaGUoKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNh
Y2hlJik7CiAgICAgQ29sbGVjdGlvbkNhY2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNh
Y2hlJiBvdGhlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlz
dC5oIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4u
ZTE1MDczMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgK
KysrIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBw
dWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJsaWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlz
dD4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlz
dC5oCmluZGV4IDVkZjJlZGUuLmUwZGJjYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01U
b2tlbkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsy
NywxNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50Owog
Ci1jbGFzcyBET01Ub2tlbkxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9r
ZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZp
cnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCBmY2IyYmU4Li41NmJhYTdkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMjExLDcgKzEyMTEsOSBAQCBib29sIEhUTUxJbnB1
dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2VwYXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLXN0cnVjdCBFdmVudEhhbmRsaW5nU3RhdGUgOiBGYXN0QWxsb2NC
YXNlIHsKK3N0cnVjdCBFdmVudEhhbmRsaW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlv
OwogICAgIGJvb2wgbV9pbmRldGVybWluYXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1M
UGFyc2VyUXVpcmtzLmgKaW5kZXggNTBkZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1
aXJrcy5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJR
dWlya3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAg
SFRNTFBhcnNlclF1aXJrcygpIHsgfQogICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9J
bnB1dFR5cGUuaAppbmRleCBjMTQxN2ZhLi5kZjBhYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICsz
Myw2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBl
IG9iamVjdCByZXByZXNlbnRzIHRoZSB0eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0
RWxlbWVudC4KIC8vIERvIG5vdCBleHBvc2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xh
c3NlcyBkZXJpdmVkIGZyb20gaXQgdG8gY2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRF
bGVtZW50LgotY2xhc3MgSW5wdXRUeXBlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
cHV0VHlwZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+
IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVw
UmFuZ2UuaAppbmRleCBjZTA0NGVhLi4xZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
U3RlcFJhbmdlLmgKKysrIGIvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIs
MTMgQEAKICNkZWZpbmUgU3RlcFJhbmdlX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgSFRNTElucHV0RWxlbWVudDsKIAotY2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJh
bmdlKTsKIHB1YmxpYzoKICAgICBib29sIGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9W
YWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4IGZlMThiNmIuLmY4M2E1ZTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdl
X2gKIAogI2luY2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZvcm1D
b250cm9sRWxlbWVudDsKIAotY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFZhbGlkYXRpb25NZXNzYWdlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxW
YWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRlKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKICAgICB+
VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0
YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDUzMmRkYjIuLjIyYTQ4
YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVmFsaWRpdHlTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRlKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGNvbnRyb2wp
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0LmggYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApp
bmRleCBhMjVlOGExLi4xNGY1YTBhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5
ZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBL
VVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1M
Q2FudmFzRWxlbWVudCopOwogICAgIHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBi
L1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5m
YWU5NWExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVy
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3
ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRN
TFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NT
UHJlbG9hZFNjYW5uZXIpOwogcHVibGljOgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50
Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNp
dGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4
YjA5YmY1Li5mZjYxODZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25z
dHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9u
U2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgog
I2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBA
IGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsK
IAotY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTENvbnN0cnVjdGlvblNpdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxD
b25zdHJ1Y3Rpb25TaXRlKTsKIHB1YmxpYzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1
bWVudCosIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVu
dCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rpb25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1Ymxp
YzoKICAgICBIVE1MRm9ybUVsZW1lbnQqIGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0
KCk7IH0KICAgICBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAg
IGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0
ZSYgdHJlZSkKICAgICAgICAgICAgIDogbV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCAwNTA1M2RmLi5jMjAxYzNhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2Ny
aXB0Q29udHJvbGxlcjsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1
bWVudFBhcnNlciA6ICBwdWJsaWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0
UnVubmVySG9zdCwgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2Vy
PiBjcmVhdGUoSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi45MzZk
NDExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAor
KysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcs
NiBAQAogI2RlZmluZSBIVE1MRWxlbWVudFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpA
QCAtMzksMTIgKzM4LDE0IEBAIGNsYXNzIFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBI
VE1MNSBzcGVjIHVzZXMgYSBiYWNrd2FyZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3Jl
IHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJkIChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9n
eSBoZXJlLgotY2xhc3MgSFRNTEVsZW1lbnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBIVE1MRWxlbWVudFN0YWNrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxl
bWVudFN0YWNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBIVE1MRWxl
bWVudFN0YWNrKCk7CiAgICAgfkhUTUxFbGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1l
bnRSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIH5FbGVtZW50UmVjb3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIo
KQogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0Vs
ZW1lbnRMaXN0LmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaAppbmRleCBhY2EwNWJiLi5mNzVmYTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGlu
dG8gSFRNTEVsZW1lbnRTdGFjay4KLWNsYXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJs
aWM6CiAgICAgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGlu
Z0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1
dFN0cmVhbS5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCBh
NzA5YmQ5Li42NDJlNDM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1
dFN0cmVhbS5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAg
LTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRl
ciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhl
IG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRoZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBh
cHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAibGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3Ry
ZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1M
SW5wdXRTdHJlYW0oKQogICAgICAgICA6IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOCw3ICsxMjks
OCBAQCBwcml2YXRlOgogICAgIFNlZ21lbnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3Mg
SW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0
aW9uUG9pbnRSZWNvcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50
UmVjb3JkKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1M
SW5wdXRTdHJlYW0mIGlucHV0U3RyZWFtKQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0
U3RyZWFtKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1
bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCA1
YmUzM2IwLi5hNGI3NDYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJz
ZXJTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVs
ZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBACiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUg
PHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRN
TERvY3VtZW50UGFyc2VyOwogCi1jbGFzcyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MUGFyc2VyU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVh
dGUoSFRNTERvY3VtZW50UGFyc2VyKiBwYXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmgKaW5kZXggOTRhOTBlNi4uODYwNDUzYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVk
ZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIKICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRl
ICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNs
YXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFzcyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQ
cmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNj
YW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERv
Y3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1
bm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNm
NzRkOC4uMWI3ZjkxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0
UnVubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAg
LTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3Rm
L0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxT
Y3JpcHRSdW5uZXJIb3N0OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNj
cmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0
UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCog
aG9zdCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5o
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li44ZWNkOGRk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBI
VE1MVG9rZW5faAogCiAjaW5jbHVkZSAiTmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSFRNTFRva2VuKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBl
bnVtIFR5cGUgewogICAgICAgICBVbmluaXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHBy
aXZhdGU6CiAgICAgLy8gd2FudCB0byBlbmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJl
dHdlZW4gdGhlIHR3byBjbGFzc2VzLgogICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47
CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgRG9jdHlwZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0
YSk7CiAgICAgcHVibGljOgogICAgICAgICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1f
aGFzUHVibGljSWRlbnRpZmllcihmYWxzZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgog
CiAvLyBGSVhNRTogVGhpcyBjbGFzcyBzaG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9r
ZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8gZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwg
dG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1jbGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXRvbWljSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBdG9taWNIVE1MVG9rZW4pOwogcHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1M
VG9rZW4mIHRva2VuKQogICAgICAgICA6IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRva2VuaXplci5oCmluZGV4IGYxNmIwNDkuLmQ1Nzc5ZjQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRva2VuaXplci5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6
ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4
IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xh
c3MgSFRNTFRva2VuaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5p
emVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0
YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRw
Oi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNz
aW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAgICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3Ig
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7
CiAgICAgcHVibGljOgogICAgICAgICBJbnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5p
emVyKiB0b2tlbml6ZXIpCiAgICAgICAgICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysr
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQw
LDggQEAgSFRNTEZvcm1FbGVtZW50KiBjbG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1l
bnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxD
aGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJl
ZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4
cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tl
bikKICAgICAgICAgOiBtX2N1cnJlbnQodG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIz
MzQsNyArMjMzNSw4IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRv
bWljSFRNTFRva2VuJiB0b2tlbikKICAgICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xh
c3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGYWtlSW5zZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUlu
c2VydGlvbk1vZGUoSFRNTFRyZWVCdWlsZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBt
b2RlKQogICAgICAgICA6IG1fdHJlZUJ1aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRleCAwZTc1OTdjLi45NjljN2EwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1M
Rm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgiCiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhU
TUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxU
cmVlQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWls
ZGVyPiBjcmVhdGUoSFRNTFRva2VuaXplciogdG9rZW5pemVyLCBIVE1MRG9jdW1lbnQqIGRvY3Vt
ZW50LCBib29sIHJlcG9ydEVycm9ycywgYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAg
ICB7CkBAIC0yMDMsNyArMjAzLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NGb3JlaWdu
Q29udGVudFVzaW5nSW5Cb2R5TW9kZUFuZFJlc2V0TW9kZShBdG9taWNIVE1MVG9rZW4mIHRva2Vu
KTsKICAgICB2b2lkIHJlc2V0Rm9yZWlnbkluc2VydGlvbk1vZGUoKTsKIAotICAgIGNsYXNzIEZy
YWdtZW50UGFyc2luZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZy
YWdtZW50UGFyc2luZ0NvbnRleHQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFn
bWVudFBhcnNpbmdDb250ZXh0KTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZyYWdtZW50UGFyc2lu
Z0NvbnRleHQoKTsKICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdt
ZW50KiwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lv
bik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVu
dGVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5k
ZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0
aW5nTGV2ZWxJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xl
dmVsSW5jcmVtZW50ZXIuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGlu
Z0xldmVsSW5jcmVtZW50ZXIodW5zaWduZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25l
c3RpbmdMZXZlbCgmbmVzdGluZ0xldmVsKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29uc29sZU1lc3NhZ2UuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5k
ZXggNGU4OGJlYy4uOTAyZWRjMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29s
ZU1lc3NhZ2UuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00
Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlwdENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFj
azsKIGNsYXNzIFNjcmlwdFZhbHVlOwogCi1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDb25zb2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2
ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5zaWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWdu
ZWQgZyk7CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1l
c3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4s
IFBhc3NPd25QdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHQuaAppbmRleCBmODBjZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhv
c3QuaCIKICNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKaW5kZXggMTFmMTBjZS4uN2IzZTkyZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZG
TElORV9XRUJfQVBQTElDQVRJT05TKQogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3Qu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3Bl
Y3Rvck9iamVjdDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9y
RnJvbnRlbmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50
KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggY2E1YTlk
OS4uZjljMTA0MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAt
MTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBX
ZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0
cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAg
IHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+
ID4gRE9NU3RvcmFnZVJlc291cmNlc01hcDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRl
YnVnZ2VyQWdlbnQuaAppbmRleCA5NTAxYWM4Li4wMzE2MDk3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC01Miw3ICs1Miw4IEBAIGVudW0gRGVidWdn
ZXJFdmVudFR5cGUgewogICAgIE5hdGl2ZUJyZWFrcG9pbnREZWJ1Z2dlckV2ZW50VHlwZQogfTsK
IAotY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3Rl
bmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6
IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5z
cGVjdG9yQ29udHJvbGxlciosIEluc3BlY3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5z
cGVjdG9yRGVidWdnZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5oCmluZGV4IDlkY2FhNWEuLjRhYTg3ZTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcg
KzMzLDYgQEAKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xs
ZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0
b3JDb250cm9sbGVyKiwgUGFnZSopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2Zp
bGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApp
bmRleCBjMWY1ZGIxLi5iMWE4YmU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQcm9maWxlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JP
YmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFwU25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwog
Ci1jbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElu
c3BlY3RvclByb2ZpbGVyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNw
ZWN0b3JDb250cm9sbGVyKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUw
MjcuLmE2YmEzZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVk
dWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxpbmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVs
aW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFj
ay5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4u
MTMxZTEzMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwx
NCBAQAogI2RlZmluZSBTY3JpcHRDYWxsU3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZy
YW1lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1j
bGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0
Q2FsbFN0YWNrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwog
cHVibGljOgogICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVy
ZSA9IDIwMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQuLjVkODQ5YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRl
ci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVz
b3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZs
aWdodFJlc3VsdENhY2hlSXRlbSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3Nz
T3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVt
KGJvb2wgY3JlZGVudGlhbHMpCiAgICAgICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDAp
CkBAIC02Myw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1Nl
dCBtX2hlYWRlcnM7CiAgICAgfTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09y
aWdpblByZWZsaWdodFJlc3VsdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBz
aGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRl
eCBlYmYzYTI1Li45M2U3NDM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuaApAQCAtNDcsNiArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlckNsaWVudDsKIAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1Ymxp
YyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRXcml0ZXIuaAppbmRleCA1ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9y
aWdpbjsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShEb2N1bWVudFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRX
cml0ZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmggYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li4zMTE5NTNh
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5k
aWYKIH07CiAKLWNsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2Fk
ZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xp
ZW50IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlG
cmFtZUxvYWRlckNsaWVudCgpIHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0
cm95ZWQoKSB7IH0KIApAQCAtMzgzLDggKzM4NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQ
YXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0
KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9Owog
Ci1jbGFzcyBFbXB0eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGll
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBh
Z2VEZXN0cm95ZWQoKSB7IH0KIApAQCAtNDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAj
aWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDog
cHVibGljIENvbnRleHRNZW51Q2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRW1wdHlDb250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CisgICAgRW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAg
IHZpcnR1YWwgfkVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lk
IGNvbnRleHRNZW51RGVzdHJveWVkKCkgeyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGlj
OgogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmly
dHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkge30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1E
cmFnRGVzdGluYXRpb25BY3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsg
fQogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJj
ZUFjdGlvbiwgY29uc3QgSW50UG9pbnQmLCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzMiw4ICs1NDAs
MTAgQEAgcHVibGljOgogfTsKICNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFz
cyBFbXB0eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0
b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNs
aWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAg
ICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Np
b24uaAppbmRleCBkNzI0ODM1Li43ZjU4ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9G
b3JtU3VibWlzc2lvbi5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAg
LTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9ybVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxG
b3JtU3VibWlzc2lvbj4gewogcHVibGljOgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQ
b3N0TWV0aG9kIH07CiAKLSAgICBjbGFzcyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QXR0cmlidXRlcyk7CiAgICAgcHVibGljOgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAg
ICAgIDogbV9tZXRob2QoR2V0TWV0aG9kKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4u
NmE3NjNkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5k
b3dGZWF0dXJlczsKIAogYm9vbCBpc0JhY2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7
CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1l
TG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6
CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUqLCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFt
ZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1h
Y2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXgg
YzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJT
dGF0ZU1hY2hpbmUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGlu
ZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVf
aAogI2RlZmluZSBGcmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBz
dGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxvYWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50
IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdoaWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJl
bnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVyIGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVy
U3RhdGVNYWNoaW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3Rh
dGVNYWNoaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFj
aGluZSk7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVy
L0hpc3RvcnlDb250cm9sbGVyLmgKaW5kZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9I
aXN0b3J5Q29udHJvbGxlci5oCkBAIC0zMiw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxv
YWRlclR5cGVzLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsK
IGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEhpc3RvcnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVt
IEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBkYXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2Fy
ZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDk0YTIxYTQuLjZhNTRlOGQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3Qg
VmFsdWVDaGVjazxXZWJDb3JlOjpJbWFnZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBJbWFnZUV2ZW50U2VuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEltYWdlRXZlbnRTZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRT
ZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEltYWdlRXZlbnRT
ZW5kZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25TY2hlZHVsZXIuY3BwCmluZGV4IDI4ZmRhOWEuLjI0OTViMTMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVy
L05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTY2hlZHVsZWROYXZpZ2F0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBTY2hlZHVsZWROYXZpZ2F0aW9uKGRvdWJsZSBkZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwg
Ym9vbCBsb2NrQmFja0ZvcndhcmRMaXN0LCBib29sIHdhc0R1cmluZ0xvYWQsIGJvb2wgaXNMb2Nh
dGlvbkNoYW5nZSkKICAgICAgICAgOiBtX2RlbGF5KGRlbGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlv
blNjaGVkdWxlci5oCmluZGV4IDE0MDBjMjUuLmYxNGQwNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRnJhbWU7CiBzdHJ1Y3QgRnJh
bWVMb2FkUmVxdWVzdDsKIGNsYXNzIFNjaGVkdWxlZE5hdmlnYXRpb247CiAKLWNsYXNzIE5hdmln
YXRpb25TY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNj
aGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7
CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlvblNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0
aW9uU2NoZWR1bGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgg
Yi9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKaW5kZXggZWI0MzE2Ni4uOTI2OGIyOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1BpbmdMb2FkZXIuaApAQCAtMzQsNyArMzQsNiBAQAogCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5k
bGVDbGllbnQuaCIKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTAsNyArNDksOCBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxv
YWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5
IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFzIHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBm
cm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwgdGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBs
b2FkIGFuZCBkZWxldGUgaXRzZWxmLgotY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDog
cHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGluZ0xvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgbG9hZEltYWdlKEZyYW1lKiwgY29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9p
ZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3Rp
bmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvUG9saWN5Q2hlY2tlci5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25B
Y3Rpb247CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAot
Y2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lD
aGVja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1Ymxp
YzoKICAgICBQb2xpY3lDaGVja2VyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIu
Y3BwCmluZGV4IGNkMTU0MzMuLjFiZDE5YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1By
b2dyZXNzVHJhY2tlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNw
cApAQCAtNTAsNyArNTAsOSBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1
ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGlu
dCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1
Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29weWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKK3B1YmxpYzoKICAgICBQcm9ncmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAg
ICAgIDogYnl0ZXNSZWNlaXZlZCgwKQogICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgp
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAppbmRleCA1ZDViNmIyLi44YzRhMGRlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVz
c1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTM2LDcgKzM1LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
Owogc3RydWN0IFByb2dyZXNzSXRlbTsKIAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUHJvZ3Jlc3NUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBQcm9ncmVzc1RyYWNrZXIoKTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmggYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0
LmgKaW5kZXggYjZkZTMxMi4uOTZmN2IxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVx
dWVzdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaApAQCAtMzEsNyArMzEsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAgY2xhc3Mg
Q2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBSZXF1ZXN0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBSZXF1ZXN0KENhY2hlZFJlc291cmNlTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGlu
Y3JlbWVudGFsLCBTZWN1cml0eUNoZWNrUG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxs
YmFja3MpOwogICAgICAgICB+UmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkTm90aWZpZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlm
aWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcwNDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkTm90aWZpZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRO
b3RpZmllci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVy
X2gKICNkZWZpbmUgUmVzb3VyY2VMb2FkTm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFz
cyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJj
ZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZXNvdXJjZUxvYWROb3RpZmllcik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90
aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRl
eCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIu
aApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQyLDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xh
c3MgU3VicmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAot
Y2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlc291cmNlTG9hZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRl
OgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVx
dWVzdFRpbWVyRmlyZWQoVGltZXI8UmVzb3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xh
c3MgSG9zdEluZm9ybWF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0
SW5mb3JtYXRpb24geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRp
b24pOwogICAgIHB1YmxpYzoKICAgICAgICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYs
IHVuc2lnbmVkKTsKICAgICAgICAgfkhvc3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9h
ZGVyLmgKaW5kZXggYTU3MzA0NS4uZDExZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
U3ViZnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBA
IC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRo
aXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIuIEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dp
YyBvZiBsb2FkaW5nIGJvdGggc3ViZnJhbWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVM
b2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFN1YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJm
cmFtZUxvYWRlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQx
YTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEs
NiBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRl
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRp
b25zIGZyb20gYW55IHRocmVhZCAobm90IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0
byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFk
YWJsZUxvYWRlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2Fk
ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hy
b25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3
NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZU
aHJlYWRhYmxlTG9hZGVyKCk7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJs
ZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudC5oCmluZGV4IGJjZjY4YmUuLjhlNTI3NDMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRl
ZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
OwogCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2ln
bmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2VudCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5
dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0
aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAg
ICAgVGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3
ICszMiw2IEBACiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2lu
Y2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRp
bmcuaD4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEy
ZTAuLmU4OTEzZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVM
b2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAg
LTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJl
YWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2Vy
Q29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQm
LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2Vy
Q29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRh
c2tNb2RlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVM
b2FkZXJPcHRpb25zJiBvcHRpb25zKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaAppbmRleCAyOWQwNzQ5Li5kMGRmMTBmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaApAQCAtMzUsNyArMzUs
NiBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2hhcmVk
QnVmZmVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAKQEAgLTUzLDcgKzUyLDggQEAg
ZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hl
VXBkYXRlV2l0aG91dEJyb3dzaW5nQ29udGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUdyb3VwIDogcHVibGljIE5vbmNvcHlhYmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFz
cyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBBcHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYg
bWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25D
YWNoZUdyb3VwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUhvc3QuaAppbmRleCA4YWM1MzU3Li42NWMzYThiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAK
LSAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcHBsaWNhdGlvbkNhY2hlSG9zdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZp
ZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAgICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0
ZTYuLjAwYjI5Yzg1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBj
bGFzcyBTdG9yYWdlSURKb3VybmFsOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51
bSBGYWlsdXJlUmVhc29uIHsKICAgICAgICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9X
ZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5
ZDYzMGQxLi42NmZiOWE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24uaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24uaApAQCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCBlZDYwZjg0Li4wYmJkNTllIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3Mg
UmVxdWVzdDsKIC8vIEEgcmVzb3VyY2UgdGhhdCBpcyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3Nl
cyB3aG8gd2FudCB0byB1c2UgdGhpcyBvYmplY3Qgc2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNo
ZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0IHRoZSBmdW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSBy
ZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZlZC4KIC8vIFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBh
Y3R1YWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBsb2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJj
ZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xhc3MgQ2FjaGVkUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQ2FjaGVkUmVzb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENhY2hlZFJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xh
c3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJpZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAg
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQu
aCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1
ZDMzMS4uZjYwMjFmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNs
aWVudC5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gK
ICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VDbGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxv
Y0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZy
b20gdGhpcyBjbGFzcyBhbmQgb3ZlcmxvYWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAq
CiAgICAgICovCi0gICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZQotICAgIHsKKyAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5D
YWNoZWRSZXNvdXJjZUNsaWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuaAppbmRleCBmMzcxYTBlLi43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3Mg
SW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJMOwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIg
bWFuYWdlcyB0aGUgbG9hZGluZyBvZiBzY3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBz
aW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAppbmRleCAxNWNlOWRhLi5lYTQ5MjFhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2Fk
ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFz
cyBLVVJMOwogLy8gaXRzIG1lbWJlciB2YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1
cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1vcnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBt
b3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRoaXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lbW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShNZW1vcnlDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
ZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNoZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25EYXRhYmFzZS5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2Uu
aAppbmRleCA2MTQ2YWE2Li5hYzBhNTdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
SGFzaC5oPgogCkBAIC02Miw4ICs2MSw4IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAg
SWNvbkxvYWRVbmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgewotCitjbGFzcyBJY29uRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEljb25EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJl
YWQgT25seSAqKioKIHB1YmxpYzoKICAgICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGll
bnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50
LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBk
N2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNl
Q2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApA
QCAtMzAsMTUgKzMwLDE2IEBACiAjZGVmaW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBB
bGwgb2YgdGhlc2UgY2xpZW50IG1ldGhvZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWlu
IHRocmVhZAogLy8gVGFrZSBhcHByb3ByaWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29u
RGF0YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIElj
b25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgp
IHsgfQogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2lj
b24vSWNvbkxvYWRlci5oCmluZGV4IDFlYmFjNDguLmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNv
bkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRl
ckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJl
ZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJD
bGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBT
dWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxv
YWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKaW5kZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDgg
QEAgcHVibGljOgogICAgIFN0cmluZyBpY29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29y
ZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQYWdlVVJMUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAg
flBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIv
V2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKaW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
QEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0Owog
Ci0gICAgY2xhc3MgTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291
cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBjbGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGlj
OgorICAgICAgICBMb2FkZXIoKSB7IH0KICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZv
aWQgbG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNy
ZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJv
b2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjMxMTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMg
UmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0
aW9uQ2VudGVyPiBwcm92aWRlcik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNh
dGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8
Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9s
bGVyLmgKaW5kZXggODMzYjkwOS4uYjU4NTRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRy
b2xsZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJf
aAogI2RlZmluZSBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNs
YXNzIENvbnRleHRNZW51Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgQ29udGV4dE1lbnVDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q29udGV4dE1lbnVDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIENvbnRleHRNZW51Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGll
bnQqKTsKICAgICAgICAgfkNvbnRleHRNZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIu
aAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0Nv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyAr
NDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3Mg
U2VsZWN0aW9uQ29udHJvbGxlcjsKICAgICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEcmFnQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgogICAgICAgICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVu
dCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5
YTBjLi45NDBjMjVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysr
IGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBj
b25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJz
IHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1j
bGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5k
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgog
ICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3
ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsK
IAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAg
c3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAg
cHVibGljOgorICAgICAgICBFdmVudEhhbmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVm
UHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8gZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNl
LCBmb3IgdGhlIGN1cnJlbnQgbW91c2UgZ2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lz
TGluazsKICAgICAgICAgYm9vbCBtX2RyYWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0V2ZW50U291cmNlLmggYi9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBm
ZmVkNTkyLi41YmVlYjJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAor
KysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2
ZW50U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRU
YXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYg
dXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2
aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29u
dHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IDg4M2M5OTMu
LjI0MWI2OGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysg
Yi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNs
dWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5
LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVudDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1j
bGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXND
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdl
Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFn
ZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3
ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAg
Y2xhc3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRy
ZWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFt
ZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5k
ZXggMTZiMTQyNi4uN2YzNjgzOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAg
ZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xv
YWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0
aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1
bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKK3B1YmxpYzoKKyAgICBTY2hlZHVsZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4g
bV9ldmVudDsKICAgICBSZWZQdHI8Tm9kZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2Vv
bG9jYXRpb25Db250cm9sbGVyLmgKaW5kZXggMmQ4MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9H
ZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2Vv
bG9jYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9j
YXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6
CiAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwog
ICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9H
cm91cFNldHRpbmdzLmggYi9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2
YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysr
IGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBhZ2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHcm91cFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAg
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5o
CmluZGV4IGUwNzQ4MTQuLjZhNjhhNWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgK
KysrIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZp
ZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZP
Uk0oTUFDKQogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgpAQCAtODksMTIgKzg4LDE1IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rp
b25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9uQmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVk
dWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JBbGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVw
IHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92
aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29w
eWFibGUgeworICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVudHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAg
ICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBh
Z2VDbGllbnRzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dl
YkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCBjYzQ3ZmJhLi4xNGRiNDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5o
CkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtI
YXNoLmgiCiAjaW5jbHVkZSAiVXNlclNjcmlwdC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0
LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdl
OwogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBQYWdlR3JvdXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAg
UGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2Fk
RGVmZXJyZXIuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBk
NDQzZWJkLi5mNzk1NmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERl
ZmVycmVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0y
OCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBj
bGFzcyBQYWdlOwogCi0gICAgY2xhc3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYWdlR3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgUGFnZUdyb3VwTG9hZERlZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAg
ICAgICAgIH5QYWdlR3JvdXBMb2FkRGVmZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9QbHVnaW5IYWx0ZXIuaCBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhi
MzFlLi41YjcwNzIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysr
IGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFsdGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBsdWdpbkhhbHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgUGx1Z2luSGFsdGVyKFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmlu
ZGV4IGMzNzE5ZTIuLjNlOWE2OTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAog
ICAgIH07CiAKLSAgICBjbGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgU2V0dGluZ3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQ
YWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29y
ZS9wYWdlL1NwZWVjaElucHV0LmgKaW5kZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcg
KzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5wdXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVj
dHMgdGhlIGlucHV0IGVsZW1lbnRzIHJlcXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxh
dGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVz
IG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJl
Y29nbml0aW9uIGFuZCBtZXRob2RzIGZvciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0
byByZXR1cm4gYmFjayB0aGUgcmVzdWx0cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5v
bmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1
dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGll
bnQqKTsKICAgICB2aXJ0dWFsIH5TcGVlY2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQz
OS4uY2QzZDBmNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgVXNlclNjcmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyU2NyaXB0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmlu
ZyYgc291cmNlLCBjb25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZl
Y3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxh
Y2tsaXN0LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJD
b3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAppbmRleCBmYTQyZTJjLi4yNDc5ODRlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNl
clN0eWxlU2hlZXQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFVzZXJTdHlsZVNoZWV0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJT
dHlsZVNoZWV0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3Qg
U3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNz
T3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJp
bmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBi
L1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKaW5kZXggMmI3ODFmMS4uNDkwNzFkMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVk
aXRvci5oCkBAIC02OSw3ICs2OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhU
TUxEb2N1bWVudFBhcnNlcjo6c2hvdWxkTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQg
dG8gbG9hZCBleHRlcm5hbCBKYXZhU2NyaXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxv
YWRlcjo6cmVxdWVzdE9iamVjdCAtIHVzZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1l
bnRzLgogICAgIC8vCi0gICAgY2xhc3MgWFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgWFNTQXVkaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhT
U0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
WFNTQXVkaXRvcihGcmFtZSopOwogICAgICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggNjYxNzJmNy4uNTEyNjUwYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAg
Y2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3Bl
cnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHko
aW50IHByb3BlcnR5SUQpOwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFByb3BlcnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByb3BlcnR5V3JhcHBlckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFByb3BlcnR5V3JhcHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9w
cm9wKHByb3ApCkBAIC00MzgsNyArNDM5LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5
cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMg
RmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0
eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0
eVdyYXBwZXJHZXR0ZXIpOwogcHVibGljOgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdl
dHRlcihUIChGaWxsTGF5ZXI6OipnZXR0ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIo
Z2V0dGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZS5oCmluZGV4IDg5M2M3MTcuLmVhNzhjYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5
LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxl
OwogCi1jbGFzcyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAg
ICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9Db21wb3NpdGVBbmltYXRpb24uaAppbmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAK
ICNpbmNsdWRlICJJbXBsaWNpdEFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0
aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0g
Yi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThi
Y2IyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysg
Yi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBO
U0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVu
dE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRF
dmVudFNjb3BlKE5TRXZlbnQgKik7CiAgICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRleCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
QXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVt
Q2FsbGJhY2tzOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNz
IHByb3ZpZGVzIGFzeW5jIGludGVyZmFjZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0
ZW0gaW1wbGVtZW50YXRpb24uICBOb3RlIHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZv
cm0gcGF0aHMuCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0Zp
bGVTeXN0ZW0pOwogcHVibGljOgogICAgIHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBh
NjY5Li43ZDg2MmRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3Rl
bUNhbGxiYWNrcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJh
Y2tzLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtOwogY2xhc3MgQXN5
bmNGaWxlV3JpdGVyOwogc3RydWN0IEZpbGVNZXRhZGF0YTsKIAotY2xhc3MgQXN5bmNGaWxlU3lz
dGVtQ2FsbGJhY2tzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3Rl
bUNhbGxiYWNrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtQ2Fs
bGJhY2tzKTsKIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgd2hlbiBhIHJlcXVlc3RlZCBvcGVyYXRp
b24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAgICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2Vl
ZCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCmluZGV4IGQ0NGVlMWUuLmQ2NTU0
MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApAQCAtMjksNyArMjksNiBAQAogI2lm
bmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRvZHJhaW5lZFBvb2xfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TQXV0
b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRvZHJhaW5lZFBvb2wgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29sIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgogICAgIEF1dG9kcmFpbmVkUG9vbChp
bnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2RyYWluZWRQb29sKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmggYi9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uZDY2NDk5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0TWVudV9oCiAjZGVmaW5lIENvbnRl
eHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ29u
dGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgpAQCAtNDUsOCArNDQs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ29udGV4dE1lbnVDbGllbnRFZmw7
CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDogcHVibGljIE5vbmNvcHlhYmxlCi0g
ICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAg
ICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYpOwogICAgICAgICBDb250ZXh0
TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxhdGZvcm1NZW51RGVzY3JpcHRpb24p
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaCBiL1dlYkNv
cmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXggZTcwMjkyMS4uMTEyNjU0YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIsNyArMjUyLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9u
OwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0ZW0gOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51SXRlbShQbGF0Zm9y
bU1lbnVJdGVtRGVzY3JpcHRpb24pOwogICAgICAgICBDb250ZXh0TWVudUl0ZW0oQ29udGV4dE1l
bnUqIHN1Yk1lbnUgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRl
ZFB0ckxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAppbmRleCA0
N2NkNTM4Li4xZTk5NDkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQ
dHJMaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCkBAIC0y
NywxMyArMjcsMTMgQEAKICNkZWZpbmUgRGVwcmVjYXRlZFB0ckxpc3RfaAogCiAjaW5jbHVkZSAi
RGVwcmVjYXRlZFB0ckxpc3RJbXBsLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVj
YXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0
ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewordGVtcGxhdGUgPGNsYXNzIFQ+IGNs
YXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBsKGRlbGV0ZUZ1bmMpLCBkZWxfaXRl
bShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0KCkgeyBpbXBsLmNsZWFyKGRlbF9p
dGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdElt
cGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmluZGV4
IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRl
ZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0
SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAjaW5jbHVk
ZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRGVwcmVjYXRl
ZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFzcyBEZXByZWNhdGVkTGlzdE5v
ZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9kZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZExpc3ROb2RlKHZvaWQg
KmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKaW5k
ZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExv
b3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCkBAIC0yNiwxMSArMjYsMTEg
QEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZlbnRMb29wX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBF
dmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TG9vcCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9vcCk7CiAgICAgcHVibGljOgogICAg
ICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2VuZGVkKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2NS4uZjYyN2M2OCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEdl
b2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0aW9uU2VydmljZV9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3
ICs0MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJy
b3JPY2N1cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2Nh
dGlvblNlcnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2
aWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVi
bGljOgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNl
cnZpY2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93
LmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9z
dFdpbmRvd19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRn
ZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhv
c3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3co
KSB7IH0KIAogICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywg
bm90IHRoZSBjb250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3Vz
bHksIG90aGVyd2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJp
bmcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iODgzZmYw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9LaWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25z
dCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJD
b3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLmM0MjlhNjkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGgu
aApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUsNyArMzQs
OSBAQCBjb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWlu
IHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRp
dmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAK
LXN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBt
X3ZhbHVlKDApCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li40OTZmYmIz
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KQEAgLTgxLDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJj
aGl2ZVJlc291cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJv
YXJkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMp
CiAgICAgLy9IZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2FyZCB0byBzaGFyZSBjb2Rl
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0Li42
YTM2MzE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVu
dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKQEAgLTc1
LDcgKzc1LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBl
IHsKICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBN
YWMgT1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNp
Y2FsIHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxl
QnVmZmVyLmgKaW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1
ZmZlci5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAog
I2luY2x1ZGUgIlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIq
IGRhdGEsIHNpemVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9S
dW5Mb29wVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVm
MjUzZS4uZjhjNTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYg
QEAKICNkZWZpbmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNl
Y29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUnVuTG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9v
cFRpbWVyQmFzZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZp
cnR1YWwgflJ1bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2No
ZWR1bGVQYWlyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1l
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uYjNk
ODg5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xh
c3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmll
dzsKIAotY2xhc3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2Nyb2xsYmFyVGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1l
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgp
IHsgfQogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJv
b2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypk
YW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL1NoYXJlZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXgg
NWI1Y2QxNC4uMTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1l
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2
IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8v
IEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIs
IHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBp
cyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRl
ZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAg
Y2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJl
ZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU2hhcmVkVGltZXIoKSB7
IH0KICAgICAgICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAgICAgICB2aXJ0dWFsIHZv
aWQgc2V0RmlyZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKICNpZiBFTkFCTEUoV09SS0VSUykK
QEAgLTQ1LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBURUNDb252
ZXJ0ZXJXcmFwcGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAotICAgIGNsYXNzIFRocmVh
ZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZEdsb2Jh
bERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRHbG9iYWxEYXRhKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsKICAgICAgICAgflRocmVh
ZEdsb2JhbERhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJz
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGFiNDI1OTguLjM1ZWQw
MWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBU
aHJlYWRUaW1lcnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFRpbWVyQmFzZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4g
S2VwdCBpbiBUaHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNk
YS4uMDgxMDQwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBUaW1lcl9o
CiAjZGVmaW5lIFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNs
YXNzIFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNo
YXJlZC5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMx
LDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShUcmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAg
OiBtX3JlZkNvdW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9B
bmltYXRpb25MaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0
LmgKaW5kZXggOWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9h
bmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9u
L0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBB
bmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IEFuaW1hdGlvbkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxp
c3QmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4YjgxLi4zOThlMTI3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEF1
ZGlvQnVzX2gKIAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEFuIEF1
ZGlvQnVzIHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBtb3JlIEF1ZGlvQ2hhbm5l
bHMuCiAvLyBUaGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bwb3NlZCB0byAiaW50ZXJs
ZWF2ZWQiLgogLy8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBpcyBtb25vLCBhbiBBdWRp
b0J1cyB3aXRoIHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNsYXNzIEF1ZGlvQnVzICA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyAgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIENoYW5u
ZWxMZWZ0ID0gMCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFu
bmVsLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCmluZGV4IDY4MTY4
MzAuLjczMjVlOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFu
bmVsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtMzAs
MTQgKzMwLDE0IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNpbmNsdWRlICJBdWRpb0Fy
cmF5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBBdWRpb0NoYW5uZWwgcmVw
cmVzZW50cyBhIGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRpbmctcG9pbnQgYXVkaW8g
c2FtcGxlcy4KIC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkgYXNzdW1lZCB0byBiZSBp
biBhIG5vbWluYWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRpb0NoYW5uZWwgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBdWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1lbW9yeSBjYW4gYmUgZXh0
ZXJuYWxseSByZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBhbGxvY2F0ZWQgd2l0aCBh
biBBdWRpb0Zsb2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkRhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCmlu
ZGV4IGMzM2IzOGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2Uu
aApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJURkVsZXZhdGlvbi5oIgogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEhSVEZLZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZE
YXRhYmFzZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNlPiBj
cmVhdGUoZG91YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0hSVEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZh
dGlvbi5oCmluZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
RkVsZXZhdGlvbi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEhSVEZFbGV2YXRpb25faAog
CiAjaW5jbHVkZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogLy8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhSVEZLZXJuZWxz
IChvbmUgbGVmdCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5nbGUpIGZvciBh
IHBhcnRpY3VsYXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhSVEZFbGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCByZXR1cm5zIGFu
IEhSVEZFbGV2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJqZWN0IG5hbWUg
YW5kIGVsZXZhdGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmspIHJlc291cmNl
cy4KICAgICAvLyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIEhSVEYgZGF0
YWJhc2Ugc2V0LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5IG9mIG11bHRp
cGxlIG9uZXMgd2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9u
Y29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUo
MCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29s
b3IuaAppbmRleCAyZTRlOTYyLi42ZDg5MmE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5o
CkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZpbmUgQ29sb3JfaAogCi0j
aW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgog
I2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUsNyArNzQsOCBAQCBpbmxp
bmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAm
IDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBj
b2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyBy
ZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9CiAg
ICAgQ29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAppbmRleCA4N2ExYzVj
Li4wNzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRT
aGFkb3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5j
cHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAKICNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB1
c2luZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmY1ZGQ4YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2Fj
aGUoKQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9j
QmFzZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleShjb25z
dCBBdG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmluZygpLCB1bnNpZ25lZCBzaXplID0g
MCwgdW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMgPSBmYWxzZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250ID0gZmFsc2UsIEZvbnRSZW5kZXJp
bmdNb2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdNb2RlLCBGb250T3JpZW50YXRp
b24gb3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAgICA6IG1fc2l6ZShzaXplKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggZTY4NDVkOS4uNGZhNzQxNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNz
IEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnRE
YXRhOwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9u
dENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgp
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uMGViNjY4
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjcsMTQgKzI3LDE0IEBA
CiAjZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBG
b250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgw
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4
NWJjYy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlw
aE1ldHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmlj
c01hcC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAK
IGNvbnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxj
bGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdseXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2Zp
bGxlZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDZhZGM5MGIuLmJh
Nzg5YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApA
QCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQYXRoLmgi
CiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTE1
Myw3ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEludGVycG9sYXRpb25I
aWdoCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCop
OwogICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC0zNTYsNyArMzU2LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3Mo
Ym9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cygpIGNvbnN0Owog
Ci0gICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
ICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dz
Qml0bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IGMyZDVj
MjQuLjdjMDdiZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGUgbmFtZSBjb25mbGlj
dGlvbiBmb3IgTk9fRVJST1IuCiAjaWYgKChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoV0lORE9X
UykpIHx8IFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFUKSAmJiBPUyhXSU5ET1dTKSkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZh
dGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5o
CmluZGV4IDk4NWNhZDkuLjE5YzYwNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC04NCw3ICs4NCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICNlbmRpZgogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQ
cml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQ
cml2YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJp
dmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBHcmFw
aGljc0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50
cyhmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXgg
OTkxY2EzMi4uZTVkZGNiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2Ug
Y2xhc3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBI
ZXJlIHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVk
IHZpYSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxh
dGVkIGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBB
bmltYXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUs
IFBhc3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAg
OiBtX2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcsOCBAQCBwcml2YXRlOgogCiAvLyBV
c2VkIHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVl
cyB3aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVk
IGZyb20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVM
aXN0KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi5kNTRlMDA5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZUJ1ZmZlciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVyIG9u
IGFsbG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VCdWZm
ZXI+IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBD
b2xvclNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5o
CmluZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
U291cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSW1hZ2VTb3VyY2VfaAogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShXWCkKQEAgLTExNyw3ICsxMTYsOCBA
QCBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0aW9u
TG9vcEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAotY2xh
c3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3VyY2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAgICBJ
bWFnZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0cnVlLCBib29sIGlnbm9yZUdhbW1h
QW5kQ29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFnZVNvdXJjZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBlODdjNTNjLi4zMTY1NDc4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcgKzE0
Nyw5IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxNZWRp
YVBsYXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1zdHJ1
Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxheWVy
RmFjdG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3Rvcnko
Q3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVk
VHlwZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRz
VHlwZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAg
ICAgICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQyYi4uNzFjOTlkOSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0
Niw3ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAKICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVy
Q2xpZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
clByaXZhdGUuaAppbmRleCBkOTU2Mjg2Li42Njk4MTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM2LDggKzM2LDEwIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBJbnRTaXplOwogCi1jbGFzcyBN
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShN
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZpcnR1YWwg
fk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxv
YWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKaW5kZXgg
YmEyNWRjMi4uNTY3Nzg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Q
YXRoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4LDcgKzI4
LDYgQEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhfaAogCi0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgUExBVEZPUk0o
Q0cpCkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVm
IHZvaWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVu
dCopOwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBQYXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi44ZTNhMDQxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICsz
Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNz
IFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50
Kik7CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGRhYzMx
ZjguLjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVk
ZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0
eXBlZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fp
cm9fZm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVy
OwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVj
dCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250
Q3VzdG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2Fu
dmFzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgK
aW5kZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRl
eHR1cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4
dDNEOwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hh
cmVkR3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwog
ICAgIH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggNTMxZDY1Mi4uM2M3
MWFjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAi
U2tCaXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggMWYzMzUyNy4uNTI2YTg3
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJT
dXJmYWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNpbmNsdWRlICJG
bG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRp
b25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllckNocm9t
aXVtOwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRlcmVy
Q2hyb21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVtKExh
eWVyQ2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApA
QCAtMzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVk
ZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0
Zi9Pd25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRy
YW5zcGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21w
b3NpdGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5h
YmlsaXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0
ZXh0LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVu
Y3lXaW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVu
dW0gTGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJh
d2luZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLjBmNGM5NTkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1
LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsNyAr
NzYsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIGNs
YXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFdpbGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaWxs
UHVibGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJs
aXNoQ2FsbGJhY2soKSB7IH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdiOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3Np
Zmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNz
aWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZpZXJf
aAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8v
IENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBMb29w
Qmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkNs
YXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZpZXIp
OwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBD
dXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9v
cEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlh
bmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5M
b2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRlICJGbG9hdFBv
aW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNsdWRlIDx3dGYv
QXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRpb24gb2YgdGhl
IHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29udHJvbCBwb2lu
dCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3MgTG9vcEJsaW5u
TG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5u
TG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkxv
Y2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMgdGhhdCB0aGUg
dHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAgIC8vIHRoZSBw
b3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJlCiAgICAgLy8g
Y29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0ZXgpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCmluZGV4
IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRz
LmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhiYWVm
Li41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RB
cmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAg
LTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3ICsxNTcsOCBAQCBw
cml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGlu
ZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2Nr
IG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8g
QWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9E
SW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZh
bFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1
ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDggKzQzLDgg
QEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8obGcgbikp
IGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBpbiB0aGUg
dHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1jbGFzcyBQ
T0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsK
K2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2
YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPREludGVydmFs
VHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdoZW4gZGVj
bGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4IDZk
NTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
RFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRlICJQT0RBcmVuYS5o
IgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlICJM
b2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBiYXNl
IE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25seQog
ICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25seSB3
aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2RlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rvci4g
TmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0IE5v
ZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8vIEhl
bHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNv
dW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRlciA6
IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50ZXIg
OiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50ZXIp
OwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291bnQo
MCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUu
LmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRl
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC0zMSw3
ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsK
IGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNE
KiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThhYjUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMxLDE0ICszMSwxNCBA
QAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9h
dFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRp
bGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBp
bnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAg
ICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRX
ZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZmLi5iZjYwYWJlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNs
dWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtp
bmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAogCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNvcHlh
YmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xpZW50
IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xpZW50
KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUg
IkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3Mg
Rm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3Qg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CmluZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAK
ICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9u
L0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBV
SW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAot
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNG
b250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNGb250LCBDR0ZvbnRSZWYg
Y2dGb250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwgbV9hdHNGb250KGF0c0Zv
bnQpLCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4Li44NDg5OTNiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBA
IC0yNSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZHOwogCiBzdHJ1Y3Qg
UGxhdGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFN1cmZhY2VPcGVu
Vkc7CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2
Li5lZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9T
dXJmYWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3Vy
ZmFjZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWdsLmg+CiAjZW5kaWYK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3Vs
ZCBtYWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxl
bWVudGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7
CiAgICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRl
eCA2YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1LDE2IEBACiAjaW5j
bHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBT
aGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFi
bGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAor
cHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFk
ZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIwMWYxOC4uOWM2NjJh
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1E
YXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRh
LmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250
UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxh
dGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3Jt
RGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvbnRQ
bGF0Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMs
MTAgQEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZv
bnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZv
cm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5
TmFtZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5k
ZXggMTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjksOCBAQCBzdGF0aWMgaW5s
aW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4g
UXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEdyYXBoaWNz
Q29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNv
bGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2
YmRmYjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9U
cmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
VHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6
CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0IFFSZWN0ICZy
ZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAgIDogcGl4bWFw
KHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5KG9wYWNpdHkp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4xNDNlZTc5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJG
b250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCkBAIC00OSw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZv
bnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwog
I2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJl
ZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShm
b250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVlMTJhZDYu
LjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFw
aGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0ICszMSwx
NCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2RlZmluZSBH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRleHRTa2lh
IGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShQ
bGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9jb250ZXh0
KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMTAwODVkLi5kNjgzYWFmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tp
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRT
a2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0U2tpYV9oCiAK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgog
CiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJhd0xvb3Blci5o
IgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2libGUgZm9yIG1h
bmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBhcmF0ZQogLy8g
U2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9yIHRoYXQgYWxs
b3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3BwZWQgYWxvbmcg
d2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBGb3IgcHJpbnRp
bmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJlIE5VTEwuIElm
IHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28gY2FsbCBzZXRD
YW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uMTBmYjA0NCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zv
cm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4Lmgi
CiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3Mv
Q0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDggQEAgY2xhc3MgSW50UG9pbnQ7CiBj
bGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiAKLWNsYXNzIEFmZmlu
ZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFmZmluZVRyYW5zZm9y
bSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRv
dWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMwZGEzNzcuLjA4
ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9U
cmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBtYWtlSWRl
bnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2YjRiYWEu
LjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jt
cy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5j
bHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8c3Ry
aW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNp
ZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0u
aD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxvYXRSZWN0
OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1hdHJpeDRb
NF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4xNjI4ZWViIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVm
OwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0
Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGlj
OgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0
IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkK
ICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXggM2FiNTJi
OC4uNTE1NGVhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTI0LDcgKzI0LDYgQEAKIAog
I2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDxjYWlyby5oPgogCkBAIC0z
Myw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7
CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDog
Tm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1fZm9u
dEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYxNDAuLjU5NTFlNDkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0
LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2Nh
bFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsV2luZG93
c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsV2luZG93c0NvbnRleHQp
OwogcHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFw
aGljc0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQg
PSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUpCiAgICAgICAgIDogbV9ncmFwaGlj
c0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9R
VE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPFFUTUwu
aD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02Myw3ICs2Miw4IEBAIHVuaW9uIFVw
cFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAw
Owogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVBy
aXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7Citj
bGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQ
cml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4IGUxM2Y3MzIuLjI2ODYxMmQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCkBA
IC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1
ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9R
VFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCmlu
ZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FU
VHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLWNs
YXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJhY2tQ
cml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBwdWJs
aWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5o
CmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAj
aWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC0zNiw3ICszNSw4IEBAIHN0
cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdLQ0FD
RkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkNvbnRl
eHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0Rmx1c2hl
cik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVyJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJS
ZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5k
ZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAK
ICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FDRkxheWVyLmgiCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBAQCBwdWJsaWM6CiAvLyBGSVhNRTog
Q3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBXZWJWaWV3
IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRleHQgYW5kIERpcmVjdDNE
RGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBjcmVhdGUoV0tDQUNGTGF5ZXJSZW5k
ZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCw3ICsyNCw2
IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmlu
Z01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckZvbnQoY29u
c3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjb25z
dCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFtZShuYW1lKQogICAgICAgICB7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURh
dGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5o
CmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVk
ZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVkZWYgc3RydWN0IHRhZ1RFWFRNRVRS
SUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDA4MDI4MjYuLjgyNDU1OTYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0
V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3ND
b250ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyArNDQwLDggQEAgc3RhdGljIHZvaWQgcm90YXRlQml0
bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVkQml0bWFwKiBzb3VyY2VCbXAs
IGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFsc2U+KGRlc3RCbXAsIHNvdXJj
ZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIDogTm9uY29w
eWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAgIFRyYW5zcGFyZW50TGF5ZXJE
QyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEsIEludFJlY3QmIG9yaWdSZWN0
LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0gMCwgaW50IGFscGhhID0gMjU1
LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5zcGFyZW50TGF5ZXJEQygpOwpA
QCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXllckRDOjpmaWxsQWxwaGFDaGFu
bmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVE
Q1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29wZURDUHJvdmlkZXIoR3JhcGhp
Y3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAgICA6IG1fZGF0YShkYXRhKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0
LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRl
cmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZv
cm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9
CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA1YTA0YmVlLi4xZDdiOWY4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAg
LTIyMSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0TWF4TnVtUGl4
ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVjb2RlZCBpbWFnZXMgY2Fu
CiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRlIHRob3NlIGltYWdlcyB0
aGF0IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90IHN1cHBvcnRl
ZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIEltYWdlRGVjb2RlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihib29sIHByZW11bHRpcGx5QWxwaGEs
IGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAgICAgICAgICAgICA6IG1fc2NhbGVk
KGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRleCA3MTg3ZWNmLi44OWY4
MzNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApAQCAtNDQsNiArNDQsNyBAQCBj
bGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBDbGlwYm9hcmRNYWMgOiBwdWJs
aWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJk
TWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBh
c3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAg
ICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGlj
c0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29u
dGV4dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2IEBACiAg
KiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250ZXh0OwpA
QCAtMzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNs
YXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhp
Y3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFu
ZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVu
dEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJl
bnRHcmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVu
dEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250
ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFy
ZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCmlu
ZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1No
YXJlZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFj
Lm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4KICNpbXBv
cnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4K
LSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0
YS5oCmluZGV4IDFmZjYzNDQuLjZlZjIyNDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0
YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRh
SXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QmxvYkRhdGE+
IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGFCdWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgK
aW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3Jt
RGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBU
ZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZv
cm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRFbmNvZGluZyBlbmNvZGlu
Z0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hhcnNldCwgRG9jdW1lbnQq
IGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRl
Tm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4zOTk3ODBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lm
bmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5lIE5ldHdvcmtTdGF0ZU5vdGlmaWVy
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQog
CkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5ldHdvcmtTdGF0
ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90aWZpZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAgICAgdm9p
ZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCA5Y2Nj
ZWNkLi4wZjJiZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9u
OwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50Owog
Ci0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNvdXJjZUhh
bmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFu
ZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZm
KQogICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0ZS4uMmI3NDE3MyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC00OSw3ICs0
OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJj
ZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlzIHR5cGUgZGlyZWN0bHkuICBV
c2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFz
ZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNl
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAg
IC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0LCBiYXNlZCBvbiBob3cgdGhlIHJl
c291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBUYXJnZXRUeXBlIHsKQEAgLTIwNSw3
ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlubGluZSBib29sIG9wZXJhdG9y
PT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsg
cmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUoYSwgYik7IH0KICAgICBpbmxpbmUg
Ym9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291
cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFC
YXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0
Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uY2I4YTUxZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcg
KzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291
cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVz
ZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VC
YXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEwIEBAIHByaXZhdGU6CiBp
bmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9uc2VCYXNlOjpjb21wYXJl
KGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi1z
dHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKTsKK3B1
YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSgpIHsgfQogICAg
IEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgbG9uZyBsb25nIG1fZXhw
ZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMGY5Nzg2Ny4uMTgxNThmYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBSRUFE
X0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVi
bGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGlj
OgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VS
ZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFu
ZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVX
aW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4IEBAIHN0
YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxlLCBEV09S
RCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVi
bGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGlj
OgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VS
ZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsKICAgICB+
V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L3F0L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKaW5k
ZXggNWFjYTFhNi4uMWVlYzhhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlw
Ym9hcmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaApAQCAtMzks
NiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUg
ZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAg
Y2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlwYm9hcmRB
Y2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEqIHJlYWRhYmxlQ2xpcGJvYXJkKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFz
ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5Mjcz
Li5kYTUzYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFz
ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcg
KzUwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3Qg
aW50IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsK
IAotY2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FM
aXRlRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsK
ICAgICBmcmllbmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRl
RGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRl
bWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5kZXggMTQ0
NGYwZS4uMWVlM2JlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3Rh
dGVtZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKQEAg
LTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxWYWx1ZTsKIAot
Y2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0
ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVtZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1lbnQoU1FM
aXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFmLi40Mjdi
Mjk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0
ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRy
YW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVUcmFuc2Fj
dGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFuc2FjdGlvbihTUUxpdGVEYXRhYmFz
ZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAgflNRTGl0ZVRyYW5zYWN0aW9uKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmggYi9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5kZXggMWY4NzExNS4uMDU2ZWQ3MiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApAQCAtMjMsNyArMjMsNiBAQAogI2Rl
ZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAiQmlkaUNvbnRleHQuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEyNSw4IEBAIHN0cnVjdCBCaWRpQ2hhcmFj
dGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25leHQ7CiB9OwogCi10ZW1wbGF0ZSA8
Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBC
aWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJpZGlSZXNvbHZlcik7CiBw
dWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAgIDogbV9kaXJlY3Rpb24oV1RGOjpV
bmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
UmVndWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVz
c2lvbi5oCmluZGV4IGYxNjExZTUuLjEyZDA1MjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9S
ZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Citj
bGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNp
dGl2aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29k
ZWMuaAppbmRleCBjNmFmMzhhLi4xOGI1ZDhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5o
CkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29k
ZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAotICAgIGNs
YXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVj
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAg
ICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNo
YXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdkYjk3
Ny4uODg0NmNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIv
Rm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9G
b250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIEZvbnRUcmFuc2NvZGVy
X2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZv
bnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29k
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQoU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250RGVz
Y3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CiAgICAgYm9vbCBuZWVk
c1RyYW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyog
PSAwKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdp
bi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2NGI4NS4u
MmQxNDRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKQEAgLTQxLDYgKzQxLDcg
QEAgY2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3Mg
ZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiBjbGFzcyBDbGlwYm9hcmRX
aW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJRGF0YU9i
amVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZy
YW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3Nh
Z2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2Fk
Y2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRj
YXN0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9h
ZGNhc3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9h
ZGNhc3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihI
V05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3Zl
TGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRh
YmFzZS5oCmluZGV4IGIxNDYwNWYuLjkzMmExZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5o
CkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgSGFz
aFNldDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVnaW5TZXQ7
CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVn
aW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
TWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRT
Y2hlZHVsZXIuaAppbmRleCA2MTBlODljLi5lMmUwODA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBf
dCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRT
Y2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNj
aGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVk
dWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdHlwZWRlZiB2b2lk
IE1haW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGRlYWVj
OTkuLjVmMGY2Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysr
IGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTMsNyArOTMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxseQogICAg
IH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1
Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3Qs
IGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91bGRBbGxv
d1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJlcXVl
c3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYxOS4uZGI5NDc4YyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L0NvbHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29sdW1uSW5m
byB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVk
Q29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2Rl
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0MDkuLjU1NWU4
MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBD
b3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8vIFRoaXMgaW1w
bGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcgcGFyZW50cyBp
biBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91
dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IGNjYTNlNDIu
LmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgsNyArMjgsNiBAQAogCiAj
aW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBA
IGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0
OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlv
dXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwogcHVibGlj
OgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi4zYjVjZjA2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFy
ZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJBcmVuYV9oCiAKICNpbmNs
dWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9IDQwMDsK
IAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVy
QXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBhcmVuYVNp
emUgPSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmlu
ZGV4IDUxNTMyMTguLmRjZWYwNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzU0LDcg
KzM1NCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlckhhZExheW91dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBG
bG9hdGluZ09iamVjdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0aW5nT2Jq
ZWN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIE5v
dGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMgYSBtYXNr
IHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0LgogICAgICAgICBlbnVtIFR5cGUgeyBG
bG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRCb3RoID0gMyB9OwogCkBAIC02ODEs
NyArNjgzLDkgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogbV9jb250aW51
YXRpb247CiAgICAgCiAgICAgLy8gQWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZp
ZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRh
KGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3Np
dGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1
bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFy
Z2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQo
MCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAxNDNj
NzJjLi40ZTVmNmY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
Y3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1l
VGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBwYWlyPFJlbmRlckJveE1vZGVs
T2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBLZXk7CiB0eXBlZGVmIEhhc2hN
YXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIAotY2xh
c3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVF1
YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJ
bWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91bGRQYWludEF0TG93UXVhbGl0
eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCosIEltYWdlKiwgY29uc3Qg
dm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5o
CmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaApA
QCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQg
bm9TcGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3Jp
ZEF4aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4aXMoKTsKICAgICAgICAgdm9pZCBy
ZXNpemUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVz
b3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRleCAy
MzQ2NzEyLi5lNThjZDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZVJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5o
CkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJl
bmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZmIzYWI2Ny4uY2FkODQ1NyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBDb21wb3Np
dGluZ0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJhY2tpbmcg
Zm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBSZW5kZXJM
YXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCwgcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5k
ZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1h
cnF1ZWUuaAppbmRleCA3OTk5OGVkLi4zYjVlYjMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVl
ZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlckxh
eWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9mIGxheWVy
cyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7CiAgICAgdmlydHVhbCB+UmVu
ZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZs
b3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKaW5kZXggMjUzYTY3Mi4u
MzFlMDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCkBAIC0zNyw3ICszNyw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2aXN1YWwgb3ZlcmZsb3cgYXJlIHNo
YWRvd3MsIHRleHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBvdXRsaW5lIGFuZCBib3JkZXItaW1h
Z2UpLgogCiAvLyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhl
c2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGluIHRoZSBvd25pbmcgYm94LgotY2xh
c3MgUmVuZGVyT3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyT3Zl
cmZsb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck92ZXJmbG93KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRS
ZWN0JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAgICAgIDogbV90b3BMYXlvdXRPdmVy
ZmxvdyhkZWZhdWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjQzNWZlY2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7Citz
dHJ1Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6
CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwogfTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEuLjIzYjVlNjAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKCkKICAg
ICAgICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDA3ZjkzM2YuLjEz
M2ViNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI1NCw3ICsyNTQsOCBAQCB2b2lkIHRv
UmVuZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8gU3RhY2stYmFzZWQgY2xhc3Mg
dG8gYXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNsYXNzIExheW91dFN0YXRlTWFp
bnRhaW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZU1haW50YWlu
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlTWFpbnRhaW5lcik7CiBw
dWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExheW91dFN0YXRlTWFpbnRhaW5l
cihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIEludFNpemUgb2Zmc2V0LCBib29s
IGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdo
dENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICszMCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIDog
cHJpdmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJsaWM6CiAg
ICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2JqZWN0KQogICAgICAgICA6
IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdl
QnVmZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaApp
bmRleCA5YmNjN2E0Li45MjI1ODA1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdJ
bWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJU
b29scy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIklt
YWdlQnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtMzIsNyArMzEsOCBAQCBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBHcmFw
aGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFNWR0ltYWdlQnVmZmVy
VG9vbHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VCdWZmZXJUb29scyk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiBhYnNv
bHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xhbXBlZEFic29sdXRlVGFyZ2V0UmVj
dCwgT3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2UpOwogICAgIHN0YXRpYyB2b2lkIHJl
bmRlclN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyKiwgUmVuZGVyT2JqZWN0KiwgY29u
c3QgQWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdN
YXJrZXJMYXlvdXRJbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZv
LmgKaW5kZXggOGY1OTcwMzUuLjA3MmI0YmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR01hcmtlckxheW91dEluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJM
YXlvdXRJbmZvLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUg
IlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR01hcmtlckRhdGEuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0MSw4
IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7CiB9
OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR01h
cmtlckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01hcmtlckxheW91dEluZm8oKTsKICAg
ICB+U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHUmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAppbmRleCA0
OTU5MWNmLi42NTk5MWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJj
ZXMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaApAQCAtMjIsNyArMjIs
NiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIFJlbmRlclNWR1Jl
c291cmNlTWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAKIC8vIEhvbGRzIGEgc2V0IG9m
IHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJPYmplY3QKLWNsYXNzIFNWR1Jlc291
cmNlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXMgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJj
ZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAuLjgyN2FjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVz
b3VyY2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNz
IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFz
cyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNv
dXJjZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hl
KCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVz
b3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4zNDEyNThlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAgLTI5LDcgKzI5LDggQEAgY2xh
c3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFz
cyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcik7CiBwdWJsaWM6CiAgICAg
U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAg
ICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaAppbmRl
eCBlMGZhOGVlLi5kOWVkMTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxh
eW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIxLDEzICsy
MSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0X2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVM
YXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRhYmxlTGF5b3V0
KFJlbmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1RyYW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9U
cmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQu
aCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXgu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybVN0YXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAgICAgZW51bSBUcmFuc2Zvcm1EaXJl
Y3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5hcHBseUludmVyc2VUcmFuc2Zvcm1E
aXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiB7IEZsYXR0ZW5UcmFu
c2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQ
b3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3QgaW50IFBv
c2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdm
ZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAotY2xh
c3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZl
cnRpY2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVydGljYWxQ
b3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUoKQogICAg
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5kZXggNGY5NjRhMi4uZjIz
ZTcwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCkBAIC0zMyw3ICszMyw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFnZTsKIAotc3RydWN0IENv
bnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlwZShDT05URU5UX05PTkUp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oIGIv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2FkLi5k
ZGY5YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVu
dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAgLTMw
LDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29udGVu
dCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0
b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVy
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZiMjk0Li5jNmVlNTEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3Qg
RmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxMYXllciA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXllciB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIoRUZpbGxMYXllclR5cGUpOwog
ICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1No
YWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRleCBj
YTgzYWYwLi41MGNmMGJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFk
b3dEYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBAIC0y
Niw3ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIK
LSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQgfTsKIAog
Ly8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhlIHRl
eHQtc2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRvd0RhdGEg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAgICA6IG1f
eCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxk
ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKaW5kZXgg
MzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5r
QnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7CiAvLyBQ
aGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQsIGNvbXB1
dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVkIGluIHRo
ZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQaGFzZSB0
aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBwbGllZCB0
byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVuZ3RoKS4K
IAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0
Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICsz
OCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0
cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAv
LyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0
RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwog
cHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQg
YnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQwNThkOC4u
NjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5o
CkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVyU1ZHSW5s
aW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNo
IGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBv
YmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmUo
KTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7IHJldHVy
biBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkzZWYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZH
UmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsK
IGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0
TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1i
YXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25z
dCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMwLDcgKzMw
LDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAvLyBIZWxw
ZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2VybmluZycg
LyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1RleHRMYXlv
dXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlv
dXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0
RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmco
Y29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNr
LmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4uY2UwYmE0
ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1dlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNrIGlzIGNv
bXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNyZWF0ZSB0
byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25p
emVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIp
OwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigpOwogCkBAIC02Nyw3ICs2
OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgdmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaApp
bmRleCA3MTQ1ZTZiLi5hNjFkOWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJh
c2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01
Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0
eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERh
dGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNr
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRyYWNr
ZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAgIHN0YXRpYyBEYXRhYmFzZVRyYWNr
ZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJh
bnNhY3Rpb25Nb25pdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9u
TW9uaXRvci5oCmluZGV4IDc4M2E3MzEuLjRmY2MyMzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Rv
cmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdl
L0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDcg
KzQzLDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOwogLy8gRklYTUU6
IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8gVExTLiBLZWVwaW5nIGl0IHN0YXRp
YwogLy8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBwb3J0IGZvciB3b3JrZXJzLiBBbm90
aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSB2ZWN0b3IgaW4gdGhlIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0
b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0
b3IpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBlbmRpbmdUcmFuc2FjdGlvbihJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVQZW5k
aW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oIGIvV2ViQ29yZS9zdG9yYWdl
L0xvY2FsU3RvcmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi40NjcyMDQyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9M
b2NhbFN0b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhp
cyBjbGFzcyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQsIEFyZWFT
eW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvV2ViQ29yZS9zdG9yYWdl
L0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLjI0ZmUxOWMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAvLyBGSVhNRTogUmVuYW1l
IHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVh
ZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFkKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRy
PExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJl
YWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBi
L1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi5hYzI4
YTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmln
aW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9y
YWdlL09yaWdpblVzYWdlUmVjb3JkLmggYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNv
cmQuaAppbmRleCBhODMwZTY4Li5kNmFlNTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
T3JpZ2luVXNhZ2VSZWNvcmQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNv
cmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE9iamVjdHMg
b2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0aCBleHRl
cm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJndW1lbnRzIGFyZSBhbHNvIHN1cHBv
c2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxlciB3aGVuIG5lY2Vzc2FyeS4KLWNs
YXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdp
blVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5Vc2FnZVJlY29y
ZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgT3JpZ2luVXNhZ2VSZWNv
cmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50
LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBmZWQwNjU3
Li5kNTY3YTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGll
bnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApAQCAtMzMs
NyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCArNDAsMTAgQEAgY2xh
c3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhlIFNRTFRyYW5zYWN0aW9u
IGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGludGVyZXN0ZWQKIC8vIHBh
cnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGluIGEgdHJhbnNhY3Rpb24u
Ci1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJh
bnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIFNR
TFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0
aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJz
dHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFz
ZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0
b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXgg
OTQzNjBjMC4uMzQyNTY2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0
aW9uQ29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29y
ZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBj
bGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0
b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFNR
TFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9pZCBhY3F1aXJlTG9jayhT
UUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2NrKFNRTFRyYW5zYWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmgKaW5kZXggYTBjZjJiYi4uMTU1ZDBhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25z
LmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NN
SUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAotY2xhc3MgU1ZHRG9jdW1lbnRFeHRl
bnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9u
cyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRy
PFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0RvY3VtZW50
RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgogICAgIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJj
ZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hlOwogCi0g
ICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwot
ICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0
ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5zIGEgbGlz
dCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNoCiAgICAg
Ly8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRvY3VtZW50
LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3
NmM0YS4uNzViZDQzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRh
LmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIxLDcgKzIxLDYg
QEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4
dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIFNW
R0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudEluc3Rh
bmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdF
bGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNW
R0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEu
aAppbmRleCBlODk3YTU5Li4yOTQxYTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250
RGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1ZHRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0Zv
bnREYXRhKFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkg
eyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2ViQ29yZS9z
dmcvU1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi43MjllZDU0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVu
ZGVyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZH
UGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhC
bGVuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3Ry
ZWFtLmgKaW5kZXggYjg4ODJiNi4uY2FiZmIyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZH
UGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBA
IC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFtX2gKIAogI2lmIEVOQUJM
RShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQzLDcgKzQyLDggQEAgdHlw
ZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWduZWQgc2hv
cnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNy
ZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgg
Yi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi40ZDU3ZTRjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2
Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykK
ICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2lu
Z01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1l
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVhbCB2b2lk
IGluY3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNvbnRp
bnVlQ29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAwOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0
aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLmM0OGIyMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Zn
L1NWR1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5
LDEyICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNW
R1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJz
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1BhdGhQYXJzZXIo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLmNmNGNkMDIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNl
LmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZH
UGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291cmNlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+
U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29u
c3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUv
c3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uMGYwY2NiYyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBA
IC0zNCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdUcmFuc2Zv
cm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94
LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAg
ICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Zn
L2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cAppbmRleCBjOTgwNGFlLi45MTYyNmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBA
IC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VD
aHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xpZW50KFNW
R0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0
aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0
aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7CiBjbGFz
cyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVBbmFseXNl
cigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29yZS93ZWJz
b2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4uOGYzZjE1
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDggKzQyLDEw
IEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2Vi
U29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKTsK
IHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsgfQogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25zdCBLVVJMJiwgY29u
c3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdCgpID0gMDsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggYi9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLjE5NzM5Yzgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDksNiArNDksNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAog
ICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRD
aGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmws
IHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29y
ZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysg
Yi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywx
MyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFu
ZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRI
YW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRz
aGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0
ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tl
dHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi5hYzgz
ZThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94
eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBX
ZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNv
bnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3
OCw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlk
Z2UuICBUaGUgUGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAv
LyBsaWZldGltZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29j
a2V0Q2hhbm5lbENsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIq
IGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBj
bGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwm
IHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9XZWJDb3JlL3dv
cmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGExLi42OGY5
NjI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9z
aXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUzLDcgKzUy
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5Owog
CiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdv
cmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVk
V29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
ZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgcHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFz
IGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQg
d29ya2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0
Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQog
CiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRo
ZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAg
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1
YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4
IDMzOTM3Y2UuLmEyZWM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5o
CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNs
dWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2
LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5n
UHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJv
eHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1
YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHko
V29ya2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNw
cCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNmLi43YjMx
NDljIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKKysrIGIv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0LDggQEAgU3Ry
aW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9
CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5M
b29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1cCk7CiBwdWJs
aWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAgICAgIDog
bV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVu
TG9vcC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAppbmRleCA5ZDRlZGZkLi5m
YTFiY2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUoKTsKIAot
ICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
VGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NP
d25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFz
az4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkgeyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLjRhYTlmODcgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiVGhyZWFkR2xvYmFs
RGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKQEAg
LTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgp
CiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFy
dHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtl
clRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcAppbmRleCA3ODJlMTU5Li4xYjljNTI5NCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcApAQCAtNjMsNyArNjMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpS
ZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRwUmVxdWVz
dCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAorcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmlu
ZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5oCmluZGV4IDFiOTgzZTYuLjAwNDI2YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApA
QCAtNDIsNiArNDIsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFk
YWJsZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxY
TUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVzdCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvV2ViQ29yZS94
bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0NWIuLjZhNzNiODYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAorKysgYi9XZWJDb3JlL3htbC9Y
UGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVjdCBFdmFs
dWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlv
bkNvbnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAg
IHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAgICAgdW5z
aWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlvbjsKQEAg
LTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCB+
UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6
IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV4
cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250
ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29y
ZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uZDg5N2RhNiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0
LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNl
IFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0
ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAgICAgICAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmggYi9XZWJDb3JlL3htbC9YUGF0
aFBhcnNlci5oCmluZGV4IDQ0YThlNDguLjQwYjczZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1s
L1hQYXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAtNTgsNyAr
NTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbihpbnQgdCwgRXFU
ZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQogICAgICAgICB9OwogCi0gICAg
ICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFBh
cnNlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOwogICAgICAg
ICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAgICAgICAgICAgIH5QYXJzZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmggYi9XZWJDb3JlL3htbC9Y
UGF0aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLmU3ZTFiY2QgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUu
aApAQCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZp
cnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2Rl
U2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAg
ICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoU3Rl
cC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uZjc3MGQ5OCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhT
dGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNs
YXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFy
c2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTdGVwIDogcHVibGlj
IFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBB
eGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywg
QXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
ICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAgIGVudW0gS2luZCB7CiAg
ICAgICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQcm9jZXNz
aW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxl
LmgKaW5kZXggZjNhOTMxOC4uMWZlYTViYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFNMSW1w
b3J0UnVsZS5oCisrKyBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUsNiArMzUs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCiBj
bGFzcyBYU0xJbXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNoZWRSZXNv
dXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFy
ZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQv
Q2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiNmViYTIxLi4zYTZjZGQ2IDEwMDY0
NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlk
IG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIElu
aGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5n
IGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAg
ICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRp
b24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmgg
aW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUu
aDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQ6IFVwZGF0ZWQgZm9yIHJl
Y2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVj
dC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4M2YuLjQz
ZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAgLTMyLDE0ICszMiwxNCBAQAog
I2RlZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gQm91bmRPYmplY3QgaXMg
YSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMK
IC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQg
b25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4
OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUp
OwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEuLjU5YzIxNzcgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCisrKyBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCkBAIC00MCw3ICs0MCw2IEBA
CiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewpAQCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4
RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJ
ZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoK
ICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2Fs
bGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkK
ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaCBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAppbmRleCA2NmJkNzE0
Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRN
YW5hZ2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5o
CkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNv
bWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQog
Ly8gZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2ls
bCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdh
aXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAg
ICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2Vu
dCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwuaAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
c3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZp
bmUgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsX2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsKQEAgLTQ0LDggKzQzLDgg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50Owog
Y2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlICB7Citj
bGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZy
b250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJ
bXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2ViRGV2VG9v
bHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudElt
cGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5k
ZXggODgwYWRiNC4uMDIyNmVmMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
ZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29s
c0FnZW50SW1wbC5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50
LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2NmExY2IuLmIwODUzMzggMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAgLTM2LDcg
KzM2LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURh
dGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1jbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1w
bCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmQKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJv
bnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNGcm9udGVuZEltcGwpOwogcHVibGljOgogICAg
IFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3
ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBhZGFhYjYx
Li5jMDU0ODM3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yNzksNyAr
Mjc5LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVnaW5Db250
YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8gb3ZlcnJp
ZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMKIC8v
IG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQbHVn
aW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRD
b250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDog
cHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hyb21lUHJp
bnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUqIGZyYW1l
KQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJi
YWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNs
dWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFz
cyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4
IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3Bw
IGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUy
NmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAor
KysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYg
QEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgot
I2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
SW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAg
KiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAK
LWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VI
YW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxl
LmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9t
YWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJv
eHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyAr
MzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6
RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFs
dWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBk
YXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpT
Qzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVj
dE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dl
YktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzcz
OS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJh
Y2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldl
YkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xp
ZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRk
NGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9X
ZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zh
c3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0
Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUg
PHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlh
bnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3
IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dp
bi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgK
ICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWlu
ZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJ
QU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAg
c3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBl
Jik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2lu
L0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253
bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRl
PHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3Ry
aW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFz
cyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlC
YWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3Bl
cnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBl
LCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJL
aXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAg
ICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
IGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgx
ZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9X
ZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGlj
IGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4g
IXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6
IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFz
ZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERh
dGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBT
X09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNo
VG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0
eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVj
dG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTgg
MTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9X
ZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9o
CiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Y2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0
b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3Bl
Y3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyop
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9X
ZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlh
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBi
L1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBz
dGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVy
biBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
aXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0
cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBm
MDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgK
KysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdl
YlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxk
IHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgogICAgIHN0YXRp
YyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2Vi
U2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgK
aW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxp
emVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAt
MzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxp
emVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMg
SVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVi
bGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3Rh
bmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcu
LjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyAr
MzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0
ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29w
eWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJD
b250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVibGlj
OgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0
YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDU1NDQ4OGIuLmM0NDQ5MjAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjMgIFpv
bHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5k
IEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9j
QmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0
NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhl
cml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUu
aCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTExLTIy
ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgcGF0aHMgcmVs
YXRpdmUgdG8gJFdlYktpdFZTUHJvcHNSZWRpcmVjdGlvbkRpciB0byBhY2Nlc3Mgc2hhcmVkIC52
c3Byb3BzIGZpbGVzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5
U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmgK
aW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3Jl
SVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5h
cnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCaW5hcnlTZW1hcGhvcmVf
aAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIENv
cmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktpdDIv
UGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNb2R1
bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6CiAgICAgTW9k
dWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVt
b3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9y
bS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJlZE1l
bW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTUyLDcgKzUxLDgg
QEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxl
IDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKICAgICAg
ICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNv
bnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQ
cm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2lu
UHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJQ
bHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIlNoYXJl
ZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0o
TUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlv
bjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNs
YXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBz
aGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44YzVlOGUzIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9XZWJLaXQyL1NoYXJl
ZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVmaW5lIENoaWxkUHJvY2Vz
c19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0
ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAg
fkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9i
amVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1l
c3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAorKysgYi9XZWJLaXQy
L1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMwLDYg
QEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGlt
ZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0
UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05Q
T2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VT
UykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1No
YXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9u
LmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvU2Fu
ZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaApA
QCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9uX2gKIAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaCBiL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCmluZGV4IGU4ODg5
YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZElu
ZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGlj
YXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJbmRpY2F0b3JXaW5k
b3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9ydCA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1JlZlB0
ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUyLi4wZGM3YTljIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2Vy
LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQxLDcgKzQwLDggQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBXZWJQ
cm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDogTm9uY29weWFibGUg
IHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nl
c3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4uOWUxNzQyZSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2lu
LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVX
aW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3Jl
OjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3RvcmllczsKIH0KIAotY2xh
c3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXRoV2Fsa2VyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1YmxpYzoKICAgICBQYXRo
V2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktp
dDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1Zp
c2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIvV2ViS2l0Mi9VSVBy
b2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRMaW5r
UHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsKIApkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFjYTguLjhiMDAzMzMgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAorKysgYi9XZWJL
aXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAog
I2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVx
dWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3ICs1NCw2IEBAIGNsYXNzIFdl
YlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8
RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRvd25s
b2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIH5Eb3dubG9hZCgp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFn
ZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKaW5k
ZXggMDI0NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25s
b2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIERvd25sb2FkTWFu
YWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGU7
CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2Jq
ZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgK
aW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lX2lu
dGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8vIE5QSlNPYmplY3Qg
aXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3MgTlBKU09iamVjdCA6
IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09iamVjdCA6IHB1Ymxp
YyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09iamVjdCk7CiBwdWJs
aWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAqIG9i
amVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBiL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5o
CmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCkBAIC0yOSw3
ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rpb25zIGZvciB0aGUg
Z2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
CiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1jbGFzcyBQbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Qcm9j
ZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4NGEgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBAQAog
I2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXkuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2Li5hZTZjNzE5IDEwMDY0NAot
LS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAorKysgYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXgg
ODI0YjcxNy4uNjI0MGU1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTIzICBab2x0
YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBG
YXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jh
c2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1
ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJp
dGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmgg
YW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZv
cndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4
ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgSmVyZW15IE9ybG93LgpAQCAtMTkzMDEsNyArMTkzMTMsNyBAQAogCiAyMDEwLTA3LTA3
ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29tbWVu
dCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8KgdG8g
ZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9m
IFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdlciBh
bmQgTGVvcGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJ
bi9tYWluLmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFi
bGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAg
LTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAgdHlw
ZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3VuZENs
YXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkgYWNj
ZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQqIHZh
cmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3BwQm91
bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJU
RGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJU
RGV2VG9vbHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKQEAg
LTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNB
Z2VudENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBAIHN0
cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsK
IAotY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdl
bnRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwogcHVi
bGljOgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0Fn
ZW50KCkge30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0RSVERldlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9EUlREZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgK
KysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGll
bnQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3MuaCIK
ICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7CiAK
IGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVi
bGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAg
ICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBw
dWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHND
bGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1YWwg
fkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2
NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyAr
MTExLDggQEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIu
IFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMg
cG9zc2libGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5h
dmlnYXRpb25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9u
Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEwMDY0
NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRy
b2xEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVt
ZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4dC9w
bGF0Zm9ybV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29y
ZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEgZm9y
d2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNvbnRy
b2xEUlQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGljOgog
ICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4gV2Vi
Q29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBzZXBh
cmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2lu
ZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdp
bmVEUlQuaAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4LDkg
KzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2luL1dl
YlRoZW1lRW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdl
YlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6Oldl
YlRoZW1lRW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2luZURS
VCk7CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dlYktp
dEFQSVRlc3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMxNzE4MTMgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRvb2xz
L1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTAgQEAKICNkZWZpbmUg
SG9zdFdpbmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdpbmRv
dyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKIHB1YmxpYzoKICAg
ICBIb3N0V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9XZWJLaXRB
UElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvV2Vi
S2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4LDEz
IEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250cm9s
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLjIzNmNjMWMgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysgYi9X
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTI3LDExICsy
NywxMCBAQAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dL
UmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
VFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUZXN0SW52b2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3QgY2hh
ciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74652</attachid>
            <date>2010-11-23 05:40:44 -0800</date>
            <delta_ts>2010-11-23 07:15:17 -0800</delta_ts>
            <desc>playing with EWSs</desc>
            <filename>kedd3.patch</filename>
            <type>text/plain</type>
            <size>326657</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li5iYTlkYzc5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi5kZjE5ZTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIHRoZSBKYXZhU2NyaXB0
IHNwZWNpZmljYXRpb24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMu
ICovCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZiBSRUdFWFBf
SElTVE9HUkFNCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xMTIsNyArMTEzLDkgQEAg
c3RydWN0IEJyYWNrZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7
CiB9OwogCi1zdHJ1Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNo
RnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJu
TG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3Vz
RnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRl
bnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRl
eCA3NmMxNDcwLi4yNTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9D
YWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNp
bmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcg
bV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVO
dW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUz
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7
ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNl
KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2Uz
YzIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAg
ICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8
UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oCkBAIC0zMyw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVj
dCBBcmd1bWVudHNEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3
LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVm
aW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5k
ZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyAr
ODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJl
YWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAx
ZTIyYjZhLi5mMTdlMjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1h
Y3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVw
ZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQu
LjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4w
YzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUs
NyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
QXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1
ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAg
ICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5
bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42
NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZp
bmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRp
b25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAg
ICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAg
ICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBEcm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFs
bExvY2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNT
dGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAg
ICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNl
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmlu
Z0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRy
X3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXgg
YzU1MWJhYy4uMTAxOGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
U3RhY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3
ICsyNyw4IEBACiAjZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAg
ICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxW
YWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNr
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAg
ICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3Qg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclBy
aXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jh
c2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiBy
ZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhw
KQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAj
ZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hh
aW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29w
ZUNoYWluTm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykK
ICAgICAgICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCmluZGV4IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQw
LDcgKzM5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcp
CiAgICAgcmV0dXJuIHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAot
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
bWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3NTdG9yYWdlKTsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTbWFsbFN0cmluZ3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3lt
Ym9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVk
U3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlND
ZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZh
bHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMg
dGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0
aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vh
a0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4u
OGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8g
dGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRh
IGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFs
bCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJl
ZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVm
Q291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291
bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVh
ZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaAppbmRleCBiZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYs
NyArNDYsNiBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyAr
MTA4LDkgQEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhl
Y1N0YXRlKiwgY29uc3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVy
cmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2Yg
dG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFu
RGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBH
cmVnb3JpYW5EYXRlVGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRl
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRl
ZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVy
cmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8K
IC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxv
Y0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAg
ICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1
bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xh
c3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdp
ZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8g
ICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAg
ZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAg
ICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2
b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAg
ICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6
ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwK
LSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RB
bGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NC
YXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYg
Ly8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENv
dW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRl
ZDc1YzUuLjdhYjI5ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwx
NCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1h
cC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVm
YXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJh
aXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhh
c2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rp
b25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4
IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJn
Pjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlB
cmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgot
ICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1h
cHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxW
YWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsK
ICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVB
bGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5j
dGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0g
MjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcs
IGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFs
bG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEg
KzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2Vy
KTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJs
ZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5s
b2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NRDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewpAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNz
YWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1
ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVk
MmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdURl9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYg
X19oYXNfZmVhdHVyZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQot
I2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRp
YWdub3N0aWMgcHVzaCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZh
dGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsg
XAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBk
ZWxldGU7IFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UK
LSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAg
ICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYK
LQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4g
ZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29w
eWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5v
bmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0
IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsg
fQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBX
VEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNl
bmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2
NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIs
NiBAQAogI2RlZmluZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1
ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NP
d25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9w
dEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25B
cnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBP
d25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxp
Y2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5j
bHVkZSAiT3duUHRyQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyAr
MzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duUHRyOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQ
dHIoVCopOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpU
eXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0xMTE4LDQgKzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgog
CisvKiBOb25jb3B5YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRl
ZiBfX2hhc19mZWF0dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgor
CisjaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJp
dmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRl
OyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9
IGRlbGV0ZTsgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxz
ZQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAor
ICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRp
ZgorCisvKiBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9k
ZWxldGUgKi8KKworI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwK
KyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsg
XAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwK
KyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRl
cm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJl
ZShwKTsgXAorICAgIH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMx
LDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5k
aWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZD
b3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkK
ICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmMyMWQ0ZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVm
aW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxl
dGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKCkgOiBt
X3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCogcHRyKSA6IG1fcHRy
KHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBA
IC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0
cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRU
cmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJ
ZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0z
MSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAj
ZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0
b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRv
IHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQg
YXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1w
YXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRl
bnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXgg
MzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBA
IC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFk
U2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVk
QmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRp
YWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Yy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4u
MTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYg
QEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNp
ZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURT
KQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7
CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMo
KTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBU
aHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30K
ICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMp
OyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2Fk
Li5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNX
aW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNw
ZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVB
RFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhh
dCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi43MmFlNWU1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdU
aHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9pZCogZGF0YSwg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVudHJ5UG9pbnQpCiAgICAg
ICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4IDA0NDM2NWYuLmRhZWEx
OGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4u
MmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0z
NSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBAQCB0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247
CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3
ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7
CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
ZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBw
dWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0x
MzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFk
V3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+
VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uYWJjOTYwMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gK
ICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAi
Tm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNo
ZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAg
LTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3Rv
ckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3Rv
clR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWRE
YXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0
YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykg
aW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpA
QCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJh
bElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODQsNyArODQs
OCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3Ry
aW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJl
YWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRo
cmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4
OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5v
ZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093
blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNl
NDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcg
KzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19m
cmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Zp
bGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsg
ZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVy
LmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBu
YW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5n
QnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0
cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmlu
Z0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBib29sIGlz
U3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52
YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5
ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAg
ICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5l
dyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFj
ZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFu
IGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li41YWIz
NDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVj
dCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNz
ID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYx
Y2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJw
cmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAt
MzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJ5dGVEaXNq
dW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAg
ICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTcsNyArMzE4LDkg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVj
b2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4o
UGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24q
PiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJB
bGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBt
X2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRl
cm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xh
c3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFu
Z2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9yIGZhc3RlciBs
b29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBtYXRjaGVzIGFu
ZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3RydWN0IFBhdHRlcm5UZXJtIHsKICAgICB9
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0
aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRo
cm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2
ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1z
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVy
bkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLjRhNjk5MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMDk3Ny4uNjRm
NmQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgU2F0aXNoIFNhbXBhdGggIDxz
YXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgg
Yi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZX
RF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggODVkYjZmZC4u
OTVmYjc1NSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MzU1OCwx
MCArNjM1NTgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJl
bGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJ
CQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyZWU1NmVlLi5iMmFjODY2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTU3LDcgKzU3LDggQEAg
c3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91
c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5kMDkxNDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
Y2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3Jp
cHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihjYWNo
ZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAppbmRleCA0YzI1NDA3
Li5kMzJmNzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwx
MiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmll
bmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9v
a3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
ICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVy
U2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1
Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyBy
ZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdp
Y2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdX
cmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVn
V3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFy
ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0
YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4
IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAg
IHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uY2ZjZWVkNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHku
IFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2
YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUo
SlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1Li4y
NzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
QEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRv
dzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3RlZFB0cjxKU0RPTVdpbmRvdz4g
PiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5M2Y3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdl
OwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0
eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVBy
b3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlw
dFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjUyOGNiYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTgg
QEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhh
c2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERh
dGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGll
bnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBm
cmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7
CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+
V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5j
b250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjc4YjdkZGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBA
CiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0g
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJvbGxlcihXb3JrZXJDb250ZXh0
Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5o
CmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC00Myw3ICs0
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJlYWQuICBUaGUgRE9NRGF0YSBm
b3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3IgY2hpbGQgdGhyZWFkcwogICAg
IC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERPTURhdGEo
KTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmgKaW5kZXggMzc1OGUyMy4uOGM2YzAyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0xNDksNyArMTQ4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBtYW5hZ2UgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAgLy8gbGlmZXRpbWUgaXMg
bWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0YVN0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3RvcmUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01Ob2RlTWFwLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMWFhMWY2Mi4uZjQy
ZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5jbHVkZSAiT3duSGFuZGxlLmgiCiAjaW5j
bHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdpbmRvdzsKIAotY2xhc3MgU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAg
ICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogCi1j
bGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3Jp
cHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2
ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBiNzVhMDU0Li5lMDk2OWUxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNp
bmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRT
dGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRp
dGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAxMTgxM2IwLi5kYzI0NzEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3Mg
UGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1
YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsgcmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0Vt
cHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNl
cHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgp
IHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1YmxpYzoKICAgICBTY3JpcHRT
dGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0
ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShz
Y3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAog
Ly8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMg
YW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRl
IHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAg
ICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0
ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJp
ZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBA
QAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsKIAogbmFtZXNwYWNlIEJpbmRp
bmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhv
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1QYXJh
bWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9JZGVu
dGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uY2E0M2FkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
cmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAu
aApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
CmluZGV4IDk2OTc0ZDkuLjg4ZWM3MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9C
cmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKQEAgLTU5LDgg
KzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3Mg
Q2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAg
ICBDbGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3Qg
SWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZp
ZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0
IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CkBAIC0xMjUsNyArMTI3LDgg
QEAgcHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGltZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0
OwogfTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJyYXkg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5KTsKIHB1YmxpYzoKICAgICBBcnJheShQ
YXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmggYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X3Jvb3QuaAppbmRleCBiYWJkN2FkLi4zOWZiMzU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX3Jvb3QuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaApAQCAt
MzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5o
CmluZGV4IDgzM2Q3ZmUuLjU2YjI4MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcg
QEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENT
U0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VW
YWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVs
ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLjczZjJhY2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVT
aGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBD
U1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4u
MDZkNDA2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFt
ZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIEF0
b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAgIEF0b21pY1N0cmluZyB1cmk7CiAgICAgICAgIE93
blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMWRhMjBiNy4uOTcyZjc3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTMyOCw3ICszMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5k
U2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjQ1ZjRhNDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNz
IENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Bh
cnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyAr
ODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7
CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1Ymxp
YzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAgICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVM
aXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjlhOWVjNDQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENT
U1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUHJvcGVydHkgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHkoaW50
IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFs
c2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAg
OiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBi
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9yQmFnIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7
IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzRW1wdHko
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li40NmY0YWFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0
LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSZW5k
ZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zMyw3
ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsK
IAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVs
ZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9y
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1NlbGVj
dG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMw
Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lmaWNpdHlG
b3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsK
IAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVj
dCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJlRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJh
cmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAgICAgICAg
ICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApp
bmRleCA5ZTQwZWY4Li44NTg0Mjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ckxpc3QuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApAQCAtMjcsMTEgKzI3
LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3Rv
ckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1NlbGVjdG9y
TGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMWZmM2JkNS4uMDVhMWJmNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7
IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUxLi4xM2ZjOTdlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwogCi1j
bGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE1lZGlhUXVlcnlSZXN1bHQo
Y29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1bHQpCiAgICAgICAgIDogbV9leHBy
ZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1YmxpYzoKIH07CiAKICAgICAvLyBUaGlz
IGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBnaXZlbiBlbGVtZW50IGJhc2VkIG9u
IGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3Vt
ZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVldCogbWFwcGVk
RWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBh
Z2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdy
b3VwVXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxlKCkgeyByZXR1
cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hl
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNoZWNrZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBi
b29sIHN0cmljdFBhcnNpbmcpOwogCkBAIC0zMTUsNyArMzE4LDggQEAgcHVibGljOgogICAgICAg
ICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdCo+IG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5
UmVzdWx0czsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHIsIENTU1Nl
bGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAgICAgICAgICAgIDogbV9wb3Np
dGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NT
dHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgICAgICA6IG1fZmlyc3Qo
bmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRleCAyODEwMDliLi43
ZDFmYzdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBNZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gUmVz
dHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwgTm9uZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5oCmluZGV4IDAwYWMzOTQuLmQ4YzU5ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
QEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hh
cmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhl
IGxvYWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2Jh
YmxlIHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkg
c2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3Ig
ImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
eHAuaAppbmRleCA3MmQzZmZmLi44ZTQyNTVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICsz
OCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAK
LWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRp
YVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1
ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAg
Yi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dl
YkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFz
eW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBD
YWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAg
ICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2Ny
aXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsK
KyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBj
YWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYo
KXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5o
CmluZGV4IDFhMDUxYTguLjI5ZWU1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2Ny
aXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBA
IGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVu
dDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3lu
Y1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQpIHsgcmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5
bmNTY3JpcHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
IGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5kZXggODZhMjJiMC4uZjUwMzZlNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvV2ViQ29yZS9kb20vRE9N
U3RyaW5nTWFwLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRE9NU3RyaW5nTWFwX2gKIAog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3
ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGlu
dCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBET01TdHJpbmdNYXAgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRE9NU3RyaW5nTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01T
dHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwg
fkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODNiYTg4NS4uODQxYmIyNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAg
ICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29u
dGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1l
bnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRv
Y3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4uNTBlYzg4MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7
CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7
IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5o
IGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBmMDVkMzZjLi5jZDQ5ZGU4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTI0LDYg
KzI0LDcgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVudF9oCiAKKyNpbmNsdWRlICJD
bGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zMSw4ICszMiw2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsaXBib2FyZDsKLQogICAgIGNsYXNz
IEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+IHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGVudW0gUGhhc2VUeXBlIHsgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgg
Yi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNDk2ODA0ZS4uN2UxMGU2ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaApAQCAtMTc4LDcgKzE3OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAvLyBl
bmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKLSAgICBjbGFzcyBFdmVudE5hbWVzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudE5hbWVzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8g
d29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBF
dmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAgICAgICAgRXZlbnROYW1lcygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uZmExOTBkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3
ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3Rl
cmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1h
cDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAg
ICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAog
I2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMTRk
OTBmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hh
bm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRl
cGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBl
bnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZv
a2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFu
bmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAK
QEAgLTc4LDcgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBSZXR1cm5z
IHRydWUgaWYgdGhlIHByb3h5IGN1cnJlbnRseSBjb250YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBw
b3J0LgogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIGNsYXNz
IEV2ZW50RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV2ZW50RGF0
YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFz
c093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApp
bmRleCBhYjIwOGQyLi5lZGM1MDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAg
ICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAg
cHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzogICAgCiAg
ICAgTm9kZVJhcmVEYXRhKCkKICAgICAgICAgOiBtX3RhYkluZGV4KDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgK
aW5kZXggMzRmYzA2OS4uMTdlODUwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oCisrKyBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBA
QCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFt
ZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxR
dWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiNmJl
YjZlLi40ZTkxYmQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysr
IGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFNj
cmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3JpcHRFbGVt
ZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0
ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVu
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjhjYTgy
YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysg
Yi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKKyAg
ICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAgICAgIHZpcnR1YWwgflRhc2soKTsKICAgICAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
PSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0YXNrcyBnZXQgbWFya2VkIHNwZWNpYWxseSBz
byB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwgYW5kIGFyZSBleGVjdXRlZCwgd2hlbiB0aGUg
Y29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBtZXNzYWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCmluZGV4IDgyNmU2YmQuLjgzOTliNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAg
LTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU3BhY2VT
cGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0
cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
U3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uo
c2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5o
CmluZGV4IGY5N2FmY2YuLjk3ZWM0ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsy
Myw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQ
bGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJj
ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBE
ZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVy
ZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGlj
YXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwog
cHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJu
IHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1
cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1
cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHBy
b2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxl
bWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2My
Li5kNWRhOWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisr
KyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6
IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCA3YTMyODVmLi42ZWRlNzg2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTc1LDggKzc1LDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAg
ICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsK
ICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi44ZjQxOTMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFhNTERvY3VtZW50UGFy
c2VyU2NvcGVfaAogI2RlZmluZSBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKFhTTFQpCiAjaW5jbHVkZSA8bGlieG1s
L3RyZWUuaD4KQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVu
dFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApp
bmRleCAxMjg2YzA3Li44OWYyY2JiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVCdXR0b25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0gRUZyYWdtZW50VHlw
ZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9
OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVw
bGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVu
dEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50
KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRG
cmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29y
ZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0Li4zOTc4Zjc1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAi
VmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9u
OwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0
aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlv
bk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rp
b25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxl
ZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCA0ZGNlZDA1Li5kZTlj
NzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysr
IGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBA
IHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNz
IFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hl
Y2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBl
cik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NS
ZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCmluZGV4IGE5NjI2OGQuLjFmYmU2MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVw
cyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBzZWFyY2ggaW4gdGhl
IGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2VzIGFyZSBhbHdheXMg
ZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUgaWYg
PGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJp
bmcmIHRhcmdldCwgYm9vbCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQu
aApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQg
c3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVy
Zm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lz
dGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4u
MTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkg
cG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEg
cGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhh
dCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxs
ZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVy
LmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4u
MDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgs
OCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmls
ZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0Nh
bGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBl
bmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxs
YmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJl
c3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlw
ZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmlu
ZGV4IGU4OWUzMmIuLmQ2ODA0N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9s
bGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
ICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3Rv
cnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NS
ZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmQ1MGI5Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAot
ICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUq
IHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZh
Li5kYTNlNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysr
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotc3RydWN0IENvbGxlY3Rpb25DYWNo
ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxlY3Rpb25DYWNoZSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBD
b2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNh
Y2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uZTE1MDczMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJs
aWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tl
bkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLmUwZGJj
YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9
OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBmY2IyYmU4Li41NmJhYTdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC0xMjExLDcgKzEyMTEsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2Vw
YXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0cnVj
dCBFdmVudEhhbmRsaW5nU3RhdGUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBFdmVudEhhbmRs
aW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmVm
UHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWlu
YXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQ
YXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBk
ZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3Mu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQog
ICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBjMTQxN2Zh
Li5kZjBhYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNs
YXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0
eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBv
c2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8g
Y2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBl
PiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4x
ZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJhbmdl
X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAot
Y2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29s
IGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4
IGZlMThiNmIuLmY4M2E1ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIAotY2xhc3Mg
VmFsaWRhdGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlv
bk1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oCmluZGV4IDUzMmRkYjIuLjIyYTQ4YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApA
QCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5
U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGNvbnRyb2wpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCBhMjVlOGExLi4xNGY1YTBhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAor
KysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBA
IGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7
CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZp
cnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NT
UHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVs
b2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGlj
OgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1Ymxp
YzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rp
b25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQq
IGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhU
TUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDog
bV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRl
eCAwNTA1M2RmLi5jMjAxYzNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi45MzZkNDExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxlbWVu
dFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNsYXNz
IFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2Fy
ZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJk
IChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1l
bnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNrKCk7CiAgICAgfkhUTUxF
bGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIH5FbGVtZW50UmVj
b3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAppbmRleCBhY2EwNWJiLi5mNzVm
YTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVu
dExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50
OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1lbnRTdGFjay4KLWNs
YXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCBhNzA5YmQ5Li42NDJlNDM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0
ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRo
ZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAi
bGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0oKQogICAgICAgICA6
IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOCw3ICsxMjksOCBAQCBwcml2YXRlOgogICAgIFNlZ21l
bnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0mIGlucHV0U3RyZWFt
KQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCA1YmUzM2IwLi5hNGI3NDYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBA
CiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFz
cyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
UGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2No
ZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBw
YXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5k
ZXggOTRhOTBlNi4uODYwNDUzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFz
cyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uMWI3ZjkxZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyAr
NDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0OwogY2xhc3Mg
U2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li44ZWNkOGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAi
TmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmlu
aXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBl
bmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgog
ICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxz
ZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBz
aG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8g
ZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1j
bGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWlj
SFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwog
cHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6
IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4
IGYxNmIwNDkuLmQ1Nzc5ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBAIC0y
OCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVu
dGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFz
cyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAg
ICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJ
bnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAg
ICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1FbGVtZW50KiBj
bG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAK
LWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVy
VG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQo
dG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAg
ICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtl
SW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxk
ZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5z
ZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWls
ZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1
aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRl
eCAwZTc1OTdjLi45NjljN2EwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
QEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0Lmgi
CiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1
bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTFRva2VuaXpl
ciogdG9rZW5pemVyLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywg
Ym9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAgICB7CkBAIC0yMDMsNyArMjAzLDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NGb3JlaWduQ29udGVudFVzaW5nSW5Cb2R5TW9kZUFu
ZFJlc2V0TW9kZShBdG9taWNIVE1MVG9rZW4mIHRva2VuKTsKICAgICB2b2lkIHJlc2V0Rm9yZWln
bkluc2VydGlvbk1vZGUoKTsKIAotICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoKTsKICAgICAgICAgRnJh
Z21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4dEVs
ZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaApAQCAtMjgs
NyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIodW5zaWdu
ZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25lc3RpbmdMZXZlbCgmbmVzdGluZ0xldmVs
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggNGU4OGJlYy4uOTAyZWRjMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlw
dENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFZhbHVlOwog
Ci1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb25z
b2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5z
aWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NPd25QdHI8U2NyaXB0Q2FsbFN0
YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCBmODBj
ZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0
LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmgKaW5kZXggMTFmMTBjZS4uN2IzZTkyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQog
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3Bl
Y3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxl
ciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAg
ICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggY2E1YTlkOS4uZjljMTA0MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25z
ZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJl
ZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+ID4gRE9NU3RvcmFnZVJlc291cmNlc01h
cDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA5NTAx
YWM4Li4wMzE2MDk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCkBAIC01Miw3ICs1Miw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2
ZUJyZWFrcG9pbnREZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3Rl
bmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3Bl
Y3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmlu
ZGV4IDlkY2FhNWEuLjRhYTg3ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3
ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JG
cm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwog
ICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBjMWY1ZGIxLi5iMWE4YmU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICsz
NSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFw
U25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxl
ckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElu
c3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKik7CiAgICAg
dmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUwMjcuLmE2YmEzZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51
bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxp
bmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBT
Y3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4uMTMxZTEzMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBTY3JpcHRDYWxs
U3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1jbGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwogcHVibGljOgogICAgIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQu
LjVkODQ5YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNs
YXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAg
ICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAot
ICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li45M2U3NDM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiArNDcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsK
IAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVk
PERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2
YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1
ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVu
dFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li4zMTE5NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVtcHR5RnJh
bWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1lTG9hZGVy
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgIH0K
ICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAtMzgzLDgg
KzM4NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2lu
Z0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxG
cmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRvckNsaWVu
dCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9y
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAt
NDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
Ci1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1
YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlD
b250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
RW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5Q29udGV4dE1l
bnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVzdHJveWVkKCkg
eyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShDT05U
RVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0Ns
aWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6Cisg
ICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkg
e30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50UG9pbnQm
LCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzMiw4ICs1NDAsMTAgQEAgcHVibGljOgogfTsKICNlbmRp
ZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6
IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4
ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9y
bVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGlj
OgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFz
cyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9k
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxv
YWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdo
aWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVy
IGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3Rv
cnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBk
YXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCmluZGV4IDk0YTIxYTQuLjZhNTRlOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4
IDI4ZmRhOWEuLjI0OTViMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1
bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZp
Z2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9u
KGRvdWJsZSBkZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0
LCBib29sIHdhc0R1cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBt
X2RlbGF5KGRlbGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCmluZGV4IDE0MDBj
MjUuLmYxNGQwNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTQ3LDcg
KzQ3LDggQEAgY2xhc3MgRnJhbWU7CiBzdHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKIGNsYXNzIFNj
aGVkdWxlZE5hdmlnYXRpb247CiAKLWNsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlv
blNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0aW9uU2NoZWR1bGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmgKaW5kZXggZWI0MzE2Ni4uOTI2OGIyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtMzQsNyAr
MzQsNiBAQAogCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJU
aW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0
byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFz
IHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwg
dGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgot
Y2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwg
Y29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0
IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBA
IC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZy
YW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjFiZDE5
YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0
aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlh
bFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0
aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29w
eWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBQcm9n
cmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQog
ICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuaAppbmRleCA1ZDViNmIyLi44YzRhMGRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApA
QCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVzc1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDcgKzM1LDggQEAgY2xh
c3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsK
IAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBy
b2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIo
KTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9S
ZXF1ZXN0LmggYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKaW5kZXggYjZkZTMxMi4uOTZmN2Ix
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAK
LSAgICBjbGFzcyBSZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXF1
ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVxdWVzdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJlc291cmNl
TG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNr
UG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcw
NDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3VyY2VMb2Fk
Tm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291
cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9h
ZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmll
cik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQy
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1Ymxp
YzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2
ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhv
c3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uZDEx
ZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIu
IEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJh
bWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1
YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJlYWRhYmxl
TG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAv
LyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90
IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0
aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAog
ICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRh
YmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmlu
ZGV4IGJjZjY4YmUuLjhlNTI3NDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVzb3VyY2VF
cnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVM
b2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2Vu
dCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAg
LTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
LmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLmU4OTEzZTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAK
ICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29y
a2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lk
IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3Vw
LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAppbmRl
eCAyOWQwNzQ5Li5kMGRmMTBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAKQEAgLTUzLDcgKzUyLDggQEAgZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBk
YXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlV2l0aG91dEJyb3dzaW5nQ29u
dGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogcHVibGljIE5vbmNvcHlh
YmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAg
OiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGlj
YXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBB
cHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5
ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li42
NWMzYThiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlSG9z
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUg
U3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAg
ICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjAwYjI5Yzg1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwog
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAg
ICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi42NmZiOWE4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAor
KysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApA
QCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAppbmRleCBlZDYwZjg0Li4wYmJkNTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgUmVxdWVzdDsKIC8vIEEgcmVzb3VyY2Ug
dGhhdCBpcyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBv
YmplY3Qgc2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0
IHRoZSBmdW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZl
ZC4KIC8vIFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRo
IHRoZSBsb2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xh
c3MgQ2FjaGVkUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJp
ZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uZjYwMjFmNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBA
CiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VD
bGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3Zlcmxv
YWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFz
cyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsg
fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBm
MzcxYTBlLi43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJM
OwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBz
Y3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBD
YWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hl
OwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAppbmRleCAxNWNlOWRhLi5lYTQ5MjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
QEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2
YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1v
cnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRo
aXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1l
bW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNo
ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5hYzBhNTdk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4
IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1j
bGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0
YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAg
ICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVm
aW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhv
ZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3By
aWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJh
c2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBw
ZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFl
YmFjNDguLmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2
IEBACiAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxv
YWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRl
KEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKaW5kZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNv
bi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBp
Y29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJM
UmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVj
b3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
aW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNs
dWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNv
dXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBj
bGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0K
ICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxv
YWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxi
YWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEz
MDIuLjMxMTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYg
KzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAK
ICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwg
cHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRl
KGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0
aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlm
aWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92
aWRlcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggODMzYjkwOS4uYjU4
NTRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisr
KyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogI2RlZmluZSBDb250ZXh0TWVudUNv
bnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51
Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRN
ZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAg
ICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFn
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRy
b2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi45NDBjMjVlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0
ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJh
cnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSop
OwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAg
ICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRs
ZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdT
dGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBFdmVudEhh
bmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8g
ZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2Ug
Z2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2Ry
YWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi41YmVlYjJiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDogcHVibGljIFJlZkNv
dW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
dmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdl
L0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IDg4M2M5OTMuLjI0MWI2OGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgog
I2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVu
dDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4
ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZy
YW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhp
c0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTZiMTQyNi4uN2YzNjgzOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZl
cnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGlt
dW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25l
IGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0
c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVk
dWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBTY2hlZHVs
ZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9k
ZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRp
b25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5k
ZXggMmQ4MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9u
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFz
cyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9s
bGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmggYi9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0
dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBh
Z2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRp
bmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGUwNzQ4MTQuLjZhNjhhNWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVk
dWxlUGFpci5oIgpAQCAtODksMTIgKzg4LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9u
QmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JB
bGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1
cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAg
ICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVu
dHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApp
bmRleCBjYzQ3ZmJhLi4xNGRiNDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNj
cmlwdC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1l
c3BhY2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91
cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3Jv
dXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5mNzk1NmM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3Mg
UGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwTG9hZERl
ZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaCBiL1dlYkNv
cmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhiMzFlLi41YjcwNzIzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFs
dGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkhh
bHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVy
KFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGMzNzE5ZTIuLjNlOWE2OTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4
dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBTZXR0
aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5k
ZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5w
dXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJl
cXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVj
aCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBl
bGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZv
ciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0
cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNo
SW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6
CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVl
Y2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNv
cmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uY2QzZDBmNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5o
CkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNj
cmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1
cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0
LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQu
aAppbmRleCBmYTQyZTJjLi4yNDc5ODRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0
eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyAr
MzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4g
d2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9y
LmgKaW5kZXggMmI3ODFmMS4uNDkwNzFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2OSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6c2hvdWxk
TG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBKYXZhU2Ny
aXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCAtIHVz
ZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAgY2xhc3Mg
WFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVkaXRvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAg
ICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5j
cHAKaW5kZXggNjYxNzJmNy4uNTEyNjUwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFz
ZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0
eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3Bl
cnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBl
ckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb3BlcnR5V3Jh
cHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9wcm9wKHByb3ApCkBAIC00MzgsNyArNDM5
LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
QmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBl
ckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIpOwogcHVibGlj
OgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcihUIChGaWxsTGF5ZXI6OipnZXR0
ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDg5M2M3
MTcuLmVhNzhjYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFu
aW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApp
bmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBsaWNpdEFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1
cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9
CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2
ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAg
ICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRl
eCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNG
aWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFj
ZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3Rl
IHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0Zp
bGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAg
IHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBA
IGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBG
aWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAg
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4g
YSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmly
dHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXV0b2RyYWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5o
CmluZGV4IGQ0NGVlMWUuLmQ2NTU0MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0
b2RyYWluZWRQb29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApA
QCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRv
ZHJhaW5lZFBvb2xfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBf
X09CSkNfXwogQGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFz
cyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRv
ZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29s
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgog
ICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2Ry
YWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51Lmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uZDY2NDk5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0
TWVudV9oCiAjZGVmaW5lIENvbnRleHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q29udGV4dE1lbnVDbGllbnRFZmw7CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDog
cHVibGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxh
dGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXgg
ZTcwMjkyMS4uMTEyNjU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIs
NyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENv
bnRleHRNZW51SXRlbShQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb24pOwogICAgICAgICBDb250
ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnUqIHN1Yk1lbnUgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaAppbmRleCA0N2NkNTM4Li4xZTk5NDkyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgRGVwcmVjYXRlZFB0
ckxpc3RfaAogCiAjaW5jbHVkZSAiRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8
Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
dGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBs
KGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0
KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVk
UHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1
ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17Citj
bGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJl
Y2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVw
cmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9v
cC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZl
bnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9v
cCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2Vu
ZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2
NS4uZjYyN2M2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0
aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC00Miw3ICs0MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
Z2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7
CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9s
b2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2Uq
IGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2Nh
dGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRv
dy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0
V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAg
IHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7IH0KIAogICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGlu
dmFsaWRhdGUgdGhlIHdpbmRvdywgbm90IHRoZSBjb250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0
cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVyd2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaApp
bmRleCA4ZTI3MzUwLi5iODgzZmYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxS
aW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwog
ICAgIHZvaWQgcHJlcGVuZChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUu
LmM0MjlhNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhf
aAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9j
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRy
YXMuaD4KIApAQCAtMzUsNyArMzQsOSBAQCBjb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0w
eDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5n
dGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNp
YywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0
cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAg
TGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDApCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApp
bmRleCA3YzUwNzM3Li40OTZmYmIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3Rl
Ym9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgxLDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNs
YXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2Fy
ZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy9IZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENs
aXBib2FyZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtS2V5Ym9hcmRFdmVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZl
bnQuaAppbmRleCBiYzI4ZTg0Li42YTM2MzE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1L
ZXlib2FyZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGlu
dCB1aW50MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5
Ym9hcmRFdmVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtl
eWJvYXJkRXZlbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1Ymxp
YzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBi
eSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1h
dGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9u
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKaW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUg
UHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUgIlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotICAgIGNsYXNz
IFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2Vh
YmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVy
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZl
cj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVu
TG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhjNTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1l
ci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZpbmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1
ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGlu
dGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFzZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRp
bWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZv
aWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1l
LmgKaW5kZXggMGVmYWY3YS4uYjNkODg5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApA
QCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xs
YmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xhc3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
KyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkg
e307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4uMTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGlt
ZXIuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUg
U2hhcmVkVGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIC8vIEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0
YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAg
ICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFk
LgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVy
IGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAg
ICAgICAgU2hhcmVkVGltZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7
fQogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0RmlyZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAK
ICNpZiBFTkFCTEUoV09SS0VSUykKQEAgLTQ1LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFwcGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVy
czsKIAotICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShUaHJlYWRHbG9iYWxEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERh
dGEoKTsKICAgICAgICAgflRocmVhZEdsb2JhbERhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vVGhyZWFkVGltZXJzLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5o
CmluZGV4IGFiNDI1OTguLjM1ZWQwMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcs
NyArMjcsNiBAQAogI2lmbmRlZiBUaHJlYWRUaW1lcnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNf
aAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFzZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBv
ZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBUaHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNz
IFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGlt
ZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZFRpbWVycygpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4uMDgxMDQwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9UaW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYs
NiBAQAogI2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5lIFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRp
bWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAg
dmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVT
aGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4
NzJhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRy
ZWVTaGFyZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTMyLDcgKzMxLDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJl
ZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+
Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVk
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBU
cmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNvdW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXggOWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvbkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25M
aXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9CdXMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRl
eCA0MzE4YjgxLi4zOThlMTI3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1
ZGlvQnVzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3
ICszMCw2IEBACiAjZGVmaW5lIEF1ZGlvQnVzX2gKIAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9u
ZSBvciBtb3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBUaGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIg
YXMgb3Bwb3NlZCB0byAiaW50ZXJsZWF2ZWQiLgogLy8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hh
bm5lbCBpcyBtb25vLCBhbiBBdWRpb0J1cyB3aXRoIHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0
Yy4KLWNsYXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1
cyAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAg
ZW51bSB7CiAgICAgICAgIENoYW5uZWxMZWZ0ID0gMCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
Q2hhbm5lbC5oCmluZGV4IDY4MTY4MzAuLjczMjVlOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb0NoYW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9o
CiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAv
LyBBbiBBdWRpb0NoYW5uZWwgcmVwcmVzZW50cyBhIGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQg
ZmxvYXRpbmctcG9pbnQgYXVkaW8gc2FtcGxlcy4KIC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9y
bWFsbHkgYXNzdW1lZCB0byBiZSBpbiBhIG5vbWluYWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFz
cyBBdWRpb0NoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVs
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb0NoYW5uZWwpOwogcHVibGljOgogICAg
IC8vIE1lbW9yeSBjYW4gYmUgZXh0ZXJuYWxseSByZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJu
YWxseSBhbGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zsb2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0hSVEZEYXRhYmFzZS5oCmluZGV4IGMzM2IzOGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9IUlRGRGF0YWJhc2UuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJU
RkVsZXZhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhSVEZLZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFz
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEhSVEZEYXRhYmFzZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8SFJURkRhdGFiYXNlPiBjcmVhdGUoZG91YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCmluZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVm
aW5lIEhSVEZFbGV2YXRpb25faAogCiAjaW5jbHVkZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0
Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gSFJURkVsZXZhdGlvbiBjb250YWlucyBh
bGwgb2YgdGhlIEhSVEZLZXJuZWxzIChvbmUgbGVmdCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVy
IGF6aW11dGggYW5nbGUpIGZvciBhIHBhcnRpY3VsYXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRG
RWxldmF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZFbGV2YXRpb24gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZFbGV2YXRpb24pOwogcHVibGljOgogICAgIC8v
IExvYWRzIGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBk
YXRhYmFzZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZhdGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktp
dC5mcmFtZXdvcmspIHJlc291cmNlcy4KICAgICAvLyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5
IGJlIGEgc2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhl
IHBvc3NpYmlsaXR5IG9mIG11bHRpcGxlIG9uZXMgd2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBA
QCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MK
IC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1z
dHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEo
KQogICAgICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCAyZTRlOTYyLi42ZDg5MmE4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gK
ICNkZWZpbmUgQ29sb3JfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApA
QCAtNzUsNyArNzQsOCBAQCBpbmxpbmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsg
cmV0dXJuIChjb2xvciA+PiA4KSAmIDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdC
QTMyIGNvbG9yKSB7IHJldHVybiBjb2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFu
bmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xh
c3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwg
bV92YWxpZChmYWxzZSkgeyB9CiAgICAgQ29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCks
IG1fdmFsaWQodHJ1ZSkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbnRleHRTaGFkb3cuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hh
ZG93LmNwcAppbmRleCA4N2ExYzVjLi4wNzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29udGV4dFNoYWRvdy5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250
ZXh0U2hhZG93LmgiCiAKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiB1c2luZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmY1ZGQ4YmEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkg
QEAgRm9udENhY2hlOjpGb250Q2FjaGUoKQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0
YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hl
S2V5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIEZvbnRQbGF0
Zm9ybURhdGFDYWNoZUtleShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmlu
ZygpLCB1bnNpZ25lZCBzaXplID0gMCwgdW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMg
PSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250
ID0gZmFsc2UsIEZvbnRSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJp
bmdNb2RlLCBGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAg
ICA6IG1fc2l6ZShzaXplKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXgg
ZTY4NDVkOS4uNGZhNzQxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBA
IC01MCw3ICs1MCw4IEBAIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxlY3Rv
cjsKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRm9udENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBG
b250Q2FjaGUqIGZvbnRDYWNoZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnREYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgK
aW5kZXggZWU5NGE5OC4uMGViNjY4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEu
aApAQCAtMjcsMTQgKzI3LDE0IEBACiAjZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBs
ZUZvbnREYXRhOwogCi1jbGFzcyBGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21h
eEdseXBoUGFnZVRyZWVMZXZlbCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HbHlwaE1ldHJpY3NNYXAuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhN
ZXRyaWNzTWFwLmgKaW5kZXggZmE4NWJjYy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5z
aWduZWQgc2hvcnQgR2x5cGg7CiAKIGNvbnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7
CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdseXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5
cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxlZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5
cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCmluZGV4IDZhZGM5MGIuLmJhNzg5YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3Qu
aCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNp
ZiBQTEFURk9STShDRykKQEAgLTE1Myw3ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIEludGVycG9sYXRpb25IaWdoCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29u
dGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0
Zm9ybUdyYXBoaWNzQ29udGV4dCopOwogICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC0z
NTYsNyArMzU2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3Vs
ZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNo
aWxkV2luZG93cygpIGNvbnN0OwogCi0gICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBXaW5kb3dzQml0bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+
V2luZG93c0JpdG1hcCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzRC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCmluZGV4IGMyZDVjMjQuLjdjMDdiZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBh
dm9pZCB0aGUgbmFtZSBjb25mbGljdGlvbiBmb3IgTk9fRVJST1IuCiAjaWYgKChQTEFURk9STShD
SFJPTUlVTSkgJiYgT1MoV0lORE9XUykpIHx8IFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFU
KSAmJiBPUyhXSU5ET1dTKSkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0UHJpdmF0ZS5oCmluZGV4IDk4NWNhZDkuLjE5YzYwNjkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC04
NCw3ICs4NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogICAgIH07CiAKLSAgICBj
bGFzcyBHcmFwaGljc0NvbnRleHRQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBHcmFwaGljc0NvbnRleHRQcml2YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoR3JhcGhpY3NDb250ZXh0UHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBHcmFwaGljc0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDog
bV91cGRhdGluZ0NvbnRyb2xUaW50cyhmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmgKaW5kZXggOTkxY2EzMi4uZTVkZGNiOSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1p
bmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xhc3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNl
ZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJlIHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9w
ZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZpYSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQg
cHVsbGluZyBpbiBzdHlsZS1yZWxhdGVkIGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9y
bSBkaXJlY3RvcnkuCi1jbGFzcyBBbmltYXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0
aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlv
blZhbHVlKGZsb2F0IGtleVRpbWUsIFBhc3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1
bmN0aW9uID0gMCkKICAgICAgICAgOiBtX2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcs
OCBAQCBwcml2YXRlOgogCiAvLyBVc2VkIHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBh
IGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8g
d2hpY2ggY2FuIGJlIGluZmVycmVkIGZyb20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVW
YWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3Qg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoK
IAogICAgIEtleWZyYW1lVmFsdWVMaXN0KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi5kNTRlMDA5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAot
ICAgIGNsYXNzIEltYWdlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJ
bWFnZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0
dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFsbG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGlj
IFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xv
clNwYWNlIGNvbG9yU3BhY2UgPSBDb2xvclNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZVNvdXJjZS5oCmluZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUg
SW1hZ2VTb3VyY2VfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShX
WCkKQEAgLTExNyw3ICsxMTYsOCBAQCBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsK
IGNvbnN0IGludCBjQW5pbWF0aW9uTG9vcEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1h
dGlvbk5vbmUgPSAtMjsKIAotY2xhc3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW1hZ2VTb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291
cmNlKTsKIHB1YmxpYzoKICAgICBJbWFnZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0
cnVlLCBib29sIGlnbm9yZUdhbW1hQW5kQ29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFn
ZVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRl
eCBlODdjNTNjLi4zMTY1NDc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw5IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRl
cmZhY2UqIGNyZWF0ZU51bGxNZWRpYVBsYXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBl
bmdpbmUgc3VwcG9ydAogCi1zdHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUg
eworc3RydWN0IE1lZGlhUGxheWVyRmFjdG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TWVkaWFQbGF5ZXJGYWN0b3J5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAg
ICBNZWRpYVBsYXllckZhY3RvcnkoQ3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3Is
IE1lZGlhRW5naW5lU3VwcG9ydGVkVHlwZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5l
U3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0
b3IoY29uc3RydWN0b3IpCiAgICAgICAgICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVk
VHlwZXMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQy
Yi4uNzFjOTlkOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAt
MzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdIYXNoLmg+CiAKQEAgLTE0Niw3ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAK
LWNsYXNzIE1lZGlhUGxheWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxh
eWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAKICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXll
cj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCBkOTU2Mjg2Li42Njk4MTllIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAg
LTM2LDggKzM2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFz
cyBJbnRTaXplOwogCi1jbGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZSgpIHsgfQogICAgIHZpcnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQog
CiAgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9QYXRoLmgKaW5kZXggYmEyNWRjMi4uNTY3Nzg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9QYXRoLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhf
aAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogCiAjaWYgUExBVEZPUk0oQ0cpCkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICB0eXBlZGVmIHZvaWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBp
bmZvLCBjb25zdCBQYXRoRWxlbWVudCopOwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQYXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3
N2RiLi44ZTNhMDQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVk
QmFja2luZ1N0b3JlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tp
bmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdy
YXBoaWNzQ29udGV4dDsKIGNsYXNzIFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBU
aWxlZEJhY2tpbmdTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tp
bmdTdG9yZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRp
bGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oCmluZGV4IGRhYzMxZjguLjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0y
NSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9u
dFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBlZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7
CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9fZm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAt
MzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRh
OwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6
IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0dMRVMyQ2FudmFzLmgKaW5kZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyAr
MzksNiBAQAogI2luY2x1ZGUgIlRleHR1cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsK
IGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7
CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMy
Q2FudmFzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6
CiAgICAgR0xFUzJDYW52YXMoU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVy
KiwgY29uc3QgSW50U2l6ZSYpOwogICAgIH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmgKaW5kZXggNTMxZDY1Mi4uM2M3MWFjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3
ICs0Myw2IEBACiAjaW5jbHVkZSAiU2tCaXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hy
b21pdW0uaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgK
aW5kZXggMWYzMzUyNy4uNTI2YTg3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCAr
MzIsMTQgQEAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAj
aW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21p
dW07CiBjbGFzcyBMYXllckNocm9taXVtOwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVu
ZCBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVu
ZGVyU3VyZmFjZUNocm9taXVtKExheWVyQ2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEu
LjI3NTEyNTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
VHJhbnNwYXJlbmN5V2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9UcmFuc3BhcmVuY3lXaW4uaApAQCAtMzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5l
VHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5
YWJsZS5oIgogI2luY2x1ZGUgInd0Zi9Pd25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01
NCw3ICs1Myw4IEBAIGNsYXNzIFRyYW5zcGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9U
ZXN0OwogLy8gdGhhdCBpcyBjb21wb3NpdGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdl
dCBhcm91bmQgV2luZG93cycgaW5hYmlsaXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5u
ZWwsIHNlbWl0cmFuc3BhcmVudCB0ZXh0LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJv
bHMuCi1jbGFzcyBUcmFuc3BhcmVuY3lXaW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VHJhbnNwYXJlbmN5V2luIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lX
aW4pOwogcHVibGljOgogICAgIGVudW0gTGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEg
bGF5ZXIgaXMgY3JlYXRlZC4gRHJhd2luZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4
ODkuLjBmNGM5NTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0Ry
YXdpbmdCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5n
QnVmZmVyLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAj
aW5jbHVkZSAiSW50U2l6ZS5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExB
VEZPUk0oTUFDKQpAQCAtNzcsNyArNzYsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKENIUk9NSVVNKQotICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXaWxsUHVibGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHZpcnR1YWwgfldpbGxQdWJsaXNoQ2FsbGJhY2soKSB7IH0KICAgICAgICAgCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5k
ZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVm
IExvb3BCbGlubkNsYXNzaWZpZXJfaAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lm
aWMgdHlwZXMuCi1jbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExvb3BCbGlubkNsYXNzaWZpZXIpOwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJp
YyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXgg
ZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAg
QEAKICNpbmNsdWRlICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFu
dHMuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVk
IHRyaWFuZ3VsYXRpb24gb2YgdGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8g
dGhlIGZvdXIgY29udHJvbCBwb2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdt
ZW50LgotY2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBU
aGUgdmVydGljZXMgdGhhdCB0aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5p
bmcgYm90aAogICAgIC8vIHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBj
dWJpYyB0ZXh0dXJlCiAgICAgLy8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShWZXJ0ZXgpOwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAg
ICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5u
VGV4dHVyZUNvb3Jkcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5u
VGV4dHVyZUNvb3Jkcy5oCmluZGV4IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVk
ZSAiTG9vcEJsaW5uQ29uc3RhbnRzLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9E
QXJlbmEuaAppbmRleCBmNjhiYWVmLi41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L1BPREFyZW5hLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4K
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
QEAgLTE1OCw3ICsxNTcsOCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBj
aHVuayBvZiBtZW1vcnkgYW5kIGluZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAg
IGNsYXNzIENodW5rIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRo
ZSBwYXNzZWQKICAgICAgICAgLy8gQWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAt
MzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVk
QmxhY2tUcmVlLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQ0LDggKzQzLDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0
cyBlZmZpY2llbnQgKE8obGcgbikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YK
IC8vIGludGVydmFscyBpbiB0aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJE
YXRhID0gdm9pZCo+Ci1jbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVy
dmFsPFQsIFVzZXJEYXRhPiA+IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RS
ZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBPREludGVydmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byBy
ZWR1Y2UgdHlwaW5nIHdoZW4gZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAg
ICAvLyB0aGlzIHRyZWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9QT0RSZWRCbGFja1RyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJl
ZEJsYWNrVHJlZS5oCmluZGV4IDZkNTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAK
ICNpbmNsdWRlICJQT0RBcmVuYS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRl
ZiBOREVCVUcKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVj
dGVkOgogICAgIC8vIFRoZSBiYXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0
cmVlLiBOb2RlcyBhcmUgb25seQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9m
IHRoZSB0cmVlIGRlYWwgb25seSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBp
dC4KLSAgICBjbGFzcyBOb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2Rl
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQu
CiAgICAgICAgIGV4cGxpY2l0IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBA
QCBwcml2YXRlOgogICAgIC8vIEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZp
c2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMu
Ci0gICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENvdW50ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAg
ICAgICAgICAgICA6IG1fY291bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1No
YWRlci5oCmluZGV4IGU1YmQ4ZGUuLmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L1NoYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5l
IFNoYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNs
YXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29s
b3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hh
ZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1
MWEuLmRjYThhYjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1Rp
bGluZ0RhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRh
LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGls
aW5nRGF0YV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxp
bmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRpbGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEo
aW50IG1heFRleHR1cmVTaXplLCBpbnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wg
aGFzQm9yZGVyVGV4ZWxzKTsKICAgICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVy
biBtX21heFRleHR1cmVTaXplOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRl
eCA2MzVmZWZmLi5iZjYwYWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAg
LTI0LDcgKzI0LDYgQEAKICNpbmNsdWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5o
IgogI2luY2x1ZGUgIk5ldHdvcmtpbmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUu
aCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
Q2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyAr
MzUsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xp
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
Y2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgU3RyZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5T
dHJlYW1pbmdDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
aGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmll
bnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRC
dWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxl
IHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRm
b3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2lu
Y2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCog
Q0dGb250UmVmOwogdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcg
KzM1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNs
YXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25j
b3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJl
ZiBhdHNGb250LCBDR0ZvbnRSZWYgY2dGb250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFp
bmVyKSwgbV9hdHNGb250KGF0c0ZvbnQpLCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBl
NGM2Njg4Li44NDg5OTNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW52Zy9QYWludGVyT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
dmcvUGFpbnRlck9wZW5WRy5oCkBAIC0yNSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcu
aD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZElt
YWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxhdGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50
ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJp
ZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50
ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1
cmZhY2VPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VP
cGVuVkcuaAppbmRleCA0NmQxNjQ2Li5lZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5j
bHVkZSA8ZWdsLmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAq
IG9mICNpZmRlZnMgYW5kIHNob3VsZCBtYWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJm
YWNlL2NvbnRleHQKICAqIGltcGxlbWVudGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3Vy
ZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBl
bnVtIE1ha2VDdXJyZW50TW9kZSB7CiAgICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNl
U3dpdGNoLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAppbmRleCA2YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAt
MjUsMTQgKzI1LDE2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAi
Rm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEo
KSB7IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3
aXRoIFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZv
bnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3Jt
RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
aW5kZXggMjIwMWYxOC4uOWM2NjJhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZD
b3VudCgxKQpAQCAtNjIsOCArNjMsMTAgQEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRm
b3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3Jt
RGF0YSgpIHsgfQogICAgIEZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBi
b29sIG9ibGlxdWUpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0
YSAmKTsKICAgICBGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0
IEF0b21pY1N0cmluZyYgZmFtaWx5TmFtZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRl
clNwYWNpbmcgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
R3JhcGhpY3NDb250ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFw
aGljc0NvbnRleHRRdC5jcHAKaW5kZXggMTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3
ICsxNjksOCBAQCBzdGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1
bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNv
bnN0IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
VHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNw
YXJlbmN5TGF5ZXIuaAppbmRleCA2YmRmYjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFz
dEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50
ZXIqIHAsIGNvbnN0IFFSZWN0ICZyZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1h
c2spCiAgICAgICAgIDogcGl4bWFwKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAg
ICAgLCBvcGFjaXR5KG9wYWNpdHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4xNDNlZTc5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50
YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dT
KQogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC00OSw3ICs0OCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7
CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEpOwogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAg
ICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZS5oCmluZGV4IDVlMTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGVfaAogI2RlZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8g
YSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQp
CiAgICAgICAgIDogbV9jb250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAx
MTAwODVkLi5kNjgzYWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxh
dGZvcm1Db250ZXh0U2tpYV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNs
dWRlICJOb25jb3B5YWJsZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2lu
Y2x1ZGUgIlNrRHJhd0xvb3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwog
Ly8gcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBz
dG9yZSBpbiBzZXBhcmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVz
IHRoZSBhZGFwdG9yIHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVz
aGVkIGFuZCBwb3BwZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250
ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lh
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1Ymxp
YzoKICAgICAvLyBGb3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBj
YW52YXMgY2FuIGJlIE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5
b3UgY2FuIGFsc28gY2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEw
Mi4uMTBmYjA0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL0FmZmluZVRyYW5zZm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRy
YW5zZm9ybWF0aW9uTWF0cml4LmgiCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNw
eQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNp
bmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDgg
QEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25N
YXRyaXg7CiAKLWNsYXNzIEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIEFmZmluZVRyYW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9u
cy5oCmluZGV4IGMwZGEzNzcuLjA4ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEs
NyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJh
dGlvbnMgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25z
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9w
ZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXgu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oCmluZGV4IDk2YjRiYWEuLjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBv
aW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhp
Y3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2lu
dDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0
aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5
cGVkZWYgZG91YmxlIE1hdHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4x
NjI4ZWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3Ry
dWN0IENHRm9udCogQ0dGb250UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExF
IGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZl
cmVuY2UoZm9udFJlZmVyZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWly
by5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0
YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4uNTE1NGVhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgK
QEAgLTI0LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNs
dWRlIDxjYWlyby5oPgogCkBAIC0zMyw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEpOwogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRG
YWNlKQogICAgICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMy
MTYxNDAuLjU5NTFlNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0xvY2FsV2luZG93c0NvbnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIExvY2FsV2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExvY2FsV2luZG93c0NvbnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQo
R3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJv
b2wgc3VwcG9ydEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUp
CiAgICAgICAgIDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQs
NiBAQAogI2luY2x1ZGUgPFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+
CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02
Myw3ICs2Miw4IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+
KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0g
MDsKIAotY2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBR
VE1vdmllVGFza0NsaWVudCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmll
VGFza0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwog
cHVibGljOgogICAgIFFUTW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNw
cCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4
IGUxM2Y3MzIuLjI2ODYxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1FUTW92aWVHV29ybGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1FUTW92aWVHV29ybGQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1l
Q29tcG9uZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1FUVHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFFUVHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShR
VFRyYWNrUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRU
cmFja1ByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1dLQ0FDRkNvbnRleHRGbHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9X
S0NBQ0ZDb250ZXh0Rmx1c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApA
QCAtMjgsNyArMjgsNiBAQAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgog
CkBAIC0zNiw3ICszNSw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXS0NBQ0ZDb250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRl
eHRGbHVzaGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVy
LmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FD
RkxheWVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBA
QCBwdWJsaWM6CiAvLyBGSVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5k
ZXJlciBmb3IgZWFjaCBXZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9H
TENvbnRleHQgYW5kIERpcmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAo
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tD
QUNGTGF5ZXJSZW5kZXJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXll
clJlbmRlcmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVy
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBj
cmVhdGUoV0tDQUNGTGF5ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRl
cmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAj
aW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTM3LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZv
aWQgdW5yZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAK
LSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFt
ZShuYW1lKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
Y2UvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0y
OCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9u
dE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVk
ZWYgc3RydWN0IHRhZ1RFWFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4
IDA4MDI4MjYuLjgyNDU1OTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyArNDQwLDggQEAg
c3RhdGljIHZvaWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hh
cmVkQml0bWFwKiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwg
ZmFsc2U+KGRlc3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNw
YXJlbnRMYXllckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgog
ICAgIFRyYW5zcGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRh
dGEsIEludFJlY3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3Jt
ID0gMCwgaW50IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRy
YW5zcGFyZW50TGF5ZXJEQygpOwpAQCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRM
YXllckRDOjpmaWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92
aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBT
Y29wZURDUHJvdmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAg
ICAgICA6IG1fZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgi
CiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAot
ICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rl
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRl
eCA1YTA0YmVlLi4xZDdiOWY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL0ltYWdlRGVjb2Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTIyMSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgLy8gc2V0TWF4TnVtUGl4ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRo
YXQgZGVjb2RlZCBpbWFnZXMgY2FuCiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBk
ZWZsYXRlIHRob3NlIGltYWdlcyB0aGF0IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVt
UGl4ZWxzLiAoTm90IHN1cHBvcnRlZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNs
YXNzIEltYWdlRGVjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VE
ZWNvZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihi
b29sIHByZW11bHRpcGx5QWxwaGEsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAg
ICAgICAgICAgICA6IG1fc2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aAppbmRleCA3MTg3ZWNmLi44OWY4MzNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9DbGlwYm9hcmRNYWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFz
cyBDbGlwYm9hcmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRU
eXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xp
Y3ksIEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5o
CkBAIC0xNyw3ICsxNyw2IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNz
IE5TR3JhcGhpY3NDb250ZXh0OwpAQCAtMzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRl
eHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVz
IHRoZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNh
bGwgb3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBz
ZXQKLWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9j
YWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0
KTsKICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1NoYXJlZFRpbWVyTWFjLm1tCmluZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tp
dC9JT01lc3NhZ2UuaD4KICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9y
dCA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9y
dCA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLjZlZjIyNDAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5
cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxv
YkRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvRm9ybURhdGFCdWlsZGVyLmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFRleHRFbmNvZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNj
ZXB0Q2hhcnNldCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4zOTk3ODBmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApA
QCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5l
IE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiAjaWYgUExBVEZPUk0oTUFDKQogCkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBO
ZXR3b3JrU3RhdGVOb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3Jr
U3RhdGVOb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90
aWZpZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE5ldHdvcmtTdGF0
ZU5vdGlmaWVyKCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9p
ZCAoKikoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
SW50ZXJuYWwuaAppbmRleCA5Y2NjZWNkLi4wZjJiZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAg
Y2xhc3MgTlNVUkxDb25uZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJl
c291cmNlSGFuZGxlQ2xpZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJv
b2wgc2hvdWxkQ29udGVudFNuaWZmKQogICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0
ZS4uMmI3NDE3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVxdWVzdEJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1
ZXN0QmFzZS5oCkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0
aGlzIHR5cGUgZGlyZWN0bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xh
c3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBSZXNvdXJjZVJlcXVlc3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0
LCBiYXNlZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBU
YXJnZXRUeXBlIHsKQEAgLTIwNSw3ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUo
YSwgYik7IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0
cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgewor
ICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVh
ZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAg
ICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJh
Yi4uY2I4YTUxZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0
cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRo
aXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFk
Ci1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBh
c3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyAr
MTc2LDEwIEBAIHByaXZhdGU6CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNl
UmVzcG9uc2VCYXNlOjpjb21wYXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0
dXJuICEoYSA9PSBiKTsgfQogCi1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0
YUJhc2UgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNl
RGF0YUJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXNwb25zZURhdGFCYXNlKTsKK3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9u
c2VEYXRhQmFzZSgpIHsgfQogICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7
CiAgICAgbG9uZyBsb25nIG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMGY5
Nzg2Ny4uMTgxNThmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291
cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNv
dXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3Bw
CkBAIC03Niw3ICs3Niw4IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5F
VCByZXF1ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291
cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNv
dXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50KTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3Jt
L3F0L0NsaXBib2FyZFF0LmgKaW5kZXggNWFjYTFhNi4uMWVlYzhhZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQv
Q2xpcGJvYXJkUXQuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9w
IGFuZCBjb3B5L3Bhc3RlCiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJk
LCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJk
UXQ+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEq
IHJlYWRhYmxlQ2xpcGJvYXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0
YWJhc2UuaAppbmRleCBjMzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0
ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRT
Y2hlbWE7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50
IFNRTFJlc3VsdEludGVycnVwdDsKIAotY2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU1FMaXRlRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNRTGl0ZURhdGFiYXNlKTsKICAgICBmcmllbmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247
CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
U3RhdGVtZW50LmgKaW5kZXggMTQ0NGYwZS4uMWVlM2JlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1FMaXRlU3RhdGVtZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBTUUxpdGVTdGF0ZW1lbnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+
U1FMaXRlU3RhdGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVUcmFuc2FjdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24u
aAppbmRleCA5MjQyNDFmLi40MjdiMjk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVUcmFuc2FjdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRy
YW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlv
bl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwog
Ci1jbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3Mg
U1FMaXRlVHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5z
YWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFu
c2FjdGlvbihTUUxpdGVEYXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAg
flNRTGl0ZVRyYW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
QmlkaVJlc29sdmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5k
ZXggMWY4NzExNS4uMDU2ZWQ3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0Jp
ZGlSZXNvbHZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApA
QCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAiQmlk
aUNvbnRleHQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEyNSw4
IEBAIHN0cnVjdCBCaWRpQ2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25l
eHQ7CiB9OwogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlk
aVJlc29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRv
ciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEJpZGlSZXNvbHZlcik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAg
IDogbV9kaXJlY3Rpb24oV1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjEyZDA1MjMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBT
dHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAppbmRleCBjNmFmMzhhLi4xOGI1ZDhiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRDb2RlYy5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxtZW1v
cnk+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1NiwxMCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVu
dEFycmF5WzMyXTsKIAotICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgVGV4dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4
dENvZGVjKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFRl
eHRDb2RlYygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBT
dHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9
IGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9u
dFRyYW5zY29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFu
c2NvZGVyLmgKaW5kZXggNjdkYjk3Ny4uODg0NmNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAj
ZGVmaW5lIEZvbnRUcmFuc2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5n
SGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsK
IAotY2xhc3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9u
dFRyYW5zY29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQoU3RyaW5n
JiB0ZXh0LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkg
Y29uc3Q7CiAgICAgYm9vbCBuZWVkc1RyYW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYs
IGNvbnN0IFRleHRFbmNvZGluZyogPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vd2luL0NsaXBib2FyZFdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJk
V2luLmgKaW5kZXggY2U2NGI4NS4uMmQxNDRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vQ2xpcGJvYXJkV2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJk
V2luLmgKQEAgLTQxLDYgKzQxLDcgQEAgY2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBh
dmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bh
c3RlCiBjbGFzcyBDbGlwYm9hcmRXaW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBj
bGlwYm9hcmRUeXBlLCBJRGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9s
aWN5IHBvbGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAg
LTMxLDEzICszMSwxMyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFz
cyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAg
ICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVy
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNv
cmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmluZGV4IGIxNDYwNWYuLjkzMmExZDUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5EYXRhYmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBh
Y2thZ2VIYXNoPiBQbHVnaW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi5lMmUwODA0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisr
KyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcg
KzM2LDggQEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGx1Z2luTWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgdHlwZWRlZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1
Z2luVmlldy5oCmluZGV4IGRlYWVjOTkuLjVmMGY2Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAt
OTMsNyArOTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xv
YWRlZFN1Y2Nlc3NmdWxseQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVl
c3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5
RGF0YSwgYm9vbCBzaG91bGRBbGxvd1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRS
ZXF1ZXN0KGZyYW1lTG9hZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9D
b2x1bW5JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYx
OS4uZGI5NDc4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ29sdW1uSW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1u
SW5mbyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygp
CiAgICAgICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL0NvdW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5o
CmluZGV4IDUyOWQ0MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMs
NyArMjMsNiBAQAogI2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CiAKIC8vIFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQg
Zm9yIGZpbmRpbmcgcGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRT
dGF0ZS5oCmluZGV4IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL0xheW91dFN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApA
QCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNp
emUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zNyw3ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94
OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TGF5b3V0U3RhdGUpOwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2Ns
aXBwZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi4zYjVjZjA2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBS
ZW5kZXJBcmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01h
eFJlY3ljbGVkU2l6ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
bmRlckFyZW5hKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJB
cmVuYSh1bnNpZ25lZCBhcmVuYVNpemUgPSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDUxNTMyMTguLmRjZWYwNGMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaApAQCAtMzU0LDcgKzM1NCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZl
ckhhZExheW91dDsKICAgICB9OwogCi0gICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IDogTm9uY29w
eWFibGUgeworICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZsb2F0aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBw
dWJsaWM6CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVz
ZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0Lgog
ICAgICAgICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRC
b3RoID0gMyB9OwogCkBAIC02ODEsNyArNjgzLDkgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJCb3hN
b2RlbE9iamVjdCogbV9jb250aW51YXRpb247CiAgICAgCiAgICAgLy8gQWxsb2NhdGVkIG9ubHkg
d2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcwotICAgIHN0
cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBSZW5k
ZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQmxv
Y2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAg
ICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAg
ICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdh
dGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVs
dChibG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAg
ICwgbV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVs
T2JqZWN0LmNwcAppbmRleCAxNDNjNzJjLi40ZTVmNmY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBk
b3VibGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRl
ZiBwYWlyPFJlbmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVN
YXBLZXk7CiB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFz
dFBhaW50U2l6ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBz
aG91bGRQYWludEF0TG93UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9i
amVjdCosIEltYWdlKiwgY29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhbWVTZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgog
ICAgIHN0YXRpYyBjb25zdCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4
aXMoKTsKICAgICAgICAgdm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2NzEyLi5lNThjZDliIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2VSZXNvdXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNo
ZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAi
U3R5bGVJbWFnZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNv
dXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNl
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZmIzYWI2Ny4u
Y2FkODQ1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcg
KzUzLDggQEAgZW51bSBDb21wb3NpdGluZ0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9u
ZSBSZW5kZXJMYXllckJhY2tpbmcgZm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3Np
dGVkLgogCi1jbGFzcyBSZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNs
aWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1
YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5k
ZXJMYXllckJhY2tpbmcpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJl
bmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmco
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi4zYjVlYjMwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1
dG8tc2Nyb2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVu
ZGVyTWFycXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVy
Kik7CiAgICAgdmlydHVhbCB+UmVuZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJm
bG93LmgKaW5kZXggMjUzYTY3Mi4uMzFlMDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT3ZlcmZsb3cuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxv
dy5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2
aXN1YWwgb3ZlcmZsb3cgYXJlIHNoYWRvd3MsIHRleHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBv
dXRsaW5lIGFuZCBib3JkZXItaW1hZ2UpLgogCiAvLyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQg
b25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGlu
IHRoZSBvd25pbmcgYm94LgotY2xhc3MgUmVuZGVyT3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUmVuZGVyT3ZlcmZsb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
bmRlck92ZXJmbG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5k
ZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAg
ICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjQzNWZlY2Yg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0z
Niw3ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRh
IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0lt
YWdlOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9u
SW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEw
OWZjMWEuLjIzYjVlNjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVj
dGlvbkluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgK
QEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJT
ZWxlY3Rpb25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxl
Y3Rpb25JbmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9u
SW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlclNl
bGVjdGlvbkluZm9CYXNlKCkKICAgICAgICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oCmluZGV4IDA3ZjkzM2YuLjEzM2ViNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI1
NCw3ICsyNTQsOCBAQCB2b2lkIHRvUmVuZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAog
Ly8gU3RhY2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AK
LWNsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBMYXlvdXRTdGF0ZU1haW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91
dFN0YXRlTWFpbnRhaW5lcik7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAg
IExheW91dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3Qs
IEludFNpemUgb2Zmc2V0LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdo
dCA9IDAsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5m
byA9IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0
b3IuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4
ODMwNGMuLjhiZjZhYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dFByb3RlY3Rvci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rv
ci5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVu
ZGVyV2lkZ2V0UHJvdGVjdG9yIDogcHJpdmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJX
aWRnZXRQcm90ZWN0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFBy
b3RlY3Rvcik7CiBwdWJsaWM6CiAgICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdl
dCogb2JqZWN0KQogICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NW
R0ltYWdlQnVmZmVyVG9vbHMuaAppbmRleCA5YmNjN2E0Li45MjI1ODA1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFC
TEUoU1ZHKQogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzIsNyArMzEsOCBAQCBjbGFzcyBG
bG9hdFNpemU7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAK
LWNsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U1ZHSW1hZ2VCdWZmZXJUb29scyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VC
dWZmZXJUb29scyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIo
Y29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xh
bXBlZEFic29sdXRlVGFyZ2V0UmVjdCwgT3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2Up
OwogICAgIHN0YXRpYyB2b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVy
KiwgUmVuZGVyT2JqZWN0KiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmggYi9XZWJDb3JlL3JlbmRlcmlu
Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKaW5kZXggOGY1OTcwMzUuLjA3MmI0YmMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBF
TkFCTEUoU1ZHKQogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR01hcmtl
ckRhdGEuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC00Miw3ICs0MSw4IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmlu
ZVRyYW5zZm9ybSBtYXRyaXg7CiB9OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR01hcmtlckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01h
cmtlckxheW91dEluZm8oKTsKICAgICB+U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9T
VkdSZXNvdXJjZXMuaAppbmRleCA0OTU5MWNmLi42NTk5MWFkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNv
dXJjZXMuaApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zOCw3ICszNyw4
IEBAIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlTWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7
CiAKIC8vIEhvbGRzIGEgc2V0IG9mIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJP
YmplY3QKLWNsYXNzIFNWR1Jlc291cmNlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdSZXNvdXJjZXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAuLjgyN2FjMDAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFz
cyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3Mg
U1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4z
NDEyNThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNv
bHZlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgK
QEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNl
c0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNv
bHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0
KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvVGFibGVMYXlvdXQuaAppbmRleCBlMGZhOGVlLi5kOWVkMTk4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxl
TGF5b3V0LmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVm
aW5lIFRhYmxlTGF5b3V0X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFRhYmxlTGF5b3V0KFJlbmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3Rh
YmxlKHRhYmxlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZm
YzZlYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAK
ICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAi
VHJhbnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRy
YW5zZm9ybVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAg
ICAgZW51bSBUcmFuc2Zvcm1EaXJlY3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5h
cHBseUludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3Vt
dWxhdGlvbiB7IEZsYXR0ZW5UcmFuc2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJm
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcg
KzM4LDggQEAgY29uc3QgaW50IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQg
UG9zaXRpb25Cb3R0b20gPSAweDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVk
ID0gMHg4MDAwMDAwMDsKIAotY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVmVydGljYWxQb3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNh
bFBvc2l0aW9uQ2FjaGUoKQogICAgIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQ29udGVudERhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRh
LmgKaW5kZXggNGY5NjRhMi4uZjIzZTcwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQ29udGVudERhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50
RGF0YS5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5
bGVJbWFnZTsKIAotc3RydWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENv
bnRlbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6
IG1fdHlwZShDT05URU5UX05PTkUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9Db3VudGVyQ29udGVudC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRl
bnQuaAppbmRleCA1Mjc1N2FkLi5kZGY5YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9Db3VudGVyQ29udGVudC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Nv
dW50ZXJDb250ZW50LmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBDb3VudGVyQ29udGVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENv
dW50ZXJDb250ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHls
ZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1f
aWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvRmlsbExheWVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRl
eCA0OWZiMjk0Li5jNmVlNTEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9G
aWxsTGF5ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAt
NTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07
CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxM
YXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBGaWxsTGF5
ZXIoRUZpbGxMYXllclR5cGUpOwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1NoYWRvd0RhdGEuaAppbmRleCBjYTgzYWYwLi41MGNmMGJlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU2hhZG93RGF0YS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAog
CiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7
IE5vcm1hbCwgSW5zZXQgfTsKIAogLy8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJv
dXQgc2hhZG93cyBmb3IgdGhlIHRleHQtc2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMu
CiAKLWNsYXNzIFNoYWRvd0RhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFk
b3dEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNoYWRv
d0RhdGEoKQogICAgICAgICA6IG1feCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0
Q2h1bmtCdWlsZGVyLmgKaW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBT
VkdUZXh0RnJhZ21lbnQ7CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNo
YXJhY3RlciBsYXlvdXQsIGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNo
YXJhY3Rlciwgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRG
cmFnbWVudCkuCiAvLyBQaGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0
IGhhdmUgdG8gYmUgYXBwbGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1h
bmNob3IgJiB0ZXh0TGVuZ3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0
Q2h1bmtCdWlsZGVyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWls
ZGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVz
QnVpbGRlci5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBj
cmVhdGUgdGhlIElubGluZUJveCB0cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAm
IEJpRGkgaW5mb3JtYXRpb24uCiAvLyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVk
IG91dCBieSBTVkdUZXh0TGF5b3V0RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0
dHJpYnV0ZXNCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0
QXR0cmlidXRlc0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVz
QnVpbGRlcigpOwogICAgIHZvaWQgYnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUo
UmVuZGVyU1ZHVGV4dCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRMYXlvdXRFbmdpbmUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5n
aW5lLmgKaW5kZXggYWQwNThkOC4uNjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dExheW91dEVuZ2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0
eWxlOwogLy8gUmVuZGVyU1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmlu
YWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0
aGUgU1ZHSW5saW5lVGV4dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5l
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAg
IFNWR1RleHRMYXlvdXRFbmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xh
eW91dEJ1aWxkZXIoKSB7IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4
IGQ3NTNiMzkuLmFjMzkzZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJM
RShTVkcpCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBj
bGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIg
Y2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJh
c2VsaW5lJyAvICdkb21pbmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFz
cyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlv
dXRFbmdpbmVCYXNlbGluZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcw
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVT
cGFjaW5nLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVT
cGFjaW5nLmgKQEAgLTMwLDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBT
VkdFbGVtZW50OwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5l
IHRvIGhhbmRsZSAna2VybmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5n
Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4
dExheW91dEVuZ2luZVNwYWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgK
aW5kZXggYjYxZTQ2NS4uY2UwYmE0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFi
YXNlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyAr
NDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50
aWwgRGF0YWJhc2VUYXNrIGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBE
YXRhYmFzZVRhc2s6OmNyZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFz
cyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RGF0YWJhc2VUYXNrU3luY2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRh
YmFzZVRhc2tTeW5jaHJvbml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9u
aXplcigpOwogCkBAIC02Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNz
IERhdGFiYXNlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRleCA3MTQ1ZTZiLi5hNjFkOWViIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0Rh
dGFiYXNlVHJhY2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNs
aWVudDsKIHN0cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0o
Q0hST01JVU0pCiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFi
YXNlVHJhY2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IHZvaWQgaW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAg
IHN0YXRpYyBEYXRhYmFzZVRyYWNrZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2Uv
SURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCmluZGV4IDc4M2E3MzEuLjRmY2MyMzQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgK
KysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaApAQCAt
MjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQ0LDcgKzQzLDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlOwogLy8gRklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8g
VExTLiBLZWVwaW5nIGl0IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBw
b3J0IGZvciB3b3JrZXJzLiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVw
IHRoZSB2ZWN0b3IgaW4gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5k
aW5nVHJhbnNhY3Rpb25Nb25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBl
bmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBl
bmRpbmdUcmFuc2FjdGlvbk1vbml0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBl
bmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBz
dGF0aWMgdm9pZCByZW1vdmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFz
ay5oIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi40
NjcyMDQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCisr
KyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAg
IC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExv
Y2FsU3RvcmFnZVRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3Rv
cmFnZVRhc2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNr
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlw
ZSB7IEFyZWFJbXBvcnQsIEFyZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVU
aHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVh
ZC5oIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEu
LjI0ZmUxOWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQu
aAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQw
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAK
ICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNs
YXNzIExvY2FsU3RvcmFnZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
TG9jYWxTdG9yYWdlVGhyZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxT
dG9yYWdlVGhyZWFkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAg
ICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9P
cmlnaW5RdW90YU1hbmFnZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIu
aAppbmRleCBlYzk2MjBjLi5hYzI4YTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3Jp
Z2luUXVvdGFNYW5hZ2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdl
ci5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0
RGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFN
YW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmggYi9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAppbmRleCBhODMwZTY4Li5kNmFlNTk4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAorKysgYi9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIE9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRp
cGxlIHRocmVhZHMgd2l0aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJn
dW1lbnRzIGFyZSBhbHNvIHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxl
ciB3aGVuIG5lY2Vzc2FyeS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShPcmlnaW5Vc2FnZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgT3JpZ2luVXNhZ2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdl
L1NRTFRyYW5zYWN0aW9uQ2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25D
bGllbnQuaAppbmRleCBmZWQwNjU3Li5kNTY3YTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25DbGllbnQuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtNDEsOCArNDAsMTAgQEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQg
dG8gdGhlIFNRTFRyYW5zYWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90
aWZ5IGludGVyZXN0ZWQKIC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBl
bmVkIGluIGEgdHJhbnNhY3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBk
aWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRp
ZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVk
UXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NR
TFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlv
bkNvb3JkaW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uMzQyNTY2NCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNR
TFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CisgICAgICAgIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAg
ICAgdm9pZCBhY3F1aXJlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVh
c2VMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMTU1ZDBhMSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVk
RWxlbWVudDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAot
Y2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9j
dW1lbnRFeHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0
eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1l
bnRzOwogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjks
NiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVu
dHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBt
X3Jlc291cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9
KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBI
YXNoTWFwIGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNv
dXJjZXMsIGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVj
dCBpbiB0aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0YS4uNzViZDQzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVE
YXRhLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0z
MSw3ICszMCw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50Owog
Y2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJz
b3JFbGVtZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2Vi
Q29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li4yOTQxYTllIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRh
LmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdG
b250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIFNWR0ZvbnREYXRhKFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZp
cnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRo
QmxlbmRlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi43
MjllZDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dl
YkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJM
RShTVkcpCiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNv
dXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFNWR1BhdGhCbGVuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR1BhdGhCbGVuZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNv
cmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uY2FiZmIyZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRl
U3RyZWFtX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
QEAgLTQzLDcgKzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRl
c1tzaXplb2YodW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNz
IFNWR1BhdGhCeXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhC
eXRlU3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9z
dmcvU1ZHUGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRl
eCBiN2M1ZTczLi40ZDU3ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3Vt
ZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzks
MTAgQEAgZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAK
LWNsYXNzIFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQ
YXRoQ29uc3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGluY3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAg
ICAgdmlydHVhbCBib29sIGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBjbGVhbnVwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5o
IGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLmM0OGIyMTcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhDb25z
dW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNl
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNvdXJjZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLmNm
NGNkMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJD
b3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTVkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291
cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNl
KCkgeyB9CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBi
b29sIGhhc01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZH
Vmlld1NwZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uMGYw
Y2NiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3Jl
L3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBw
dWJsaWMgU1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNW
R1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUg
eworICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgogICAgICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3Zn
L2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCBjOTgwNGFlLi45MTYyNmM0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGll
bnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1
YmxpYyBFbXB0eUNocm9tZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1h
Z2VDaHJvbWVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNW
R0ltYWdlQ2hyb21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGlt
YWdlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9X
ZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9X
ZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFz
cyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0
aW1lQW5hbHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6
CiAgICAgUmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgK
aW5kZXggMDViMzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1Ro
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VC
X1NPQ0tFVFMpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbCgpIHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGll
bnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFs
IHZvaWQgY29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJT
b2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmlu
ZGV4IDljNTIzNzcuLjE5NzM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJT
b2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwu
aApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29j
a2V0Q2hhbm5lbENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMg
UmVmQ291bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNs
aWVudCwgcHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3Qg
U3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwo
Y29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2Vi
U29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmlu
ZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJT
b2NrZXRIYW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNo
YWtlLmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAj
aW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tl
dEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAK
LSAgICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdlYlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewog
ICAgICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
LmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwu
aAppbmRleCAzNjZlNGZhLi5hYzgzZThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMv
V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tl
dHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBj
bGFzcyBXb3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdv
cmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2Vy
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250
ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0
IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2Nv
bCkKICAgICB7CkBAIC03Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8g
R2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUgUGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQg
aGF2ZSBpZGVudGljYWwKICAgICAvLyBsaWZldGltZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1Ymxp
YyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWxDbGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9h
ZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYg
dGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAg
ICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
aAppbmRleCAyMWUxNGExLi42OGY5NjI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVm
YXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFNoYXJlZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50
YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAg
ICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2Ug
dGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0
aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5
JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQ
YXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5k
ZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyAr
MTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsg
cmV0dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0
byBiZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4K
LSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBj
bGFzcyBPYnNlcnZlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZl
cik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQq
KTsKICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLmEyZWM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2Vy
TG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAg
Y2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBw
dWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBX
b3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtl
ckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2Fn
aW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
V29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNw
cAppbmRleCA4M2YyNDNmLi43YjMxNDljIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyUnVuTG9vcC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBA
IC0xMDQsNyArMTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAg
ICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFJ1bkxvb3BTZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3Am
IHJ1bkxvb3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxv
b3AuaAppbmRleCA5ZDRlZGZkLi5mYTFiY2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyUnVuTG9vcC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAg
LTY1LDcgKzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJp
bmcgZGVmYXVsdE1vZGUoKTsKIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAg
ICAgICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUu
LjRhYTlmODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisr
KyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAj
aW5jbHVkZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRl
ICJEYXRhYmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFk
Ojp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0
cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3Jr
ZXJUaHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhy
ZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA3ODJlMTU5Li4xYjljNTI5
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjMsNyArNjMsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RD
b3VudGVyKCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVz
dFN0YXRpY0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3Rh
dGljRGF0YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBt
X3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDFiOTgzZTYuLjAwNDI2YTkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VE
ZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3Qg
OiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwg
cHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFhNTEh0dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsgfQogICAg
IH5YTUxIdHRwUmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNz
aW9uTm9kZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0
NWIuLjZhNzNiODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUu
aAorKysgYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAg
Ci0gICAgICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAg
ICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBu
b2RlOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAg
ICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNv
bnRleHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQ
YXRoTm9kZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4u
ZDg5N2RhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2Vi
Q29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAg
IE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxz
ZSkgeyB9CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2Vy
LmggYi9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCmluZGV4IDQ0YThlNDguLjQwYjczZGMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS94bWwvWFBh
dGhQYXJzZXIuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICBUb2tlbihpbnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7
fQogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQYXJzZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAg
ICAgICAgICAgIH5QYXJzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGlj
YXRlLmggYi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLmU3ZTFi
Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvV2ViQ29y
ZS94bWwvWFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0
IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBj
bGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQcmVk
aWNhdGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGlj
YXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXgg
ZWMwMjJiMy4uZjc3MGQ5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysr
IGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNs
YXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGlj
OgogICAgICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMs
IEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9
OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgICAgIGVudW0gS2luZCB7CiAgICAgICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29t
bWVudE5vZGVUZXN0LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3Qs
IE5hbWVUZXN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9XZWJD
b3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uMWZlYTViYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUveG1sL1hTTEltcG9y
dFJ1bGUuaApAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNo
ZWRYU0xTdHlsZVNoZWV0OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFz
ZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVh
dGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7
CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBi
NmViYTIxLi4zYTZjZGQ2IDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGgg
IDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFz
ZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1
bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdl
IE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhl
aXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vz
c2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXpl
ZC50eHQ6IFVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVj
dC5oCmluZGV4IDc2OWU4M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvQm91bmRPYmplY3QuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgK
QEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNsdWRlIDx2
OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogLy8gQm91bmRPYmplY3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2
YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0
IHNob3VsZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3Mg
Qm91bmRPYmplY3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3Qgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3Vu
ZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNv
bnN0IGNoYXIqIG9iamVjdE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYg
LS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEu
LjU5YzIxNzcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1h
bmFnZXIuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIu
Y3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVk
ZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVnZ2VyQWdl
bnRNYW5hZ2VyOjpzX2V4cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3Bh
Y2UgewogCi1jbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnRE
YXRhLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGlj
IHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVy
SWRXcmFwcGVyKTsKIHB1YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNN
YW5hbmFnZXIodHJ1ZSksIG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRX
cmFwcGVyKGludCBjYWxsZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1h
bmFnZXIuaAppbmRleCA2NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9E
ZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8djgtZGVi
dWcuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZpZXdJbXBs
OwogLy8gd291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJZiB0aGVy
ZSBpcyBubyBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1Y2ggbWVz
c2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2VsZiwgb3Ro
ZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBEZWJ1Z2dl
ckFnZW50TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dlckFnZW50
TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1hbmFnZXIp
OwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdlbnRJbXBs
KiBkZWJ1Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1Z2dlckFn
ZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAg
LTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsX2gKIAog
I2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5k
SG9zdDsKQEAgLTQ0LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZU
b29sc0Zyb250ZW5kQ2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNs
YXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0
b3JGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVi
bGljIE5vbmNvcHlhYmxlICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBw
dWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250
ZW5kQ2xpZW50KiwgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZU
b29sc0FnZW50SW1wbC5jcHAKaW5kZXggODgwYWRiNC4uMDIyNmVmMyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNp
bmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5o
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2
NmExY2IuLmIwODUzMzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9v
bHNGcm9udGVuZEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJv
bnRlbmRJbXBsLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAgc3RydWN0
IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1jbGFzcyBX
ZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRl
bmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9v
bHNGcm9udGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNGcm9udGVu
ZEltcGwpOwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgICAgICBX
ZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmNwcAppbmRleCBhZGFhYjYxLi5jMDU0ODM3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwCkBAIC0yNzksNyArMjc5LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2Vi
RnJhbWVJbXBsOjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBT
aW1wbGUgY2xhc3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNv
bWUgb2YgdGhlIG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92
ZXJyaWRlbiBieSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENv
bnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
Q2hyb21lUHJpbnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmlu
dENvbnRleHQoRnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlm
ZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEwMy4uNGZkNDJhNiAx
MDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysrIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2LDcgQEAg
c3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdlYlBvcHVw
TWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJhbWVsZXNz
U2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVmQ291
bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAt
LWdpdCBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ckVmbC5oIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyRWZsLmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3
LDcgKzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAg
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5o
CisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ci5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1
YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3Bw
CmluZGV4IDE4YjY0YWIuLmUyNmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdGRvd25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5j
cHAKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5j
bHVkZSAiR1JlZlB0ci5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1
ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8g
aXQgaXRzZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlh
YmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQg
OiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERvd25sb2FkQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdl
YktpdERvd25sb2FkKik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRl
cnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9O
b25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAw
MDAwCi0tLSBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgK
KysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25j
b3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2Fw
ZVBsdWdpbkluc3RhbmNlUHJveHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2Nh
cGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0t
IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHku
aAorKysgYi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQ
cm94eS5oCkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZh
bHVlRnJvbUFycmF5KEpTQzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXIm
IGluZGV4LCBKU0M6OkpTVmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMo
SlNDOjpFeGVjU3RhdGUqLCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJf
dCB2YWx1ZXNMZW5ndGgsIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAg
ICBjbGFzcyBMb2NhbE9iamVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9i
amVjdE1hcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9i
amVjdE1hcCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJh
Y2tlckNsaWVudC5tbSBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGll
bnQubW0KaW5kZXggMjkxMzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9y
YWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2Uv
V2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNl
VHJhY2tlckNsaWVudDo6fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNz
IERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9k
aWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2lu
RGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2Vi
RGF0YWJhc2VUcmFja2VyQ2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAg
ICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJL
aXRfcGNoLmgKaW5kZXggMWRkNGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dl
YktpdF9wY2guaAorKysgYi9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBA
CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxv
Yy5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQ
YXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vQ09NRW51bVZhcmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRl
eCBhOTNhM2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50
LmgKKysrIGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAK
ICNkZWZpbmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMg
SUVudW1WQVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQg
OiBwdWJsaWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVt
VmFyaWFudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250
YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShj
b25zdCBDb250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5
QmFnLmggYi9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2
NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93
aW4vQ09NUHJvcGVydHlCYWcuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFY
DQogI2luY2x1ZGUgPHVua253bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4N
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRl
ci5oIg0KIA0KIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9
IHR5cGVuYW1lIFdURjo6U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6
U3RyaW5nSGFzaD4NCi1jbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcs
IHB1YmxpYyBJUHJvcGVydHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlC
YWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVk
ZWYgSGFzaE1hcDxLZXlUeXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiAN
CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dl
YktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4
ODggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisr
KyBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAy
LDggQEAgcHJpdmF0ZToKICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBG
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVs
bHNjcmVlbkNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsK
IHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJE
YXRhYmFzZU1hbmFnZXIuY3BwIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmlu
ZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VN
YW5hZ2VyLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUy
LDcgKzUyLDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NU
UiBzMikKICAgICByZXR1cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURl
dGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlC
YWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFn
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0
ZUluc3RhbmNlKGNvbnN0IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFi
YXNlKAogICAgIHJldHVybiBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0
YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJh
c2VNYW5hZ2VyLCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YktpdC93aW4vV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4
IDA1M2E1OTMuLmNkMzI0YTggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgK
KysrIGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVm
aW5lIFdlYkluc3BlY3Rvcl9oCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDog
cHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9y
LCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdlYkluc3BlY3Rvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRl
SW5zdGFuY2UoV2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXph
YmxlU3RyaW5ncy5jcHAgYi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5k
ZXggZGE2YjIyMS4uZTliOTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJs
ZVN0cmluZ3MuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApA
QCAtNzIsNyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0
cmluZ3MoKQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3Ry
aW5nKENGU3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlm
ZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2Ny
aXB0V29ybGQuaAppbmRleCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2lu
L1dlYlNjcmlwdFdvcmxkLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0z
MSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29y
bGQ7CiB9CiAKLWNsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJs
aWMgSVdlYlNjcmlwdFdvcmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJT
Y3JpcHRXb3JsZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwog
cHVibGljOgogICAgIHN0YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAg
IHN0YXRpYyBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNl
cmlhbGl6ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFs
aXplZEpTVmFsdWUuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNW
YWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwg
cHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXpl
ZEpTVmFsdWUgOiBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlh
bGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFs
aXplZEpTVmFsdWUpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpT
VmFsdWU+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVy
bi5oCmluZGV4IGU4ZjZiNjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBh
dHRlcm4uaApAQCAtMzIsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VXNlckNvbnRlbnRVUkxQYXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRl
cm4gOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
IHsKK2NsYXNzIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVS
TFBhdHRlcm4pOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuPiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxv
ZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDU1NDQ4OGIuLmM0NDQ5MjAgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0
aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0
aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJn
ZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCiAyMDEwLTExLTIyICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVc2UgcGF0aHMgcmVsYXRpdmUgdG8gJFdlYktpdFZTUHJvcHNSZWRpcmVjdGlvbkRpciB0
byBhY2Nlc3Mgc2hhcmVkIC52c3Byb3BzIGZpbGVzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
QmluYXJ5U2VtYXBob3JlLmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxh
dGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRl
ZiBCaW5hcnlTZW1hcGhvcmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMu
aD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9N
b2R1bGUuaCBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNj
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1Bs
YXRmb3JtL01vZHVsZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVm
aW5lIE1vZHVsZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDgg
QEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBNb2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7
CiBwdWJsaWM6CiAgICAgTW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIv
UGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3Jt
L1NoYXJlZE1lbW9yeS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9o
CiAjZGVmaW5lIFNoYXJlZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAKQEAgLTUyLDcgKzUxLDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9Owog
Ci0gICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAg
ICBIYW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMz
LDYgQEAKICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5o
IgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAt
LWdpdCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBX
ZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzOwogICAgICAgICAKIGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRp
YyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQv
Q2hpbGRQcm9jZXNzLmggYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZl
MWY0Li44YzVlOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAor
KysgYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAj
ZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGls
ZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hp
bGRQcm9jZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9T
aGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2
ZXIuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVy
LmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRl
IDxXZWJDb3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAot
LS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQy
L1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVO
QUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYg
LS1naXQgYS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJl
ZC9TYW5kYm94RXh0ZW5zaW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1Nh
bmRib3hFeHRlbnNpb24uaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5z
aW9uX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRp
Y2F0b3JXaW5kb3cuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldp
bmRvdy5oCmluZGV4IGU4ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IEZpbmRJbmRpY2F0b3JXaW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAot
I2ltcG9ydCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgog
I2ltcG9ydCA8d3RmL1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMy
NjVmMmUyLi4wZGM3YTljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9Q
Uk9DRVNTKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsK
QEAgLTQxLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNz
UHJveHk7CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5h
Z2VyIDogTm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3
ZDg5Ni4uOWUxNzQyZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4v
UGx1Z2luSW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dp
bi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmlu
Zz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJl
Y3RvcmllczsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBQYXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsK
IHB1YmxpYzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dl
YktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4
ZDViIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgK
KysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyAr
MzEsMTMgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAK
LWNsYXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVk
TGlua1Byb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3Zp
ZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRl
eHQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFj
YTguLjhiMDAzMzMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWQuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAg
LTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3
ICs1NCw2IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJ
UEM6Ok1lc3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
b3dubG9hZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3Jl
YXRlKHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYp
OwogICAgIH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25s
b2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWRNYW5hZ2VyLmgKaW5kZXggMDI0NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAj
ZGVmaW5lIERvd25sb2FkTWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xh
c3MgUmVzb3VyY2VIYW5kbGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9OUEpTT2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUEpTT2JqZWN0LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvbnBydW50aW1lX2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyAr
MzksOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAg
ICAKIC8vIE5QSlNPYmplY3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0Lgot
Y2xhc3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3Mg
TlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TlBKU09iamVjdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1
bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5o
CisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9u
TWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQog
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNv
bm5lY3Rpb25zIGZvciB0aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAg
ICAgCi1jbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQz
Mzk4NGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9s
bGVyLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApA
QCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFn
ZU92ZXJsYXkuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgg
Yi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2
Li5hZTZjNzE5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNw
ZWN0b3IuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApA
QCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKaW5kZXggODI0YjcxNy4uNjI0MGU1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDEwLTExLTIzICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhl
IE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGlu
ZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2Vy
IChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZh
c3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVt
b3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRl
cy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1v
dmVkLgorCiAyMDEwLTExLTE4ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpAQCAtMTkzMDEsNyArMTkzMTMs
NyBAQAogCiAyMDEwLTA3LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+
CiAKLSAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0
IGNhdXNlZCB0ZXN0c8KgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29t
bWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8Ig
dG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05v
bmNvcHlhYmxlLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVy
cy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRk
Mi4uMDAwMDAwMAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJk
MzZkNTggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0Nw
cEJvdW5kQ2xhc3MuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9D
cHBCb3VuZENsYXNzLmgKQEAgLTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAg
LTU4LDcgKzU3LDggQEAgdHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0
OwogCiAvLyBDcHBCb3VuZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxs
cyBhbmQgcHJvcGVydHkgYWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMg
YW5kIENwcFZhcmlhbnQqIHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ3BwQm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlD
YWxsYmFjayB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0Yzcg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRv
b2xzQWdlbnQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRE
ZXZUb29sc0FnZW50LmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5j
bHVkZSAiV2ViRGV2VG9vbHNBZ2VudENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBA
IC00OSw4ICs0OCw4IEBAIHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBE
UlREZXZUb29sc0NsaWVudDsKIAotY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJL
aXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6
OldlYkRldlRvb2xzQWdlbnRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERl
dlRvb2xzQWdlbnQpOwogcHVibGljOgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0
dWFsIH5EUlREZXZUb29sc0FnZW50KCkge30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAz
MGQ2ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RS
VERldlRvb2xzQ2xpZW50LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJURGV2VG9vbHNDbGllbnQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERl
dlRvb2xzQ2FsbEFyZ3MuaCIKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9v
bHNGcm9udGVuZENsaWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBA
IGNsYXNzIFdlYlZpZXc7CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERl
dlRvb2xzQ2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAot
ICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJU
RGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6
CiAgICAgRFJURGV2VG9vbHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmll
dyopOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIu
aCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29u
dHJvbGxlci5oCmluZGV4IGI2NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJv
bGxlci5oCkBAIC0xMTEsNyArMTExLDggQEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2
aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJv
bWUKIC8vIHZlcnNpb24gYXMgcG9zc2libGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xs
ZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBw
dWJsaWM6CiAgICAgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAg
ICAgflRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgz
MWQ5Li45NjE4ZGM0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNp
bmNsdWRlICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0
eS9za2lhL2luY2x1ZGUvY29yZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIC8vIFNraWEgZm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1j
bGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2Vi
VGhlbWVDb250cm9sRFJUIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRy
b2xEUlQpOwogcHVibGljOgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJv
cnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQg
aXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNv
IHRvIG1pbmltaXplCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAot
LS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURS
VC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5n
aW5lRFJULmgKQEAgLTQ4LDkgKzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAog
CiAjaW5jbHVkZSAid2luL1dlYlRoZW1lRW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKLWNsYXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhl
bWVFbmdpbmUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6
IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJUaGVtZUVuZ2luZURSVCk7CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7
fQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBi
L1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMx
NzE4MTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5o
CisrKyBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSAr
MjYsMTAgQEAKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsK
IAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2lu
ZG93IHsKIHB1YmxpYzoKICAgICBIb3N0V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9X
ZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2Qu
LmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250
cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIu
aApAQCAtMjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAot
Y2xhc3MgVGVzdHNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3Rz
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2Vi
S2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2Eu
LjIzNmNjMWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmgKQEAgLTI3LDExICsyNywxMCBAQAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNp
bmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBUZXN0SW52b2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdElu
dm9jYXRpb24oY29uc3QgY2hhciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74660</attachid>
            <date>2010-11-23 07:15:17 -0800</date>
            <delta_ts>2010-11-23 07:55:37 -0800</delta_ts>
            <desc>playing with EWSs round #2</desc>
            <filename>kedd4.patch</filename>
            <type>text/plain</type>
            <size>327146</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li5iYTlkYzc5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi5kZjE5ZTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIHRoZSBKYXZhU2NyaXB0
IHNwZWNpZmljYXRpb24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMu
ICovCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZiBSRUdFWFBf
SElTVE9HUkFNCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xMTIsNyArMTEzLDkgQEAg
c3RydWN0IEJyYWNrZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7
CiB9OwogCi1zdHJ1Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNo
RnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJu
TG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3Vz
RnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRl
bnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRl
eCA3NmMxNDcwLi4yNTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9D
YWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNp
bmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcg
bV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVO
dW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUz
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7
ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNl
KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2Uz
YzIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAg
ICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8
UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oCkBAIC0zMyw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVj
dCBBcmd1bWVudHNEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3
LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVm
aW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5k
ZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyAr
ODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJl
YWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAx
ZTIyYjZhLi5mMTdlMjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1h
Y3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVw
ZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQu
LjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4w
YzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUs
NyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
QXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1
ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAg
ICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5
bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42
NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZp
bmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRp
b25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAg
ICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAg
ICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBEcm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFs
bExvY2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNT
dGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAg
ICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNl
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmlu
Z0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRy
X3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXgg
YzU1MWJhYy4uMTAxOGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
U3RhY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3
ICsyNyw4IEBACiAjZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAg
ICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxW
YWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNr
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAg
ICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3Qg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclBy
aXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jh
c2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiBy
ZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhw
KQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAj
ZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hh
aW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29w
ZUNoYWluTm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykK
ICAgICAgICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCmluZGV4IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQw
LDcgKzM5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcp
CiAgICAgcmV0dXJuIHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAot
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
bWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3NTdG9yYWdlKTsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTbWFsbFN0cmluZ3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3lt
Ym9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVk
U3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlND
ZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZh
bHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMg
dGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0
aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vh
a0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4u
OGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8g
dGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRh
IGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFs
bCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJl
ZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVm
Q291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291
bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVh
ZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaAppbmRleCBiZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYs
NyArNDYsNiBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyAr
MTA4LDkgQEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhl
Y1N0YXRlKiwgY29uc3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVy
cmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2Yg
dG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFu
RGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBH
cmVnb3JpYW5EYXRlVGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRl
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRl
ZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVy
cmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8K
IC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxv
Y0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAg
ICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1
bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xh
c3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdp
ZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8g
ICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAg
ZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAg
ICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2
b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAg
ICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6
ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwK
LSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RB
bGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NC
YXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYg
Ly8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENv
dW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRl
ZDc1YzUuLjdhYjI5ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwx
NCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1h
cC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVm
YXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJh
aXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhh
c2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rp
b25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4
IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJn
Pjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlB
cmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgot
ICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1h
cHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxW
YWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsK
ICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVB
bGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5j
dGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0g
MjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcs
IGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFs
bG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEg
KzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2Vy
KTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJs
ZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5s
b2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NRDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewpAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNz
YWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1
ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVk
MmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdURl9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYg
X19oYXNfZmVhdHVyZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQot
I2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRp
YWdub3N0aWMgcHVzaCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZh
dGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsg
XAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBk
ZWxldGU7IFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UK
LSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAg
ICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYK
LQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4g
ZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29w
eWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5v
bmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0
IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsg
fQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBX
VEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNl
bmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2
NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIs
NiBAQAogI2RlZmluZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1
ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NP
d25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9w
dEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25B
cnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBP
d25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxp
Y2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5j
bHVkZSAiT3duUHRyQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyAr
MzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duUHRyOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQ
dHIoVCopOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpU
eXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0xMTE4LDQgKzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgog
CisvKiBOb25jb3B5YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRl
ZiBfX2hhc19mZWF0dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgor
CisjaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJp
dmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRl
OyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9
IGRlbGV0ZTsgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxz
ZQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAor
ICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRp
ZgorCisvKiBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9k
ZWxldGUgKi8KKworI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwK
KyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsg
XAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwK
KyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRl
cm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJl
ZShwKTsgXAorICAgIH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMx
LDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5k
aWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZD
b3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkK
ICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmMyMWQ0ZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVm
aW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxl
dGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKCkgOiBt
X3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCogcHRyKSA6IG1fcHRy
KHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBA
IC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0
cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRU
cmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJ
ZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0z
MSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAj
ZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0
b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRv
IHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQg
YXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1w
YXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRl
bnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXgg
MzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBA
IC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFk
U2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVk
QmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRp
YWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Yy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4u
MTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYg
QEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNp
ZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURT
KQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7
CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMo
KTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBU
aHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30K
ICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMp
OyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2Fk
Li5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNX
aW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNw
ZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVB
RFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhh
dCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi43MmFlNWU1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdU
aHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9pZCogZGF0YSwg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVudHJ5UG9pbnQpCiAgICAg
ICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4IDA0NDM2NWYuLmRhZWEx
OGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4u
MmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0z
NSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBAQCB0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247
CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3
ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7
CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
ZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBw
dWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0x
MzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFk
V3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+
VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uYWJjOTYwMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gK
ICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAi
Tm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNo
ZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAg
LTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3Rv
ckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3Rv
clR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWRE
YXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0
YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykg
aW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpA
QCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJh
bElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODQsNyArODQs
OCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3Ry
aW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJl
YWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRo
cmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4
OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5v
ZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093
blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNl
NDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcg
KzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19m
cmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Zp
bGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsg
ZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVy
LmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBu
YW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5n
QnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0
cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmlu
Z0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBib29sIGlz
U3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52
YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5
ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAg
ICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5l
dyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFj
ZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFu
IGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li41YWIz
NDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVj
dCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNz
ID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYx
Y2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJw
cmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAt
MzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJ5dGVEaXNq
dW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAg
ICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTcsNyArMzE4LDkg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVj
b2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4o
UGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24q
PiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJB
bGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBt
X2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRl
cm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xh
c3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFu
Z2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9yIGZhc3RlciBs
b29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBtYXRjaGVzIGFu
ZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3RydWN0IFBhdHRlcm5UZXJtIHsKICAgICB9
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0
aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRo
cm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2
ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1z
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVy
bkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLjRhNjk5MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMDk3Ny4uNjRm
NmQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgU2F0aXNoIFNhbXBhdGggIDxz
YXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgg
Yi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZX
RF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggODVkYjZmZC4u
OTVmYjc1NSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MzU1OCwx
MCArNjM1NTgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJl
bGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJ
CQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyZWU1NmVlLi5iMmFjODY2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTU3LDcgKzU3LDggQEAg
c3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91
c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5kMDkxNDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
Y2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3Jp
cHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihjYWNo
ZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAppbmRleCA0YzI1NDA3
Li5kMzJmNzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwx
MiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmll
bmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9v
a3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
ICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVy
U2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1
Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyBy
ZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdp
Y2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdX
cmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVn
V3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFy
ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0
YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4
IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAg
IHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uY2ZjZWVkNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHku
IFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2
YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUo
SlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1Li4y
NzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
QEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRv
dzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3RlZFB0cjxKU0RPTVdpbmRvdz4g
PiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5M2Y3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdl
OwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0
eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVBy
b3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlw
dFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjUyOGNiYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTgg
QEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhh
c2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERh
dGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGll
bnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBm
cmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7
CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+
V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5j
b250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjc4YjdkZGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBA
CiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0g
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJvbGxlcihXb3JrZXJDb250ZXh0
Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5o
CmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC00Myw3ICs0
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJlYWQuICBUaGUgRE9NRGF0YSBm
b3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3IgY2hpbGQgdGhyZWFkcwogICAg
IC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERPTURhdGEo
KTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmgKaW5kZXggMzc1OGUyMy4uOGM2YzAyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0xNDksNyArMTQ4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBtYW5hZ2UgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAgLy8gbGlmZXRpbWUgaXMg
bWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0YVN0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3RvcmUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01Ob2RlTWFwLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMWFhMWY2Mi4uZjQy
ZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5jbHVkZSAiT3duSGFuZGxlLmgiCiAjaW5j
bHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdpbmRvdzsKIAotY2xhc3MgU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAg
ICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogCi1j
bGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3Jp
cHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2
ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBiNzVhMDU0Li5lMDk2OWUxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNp
bmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRT
dGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRp
dGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAxMTgxM2IwLi5kYzI0NzEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3Mg
UGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1
YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsgcmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0Vt
cHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNl
cHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgp
IHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1YmxpYzoKICAgICBTY3JpcHRT
dGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0
ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShz
Y3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAog
Ly8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMg
YW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRl
IHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAg
ICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0
ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJp
ZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBA
QAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsKIAogbmFtZXNwYWNlIEJpbmRp
bmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhv
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1QYXJh
bWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9JZGVu
dGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uY2E0M2FkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
cmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAu
aApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
CmluZGV4IDk2OTc0ZDkuLjg4ZWM3MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9C
cmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKQEAgLTU5LDgg
KzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3Mg
Q2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAg
ICBDbGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3Qg
SWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZp
ZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0
IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CkBAIC0xMjUsNyArMTI3LDgg
QEAgcHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGltZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0
OwogfTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJyYXkg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5KTsKIHB1YmxpYzoKICAgICBBcnJheShQ
YXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmggYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X3Jvb3QuaAppbmRleCBiYWJkN2FkLi4zOWZiMzU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX3Jvb3QuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaApAQCAt
MzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5o
CmluZGV4IDgzM2Q3ZmUuLjU2YjI4MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcg
QEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENT
U0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VW
YWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVs
ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLjczZjJhY2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVT
aGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBD
U1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4u
MDZkNDA2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFt
ZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIEF0
b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAgIEF0b21pY1N0cmluZyB1cmk7CiAgICAgICAgIE93
blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMWRhMjBiNy4uOTcyZjc3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTMyOCw3ICszMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5k
U2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjQ1ZjRhNDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNz
IENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Bh
cnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyAr
ODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7
CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1Ymxp
YzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAgICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVM
aXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjlhOWVjNDQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENT
U1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUHJvcGVydHkgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHkoaW50
IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFs
c2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAg
OiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBi
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9yQmFnIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7
IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzRW1wdHko
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li40NmY0YWFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0
LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSZW5k
ZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zMyw3
ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsK
IAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVs
ZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9y
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1NlbGVj
dG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMw
Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lmaWNpdHlG
b3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsK
IAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVj
dCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJlRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJh
cmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAgICAgICAg
ICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApp
bmRleCA5ZTQwZWY4Li44NTg0Mjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ckxpc3QuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApAQCAtMjcsMTEgKzI3
LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3Rv
ckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1NlbGVjdG9y
TGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMWZmM2JkNS4uMDVhMWJmNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7
IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUxLi4xM2ZjOTdlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwogCi1j
bGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE1lZGlhUXVlcnlSZXN1bHQo
Y29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1bHQpCiAgICAgICAgIDogbV9leHBy
ZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1YmxpYzoKIH07CiAKICAgICAvLyBUaGlz
IGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBnaXZlbiBlbGVtZW50IGJhc2VkIG9u
IGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3Vt
ZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVldCogbWFwcGVk
RWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBh
Z2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdy
b3VwVXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxlKCkgeyByZXR1
cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hl
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNoZWNrZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBi
b29sIHN0cmljdFBhcnNpbmcpOwogCkBAIC0zMTUsNyArMzE4LDggQEAgcHVibGljOgogICAgICAg
ICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdCo+IG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5
UmVzdWx0czsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHIsIENTU1Nl
bGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAgICAgICAgICAgIDogbV9wb3Np
dGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NT
dHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgICAgICA6IG1fZmlyc3Qo
bmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRleCAyODEwMDliLi43
ZDFmYzdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBNZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gUmVz
dHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwgTm9uZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5oCmluZGV4IDAwYWMzOTQuLmQ4YzU5ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
QEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hh
cmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhl
IGxvYWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2Jh
YmxlIHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkg
c2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3Ig
ImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
eHAuaAppbmRleCA3MmQzZmZmLi44ZTQyNTVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICsz
OCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAK
LWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRp
YVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1
ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAg
Yi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dl
YkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFz
eW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBD
YWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAg
ICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2Ny
aXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsK
KyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBj
YWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYo
KXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5o
CmluZGV4IDFhMDUxYTguLjI5ZWU1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2Ny
aXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBA
IGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVu
dDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3lu
Y1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQpIHsgcmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5
bmNTY3JpcHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
IGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5kZXggODZhMjJiMC4uZjUwMzZlNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvV2ViQ29yZS9kb20vRE9N
U3RyaW5nTWFwLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRE9NU3RyaW5nTWFwX2gKIAog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3
ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGlu
dCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBET01TdHJpbmdNYXAgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRE9NU3RyaW5nTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01T
dHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwg
fkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODNiYTg4NS4uODQxYmIyNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAg
ICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29u
dGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1l
bnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRv
Y3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4uNTBlYzg4MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7
CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7
IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5o
IGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBmMDVkMzZjLi5jZDQ5ZGU4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTI0LDYg
KzI0LDcgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVudF9oCiAKKyNpbmNsdWRlICJD
bGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zMSw4ICszMiw2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsaXBib2FyZDsKLQogICAgIGNsYXNz
IEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+IHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGVudW0gUGhhc2VUeXBlIHsgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgg
Yi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNDk2ODA0ZS4uN2UxMGU2ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaApAQCAtMTc4LDcgKzE3OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAvLyBl
bmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKLSAgICBjbGFzcyBFdmVudE5hbWVzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudE5hbWVzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8g
d29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBF
dmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAgICAgICAgRXZlbnROYW1lcygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uZmExOTBkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3
ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3Rl
cmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1h
cDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAg
ICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAog
I2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMTRk
OTBmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hh
bm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRl
cGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBl
bnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZv
a2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFu
bmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAK
QEAgLTc4LDcgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBSZXR1cm5z
IHRydWUgaWYgdGhlIHByb3h5IGN1cnJlbnRseSBjb250YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBw
b3J0LgogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIGNsYXNz
IEV2ZW50RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV2ZW50RGF0
YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFz
c093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApp
bmRleCBhYjIwOGQyLi5lZGM1MDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAg
ICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAg
cHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzogICAgCiAg
ICAgTm9kZVJhcmVEYXRhKCkKICAgICAgICAgOiBtX3RhYkluZGV4KDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgK
aW5kZXggMzRmYzA2OS4uMTdlODUwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oCisrKyBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBA
QCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFt
ZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxR
dWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiNmJl
YjZlLi40ZTkxYmQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysr
IGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFNj
cmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3JpcHRFbGVt
ZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0
ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVu
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjhjYTgy
YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysg
Yi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKKyAg
ICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAgICAgIHZpcnR1YWwgflRhc2soKTsKICAgICAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
PSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0YXNrcyBnZXQgbWFya2VkIHNwZWNpYWxseSBz
byB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwgYW5kIGFyZSBleGVjdXRlZCwgd2hlbiB0aGUg
Y29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBtZXNzYWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCmluZGV4IDgyNmU2YmQuLjgzOTliNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAg
LTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU3BhY2VT
cGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0
cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
U3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uo
c2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5o
CmluZGV4IGY5N2FmY2YuLjk3ZWM0ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsy
Myw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQ
bGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJj
ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBE
ZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVy
ZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGlj
YXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwog
cHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJu
IHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1
cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1
cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHBy
b2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxl
bWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2My
Li5kNWRhOWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisr
KyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6
IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCA3YTMyODVmLi42ZWRlNzg2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTc1LDggKzc1LDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAg
ICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsK
ICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi44ZjQxOTMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFhNTERvY3VtZW50UGFy
c2VyU2NvcGVfaAogI2RlZmluZSBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKFhTTFQpCiAjaW5jbHVkZSA8bGlieG1s
L3RyZWUuaD4KQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVu
dFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApp
bmRleCAxMjg2YzA3Li44OWYyY2JiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVCdXR0b25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0gRUZyYWdtZW50VHlw
ZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9
OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVw
bGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVu
dEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50
KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRG
cmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29y
ZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0Li4zOTc4Zjc1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAi
VmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9u
OwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0
aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlv
bk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rp
b25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxl
ZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCA0ZGNlZDA1Li5kZTlj
NzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysr
IGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBA
IHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNz
IFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hl
Y2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBl
cik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NS
ZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCmluZGV4IGE5NjI2OGQuLjFmYmU2MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVw
cyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBzZWFyY2ggaW4gdGhl
IGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2VzIGFyZSBhbHdheXMg
ZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUgaWYg
PGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJp
bmcmIHRhcmdldCwgYm9vbCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQu
aApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQg
c3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVy
Zm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lz
dGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4u
MTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkg
cG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEg
cGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhh
dCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxs
ZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVy
LmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4u
MDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgs
OCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmls
ZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0Nh
bGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBl
bmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxs
YmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJl
c3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlw
ZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmlu
ZGV4IGU4OWUzMmIuLmQ2ODA0N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9s
bGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
ICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3Rv
cnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NS
ZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmQ1MGI5Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAot
ICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUq
IHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZh
Li5kYTNlNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysr
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotc3RydWN0IENvbGxlY3Rpb25DYWNo
ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxlY3Rpb25DYWNoZSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBD
b2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNh
Y2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uZTE1MDczMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJs
aWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tl
bkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLmUwZGJj
YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9
OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBmY2IyYmU4Li41NmJhYTdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC0xMjExLDcgKzEyMTEsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2Vw
YXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0cnVj
dCBFdmVudEhhbmRsaW5nU3RhdGUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBFdmVudEhhbmRs
aW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmVm
UHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWlu
YXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQ
YXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBk
ZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3Mu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQog
ICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBjMTQxN2Zh
Li5kZjBhYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNs
YXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0
eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBv
c2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8g
Y2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBl
PiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4x
ZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJhbmdl
X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAot
Y2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29s
IGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4
IGZlMThiNmIuLmY4M2E1ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIAotY2xhc3Mg
VmFsaWRhdGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlv
bk1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oCmluZGV4IDUzMmRkYjIuLjIyYTQ4YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApA
QCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5
U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGNvbnRyb2wpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCBhMjVlOGExLi4xNGY1YTBhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAor
KysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBA
IGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7
CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZp
cnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NT
UHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVs
b2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGlj
OgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1Ymxp
YzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rp
b25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQq
IGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhU
TUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDog
bV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRl
eCAwNTA1M2RmLi5jMjAxYzNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi45MzZkNDExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxlbWVu
dFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNsYXNz
IFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2Fy
ZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJk
IChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1l
bnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNrKCk7CiAgICAgfkhUTUxF
bGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIH5FbGVtZW50UmVj
b3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAppbmRleCBhY2EwNWJiLi5mNzVm
YTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVu
dExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50
OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1lbnRTdGFjay4KLWNs
YXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCBhNzA5YmQ5Li42NDJlNDM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0
ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRo
ZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAi
bGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0oKQogICAgICAgICA6
IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOCw3ICsxMjksOCBAQCBwcml2YXRlOgogICAgIFNlZ21l
bnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0mIGlucHV0U3RyZWFt
KQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCA1YmUzM2IwLi5hNGI3NDYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBA
CiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFz
cyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
UGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2No
ZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBw
YXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5k
ZXggOTRhOTBlNi4uODYwNDUzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFz
cyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uMWI3ZjkxZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyAr
NDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0OwogY2xhc3Mg
U2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li44ZWNkOGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAi
TmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmlu
aXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBl
bmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgog
ICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxz
ZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBz
aG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8g
ZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1j
bGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWlj
SFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwog
cHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6
IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4
IGYxNmIwNDkuLmQ1Nzc5ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBAIC0y
OCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVu
dGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFz
cyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAg
ICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJ
bnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAg
ICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1FbGVtZW50KiBj
bG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAK
LWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVy
VG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQo
dG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAg
ICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtl
SW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxk
ZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5z
ZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWls
ZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1
aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRl
eCAwZTc1OTdjLi45NjljN2EwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
QEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0Lmgi
CiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1
bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTFRva2VuaXpl
ciogdG9rZW5pemVyLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywg
Ym9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAgICB7CkBAIC0yMDMsNyArMjAzLDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NGb3JlaWduQ29udGVudFVzaW5nSW5Cb2R5TW9kZUFu
ZFJlc2V0TW9kZShBdG9taWNIVE1MVG9rZW4mIHRva2VuKTsKICAgICB2b2lkIHJlc2V0Rm9yZWln
bkluc2VydGlvbk1vZGUoKTsKIAotICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoKTsKICAgICAgICAgRnJh
Z21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4dEVs
ZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaApAQCAtMjgs
NyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIodW5zaWdu
ZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25lc3RpbmdMZXZlbCgmbmVzdGluZ0xldmVs
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggNGU4OGJlYy4uOTAyZWRjMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlw
dENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFZhbHVlOwog
Ci1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb25z
b2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5z
aWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NPd25QdHI8U2NyaXB0Q2FsbFN0
YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCBmODBj
ZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0
LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmgKaW5kZXggMTFmMTBjZS4uN2IzZTkyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQog
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3Bl
Y3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxl
ciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAg
ICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggY2E1YTlkOS4uZjljMTA0MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25z
ZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJl
ZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+ID4gRE9NU3RvcmFnZVJlc291cmNlc01h
cDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA5NTAx
YWM4Li4wMzE2MDk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCkBAIC01Miw3ICs1Miw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2
ZUJyZWFrcG9pbnREZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3Rl
bmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3Bl
Y3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmlu
ZGV4IDlkY2FhNWEuLjRhYTg3ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3
ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JG
cm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwog
ICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBjMWY1ZGIxLi5iMWE4YmU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICsz
NSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFw
U25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxl
ckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElu
c3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKik7CiAgICAg
dmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUwMjcuLmE2YmEzZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51
bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxp
bmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBT
Y3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4uMTMxZTEzMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBTY3JpcHRDYWxs
U3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1jbGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwogcHVibGljOgogICAgIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQu
LjVkODQ5YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNs
YXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAg
ICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAot
ICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li45M2U3NDM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiArNDcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsK
IAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVk
PERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2
YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1
ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVu
dFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li4zMTE5NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVtcHR5RnJh
bWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1lTG9hZGVy
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgIH0K
ICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAtMzgzLDgg
KzM4NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2lu
Z0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxG
cmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRvckNsaWVu
dCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9y
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAt
NDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
Ci1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1
YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlD
b250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
RW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5Q29udGV4dE1l
bnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVzdHJveWVkKCkg
eyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShDT05U
RVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0Ns
aWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6Cisg
ICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkg
e30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50UG9pbnQm
LCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzMiw4ICs1NDAsMTAgQEAgcHVibGljOgogfTsKICNlbmRp
ZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6
IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4
ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9y
bVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGlj
OgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFz
cyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9k
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxv
YWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdo
aWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVy
IGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3Rv
cnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBk
YXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCmluZGV4IDk0YTIxYTQuLjZhNTRlOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4
IDI4ZmRhOWEuLjI0OTViMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1
bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZp
Z2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9u
KGRvdWJsZSBkZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0
LCBib29sIHdhc0R1cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBt
X2RlbGF5KGRlbGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCmluZGV4IDE0MDBj
MjUuLmYxNGQwNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTQ3LDcg
KzQ3LDggQEAgY2xhc3MgRnJhbWU7CiBzdHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKIGNsYXNzIFNj
aGVkdWxlZE5hdmlnYXRpb247CiAKLWNsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlv
blNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0aW9uU2NoZWR1bGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmgKaW5kZXggZWI0MzE2Ni4uOTI2OGIyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtMzQsNyAr
MzQsNiBAQAogCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJU
aW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0
byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFz
IHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwg
dGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgot
Y2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwg
Y29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0
IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBA
IC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZy
YW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjFiZDE5
YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0
aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlh
bFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0
aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29w
eWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBQcm9n
cmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQog
ICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuaAppbmRleCA1ZDViNmIyLi44YzRhMGRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApA
QCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVzc1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDcgKzM1LDggQEAgY2xh
c3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsK
IAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBy
b2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIo
KTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9S
ZXF1ZXN0LmggYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKaW5kZXggYjZkZTMxMi4uOTZmN2Ix
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAK
LSAgICBjbGFzcyBSZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXF1
ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVxdWVzdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJlc291cmNl
TG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNr
UG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcw
NDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3VyY2VMb2Fk
Tm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291
cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9h
ZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmll
cik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQy
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1Ymxp
YzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2
ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhv
c3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uZDEx
ZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIu
IEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJh
bWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1
YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJlYWRhYmxl
TG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAv
LyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90
IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0
aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAog
ICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRh
YmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmlu
ZGV4IGJjZjY4YmUuLjhlNTI3NDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVzb3VyY2VF
cnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVM
b2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2Vu
dCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAg
LTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
LmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLmU4OTEzZTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAK
ICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29y
a2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lk
IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3Vw
LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAppbmRl
eCAyOWQwNzQ5Li5kMGRmMTBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAKQEAgLTUzLDcgKzUyLDggQEAgZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBk
YXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlV2l0aG91dEJyb3dzaW5nQ29u
dGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogcHVibGljIE5vbmNvcHlh
YmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAg
OiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGlj
YXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBB
cHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5
ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li42
NWMzYThiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlSG9z
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUg
U3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAg
ICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjAwYjI5Yzg1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwog
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAg
ICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi42NmZiOWE4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAor
KysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApA
QCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAppbmRleCBlZDYwZjg0Li4wYmJkNTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgUmVxdWVzdDsKIC8vIEEgcmVzb3VyY2Ug
dGhhdCBpcyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBv
YmplY3Qgc2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0
IHRoZSBmdW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZl
ZC4KIC8vIFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRo
IHRoZSBsb2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xh
c3MgQ2FjaGVkUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJp
ZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uZjYwMjFmNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBA
CiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VD
bGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3Zlcmxv
YWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFz
cyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsg
fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBm
MzcxYTBlLi43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJM
OwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBz
Y3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBD
YWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hl
OwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAppbmRleCAxNWNlOWRhLi5lYTQ5MjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
QEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2
YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1v
cnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRo
aXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1l
bW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNo
ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5hYzBhNTdk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4
IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1j
bGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0
YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAg
ICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVm
aW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhv
ZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3By
aWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJh
c2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBw
ZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFl
YmFjNDguLmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2
IEBACiAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxv
YWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRl
KEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKaW5kZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNv
bi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBp
Y29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJM
UmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVj
b3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
aW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNs
dWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNv
dXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBj
bGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0K
ICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxv
YWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxi
YWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEz
MDIuLjMxMTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYg
KzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAK
ICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwg
cHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRl
KGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0
aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlm
aWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92
aWRlcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggODMzYjkwOS4uYjU4
NTRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisr
KyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogI2RlZmluZSBDb250ZXh0TWVudUNv
bnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51
Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRN
ZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAg
ICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFn
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRy
b2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi45NDBjMjVlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0
ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJh
cnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSop
OwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAg
ICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRs
ZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdT
dGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBFdmVudEhh
bmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8g
ZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2Ug
Z2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2Ry
YWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi41YmVlYjJiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDogcHVibGljIFJlZkNv
dW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
dmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdl
L0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IDg4M2M5OTMuLjI0MWI2OGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgog
I2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVu
dDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4
ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZy
YW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhp
c0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTZiMTQyNi4uN2YzNjgzOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZl
cnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGlt
dW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25l
IGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0
c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVk
dWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBTY2hlZHVs
ZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9k
ZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRp
b25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5k
ZXggMmQ4MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9u
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFz
cyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9s
bGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmggYi9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0
dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBh
Z2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRp
bmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGUwNzQ4MTQuLjZhNjhhNWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVk
dWxlUGFpci5oIgpAQCAtODksMTIgKzg4LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9u
QmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JB
bGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1
cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAg
ICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVu
dHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApp
bmRleCBjYzQ3ZmJhLi4xNGRiNDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNj
cmlwdC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1l
c3BhY2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91
cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3Jv
dXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5mNzk1NmM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3Mg
UGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwTG9hZERl
ZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaCBiL1dlYkNv
cmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhiMzFlLi41YjcwNzIzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFs
dGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkhh
bHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVy
KFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGMzNzE5ZTIuLjNlOWE2OTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4
dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBTZXR0
aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5k
ZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5w
dXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJl
cXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVj
aCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBl
bGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZv
ciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0
cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNo
SW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6
CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVl
Y2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNv
cmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uY2QzZDBmNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5o
CkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNj
cmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1
cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0
LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQu
aAppbmRleCBmYTQyZTJjLi4yNDc5ODRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0
eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyAr
MzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4g
d2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9y
LmgKaW5kZXggMmI3ODFmMS4uNDkwNzFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2OSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6c2hvdWxk
TG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBKYXZhU2Ny
aXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCAtIHVz
ZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAgY2xhc3Mg
WFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVkaXRvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAg
ICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5j
cHAKaW5kZXggNjYxNzJmNy4uNTEyNjUwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFz
ZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0
eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3Bl
cnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBl
ckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb3BlcnR5V3Jh
cHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9wcm9wKHByb3ApCkBAIC00MzgsNyArNDM5
LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
QmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBl
ckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIpOwogcHVibGlj
OgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcihUIChGaWxsTGF5ZXI6OipnZXR0
ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDg5M2M3
MTcuLmVhNzhjYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFu
aW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApp
bmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBsaWNpdEFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1
cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9
CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2
ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAg
ICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRl
eCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNG
aWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFj
ZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3Rl
IHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0Zp
bGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAg
IHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBA
IGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBG
aWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAg
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4g
YSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmly
dHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXV0b2RyYWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5o
CmluZGV4IGQ0NGVlMWUuLmQ2NTU0MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0
b2RyYWluZWRQb29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApA
QCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRv
ZHJhaW5lZFBvb2xfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBf
X09CSkNfXwogQGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFz
cyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRv
ZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29s
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgog
ICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2Ry
YWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51Lmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uZDY2NDk5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0
TWVudV9oCiAjZGVmaW5lIENvbnRleHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q29udGV4dE1lbnVDbGllbnRFZmw7CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDog
cHVibGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxh
dGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXgg
ZTcwMjkyMS4uMTEyNjU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIs
NyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENv
bnRleHRNZW51SXRlbShQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb24pOwogICAgICAgICBDb250
ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnUqIHN1Yk1lbnUgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaAppbmRleCA0N2NkNTM4Li4xZTk5NDkyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgRGVwcmVjYXRlZFB0
ckxpc3RfaAogCiAjaW5jbHVkZSAiRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8
Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
dGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBs
KGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0
KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVk
UHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1
ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17Citj
bGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJl
Y2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVw
cmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9v
cC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZl
bnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9v
cCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2Vu
ZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2
NS4uZDYwYWU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3
ICsyNiw3IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0
aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3
dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0Miw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJl
ZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZp
Y2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAg
IHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGll
bnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2lu
ZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2
LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7IH0KIAog
ICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywgbm90IHRoZSBj
b250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVy
d2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iODgzZmYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9L
aWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZv
aWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25zdCBTdHJpbmcm
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLmM0MjlhNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjIs
NyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUsNyArMzQsOSBAQCBjb25z
dCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZv
ciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNl
bnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBM
ZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDAp
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li40OTZmYmIzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgx
LDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291
cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy9I
ZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2FyZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0Li42YTM2MzE5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDgg
QEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAg
ICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwg
Z3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNz
ZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgK
aW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJn
ZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBA
IC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUg
IlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGlt
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhj
NTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZp
bmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAK
LWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVu
TG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFz
ZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1
bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWly
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uYjNkODg5NiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZv
cm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xh
c3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFy
VGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAg
IHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQo
U2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0
Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4u
MTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZu
ZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIEVhY2ggdGhy
ZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGlt
cGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQg
YnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1
c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hh
cmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU2hhcmVkVGltZXIoKSB7IH0KICAgICAg
ICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rmly
ZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKICNpZiBFTkFCTEUoV09SS0VSUykKQEAgLTQ1LDcg
KzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFw
cGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAotICAgIGNsYXNzIFRocmVhZEdsb2JhbERh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRHbG9iYWxEYXRhKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsKICAgICAgICAgflRocmVhZEdsb2JhbERh
dGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGFiNDI1OTguLjM1ZWQwMWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBUaHJlYWRUaW1l
cnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
QEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFz
ZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBU
aHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4uMDgxMDQw
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5l
IFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVy
QmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJl
ZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMxLDggQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
cmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNv
dW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXgg
OWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24v
QW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlv
bkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25M
aXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlv
bkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4YjgxLi4zOThlMTI3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEF1ZGlvQnVzX2gK
IAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJl
cHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBtb3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBU
aGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bwb3NlZCB0byAiaW50ZXJsZWF2ZWQiLgog
Ly8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBpcyBtb25vLCBhbiBBdWRpb0J1cyB3aXRo
IHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNsYXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIENoYW5uZWxMZWZ0ID0g
MCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCmluZGV4IDY4MTY4MzAuLjczMjVl
OWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0
IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBBdWRpb0NoYW5uZWwgcmVwcmVzZW50cyBh
IGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRpbmctcG9pbnQgYXVkaW8gc2FtcGxlcy4K
IC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkgYXNzdW1lZCB0byBiZSBpbiBhIG5vbWlu
YWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRpb0NoYW5uZWwgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
dWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1lbW9yeSBjYW4gYmUgZXh0ZXJuYWxseSBy
ZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBhbGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zs
b2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCmluZGV4IGMzM2Iz
OGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaApAQCAtMzEs
NyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJURkVsZXZhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhSVEZL
ZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZEYXRhYmFzZSk7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNlPiBjcmVhdGUoZG91
YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCmlu
ZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlv
bi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEhSVEZFbGV2YXRpb25faAogCiAjaW5jbHVk
ZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhSVEZLZXJuZWxzIChvbmUgbGVm
dCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5nbGUpIGZvciBhIHBhcnRpY3Vs
YXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZF
bGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2
YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZh
dGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmspIHJlc291cmNlcy4KICAgICAv
LyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0
LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5IG9mIG11bHRpcGxlIG9uZXMg
d2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL0NsaXBib2FyZENocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBi
b2FyZENocm9taXVtLmgKaW5kZXggMWQ2OTkyMS4uOGQ2ZmEyMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaApAQCAtNDIsNiArNDIsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSW50UG9pbnQ7CiAKICAgICBjbGFzcyBDbGlwYm9h
cmRDaHJvbWl1bSA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICB+Q2xpcGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29w
eWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJh
bWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkK
ICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3Iu
aAppbmRleCAyZTRlOTYyLi42ZDg5MmE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZpbmUgQ29sb3JfaAogCi0jaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUsNyArNzQsOCBAQCBpbmxpbmUg
aW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAmIDB4
RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBjb2xv
ciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1
cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9CiAgICAg
Q29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAppbmRleCA4N2ExYzVjLi4w
NzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFk
b3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAKICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB1c2lu
ZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmY1ZGQ4YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2FjaGUo
KQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleShjb25zdCBB
dG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmluZygpLCB1bnNpZ25lZCBzaXplID0gMCwg
dW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMgPSBmYWxzZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250ID0gZmFsc2UsIEZvbnRSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdNb2RlLCBGb250T3JpZW50YXRpb24g
b3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAgICA6IG1fc2l6ZShzaXplKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggZTY4NDVkOS4uNGZhNzQxNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZv
bnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnREYXRh
OwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udENh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uMGViNjY4NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjcsMTQgKzI3LDE0IEBACiAj
ZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgwKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4NWJj
Yy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1l
dHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01h
cC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAKIGNv
bnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNs
YXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFz
cyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEds
eXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxl
ZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDZhZGM5MGIuLmJhNzg5
YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAt
MzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAj
aW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTE1Myw3
ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEludGVycG9sYXRpb25IaWdo
CiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopOwog
ICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC0zNTYsNyArMzU2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9v
bCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cygpIGNvbnN0OwogCi0g
ICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dzQml0
bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IGMyZDVjMjQu
LjdjMDdiZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGUgbmFtZSBjb25mbGljdGlv
biBmb3IgTk9fRVJST1IuCiAjaWYgKChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoV0lORE9XUykp
IHx8IFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFUKSAmJiBPUyhXSU5ET1dTKSkpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCmlu
ZGV4IDk4NWNhZDkuLjE5YzYwNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC04NCw3ICs4NCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICNlbmRpZgogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJpdmF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGlj
c0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhm
YWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggOTkx
Y2EzMi4uZTVkZGNiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xh
c3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJl
IHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZp
YSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVk
IGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmlt
YXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUsIFBh
c3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAgOiBt
X2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcsOCBAQCBwcml2YXRlOgogCiAvLyBVc2Vk
IHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3
aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVkIGZy
b20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVMaXN0
KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi5kNTRlMDA5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZUJ1ZmZlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFs
bG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+
IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBDb2xv
clNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCmlu
ZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291
cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSW1hZ2VTb3VyY2VfaAogCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShXWCkKQEAgLTExNyw3ICsxMTYsOCBAQCBj
b25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0aW9uTG9v
cEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAotY2xhc3Mg
SW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3VyY2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAgICBJbWFn
ZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0cnVlLCBib29sIGlnbm9yZUdhbW1hQW5k
Q29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFnZVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBlODdjNTNjLi4zMTY1NDc4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw5
IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxNZWRpYVBs
YXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1zdHJ1Y3Qg
TWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxheWVyRmFj
dG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3Jl
YXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlw
ZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlw
ZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAg
ICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQyYi4uNzFjOTlkOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0Niw3
ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xp
ZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclBy
aXZhdGUuaAppbmRleCBkOTU2Mjg2Li42Njk4MTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM2LDggKzM2LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBJbnRTaXplOwogCi1jbGFzcyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZpcnR1YWwgfk1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKaW5kZXggYmEy
NWRjMi4uNTY3Nzg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRo
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4LDcgKzI4LDYg
QEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgUExBVEZPUk0oQ0cp
CkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZv
aWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVudCop
OwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQ
YXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi44ZTNhMDQxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFRp
bGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7
CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGRhYzMxZjgu
LjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBl
ZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9f
Zm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwog
Ci1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZU
X0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFz
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5k
ZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRleHR1
cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNE
OwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hhcmVk
R3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwogICAg
IH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggNTMxZDY1Mi4uM2M3MWFj
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAiU2tC
aXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggMWYzMzUyNy4uNTI2YTg3YiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJm
YWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNpbmNsdWRlICJGbG9h
dFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllckNocm9taXVt
OwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRlcmVyQ2hy
b21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVtKExheWVy
Q2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApAQCAt
MzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAi
SW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0Zi9P
d25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRyYW5z
cGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21wb3Np
dGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5hYmls
aXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0ZXh0
LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVuY3lX
aW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVudW0g
TGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJhd2lu
ZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLjBmNGM5NTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1LDYg
QEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsNyArNzYs
OCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIGNsYXNz
IFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdp
bGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaWxsUHVi
bGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNo
Q2FsbGJhY2soKSB7IH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmll
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZp
ZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZpZXJfaAog
I2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENs
YXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBMb29wQmxp
bm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkNsYXNz
aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZpZXIpOwog
cHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2
ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1
bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2Nh
bFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRlICJGbG9hdFBvaW50
M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRpb24gb2YgdGhlIHRy
aWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29udHJvbCBwb2ludCB2
ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkxvY2Fs
VHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMgdGhhdCB0aGUgdHJp
YW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAgIC8vIHRoZSBwb3Np
dGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJlCiAgICAgLy8gY29v
cmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0ZXgpOwogICAg
IHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCmluZGV4IDVm
ZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRl
ICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRzLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhiYWVmLi41
ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVu
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTI5
LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3ICsxNTcsOCBAQCBwcml2
YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2
aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9m
IG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxs
b2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50
ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRy
ZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUg
IlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDggKzQzLDggQEAg
c3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8obGcgbikpIGlu
c2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBpbiB0aGUgdHJl
ZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1jbGFzcyBQT0RJ
bnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKK2Ns
YXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8
VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPREludGVydmFsVHJl
ZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdoZW4gZGVjbGFy
aW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4IDZkNTk1
NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
RFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJl
ZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRlICJQT0RBcmVuYS5oIgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlICJMb2dn
aW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBiYXNlIE5v
ZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25seQogICAg
IC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25seSB3aXRo
IHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2RlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3
bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0IE5vZGUo
Y29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8vIEhlbHBl
ciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50
cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRlciA6IHB1
YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50ZXIpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291bnQoMCkg
eyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUuLmI1
NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwg
dW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThhYjUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMxLDE0ICszMSwxNCBAQAog
I2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFJl
Y3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGlu
Z0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQg
dG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBp
bnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
V2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZmLi5iZjYwYWJlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRl
ICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtpbmdD
b250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxl
LCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdl
YktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0
LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZv
bnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NG
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBVSW50
MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250
Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNGb250LCBDR0ZvbnRSZWYgY2dG
b250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwgbV9hdHNGb250KGF0c0ZvbnQp
LCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4Li44NDg5OTNiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC0y
NSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxh
dGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7
CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2Li5l
ZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJm
YWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFj
ZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWdsLmg+CiAjZW5kaWYKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3VsZCBt
YWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxlbWVu
dGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7CiAg
ICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCA2
YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1LDE2IEBACiAjaW5jbHVk
ZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBs
YXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFw
cGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIwMWYxOC4uOWM2NjJhNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
QEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxh
dGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZv
cm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0
YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvbnRQbGF0
Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMsMTAg
QEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5kZXgg
MTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjksOCBAQCBzdGF0aWMgaW5saW5l
IFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6
Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlk
Q29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRm
YjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1Ry
YW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFu
c3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJh
bnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAg
ICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0IFFSZWN0ICZyZWN0
LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAgIDogcGl4bWFwKHJl
Y3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5KG9wYWNpdHkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4xNDNlZTc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250
UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCkBAIC00OSw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogI2lm
IE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVy
ZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250
UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dy
YXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVlMTJhZDYuLjQ0
ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBA
QAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2RlZmluZSBHcmFw
aGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZv
ciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0
Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9jb250ZXh0KHBs
YXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMTAwODVkLi5kNjgzYWFmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lh
LmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0U2tpYV9oCiAKICNp
bmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiAj
aW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJhd0xvb3Blci5oIgpA
QCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2libGUgZm9yIG1hbmFn
aW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBhcmF0ZQogLy8gU2tQ
YWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9yIHRoYXQgYWxsb3dz
IHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3BwZWQgYWxvbmcgd2l0
aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBGb3IgcHJpbnRpbmcs
IHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJlIE5VTEwuIElmIHlv
dQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28gY2FsbCBzZXRDYW52
YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uMTBmYjA0NCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0u
aApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCiAK
ICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dB
ZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDggQEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFz
cyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiAKLWNsYXNzIEFmZmluZVRy
YW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFmZmluZVRyYW5zZm9ybSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJs
ZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMwZGEzNzcuLjA4ZjI3
NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRp
dHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2YjRiYWEuLjUy
YmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9U
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVk
ZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8c3RyaW5n
Lmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQ
TEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4K
QEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxvYXRSZWN0Owog
Y2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1hdHJpeDRbNF1b
NF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4xNjI4ZWViIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBA
IC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwog
CkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgog
ICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0
cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKICAg
ICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4u
NTE1NGVhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1
c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTI0LDcgKzI0LDYgQEAKIAogI2lu
Y2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDxjYWlyby5oPgogCkBAIC0zMyw3
ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBj
bGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9u
Y29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1fZm9udEZh
Y2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYxNDAuLjU5NTFlNDkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgK
QEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2NhbFdp
bmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsV2luZG93c0Nv
bnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsV2luZG93c0NvbnRleHQpOwog
cHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGlj
c0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQgPSB0
cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUpCiAgICAgICAgIDogbV9ncmFwaGljc0Nv
bnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1v
dmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPFFUTUwuaD4K
ICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02Myw3ICs2Miw4IEBAIHVuaW9uIFVwcFBh
cmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwog
c3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CitjbGFz
cyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQcml2
YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4IGUxM2Y3MzIuLjI2ODYxMmQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCkBAIC0z
Myw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVz
cGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRy
YWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCmluZGV4
IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJh
Y2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLWNsYXNz
IFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJhY2tQcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBwdWJsaWM6
CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCmlu
ZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC0zNiw3ICszNSw4IEBAIHN0cnVj
dCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdLQ0FDRkNv
bnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkNvbnRleHRG
bHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0Rmx1c2hlcik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVyJiBzaGFyZWQoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5k
ZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJl
ci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FDRkxheWVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBAQCBwdWJsaWM6CiAvLyBGSVhNRTogQ3Vy
cmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBXZWJWaWV3IGFu
ZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRleHQgYW5kIERpcmVjdDNERGV2
aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBjcmVhdGUoV0tDQUNGTGF5ZXJSZW5kZXJl
ckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCw3ICsyNCw2IEBA
CiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01v
ZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckZvbnQoY29uc3Qg
U3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjb25zdCBT
dHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFtZShuYW1lKQogICAgICAgICB7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCmlu
ZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAi
Rm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVkZWYgc3RydWN0IHRhZ1RFWFRNRVRSSUNX
IFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
Y2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDA4MDI4MjYuLjgyNDU1OTYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2lu
Q0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250
ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyArNDQwLDggQEAgc3RhdGljIHZvaWQgcm90YXRlQml0bWFw
KFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVkQml0bWFwKiBzb3VyY2VCbXAsIGMK
ICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFsc2U+KGRlc3RCbXAsIHNvdXJjZUJt
cCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIDogTm9uY29weWFi
bGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAgIFRyYW5zcGFyZW50TGF5ZXJEQyhH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEsIEludFJlY3QmIG9yaWdSZWN0LCBj
b25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0gMCwgaW50IGFscGhhID0gMjU1LCBi
b29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5zcGFyZW50TGF5ZXJEQygpOwpAQCAt
NTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXllckRDOjpmaWxsQWxwaGFDaGFubmVs
KCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVEQ1By
b3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29wZURDUHJvdmlkZXIoR3JhcGhpY3ND
b250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAgICA6IG1fZGF0YShkYXRhKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0
IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmlu
Z01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1E
YXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAg
ICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA1YTA0YmVlLi4xZDdiOWY4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTIy
MSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0TWF4TnVtUGl4ZWxz
KCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVjb2RlZCBpbWFnZXMgY2FuCiAg
ICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRlIHRob3NlIGltYWdlcyB0aGF0
IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90IHN1cHBvcnRlZCBi
eSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIEltYWdlRGVjb2RlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihib29sIHByZW11bHRpcGx5QWxwaGEsIGJv
b2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAgICAgICAgICAgICA6IG1fc2NhbGVkKGZh
bHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRleCA3MTg3ZWNmLi44OWY4MzNi
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFz
cyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBDbGlwYm9hcmRNYWMgOiBwdWJsaWMg
Q2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFj
PiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3Rl
Ym9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAgICB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0Nv
bnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4
dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2IEBACiAgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250ZXh0OwpAQCAt
MzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNz
IGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhpY3ND
b250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFuZCBy
ZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVudEdy
YXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRH
cmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVudEdy
YXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0
KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3Jh
cGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRU
aW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCmluZGV4
IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJl
ZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1t
CkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4KICNpbXBvcnQg
PElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KLSNp
bXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5o
CmluZGV4IDFmZjYzNDQuLjZlZjIyNDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5o
CkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRl
bT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QmxvYkRhdGE+IGNy
ZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFC
dWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKaW5k
ZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0
YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBUZXh0
RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvcm1E
YXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRFbmNvZGluZyBlbmNvZGluZ0Zy
b21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hhcnNldCwgRG9jdW1lbnQqIGRv
Y3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtT
dGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90
aWZpZXIuaAppbmRleCBkMWYyZGI0Li4zOTk3ODBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRl
ZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5lIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogCkBA
IC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90aWZpZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAgICAgdm9pZCBz
ZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCA5Y2NjZWNk
Li4wZjJiZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9uOwog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50OwogCi0g
ICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNvdXJjZUhhbmRs
ZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxl
Q2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmKQog
ICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0ZS4uMmI3NDE3MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC00OSw3ICs0OSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJl
cXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlzIHR5cGUgZGlyZWN0bHkuICBVc2Ug
UmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8v
IFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0LCBiYXNlZCBvbiBob3cgdGhlIHJlc291
cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBUYXJnZXRUeXBlIHsKQEAgLTIwNSw3ICsy
MDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0o
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0
dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUoYSwgYik7IH0KICAgICBpbmxpbmUgYm9v
bCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBi
KSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNl
UmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDcm9zc1RocmVhZFJl
c291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNl
KCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2Fj
aGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uY2I4YTUxZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQx
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNl
UmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0
aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNl
QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNl
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
T3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNv
dXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEwIEBAIHByaXZhdGU6CiBpbmxp
bmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9uc2VCYXNlOjpjb21wYXJlKGEs
IGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi1zdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7Citz
dHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKTsKK3B1Ymxp
YzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSgpIHsgfQogICAgIEtV
UkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgbG9uZyBsb25nIG1fZXhwZWN0
ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMGY5Nzg2Ny4uMTgxNThmYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
CkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBSRUFEX0JV
RkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGlj
IFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29y
ZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgog
ICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNw
b25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxl
V2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4u
Y3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4IEBAIHN0YXRp
YyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxlLCBEV09SRCBp
bmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGlj
IFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29y
ZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgog
ICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNw
b25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsKICAgICB+V2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0
L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKaW5kZXgg
NWFjYTFhNi4uMWVlYzhhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9h
cmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaApAQCAtMzksNiAr
MzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVy
aW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgY2xh
c3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlwYm9hcmRBY2Nl
c3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEqIHJlYWRhYmxlQ2xpcGJvYXJkKQogICAg
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5MjczLi5k
YTUzYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUw
LDggQEAgZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3QgaW50
IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsKIAot
Y2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRl
RGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsKICAg
ICBmcmllbmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0
YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVu
dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5kZXggMTQ0NGYw
ZS4uMWVlM2JlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVt
ZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0
LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xh
c3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0
YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVtZW50KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1lbnQoU1FMaXRl
RGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFmLi40MjdiMjk2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsy
NiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5z
YWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVUcmFuc2FjdGlv
biA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24geworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFuc2FjdGlvbihTUUxpdGVEYXRhYmFzZSYg
ZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAgflNRTGl0ZVRyYW5zYWN0aW9uKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5kZXggMWY4NzExNS4uMDU2ZWQ3MiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmlu
ZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAiQmlkaUNvbnRleHQuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEyNSw4IEBAIHN0cnVjdCBCaWRpQ2hhcmFjdGVy
UnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25leHQ7CiB9OwogCi10ZW1wbGF0ZSA8Y2xh
c3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRp
UmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJpZGlSZXNvbHZlcik7CiBwdWJs
aWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAgIDogbV9kaXJlY3Rpb24oV1RGOjpVbmlj
b2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVn
dWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lv
bi5oCmluZGV4IGYxNjExZTUuLjEyZDA1MjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1
bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFz
cyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2
aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMu
aAppbmRleCBjNmFmMzhhLi4xOGI1ZDhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCkBA
IC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9V
bmljb2RlLmg+CkBAIC01Nyw4ICs1NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0
eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAotICAgIGNsYXNz
IFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVjIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIq
IHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdkYjk3Ny4u
ODg0NmNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9u
dFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250
VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIEZvbnRUcmFuc2NvZGVyX2gK
IAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRE
ZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29kZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQoU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250RGVzY3Jp
cHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CiAgICAgYm9vbCBuZWVkc1Ry
YW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyogPSAw
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2NGI4NS4uMmQx
NDRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKQEAgLTQxLDYgKzQxLDcgQEAg
Y2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZl
bnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiBjbGFzcyBDbGlwYm9hcmRXaW4g
OiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xp
cGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJRGF0YU9iamVj
dCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZyYW1l
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VC
cm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2Fz
dGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBX
aW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNh
c3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9hZGNh
c3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05E
LCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlz
dGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFz
ZS5oCmluZGV4IGIxNDYwNWYuLjkzMmExZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgSGFzaFNl
dDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVnaW5TZXQ7CiAK
LSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5E
YXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQ
bHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFp
blRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hl
ZHVsZXIuaAppbmRleCA2MTBlODljLi5lMmUwODA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBfdCog
TlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hl
ZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVk
dWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVkdWxl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdHlwZWRlZiB2b2lkIE1h
aW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGRlYWVjOTku
LjVmMGY2Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTMsNyArOTMsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxseQogICAgIH07
CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2lu
UmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQ
bHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJv
b2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91bGRBbGxvd1Bv
cHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJlcXVlc3Qp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYxOS4uZGI5NDc4YyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
bHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29sdW1uSW5mbyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVkQ29s
dW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0MDkuLjU1NWU4MWEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBDb3Vu
dGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8vIFRoaXMgaW1wbGVt
ZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcgcGFyZW50cyBpbiBj
b3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0
YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IGNjYTNlNDIuLmJi
YTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5j
bHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGNs
YXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0Owog
Ci1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRT
dGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwogcHVibGljOgog
ICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi4zYjVjZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5h
LmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJBcmVuYV9oCiAKICNpbmNsdWRl
ICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9IDQwMDsKIAot
Y2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyQXJl
bmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBhcmVuYVNpemUg
PSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4
IDUxNTMyMTguLmRjZWYwNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzU0LDcgKzM1
NCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlckhhZExheW91dDsKICAgICB9OwogCi0g
ICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGbG9h
dGluZ09iamVjdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0aW5nT2JqZWN0
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIE5vdGUg
dGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRv
IHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0LgogICAgICAgICBlbnVtIFR5cGUgeyBGbG9h
dExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRCb3RoID0gMyB9OwogCkBAIC02ODEsNyAr
NjgzLDkgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogbV9jb250aW51YXRp
b247CiAgICAgCiAgICAgLy8gQWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxk
cyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRh
IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNv
bnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2
ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQo
YmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2lu
QWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQoMCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAxNDNjNzJj
Li40ZTVmNmY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
CkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1lVGhy
ZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBwYWlyPFJlbmRlckJveE1vZGVsT2Jq
ZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBLZXk7CiB0eXBlZGVmIEhhc2hNYXA8
TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIAotY2xhc3Mg
SW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFn
ZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVF1YWxp
dHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJbWFn
ZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91bGRQYWludEF0TG93UXVhbGl0eShH
cmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCosIEltYWdlKiwgY29uc3Qgdm9p
ZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCmlu
ZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaApAQCAt
NzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQgbm9T
cGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JpZEF4
aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4aXMoKTsKICAgICAgICAgdm9pZCByZXNp
emUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3Vy
Y2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2
NzEyLi5lNThjZDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJl
c291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCkBA
IC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNh
Y2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRl
ck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZmIzYWI2Ny4uY2FkODQ1NyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBDb21wb3NpdGlu
Z0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJhY2tpbmcgZm9y
IGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBSZW5kZXJMYXll
ckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5kZXJM
YXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1
ZWUuaAppbmRleCA3OTk5OGVkLi4zYjVlYjMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5o
CkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlckxheWVy
OwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9mIGxheWVycyB3
aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7CiAgICAgdmlydHVhbCB+UmVuZGVy
TWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKaW5kZXggMjUzYTY3Mi4uMzFl
MDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCkBAIC0zNyw3ICszNyw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2aXN1YWwgb3ZlcmZsb3cgYXJlIHNoYWRv
d3MsIHRleHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBvdXRsaW5lIGFuZCBib3JkZXItaW1hZ2Up
LgogCiAvLyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2Ug
ZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGluIHRoZSBvd25pbmcgYm94LgotY2xhc3Mg
UmVuZGVyT3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyT3ZlcmZs
b3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck92ZXJmbG93KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0
JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxv
dyhkZWZhdWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
Q2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjQzNWZlY2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAg
ICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEuLjIzYjVlNjAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKCkKICAgICAg
ICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDA3ZjkzM2YuLjEzM2Vi
NzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI1NCw3ICsyNTQsOCBAQCB2b2lkIHRvUmVu
ZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8gU3RhY2stYmFzZWQgY2xhc3MgdG8g
YXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNsYXNzIExheW91dFN0YXRlTWFpbnRh
aW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlTWFpbnRhaW5lcik7CiBwdWJs
aWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExheW91dFN0YXRlTWFpbnRhaW5lcihS
ZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIEludFNpemUgb2Zmc2V0LCBib29sIGRp
c2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENo
YW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICszMCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIDogcHJp
dmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJsaWM6CiAgICAg
UmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2JqZWN0KQogICAgICAgICA6IG1f
b2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVm
ZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAppbmRl
eCA5YmNjN2E0Li45MjI1ODA1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFn
ZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29s
cy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkltYWdl
QnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMzIsNyArMzEsOCBAQCBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBHcmFwaGlj
c0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFNWR0ltYWdlQnVmZmVyVG9v
bHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VCdWZmZXJUb29scyk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0
ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xhbXBlZEFic29sdXRlVGFyZ2V0UmVjdCwg
T3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2UpOwogICAgIHN0YXRpYyB2b2lkIHJlbmRl
clN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyKiwgUmVuZGVyT2JqZWN0KiwgY29uc3Qg
QWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJr
ZXJMYXlvdXRJbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgK
aW5kZXggOGY1OTcwMzUuLjA3MmI0YmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NW
R01hcmtlckxheW91dEluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlv
dXRJbmZvLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlJl
bmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR01hcmtlckRhdGEuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0MSw4IEBA
IHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7CiB9Owog
Ci1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR01hcmtl
ckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01hcmtlckxheW91dEluZm8oKTsKICAgICB+
U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
UmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAppbmRleCA0OTU5
MWNmLi42NTk5MWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaApAQCAtMjIsNyArMjIsNiBA
QAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIFJlbmRlclNWR1Jlc291
cmNlTWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAKIC8vIEhvbGRzIGEgc2V0IG9mIHJl
c291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJPYmplY3QKLWNsYXNzIFNWR1Jlc291cmNl
cyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXMgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXND
YWNoZS5oCmluZGV4IDRhNjE1NzAuLjgyN2FjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJl
bmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBT
VkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJj
ZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7
CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4zNDEyNThlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAgLTI5LDcgKzI5LDggQEAgY2xhc3Mg
UmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBT
VkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcik7CiBwdWJsaWM6CiAgICAgU1ZH
UmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAg
flNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaAppbmRleCBl
MGZhOGVlLi5kOWVkMTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91
dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIxLDEzICsyMSwx
MyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0X2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVMYXlv
dXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRhYmxlTGF5b3V0KFJl
bmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Ry
YW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9UcmFu
c2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIK
ICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybVN0YXRlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAgICAgZW51bSBUcmFuc2Zvcm1EaXJlY3Rp
b24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5hcHBseUludmVyc2VUcmFuc2Zvcm1EaXJl
Y3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiB7IEZsYXR0ZW5UcmFuc2Zv
cm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3Np
dGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
VmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3QgaW50IFBvc2l0
aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdmZmZm
ZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAotY2xhc3Mg
VmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZlcnRp
Y2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVydGljYWxQb3Np
dGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUoKQogICAgIHsg
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5kZXggNGY5NjRhMi4uZjIzZTcw
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCkBAIC0zMyw3ICszMyw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFnZTsKIAotc3RydWN0IENvbnRl
bnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnREYXRhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlwZShDT05URU5UX05PTkUpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2FkLi5kZGY5
YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAgLTMwLDcg
KzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29udGVudCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21p
Y1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZiMjk0Li5jNmVlNTEyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgRmls
bFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXllciB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIoRUZpbGxMYXllclR5cGUpOwogICAg
IH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRv
d0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRleCBjYTgz
YWYwLi41MGNmMGJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dE
YXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNp
bmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQgfTsKIAogLy8g
VGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhlIHRleHQt
c2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRvd0RhdGEgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAgICA6IG1feCgw
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKaW5kZXggMzYz
NDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRD
aHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVp
bGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7CiAvLyBQaGFz
ZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQsIGNvbXB1dGlu
ZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVkIGluIHRoZSBT
VkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQaGFzZSB0aHJl
ZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBwbGllZCB0byBl
YWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVuZ3RoKS4KIAot
Y2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0Q2h1
bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxk
ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxk
ZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICszOCw4
IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0cmVl
IGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAvLyBU
aGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0RW5n
aW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwogcHVi
bGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQgYnVp
bGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQwNThkOC4uNjMx
ZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdp
bmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCkBA
IC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVyU1ZHSW5saW5l
VGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNo
YXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBvYmpl
Y3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmUoKTsK
ICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7IHJldHVybiBt
X2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkzZWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
LmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUmVu
ZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNs
YXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5
b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1iYXNl
bGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFz
ZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZUJh
c2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lQmFz
ZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25zdCBG
b250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0
RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdp
bmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMwLDcgKzMwLDgg
QEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAvLyBIZWxwZXIg
Y2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2VybmluZycgLyAn
bGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1RleHRMYXlvdXRF
bmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRF
bmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5n
aW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcoY29u
c3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgg
Yi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4uY2UwYmE0ZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNrIGlzIGNvbXBs
ZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNyZWF0ZSB0byBi
ZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25pemVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIpOwog
cHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigpOwogCkBAIC02Nyw3ICs2OCw4
IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRl
eCA3MTQ1ZTZiLi5hNjFkOWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VU
cmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01Niw3
ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0eU9y
aWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERhdGFi
YXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRyYWNrZXIo
Y29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAgIHN0YXRpYyBEYXRhYmFzZVRyYWNrZXIm
IHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNh
Y3Rpb25Nb25pdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9u
aXRvci5oCmluZGV4IDc4M2E3MzEuLjRmY2MyMzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFn
ZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lE
QlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDcgKzQz
LDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOwogLy8gRklYTUU6IG1v
dmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8gVExTLiBLZWVwaW5nIGl0IHN0YXRpYwog
Ly8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBwb3J0IGZvciB3b3JrZXJzLiBBbm90aGVy
IHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSB2ZWN0b3IgaW4gdGhlIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3Ig
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3Ip
OwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFu
c2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVQZW5kaW5n
VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oIGIvV2ViQ29yZS9zdG9yYWdlL0xv
Y2FsU3RvcmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi40NjcyMDQyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2Nh
bFN0b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBj
bGFzcyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQsIEFyZWFTeW5j
LCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvV2ViQ29yZS9zdG9yYWdlL0xv
Y2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLjI0ZmUxOWMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
TG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRo
aXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFkKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExv
Y2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBiL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi5hYzI4YTc3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5V
c2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdl
L09yaWdpblVzYWdlUmVjb3JkLmggYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQu
aAppbmRleCBhODMwZTY4Li5kNmFlNTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3Jp
Z2luVXNhZ2VSZWNvcmQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQu
aApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE9iamVjdHMgb2Yg
dGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0aCBleHRlcm5h
bCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJndW1lbnRzIGFyZSBhbHNvIHN1cHBvc2Vk
IHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxlciB3aGVuIG5lY2Vzc2FyeS4KLWNsYXNz
IE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblVz
YWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5Vc2FnZVJlY29yZCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgT3JpZ2luVXNhZ2VSZWNvcmQo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50Lmgg
Yi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBmZWQwNjU3Li5k
NTY3YTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQu
aAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApAQCAtMzMsNyAr
MzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCArNDAsMTAgQEAgY2xhc3Mg
QWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhlIFNRTFRyYW5zYWN0aW9uIGNs
YXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGludGVyZXN0ZWQKIC8vIHBhcnRp
ZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGluIGEgdHJhbnNhY3Rpb24uCi1j
bGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
UUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNh
Y3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIFNRTFRy
YW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0aW9u
KEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJh
Y3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFzZSop
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Iu
aCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTQz
NjBjMC4uMzQyNTY2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9u
Q29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGlu
YXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Ig
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0
b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3JkaW5h
dG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFNRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9pZCBhY3F1aXJlTG9jayhTUUxU
cmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2NrKFNRTFRyYW5zYWN0aW9uKik7
CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0Rv
Y3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgK
aW5kZXggYTBjZjJiYi4uMTU1ZDBhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRG9jdW1l
bnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgK
QEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NNSUxF
bGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAotY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNp
b25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFNW
R1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0RvY3VtZW50RXh0
ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgogICAgIEhhc2hN
YXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7
CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hlOwogCi0gICAg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotICAg
IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5z
aW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5zIGEgbGlzdCBv
ZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNoCiAgICAgLy8g
d2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRvY3VtZW50LCBi
dXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRS
YXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0
YS4uNzViZDQzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgK
KysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIxLDcgKzIxLDYgQEAK
ICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIFNWR0N1
cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNl
OwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdFbGVt
ZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0Vs
ZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaApp
bmRleCBlODk3YTU5Li4yOTQxYTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0
YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZH
Rm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ZvbnRE
YXRhKFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2ViQ29yZS9zdmcv
U1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi43MjllZDU0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVy
LmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUGF0
aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhCbGVu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFt
LmgKaW5kZXggYjg4ODJiNi4uY2FiZmIyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0
aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC0y
MSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFtX2gKIAogI2lmIEVOQUJMRShT
VkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQzLDcgKzQyLDggQEAgdHlwZWRl
ZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWduZWQgc2hvcnQp
XTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0
ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmggYi9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi40ZDU3ZTRjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNp
bmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2luZ01v
ZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1lciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGlu
Y3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNvbnRpbnVl
Q29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAwOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBh
cnNlci5oCmluZGV4IDc2NzlhOTUuLmM0OGIyMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NW
R1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEy
ICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1Bh
dGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1BhdGhQYXJzZXIoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvV2ViQ29yZS9zdmcv
U1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLmNmNGNkMDIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgK
QEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0
aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291cmNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+U1ZH
UGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29uc3Qg
PSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUvc3Zn
L1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uMGYwY2NiYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0z
NCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1M
aXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAot
ICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAg
ICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAgICAg
ICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApp
bmRleCBjOTgwNGFlLi45MTYyNmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9T
VkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC01
NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VDaHJv
bWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xpZW50KFNWR0lt
YWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1l
QW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dl
YmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1l
QW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBV
aW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVBbmFseXNlcigp
OwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
d2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4uOGYzZjE1NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
LmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgK
QEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDggKzQyLDEwIEBA
IGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2ViU29j
a2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKTsKIHB1
YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsgfQogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25zdCBLVVJMJiwgY29uc3Qg
U3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdCgpID0gMDsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3Jl
L3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLjE5NzM5YzggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDksNiArNDksNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAogICAg
IGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRDaGFu
bmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50
KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHBy
b3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93
ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9X
ZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywxMyBA
QAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNo
YWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRIYW5k
c2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFr
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7CiAg
ICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0ZSwg
Tm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRz
L1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMv
V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi5hYzgzZThl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94eTsK
IGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJT
b2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3OCw4
IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2Uu
ICBUaGUgUGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAvLyBs
aWZldGltZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0
Q2hhbm5lbENsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIqIGNy
ZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBjbGll
bnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9XZWJDb3JlL3dvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGExLi42OGY5NjI1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
aApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUzLDcgKzUyLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5OwogCiAg
ICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWZh
dWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJl
ZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29y
a2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hh
bm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQogCiAg
ICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRoZSB3
b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAgICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoKICAg
ICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1YWwg
fk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5n
UHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMz
OTM3Y2UuLmEyZWM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBA
IC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRl
ICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcg
KzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJv
eHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHks
IHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1Ymxp
YyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHkoV29y
a2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNmLi43YjMxNDlj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKKysrIGIvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0LDggQEAgU3RyaW5n
IFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAK
LWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5Mb29w
U2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1cCk7CiBwdWJsaWM6
CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAgICAgIDogbV9y
dW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9v
cC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAppbmRleCA5ZDRlZGZkLi5mYTFi
Y2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBiL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUoKTsKIAotICAg
ICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFz
ayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NPd25Q
dHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4g
dGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLjRhYTlmODcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiVGhyZWFkR2xvYmFsRGF0
YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKQEAgLTYx
LDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAg
ICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVw
RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRo
cmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcAppbmRleCA3ODJlMTU5Li4xYjljNTI5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cApAQCAtNjMsNyArNjMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpSZWZD
b3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRwUmVxdWVzdCIp
OwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5YWJs
ZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAorcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmluZyBt
X3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5oCmluZGV4IDFiOTgzZTYuLjAwNDI2YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAt
NDIsNiArNDIsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxI
dHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3
IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVzdCgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvV2ViQ29yZS94bWwv
WFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0NWIuLjZhNzNiODYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0
aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVjdCBFdmFsdWF0
aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNv
bnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUz
LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCB+UGFy
c2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1
YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV4cHJl
c3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94
bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uZDg5N2RhNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgK
QEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQ
YXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQo
dHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAgICAgICAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmggYi9XZWJDb3JlL3htbC9YUGF0aFBh
cnNlci5oCmluZGV4IDQ0YThlNDguLjQwYjczZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQ
YXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAtNTgsNyArNTgs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbihpbnQgdCwgRXFUZXN0
T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQogICAgICAgICB9OwogCi0gICAgICAg
IGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFBhcnNl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOwogICAgICAgICBw
dWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAgICAgICAgICAgIH5QYXJzZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmggYi9XZWJDb3JlL3htbC9YUGF0
aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLmU3ZTFiY2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
eG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaApA
QCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1
YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0
VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAg
ICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5o
IGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uZjc3MGQ5OCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVw
LmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNsYXNz
IFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VO
b2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTdGVwIDogcHVibGljIFBh
cnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBBeGlz
IHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0
cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAgICAg
ICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgICAg
IGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAgIGVudW0gS2luZCB7CiAgICAg
ICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQcm9jZXNzaW5n
SW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgK
aW5kZXggZjNhOTMxOC4uMWZlYTViYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0
UnVsZS5oCisrKyBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUsNiArMzUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCiBjbGFz
cyBYU0xJbXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJj
ZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50
U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hh
bmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiNmViYTIxLi4zYTZjZGQ2IDEwMDY0NAot
LS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9m
IHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVy
aXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxh
cmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAg
ICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24u
IFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5j
bHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaDog
UmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQ6IFVwZGF0ZWQgZm9yIHJlY2Vu
dCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5o
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4M2YuLjQzZGI3
OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2Rl
ZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gQm91bmRPYmplY3QgaXMgYSBo
ZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8v
IGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQgb25j
ZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpD
b250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpOwog
ICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
c3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdn
ZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEuLjU5YzIxNzcgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCkBAIC00MCw3ICs0MCw2IEBACiAj
aW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpA
QCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4RGVi
dWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJZFdy
YXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoKICAg
ICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2FsbGVy
SWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkKZGlm
ZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaCBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAppbmRleCA2NmJkNzE0Li5i
Nzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBA
IC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNvbWUg
YWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQogLy8g
ZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBw
ZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRp
bmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAgICBz
dGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2VudCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwu
aAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsX2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250
ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsKQEAgLTQ0LDggKzQzLDggQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50OwogY2xh
c3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlICB7CitjbGFz
cyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250
ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
KFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2ViRGV2VG9vbHNG
cm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwo
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwu
Y3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5kZXgg
ODgwYWRiNC4uMDIyNmVmMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZU
b29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Fn
ZW50SW1wbC5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50Lmgi
CiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAK
IHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2NmExY2IuLmIwODUzMzggMTAwNjQ0Ci0t
LSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAgLTM2LDcgKzM2
LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7
CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1jbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6
IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmQKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJvbnRl
bmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNGcm9udGVuZEltcGwpOwogcHVibGljOgogICAgIFdl
YkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJW
aWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNw
cCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBhZGFhYjYxLi5j
MDU0ODM3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAK
KysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yNzksNyArMjc5
LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVnaW5Db250YWlu
ZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8gb3ZlcnJpZGUg
c29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMKIC8vIG1h
ZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQbHVnaW5Q
cmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250
ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDogcHVi
bGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hyb21lUHJpbnRD
b250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUqIGZyYW1lKQog
ICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1l
bnVJbXBsLmgKaW5kZXggMjIxYmEwMy4uNGZkNDJhNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
b3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2LDcgQEAgc3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBX
ZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdlYlBvcHVwTWVudSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJhbWVsZXNzU2Nyb2xsVmlld0NsaWVudCwKICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICAvLyBXZWJXaWRnZXQK
ICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJiYWUyNS4u
NjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJI
VE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIu
aCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5o
CmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4IEBACiAj
aW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAot
Y2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwIGIvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUyNmE1YzQg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAorKysgYi9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKIAog
I2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgotI2luY2x1
ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJu
YWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQg
d2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAKLWNsYXNz
IERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5k
bGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsKICAgICBw
dWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9X
ZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9tYWMvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaCBi
L1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgK
aW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVnaW5zL0hv
c3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFjL1BsdWdp
bnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyArMzEzLDgg
QEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6RXhlY1N0
YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFsdWUmIHJl
c3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBkYXRhX3Qg
dmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpTQzo6TWFy
a2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCA6
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIExv
Y2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dlYktpdC9t
YWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzczOS4uNjVh
YmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNs
aWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50
Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldlYkRhdGFi
YXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KiBj
bGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRkNGQ1Mi4u
ZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9XZWJLaXQv
cXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxs
b2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9TdHJp
bmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9B
bHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaCBi
L1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3IDEwMDY0
NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dpbi9DT01F
bnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgKICNpbmNs
dWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVk
ZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWluZXJUeXBl
PgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5UIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6CiAgICAg
c3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAgc3RhdGlj
IENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBlJik7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2luL0NPTVBy
b3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dp
bi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaApAQCAt
MjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253bi5oPg0K
IA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRlPHR5cGVu
YW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nLCB0
eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFzcyBDT01Q
cm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyLCBO
b25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFn
LCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENPTVBy
b3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBlLCBWYWx1
ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dlYktpdC93
aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAgICBpbnQg
bV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
IDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
cigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwIGIvV2Vi
S2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAw
NjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9XZWJLaXQv
d2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGljIGlubGlu
ZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4gIXdjc2Nt
cChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1Ymxp
YyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZURldGFp
bHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
RGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERhdGFiYXNl
RGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBTX09LOwog
fQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERpZE1v
ZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWlu
VGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0eU9yaWdp
biogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgg
Yi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTggMTAwNjQ0
Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJJbnNw
ZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9oCiAKICNp
bmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogY2xhc3Mg
V2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1
YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdl
Ykluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclBy
aXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyopOwogCmRp
ZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9XZWJLaXQv
d2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlhZCAxMDA2
NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBiL1dlYktp
dC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBzdGF0aWMg
TG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVybiBtYXA7
CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsaXplZFN0
cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0cmluZykK
ICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2Vi
U2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBmMDg4YTcy
Li4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKKysrIGIv
V2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdlYlNjcmlw
dFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxkIHsKK2Ns
YXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJT
Y3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2ViU2NyaXB0
V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlNlcmlh
bGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKaW5kZXgg
YTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNW
YWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAtMzQsNyAr
MzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZh
bHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNW
YWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgSVdlYlNl
cmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVibGljOgog
ICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3RhbmNlKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9X
ZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcuLjQyODU0
YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKKysr
IGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyArMzIsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0ZXJuOwog
fQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29weWFibGUs
IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJDb250ZW50
VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVibGljOgogICAg
IHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0YW5jZSgp
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDU1NDQ4OGIuLmM0NDQ5MjAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBI
b3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RB
bGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBj
YW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSku
IENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5n
IHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQg
dW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTExLTIyICBBZGFt
IFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgcGF0aHMgcmVsYXRpdmUg
dG8gJFdlYktpdFZTUHJvcHNSZWRpcmVjdGlvbkRpciB0byBhY2Nlc3Mgc2hhcmVkIC52c3Byb3Bz
IGZpbGVzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBo
b3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmgKaW5kZXgg
ODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Jp
bmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1h
cGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCaW5hcnlTZW1hcGhvcmVfaAogI2Rl
ZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMg
ewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktpdDIvUGxhdGZv
cm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9Q
bGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
I2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNb2R1bGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6CiAgICAgTW9kdWxlKGNv
bnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9Q
bGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgK
aW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFy
ZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJlZE1lbW9yeV9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTUyLDcgKzUxLDggQEAgcHVi
bGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxlIDogTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKICAgICAgICAgfkhh
bmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5o
CmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJQbHVnaW5D
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9y
eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQog
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vz
cy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblBy
b2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0
cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNsYXNzIFBs
dWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBs
dWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9XZWJLaXQy
L1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44YzVlOGUzIDEwMDY0NAotLS0g
YS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9DaGls
ZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAK
ICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29y
ZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGls
ZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAgfkNoaWxk
UHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1l
c3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VS
ZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hh
cmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAorKysgYi9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAog
I2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGltZS5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHku
aAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVn
aW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0
UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAog
I2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9T
YW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgKaW5k
ZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4
dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaApAQCAtMjcs
NyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9uX2gKIAogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1naXQgYS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaCBiL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCmluZGV4IGU4ODg5YjYuLjNm
NWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRv
cldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldp
bmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJbmRpY2F0b3JXaW5kb3dfaAog
I2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9ydCA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1JlZlB0ci5oPgog
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUyLi4wZGM3YTljIDEwMDY0NAot
LS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKKysr
IGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCkBAIC0y
OSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQxLDcgKzQwLDggQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBXZWJQcm9jZXNz
UHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDogTm9uY29weWFibGUgIHsKK2Ns
YXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVn
aW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3NNYW5h
Z2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93
aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2lu
L1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4uOWUxNzQyZSAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAor
KysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3Bw
CkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVn
aW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3RvcmllczsKIH0KIAotY2xhc3MgUGF0
aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXRoV2Fsa2VyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1YmxpYzoKICAgICBQYXRoV2Fsa2Vy
KGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQ
cm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRM
aW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
VmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRMaW5rUHJvdmlk
ZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBs
aWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFjYTguLjhiMDAzMzMgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1
ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3ICs1NCw2IEBAIGNsYXNzIFdlYlBhZ2U7
CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8RG93bmxv
YWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRvd25sb2FkSUQs
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIH5Eb3dubG9hZCgpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKaW5kZXggMDI0
NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25s
b2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIERvd25sb2FkTWFuYWdlcl9o
CiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGU7CmRpZmYg
LS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0Lmgg
Yi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKaW5kZXgg
NjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lX2ludGVybmFs
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogICAg
IGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8vIE5QSlNPYmplY3QgaXMgYW4g
TlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3MgTlBKU09iamVjdCA6IHB1Ymxp
YyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9i
amVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09iamVjdCk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1h
cCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCmluZGV4
IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2
IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rpb25zIGZvciB0aGUgZ2l2ZW4g
d2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1jbGFzcyBQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9G
aW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4NGEgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1
ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXkuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2Li5hZTZjNzE5IDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAorKysgYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5j
bHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggODI0Yjcx
Ny4uNjI0MGU1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTIzICBab2x0YW4gSG9y
dmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxs
b2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2Fu
IHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBD
aGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0
byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVu
bmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRp
bmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4ICBTYXRp
c2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
SmVyZW15IE9ybG93LgpAQCAtMTkzMDEsNyArMTkzMTMsNyBAQAogCiAyMDEwLTA3LTA3ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29tbWVudCBvdXQg
YSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8KgdG8gZmFpbCBv
biBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3RO
ZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVv
cGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWlu
LmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAor
KysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25j
b3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
Q3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAgLTQ1LDcg
KzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAgdHlwZWRlZiBW
ZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3VuZENsYXNzIGxl
dHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkgYWNjZXNzZXMK
IC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQqIHZhcmlhYmxl
IGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3BwQm91bmRDbGFz
cyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAgcHVibGljOgpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9v
bHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9v
bHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKQEAgLTM1LDcg
KzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNBZ2VudENs
aWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBAIHN0cnVjdCBX
ZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsKIAotY2xh
c3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGll
bnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwogcHVibGljOgog
ICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0FnZW50KCkg
e30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERl
dlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRE
ZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKKysrIGIv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaApA
QCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3MuaCIKICNpbmNs
dWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7CiAKIGNsYXNz
IERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVibGljIFdl
YktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAg
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMg
V2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHNDbGllbnQo
RFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1YWwgfkRSVERl
dlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2NzE0ODku
Ljg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyArMTExLDgg
QEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBn
b2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMgcG9zc2li
bGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5hdmlnYXRp
b25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9uQ29udHJv
bGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQu
aAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRy
b2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4dC9wbGF0Zm9y
bV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29yZS9Ta0Nv
bG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEgZm9yd2FyZCBk
ZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGljOgogICAgIC8v
IFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9w
bGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5
IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5o
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQu
aAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4LDkgKzQ4LDkg
QEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2luL1dlYlRoZW1l
RW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdlYlRoZW1l
RW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1l
RW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2luZURSVCk7CiBw
dWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRl
c3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMxNzE4MTMgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktp
dEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTAgQEAKICNkZWZpbmUgSG9zdFdp
bmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKIHB1YmxpYzoKICAgICBIb3N0
V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dl
YktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0
L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9v
bHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4LDEzIEBACiAj
aW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250cm9sbGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgVGVz
dHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLjIzNmNjMWMgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysgYi9XZWJLaXRU
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTI3LDExICsyNywxMCBA
QAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWlu
UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVFIgewog
Ci1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0
SW52b2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3QgY2hhciopOwog
ICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74664</attachid>
            <date>2010-11-23 07:55:37 -0800</date>
            <delta_ts>2010-11-23 07:58:18 -0800</delta_ts>
            <desc>playing with Chromium&apos;s EWS bots round #3</desc>
            <filename>kedd4.patch</filename>
            <type>text/plain</type>
            <size>327155</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li5iYTlkYzc5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi5kZjE5ZTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIHRoZSBKYXZhU2NyaXB0
IHNwZWNpZmljYXRpb24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMu
ICovCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZiBSRUdFWFBf
SElTVE9HUkFNCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xMTIsNyArMTEzLDkgQEAg
c3RydWN0IEJyYWNrZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7
CiB9OwogCi1zdHJ1Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNo
RnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJu
TG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3Vz
RnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRl
bnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRl
eCA3NmMxNDcwLi4yNTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9D
YWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNp
bmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcg
bV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVO
dW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUz
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7
ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNl
KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2Uz
YzIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAg
ICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8
UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oCkBAIC0zMyw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVj
dCBBcmd1bWVudHNEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3
LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVm
aW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5k
ZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyAr
ODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJl
YWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAx
ZTIyYjZhLi5mMTdlMjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1h
Y3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVw
ZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQu
LjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4w
YzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUs
NyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
QXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1
ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAg
ICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5
bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42
NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZp
bmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRp
b25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAg
ICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAg
ICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBEcm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFs
bExvY2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNT
dGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAg
ICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNl
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmlu
Z0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRy
X3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXgg
YzU1MWJhYy4uMTAxOGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
U3RhY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3
ICsyNyw4IEBACiAjZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAg
ICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxW
YWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNr
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAg
ICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3Qg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclBy
aXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jh
c2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiBy
ZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhw
KQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAj
ZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hh
aW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29w
ZUNoYWluTm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykK
ICAgICAgICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCmluZGV4IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQw
LDcgKzM5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcp
CiAgICAgcmV0dXJuIHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAot
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
bWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3NTdG9yYWdlKTsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTbWFsbFN0cmluZ3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3lt
Ym9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVk
U3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlND
ZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZh
bHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMg
dGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0
aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vh
a0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4u
OGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8g
dGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRh
IGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFs
bCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJl
ZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVm
Q291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291
bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVh
ZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaAppbmRleCBiZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYs
NyArNDYsNiBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyAr
MTA4LDkgQEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhl
Y1N0YXRlKiwgY29uc3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVy
cmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2Yg
dG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFu
RGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBH
cmVnb3JpYW5EYXRlVGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRl
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRl
ZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVy
cmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8K
IC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxv
Y0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAg
ICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1
bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xh
c3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdp
ZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8g
ICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAg
ZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAg
ICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2
b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAg
ICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6
ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwK
LSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RB
bGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NC
YXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYg
Ly8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENv
dW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRl
ZDc1YzUuLjdhYjI5ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwx
NCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1h
cC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVm
YXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJh
aXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhh
c2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rp
b25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4
IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJn
Pjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlB
cmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgot
ICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1h
cHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxW
YWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsK
ICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVB
bGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5j
dGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0g
MjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcs
IGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFs
bG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEg
KzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2Vy
KTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJs
ZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5s
b2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NRDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewpAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNz
YWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1
ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVk
MmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdURl9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYg
X19oYXNfZmVhdHVyZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQot
I2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRp
YWdub3N0aWMgcHVzaCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZh
dGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsg
XAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBk
ZWxldGU7IFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UK
LSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAg
ICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYK
LQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4g
ZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29w
eWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5v
bmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0
IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsg
fQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBX
VEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNl
bmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2
NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIs
NiBAQAogI2RlZmluZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1
ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NP
d25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9w
dEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25B
cnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBP
d25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxp
Y2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5j
bHVkZSAiT3duUHRyQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyAr
MzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duUHRyOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQ
dHIoVCopOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpU
eXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0xMTE4LDQgKzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgog
CisvKiBOb25jb3B5YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRl
ZiBfX2hhc19mZWF0dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgor
CisjaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJp
dmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRl
OyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9
IGRlbGV0ZTsgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxz
ZQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAor
ICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRp
ZgorCisvKiBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9k
ZWxldGUgKi8KKworI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwK
KyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsg
XAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwK
KyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRl
cm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJl
ZShwKTsgXAorICAgIH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMx
LDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5k
aWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZD
b3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkK
ICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmMyMWQ0ZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVm
aW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxl
dGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKCkgOiBt
X3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCogcHRyKSA6IG1fcHRy
KHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBA
IC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0
cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRU
cmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJ
ZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0z
MSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAj
ZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0
b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRv
IHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQg
YXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1w
YXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRl
bnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXgg
MzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBA
IC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFk
U2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVk
QmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRp
YWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Yy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4u
MTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYg
QEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNp
ZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURT
KQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7
CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMo
KTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBU
aHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30K
ICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMp
OyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2Fk
Li5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNX
aW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNw
ZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVB
RFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhh
dCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi43MmFlNWU1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdU
aHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9pZCogZGF0YSwg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVudHJ5UG9pbnQpCiAgICAg
ICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4IDA0NDM2NWYuLmRhZWEx
OGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4u
MmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0z
NSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBAQCB0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247
CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3
ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7
CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
ZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBw
dWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0x
MzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFk
V3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+
VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uYWJjOTYwMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gK
ICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAi
Tm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNo
ZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAg
LTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3Rv
ckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3Rv
clR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWRE
YXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0
YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykg
aW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpA
QCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJh
bElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODQsNyArODQs
OCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3Ry
aW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJl
YWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRo
cmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4
OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5v
ZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093
blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNl
NDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcg
KzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19m
cmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Zp
bGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsg
ZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVy
LmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBu
YW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5n
QnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0
cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmlu
Z0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBib29sIGlz
U3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52
YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5
ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAg
ICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5l
dyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFj
ZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFu
IGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li41YWIz
NDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVj
dCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNz
ID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYx
Y2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJw
cmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAt
MzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJ5dGVEaXNq
dW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAg
ICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTcsNyArMzE4LDkg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVj
b2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4o
UGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24q
PiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJB
bGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBt
X2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRl
cm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xh
c3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFu
Z2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9yIGZhc3RlciBs
b29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBtYXRjaGVzIGFu
ZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3RydWN0IFBhdHRlcm5UZXJtIHsKICAgICB9
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0
aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRo
cm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2
ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1z
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVy
bkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLjRhNjk5MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMDk3Ny4uNjRm
NmQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgU2F0aXNoIFNhbXBhdGggIDxz
YXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgg
Yi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZX
RF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggODVkYjZmZC4u
OTVmYjc1NSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MzU1OCwx
MCArNjM1NTgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJl
bGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJ
CQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyZWU1NmVlLi5iMmFjODY2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTU3LDcgKzU3LDggQEAg
c3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91
c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5kMDkxNDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
Y2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3Jp
cHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihjYWNo
ZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAppbmRleCA0YzI1NDA3
Li5kMzJmNzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwx
MiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmll
bmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9v
a3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
ICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVy
U2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1
Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyBy
ZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdp
Y2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdX
cmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVn
V3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFy
ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0
YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4
IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAg
IHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uY2ZjZWVkNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHku
IFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2
YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUo
SlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1Li4y
NzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
QEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRv
dzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3RlZFB0cjxKU0RPTVdpbmRvdz4g
PiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5M2Y3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdl
OwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0
eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVBy
b3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlw
dFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjUyOGNiYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTgg
QEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhh
c2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERh
dGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGll
bnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBm
cmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7
CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+
V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5j
b250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjc4YjdkZGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBA
CiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0g
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJvbGxlcihXb3JrZXJDb250ZXh0
Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5o
CmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC00Myw3ICs0
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJlYWQuICBUaGUgRE9NRGF0YSBm
b3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3IgY2hpbGQgdGhyZWFkcwogICAg
IC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERPTURhdGEo
KTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmgKaW5kZXggMzc1OGUyMy4uOGM2YzAyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0xNDksNyArMTQ4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBtYW5hZ2UgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAgLy8gbGlmZXRpbWUgaXMg
bWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0YVN0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3RvcmUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01Ob2RlTWFwLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMWFhMWY2Mi4uZjQy
ZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5jbHVkZSAiT3duSGFuZGxlLmgiCiAjaW5j
bHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdpbmRvdzsKIAotY2xhc3MgU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAg
ICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogCi1j
bGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3Jp
cHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2
ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBiNzVhMDU0Li5lMDk2OWUxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNp
bmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRT
dGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRp
dGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAxMTgxM2IwLi5kYzI0NzEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3Mg
UGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1
YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsgcmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0Vt
cHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNl
cHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgp
IHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1YmxpYzoKICAgICBTY3JpcHRT
dGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0
ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShz
Y3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAog
Ly8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMg
YW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRl
IHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAg
ICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0
ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJp
ZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBA
QAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsKIAogbmFtZXNwYWNlIEJpbmRp
bmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhv
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1QYXJh
bWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9JZGVu
dGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uY2E0M2FkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
cmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAu
aApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
CmluZGV4IDk2OTc0ZDkuLjg4ZWM3MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9C
cmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKQEAgLTU5LDgg
KzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3Mg
Q2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAg
ICBDbGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3Qg
SWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZp
ZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0
IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CkBAIC0xMjUsNyArMTI3LDgg
QEAgcHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGltZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0
OwogfTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJyYXkg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5KTsKIHB1YmxpYzoKICAgICBBcnJheShQ
YXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmggYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X3Jvb3QuaAppbmRleCBiYWJkN2FkLi4zOWZiMzU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX3Jvb3QuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaApAQCAt
MzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5o
CmluZGV4IDgzM2Q3ZmUuLjU2YjI4MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcg
QEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENT
U0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VW
YWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVs
ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLjczZjJhY2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVT
aGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBD
U1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4u
MDZkNDA2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFt
ZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIEF0
b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAgIEF0b21pY1N0cmluZyB1cmk7CiAgICAgICAgIE93
blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMWRhMjBiNy4uOTcyZjc3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTMyOCw3ICszMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5k
U2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjQ1ZjRhNDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNz
IENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Bh
cnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyAr
ODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7
CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1Ymxp
YzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAgICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVM
aXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjlhOWVjNDQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENT
U1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUHJvcGVydHkgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHkoaW50
IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFs
c2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAg
OiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBi
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9yQmFnIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7
IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzRW1wdHko
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li40NmY0YWFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0
LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSZW5k
ZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zMyw3
ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsK
IAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVs
ZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9y
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1NlbGVj
dG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMw
Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lmaWNpdHlG
b3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsK
IAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVj
dCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJlRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJh
cmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAgICAgICAg
ICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApp
bmRleCA5ZTQwZWY4Li44NTg0Mjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ckxpc3QuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApAQCAtMjcsMTEgKzI3
LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3Rv
ckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1NlbGVjdG9y
TGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMWZmM2JkNS4uMDVhMWJmNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7
IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUxLi4xM2ZjOTdlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwogCi1j
bGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE1lZGlhUXVlcnlSZXN1bHQo
Y29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1bHQpCiAgICAgICAgIDogbV9leHBy
ZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1YmxpYzoKIH07CiAKICAgICAvLyBUaGlz
IGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBnaXZlbiBlbGVtZW50IGJhc2VkIG9u
IGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3Vt
ZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVldCogbWFwcGVk
RWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBh
Z2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdy
b3VwVXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxlKCkgeyByZXR1
cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hl
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNoZWNrZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBi
b29sIHN0cmljdFBhcnNpbmcpOwogCkBAIC0zMTUsNyArMzE4LDggQEAgcHVibGljOgogICAgICAg
ICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdCo+IG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5
UmVzdWx0czsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHIsIENTU1Nl
bGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAgICAgICAgICAgIDogbV9wb3Np
dGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NT
dHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgICAgICA6IG1fZmlyc3Qo
bmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRleCAyODEwMDliLi43
ZDFmYzdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBNZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gUmVz
dHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwgTm9uZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5oCmluZGV4IDAwYWMzOTQuLmQ4YzU5ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
QEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hh
cmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhl
IGxvYWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2Jh
YmxlIHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkg
c2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3Ig
ImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
eHAuaAppbmRleCA3MmQzZmZmLi44ZTQyNTVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICsz
OCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAK
LWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRp
YVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1
ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAg
Yi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dl
YkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFz
eW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBD
YWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAg
ICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2Ny
aXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsK
KyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBj
YWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYo
KXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5o
CmluZGV4IDFhMDUxYTguLjI5ZWU1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2Ny
aXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBA
IGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVu
dDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3lu
Y1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQpIHsgcmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5
bmNTY3JpcHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
IGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5kZXggODZhMjJiMC4uZjUwMzZlNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvV2ViQ29yZS9kb20vRE9N
U3RyaW5nTWFwLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRE9NU3RyaW5nTWFwX2gKIAog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3
ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGlu
dCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBET01TdHJpbmdNYXAgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRE9NU3RyaW5nTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01T
dHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwg
fkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODNiYTg4NS4uODQxYmIyNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAg
ICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29u
dGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1l
bnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRv
Y3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4uNTBlYzg4MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7
CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7
IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5o
IGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBmMDVkMzZjLi5jZDQ5ZGU4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTI0LDYg
KzI0LDcgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVudF9oCiAKKyNpbmNsdWRlICJD
bGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zMSw4ICszMiw2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsaXBib2FyZDsKLQogICAgIGNsYXNz
IEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+IHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGVudW0gUGhhc2VUeXBlIHsgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgg
Yi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNDk2ODA0ZS4uN2UxMGU2ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaApAQCAtMTc4LDcgKzE3OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAvLyBl
bmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKLSAgICBjbGFzcyBFdmVudE5hbWVzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudE5hbWVzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8g
d29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBF
dmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAgICAgICAgRXZlbnROYW1lcygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uZmExOTBkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3
ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3Rl
cmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1h
cDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAg
ICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAog
I2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMTRk
OTBmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hh
bm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRl
cGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBl
bnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZv
a2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFu
bmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAK
QEAgLTc4LDcgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBSZXR1cm5z
IHRydWUgaWYgdGhlIHByb3h5IGN1cnJlbnRseSBjb250YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBw
b3J0LgogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIGNsYXNz
IEV2ZW50RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV2ZW50RGF0
YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFz
c093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApp
bmRleCBhYjIwOGQyLi5lZGM1MDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAg
ICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAg
cHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzogICAgCiAg
ICAgTm9kZVJhcmVEYXRhKCkKICAgICAgICAgOiBtX3RhYkluZGV4KDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgK
aW5kZXggMzRmYzA2OS4uMTdlODUwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oCisrKyBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBA
QCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFt
ZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxR
dWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiNmJl
YjZlLi40ZTkxYmQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysr
IGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFNj
cmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3JpcHRFbGVt
ZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0
ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVu
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjhjYTgy
YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysg
Yi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKKyAg
ICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAgICAgIHZpcnR1YWwgflRhc2soKTsKICAgICAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
PSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0YXNrcyBnZXQgbWFya2VkIHNwZWNpYWxseSBz
byB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwgYW5kIGFyZSBleGVjdXRlZCwgd2hlbiB0aGUg
Y29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBtZXNzYWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCmluZGV4IDgyNmU2YmQuLjgzOTliNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAg
LTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU3BhY2VT
cGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0
cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
U3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uo
c2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5o
CmluZGV4IGY5N2FmY2YuLjk3ZWM0ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsy
Myw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQ
bGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJj
ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBE
ZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVy
ZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGlj
YXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwog
cHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJu
IHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1
cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1
cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHBy
b2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxl
bWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2My
Li5kNWRhOWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisr
KyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6
IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCA3YTMyODVmLi42ZWRlNzg2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTc1LDggKzc1LDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAg
ICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsK
ICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi44ZjQxOTMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFhNTERvY3VtZW50UGFy
c2VyU2NvcGVfaAogI2RlZmluZSBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKFhTTFQpCiAjaW5jbHVkZSA8bGlieG1s
L3RyZWUuaD4KQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVu
dFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApp
bmRleCAxMjg2YzA3Li44OWYyY2JiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVCdXR0b25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0gRUZyYWdtZW50VHlw
ZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9
OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVw
bGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVu
dEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50
KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRG
cmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29y
ZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0Li4zOTc4Zjc1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAi
VmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9u
OwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0
aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlv
bk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rp
b25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxl
ZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCA0ZGNlZDA1Li5kZTlj
NzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysr
IGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBA
IHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNz
IFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hl
Y2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBl
cik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NS
ZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCmluZGV4IGE5NjI2OGQuLjFmYmU2MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVw
cyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBzZWFyY2ggaW4gdGhl
IGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2VzIGFyZSBhbHdheXMg
ZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUgaWYg
PGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJp
bmcmIHRhcmdldCwgYm9vbCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQu
aApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQg
c3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVy
Zm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lz
dGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4u
MTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkg
cG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEg
cGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhh
dCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxs
ZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVy
LmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4u
MDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgs
OCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmls
ZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0Nh
bGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBl
bmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxs
YmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJl
c3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlw
ZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmlu
ZGV4IGU4OWUzMmIuLmQ2ODA0N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9s
bGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
ICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3Rv
cnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NS
ZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmQ1MGI5Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAot
ICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUq
IHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZh
Li5kYTNlNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysr
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotc3RydWN0IENvbGxlY3Rpb25DYWNo
ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxlY3Rpb25DYWNoZSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBD
b2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNh
Y2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uZTE1MDczMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJs
aWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tl
bkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLmUwZGJj
YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9
OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBmY2IyYmU4Li41NmJhYTdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC0xMjExLDcgKzEyMTEsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2Vw
YXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0cnVj
dCBFdmVudEhhbmRsaW5nU3RhdGUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBFdmVudEhhbmRs
aW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmVm
UHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWlu
YXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQ
YXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBk
ZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3Mu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQog
ICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBjMTQxN2Zh
Li5kZjBhYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNs
YXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0
eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBv
c2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8g
Y2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBl
PiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4x
ZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJhbmdl
X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAot
Y2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29s
IGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4
IGZlMThiNmIuLmY4M2E1ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIAotY2xhc3Mg
VmFsaWRhdGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlv
bk1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oCmluZGV4IDUzMmRkYjIuLjIyYTQ4YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApA
QCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5
U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGNvbnRyb2wpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCBhMjVlOGExLi4xNGY1YTBhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAor
KysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBA
IGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7
CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZp
cnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NT
UHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVs
b2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGlj
OgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1Ymxp
YzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rp
b25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQq
IGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhU
TUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDog
bV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRl
eCAwNTA1M2RmLi5jMjAxYzNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi45MzZkNDExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxlbWVu
dFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNsYXNz
IFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2Fy
ZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJk
IChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1l
bnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNrKCk7CiAgICAgfkhUTUxF
bGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIH5FbGVtZW50UmVj
b3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAppbmRleCBhY2EwNWJiLi5mNzVm
YTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVu
dExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50
OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1lbnRTdGFjay4KLWNs
YXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCBhNzA5YmQ5Li42NDJlNDM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0
ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRo
ZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAi
bGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0oKQogICAgICAgICA6
IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOCw3ICsxMjksOCBAQCBwcml2YXRlOgogICAgIFNlZ21l
bnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0mIGlucHV0U3RyZWFt
KQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCA1YmUzM2IwLi5hNGI3NDYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBA
CiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFz
cyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
UGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2No
ZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBw
YXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5k
ZXggOTRhOTBlNi4uODYwNDUzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFz
cyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uMWI3ZjkxZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyAr
NDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0OwogY2xhc3Mg
U2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li44ZWNkOGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAi
TmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmlu
aXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBl
bmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgog
ICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxz
ZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBz
aG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8g
ZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1j
bGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWlj
SFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwog
cHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6
IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4
IGYxNmIwNDkuLmQ1Nzc5ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBAIC0y
OCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVu
dGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFz
cyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAg
ICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJ
bnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAg
ICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1FbGVtZW50KiBj
bG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAK
LWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVy
VG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQo
dG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAg
ICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtl
SW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxk
ZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5z
ZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWls
ZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1
aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRl
eCAwZTc1OTdjLi45NjljN2EwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
QEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0Lmgi
CiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1
bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTFRva2VuaXpl
ciogdG9rZW5pemVyLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywg
Ym9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAgICB7CkBAIC0yMDMsNyArMjAzLDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NGb3JlaWduQ29udGVudFVzaW5nSW5Cb2R5TW9kZUFu
ZFJlc2V0TW9kZShBdG9taWNIVE1MVG9rZW4mIHRva2VuKTsKICAgICB2b2lkIHJlc2V0Rm9yZWln
bkluc2VydGlvbk1vZGUoKTsKIAotICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoKTsKICAgICAgICAgRnJh
Z21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4dEVs
ZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaApAQCAtMjgs
NyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIodW5zaWdu
ZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25lc3RpbmdMZXZlbCgmbmVzdGluZ0xldmVs
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggNGU4OGJlYy4uOTAyZWRjMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlw
dENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFZhbHVlOwog
Ci1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb25z
b2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5z
aWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NPd25QdHI8U2NyaXB0Q2FsbFN0
YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCBmODBj
ZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0
LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmgKaW5kZXggMTFmMTBjZS4uN2IzZTkyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQog
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3Bl
Y3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxl
ciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAg
ICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggY2E1YTlkOS4uZjljMTA0MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25z
ZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJl
ZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+ID4gRE9NU3RvcmFnZVJlc291cmNlc01h
cDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA5NTAx
YWM4Li4wMzE2MDk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCkBAIC01Miw3ICs1Miw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2
ZUJyZWFrcG9pbnREZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3Rl
bmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3Bl
Y3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmlu
ZGV4IDlkY2FhNWEuLjRhYTg3ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3
ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JG
cm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwog
ICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBjMWY1ZGIxLi5iMWE4YmU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICsz
NSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFw
U25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxl
ckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElu
c3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKik7CiAgICAg
dmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUwMjcuLmE2YmEzZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51
bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxp
bmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBT
Y3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4uMTMxZTEzMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBTY3JpcHRDYWxs
U3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1jbGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwogcHVibGljOgogICAgIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQu
LjVkODQ5YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNs
YXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAg
ICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAot
ICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li45M2U3NDM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiArNDcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsK
IAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVk
PERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2
YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1
ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVu
dFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li4zMTE5NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVtcHR5RnJh
bWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1lTG9hZGVy
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgIH0K
ICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAtMzgzLDgg
KzM4NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2lu
Z0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxG
cmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRvckNsaWVu
dCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9y
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAt
NDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
Ci1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1
YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlD
b250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
RW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5Q29udGV4dE1l
bnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVzdHJveWVkKCkg
eyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShDT05U
RVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0Ns
aWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6Cisg
ICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkg
e30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50UG9pbnQm
LCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzMiw4ICs1NDAsMTAgQEAgcHVibGljOgogfTsKICNlbmRp
ZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6
IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4
ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9y
bVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGlj
OgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFz
cyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9k
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxv
YWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdo
aWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVy
IGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3Rv
cnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBk
YXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCmluZGV4IDk0YTIxYTQuLjZhNTRlOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4
IDI4ZmRhOWEuLjI0OTViMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1
bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZp
Z2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9u
KGRvdWJsZSBkZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0
LCBib29sIHdhc0R1cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBt
X2RlbGF5KGRlbGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCmluZGV4IDE0MDBj
MjUuLmYxNGQwNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTQ3LDcg
KzQ3LDggQEAgY2xhc3MgRnJhbWU7CiBzdHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKIGNsYXNzIFNj
aGVkdWxlZE5hdmlnYXRpb247CiAKLWNsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlv
blNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0aW9uU2NoZWR1bGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmgKaW5kZXggZWI0MzE2Ni4uOTI2OGIyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtMzQsNyAr
MzQsNiBAQAogCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJU
aW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0
byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFz
IHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwg
dGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgot
Y2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwg
Y29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0
IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBA
IC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZy
YW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjFiZDE5
YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0
aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlh
bFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0
aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29w
eWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBQcm9n
cmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQog
ICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuaAppbmRleCA1ZDViNmIyLi44YzRhMGRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApA
QCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVzc1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDcgKzM1LDggQEAgY2xh
c3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsK
IAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBy
b2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIo
KTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9S
ZXF1ZXN0LmggYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKaW5kZXggYjZkZTMxMi4uOTZmN2Ix
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAK
LSAgICBjbGFzcyBSZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXF1
ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVxdWVzdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJlc291cmNl
TG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNr
UG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcw
NDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3VyY2VMb2Fk
Tm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291
cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9h
ZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmll
cik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQy
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1Ymxp
YzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2
ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhv
c3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uZDEx
ZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIu
IEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJh
bWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1
YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJlYWRhYmxl
TG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAv
LyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90
IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0
aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAog
ICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRh
YmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmlu
ZGV4IGJjZjY4YmUuLjhlNTI3NDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVzb3VyY2VF
cnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVM
b2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2Vu
dCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAg
LTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
LmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLmU4OTEzZTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAK
ICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29y
a2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lk
IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3Vw
LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAppbmRl
eCAyOWQwNzQ5Li5kMGRmMTBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAKQEAgLTUzLDcgKzUyLDggQEAgZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBk
YXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlV2l0aG91dEJyb3dzaW5nQ29u
dGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogcHVibGljIE5vbmNvcHlh
YmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAg
OiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGlj
YXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBB
cHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5
ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li42
NWMzYThiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlSG9z
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUg
U3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAg
ICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjAwYjI5Yzg1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwog
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAg
ICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi42NmZiOWE4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAor
KysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApA
QCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAppbmRleCBlZDYwZjg0Li4wYmJkNTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgUmVxdWVzdDsKIC8vIEEgcmVzb3VyY2Ug
dGhhdCBpcyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBv
YmplY3Qgc2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0
IHRoZSBmdW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZl
ZC4KIC8vIFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRo
IHRoZSBsb2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xh
c3MgQ2FjaGVkUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJp
ZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uZjYwMjFmNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBA
CiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VD
bGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3Zlcmxv
YWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFz
cyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsg
fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBm
MzcxYTBlLi43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJM
OwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBz
Y3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBD
YWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hl
OwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAppbmRleCAxNWNlOWRhLi5lYTQ5MjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
QEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2
YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1v
cnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRo
aXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1l
bW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNo
ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5hYzBhNTdk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4
IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1j
bGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0
YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAg
ICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVm
aW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhv
ZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3By
aWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJh
c2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBw
ZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFl
YmFjNDguLmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2
IEBACiAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxv
YWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRl
KEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKaW5kZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNv
bi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBp
Y29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJM
UmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVj
b3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
aW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNs
dWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNv
dXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBj
bGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0K
ICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxv
YWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxi
YWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEz
MDIuLjMxMTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYg
KzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAK
ICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwg
cHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRl
KGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0
aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlm
aWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92
aWRlcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggODMzYjkwOS4uYjU4
NTRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisr
KyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogI2RlZmluZSBDb250ZXh0TWVudUNv
bnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51
Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRN
ZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAg
ICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFn
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRy
b2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi45NDBjMjVlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0
ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJh
cnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSop
OwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAg
ICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRs
ZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdT
dGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBFdmVudEhh
bmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8g
ZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2Ug
Z2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2Ry
YWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi41YmVlYjJiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDogcHVibGljIFJlZkNv
dW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
dmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdl
L0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IDg4M2M5OTMuLjI0MWI2OGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgog
I2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVu
dDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4
ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZy
YW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhp
c0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTZiMTQyNi4uN2YzNjgzOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZl
cnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGlt
dW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25l
IGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0
c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVk
dWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBTY2hlZHVs
ZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9k
ZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRp
b25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5k
ZXggMmQ4MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9u
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFz
cyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9s
bGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmggYi9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0
dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBh
Z2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRp
bmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGUwNzQ4MTQuLjZhNjhhNWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVk
dWxlUGFpci5oIgpAQCAtODksMTIgKzg4LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9u
QmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JB
bGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1
cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAg
ICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVu
dHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApp
bmRleCBjYzQ3ZmJhLi4xNGRiNDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNj
cmlwdC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1l
c3BhY2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91
cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3Jv
dXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5mNzk1NmM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3Mg
UGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwTG9hZERl
ZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaCBiL1dlYkNv
cmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhiMzFlLi41YjcwNzIzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFs
dGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkhh
bHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVy
KFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGMzNzE5ZTIuLjNlOWE2OTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4
dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBTZXR0
aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5k
ZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5w
dXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJl
cXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVj
aCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBl
bGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZv
ciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0
cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNo
SW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6
CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVl
Y2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNv
cmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uY2QzZDBmNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5o
CkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNj
cmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1
cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0
LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQu
aAppbmRleCBmYTQyZTJjLi4yNDc5ODRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0
eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyAr
MzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4g
d2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9y
LmgKaW5kZXggMmI3ODFmMS4uNDkwNzFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2OSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6c2hvdWxk
TG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBKYXZhU2Ny
aXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCAtIHVz
ZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAgY2xhc3Mg
WFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVkaXRvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAg
ICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5j
cHAKaW5kZXggNjYxNzJmNy4uNTEyNjUwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFz
ZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0
eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3Bl
cnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBl
ckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb3BlcnR5V3Jh
cHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9wcm9wKHByb3ApCkBAIC00MzgsNyArNDM5
LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
QmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBl
ckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIpOwogcHVibGlj
OgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcihUIChGaWxsTGF5ZXI6OipnZXR0
ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDg5M2M3
MTcuLmVhNzhjYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFu
aW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApp
bmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBsaWNpdEFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1
cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9
CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2
ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAg
ICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRl
eCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNG
aWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFj
ZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3Rl
IHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0Zp
bGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAg
IHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBA
IGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBG
aWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAg
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4g
YSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmly
dHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXV0b2RyYWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5o
CmluZGV4IGQ0NGVlMWUuLmQ2NTU0MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0
b2RyYWluZWRQb29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApA
QCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRv
ZHJhaW5lZFBvb2xfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBf
X09CSkNfXwogQGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFz
cyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRv
ZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29s
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgog
ICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2Ry
YWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51Lmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uZDY2NDk5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0
TWVudV9oCiAjZGVmaW5lIENvbnRleHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q29udGV4dE1lbnVDbGllbnRFZmw7CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDog
cHVibGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxh
dGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXgg
ZTcwMjkyMS4uMTEyNjU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIs
NyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENv
bnRleHRNZW51SXRlbShQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb24pOwogICAgICAgICBDb250
ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnUqIHN1Yk1lbnUgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaAppbmRleCA0N2NkNTM4Li4xZTk5NDkyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgRGVwcmVjYXRlZFB0
ckxpc3RfaAogCiAjaW5jbHVkZSAiRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8
Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
dGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBs
KGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0
KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVk
UHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1
ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17Citj
bGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJl
Y2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVw
cmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9v
cC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZl
bnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9v
cCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2Vu
ZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2
NS4uZDYwYWU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3
ICsyNiw3IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0
aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3
dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0Miw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJl
ZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZp
Y2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAg
IHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGll
bnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2lu
ZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2
LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7IH0KIAog
ICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywgbm90IHRoZSBj
b250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVy
d2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iODgzZmYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9L
aWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZv
aWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25zdCBTdHJpbmcm
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLmM0MjlhNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjIs
NyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUsNyArMzQsOSBAQCBjb25z
dCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZv
ciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNl
bnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBM
ZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDAp
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li40OTZmYmIzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgx
LDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291
cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy9I
ZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2FyZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0Li42YTM2MzE5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDgg
QEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAg
ICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwg
Z3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNz
ZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgK
aW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJn
ZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBA
IC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUg
IlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGlt
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhj
NTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZp
bmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAK
LWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVu
TG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFz
ZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1
bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWly
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uYjNkODg5NiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZv
cm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xh
c3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFy
VGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAg
IHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQo
U2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0
Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4u
MTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZu
ZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIEVhY2ggdGhy
ZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGlt
cGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQg
YnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1
c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hh
cmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU2hhcmVkVGltZXIoKSB7IH0KICAgICAg
ICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rmly
ZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKICNpZiBFTkFCTEUoV09SS0VSUykKQEAgLTQ1LDcg
KzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFw
cGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAotICAgIGNsYXNzIFRocmVhZEdsb2JhbERh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRHbG9iYWxEYXRhKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsKICAgICAgICAgflRocmVhZEdsb2JhbERh
dGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGFiNDI1OTguLjM1ZWQwMWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBUaHJlYWRUaW1l
cnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
QEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFz
ZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBU
aHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4uMDgxMDQw
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5l
IFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVy
QmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJl
ZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMxLDggQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
cmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNv
dW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXgg
OWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24v
QW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlv
bkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25M
aXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlv
bkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4YjgxLi4zOThlMTI3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEF1ZGlvQnVzX2gK
IAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJl
cHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBtb3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBU
aGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bwb3NlZCB0byAiaW50ZXJsZWF2ZWQiLgog
Ly8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBpcyBtb25vLCBhbiBBdWRpb0J1cyB3aXRo
IHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNsYXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIENoYW5uZWxMZWZ0ID0g
MCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCmluZGV4IDY4MTY4MzAuLjczMjVl
OWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0
IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBBdWRpb0NoYW5uZWwgcmVwcmVzZW50cyBh
IGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRpbmctcG9pbnQgYXVkaW8gc2FtcGxlcy4K
IC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkgYXNzdW1lZCB0byBiZSBpbiBhIG5vbWlu
YWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRpb0NoYW5uZWwgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
dWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1lbW9yeSBjYW4gYmUgZXh0ZXJuYWxseSBy
ZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBhbGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zs
b2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCmluZGV4IGMzM2Iz
OGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaApAQCAtMzEs
NyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJURkVsZXZhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhSVEZL
ZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZEYXRhYmFzZSk7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNlPiBjcmVhdGUoZG91
YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCmlu
ZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlv
bi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEhSVEZFbGV2YXRpb25faAogCiAjaW5jbHVk
ZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhSVEZLZXJuZWxzIChvbmUgbGVm
dCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5nbGUpIGZvciBhIHBhcnRpY3Vs
YXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZF
bGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2
YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZh
dGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmspIHJlc291cmNlcy4KICAgICAv
LyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0
LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5IG9mIG11bHRpcGxlIG9uZXMg
d2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL0NsaXBib2FyZENocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBi
b2FyZENocm9taXVtLmgKaW5kZXggMWQ2OTkyMS4uOGQ2ZmEyMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaApAQCAtNDIsNiArNDIsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSW50UG9pbnQ7CiAKICAgICBjbGFzcyBDbGlwYm9h
cmRDaHJvbWl1bSA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICB+Q2xpcGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29w
eWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJh
bWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkK
ICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3Iu
aAppbmRleCAyZTRlOTYyLi42ZDg5MmE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZpbmUgQ29sb3JfaAogCi0jaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUsNyArNzQsOCBAQCBpbmxpbmUg
aW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAmIDB4
RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBjb2xv
ciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1
cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9CiAgICAg
Q29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAppbmRleCA4N2ExYzVjLi4w
NzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFk
b3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAKICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB1c2lu
ZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmY1ZGQ4YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2FjaGUo
KQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleShjb25zdCBB
dG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmluZygpLCB1bnNpZ25lZCBzaXplID0gMCwg
dW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMgPSBmYWxzZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250ID0gZmFsc2UsIEZvbnRSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdNb2RlLCBGb250T3JpZW50YXRpb24g
b3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAgICA6IG1fc2l6ZShzaXplKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggZTY4NDVkOS4uNGZhNzQxNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZv
bnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnREYXRh
OwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udENh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uMGViNjY4NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjcsMTQgKzI3LDE0IEBACiAj
ZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgwKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4NWJj
Yy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1l
dHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01h
cC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAKIGNv
bnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNs
YXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFz
cyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEds
eXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxl
ZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDZhZGM5MGIuLmJhNzg5
YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAt
MzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAj
aW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTE1Myw3
ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEludGVycG9sYXRpb25IaWdo
CiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopOwog
ICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC0zNTYsNyArMzU2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9v
bCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cygpIGNvbnN0OwogCi0g
ICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dzQml0
bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IGMyZDVjMjQu
LjdjMDdiZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGUgbmFtZSBjb25mbGljdGlv
biBmb3IgTk9fRVJST1IuCiAjaWYgKChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoV0lORE9XUykp
IHx8IFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFUKSAmJiBPUyhXSU5ET1dTKSkpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCmlu
ZGV4IDk4NWNhZDkuLjE5YzYwNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC04NCw3ICs4NCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICNlbmRpZgogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJpdmF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGlj
c0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhm
YWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggOTkx
Y2EzMi4uZTVkZGNiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xh
c3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJl
IHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZp
YSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVk
IGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmlt
YXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUsIFBh
c3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAgOiBt
X2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcsOCBAQCBwcml2YXRlOgogCiAvLyBVc2Vk
IHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3
aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVkIGZy
b20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVMaXN0
KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi5kNTRlMDA5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZUJ1ZmZlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFs
bG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+
IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBDb2xv
clNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCmlu
ZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291
cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSW1hZ2VTb3VyY2VfaAogCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShXWCkKQEAgLTExNyw3ICsxMTYsOCBAQCBj
b25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0aW9uTG9v
cEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAotY2xhc3Mg
SW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3VyY2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAgICBJbWFn
ZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0cnVlLCBib29sIGlnbm9yZUdhbW1hQW5k
Q29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFnZVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBlODdjNTNjLi4zMTY1NDc4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw5
IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxNZWRpYVBs
YXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1zdHJ1Y3Qg
TWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxheWVyRmFj
dG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3Jl
YXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlw
ZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlw
ZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAg
ICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQyYi4uNzFjOTlkOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0Niw3
ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xp
ZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclBy
aXZhdGUuaAppbmRleCBkOTU2Mjg2Li42Njk4MTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM2LDggKzM2LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBJbnRTaXplOwogCi1jbGFzcyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZpcnR1YWwgfk1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKaW5kZXggYmEy
NWRjMi4uNTY3Nzg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRo
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4LDcgKzI4LDYg
QEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgUExBVEZPUk0oQ0cp
CkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZv
aWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVudCop
OwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQ
YXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi44ZTNhMDQxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFRp
bGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7
CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGRhYzMxZjgu
LjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBl
ZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9f
Zm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwog
Ci1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZU
X0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFz
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5k
ZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRleHR1
cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNE
OwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hhcmVk
R3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwogICAg
IH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggNTMxZDY1Mi4uM2M3MWFj
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAiU2tC
aXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggMWYzMzUyNy4uNTI2YTg3YiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJm
YWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNpbmNsdWRlICJGbG9h
dFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllckNocm9taXVt
OwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRlcmVyQ2hy
b21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVtKExheWVy
Q2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApAQCAt
MzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAi
SW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0Zi9P
d25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRyYW5z
cGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21wb3Np
dGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5hYmls
aXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0ZXh0
LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVuY3lX
aW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVudW0g
TGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJhd2lu
ZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLjBmNGM5NTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1LDYg
QEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsNyArNzYs
OCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIGNsYXNz
IFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdp
bGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaWxsUHVi
bGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNo
Q2FsbGJhY2soKSB7IH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmll
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZp
ZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZpZXJfaAog
I2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENs
YXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBMb29wQmxp
bm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkNsYXNz
aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZpZXIpOwog
cHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2
ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1
bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2Nh
bFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRlICJGbG9hdFBvaW50
M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRpb24gb2YgdGhlIHRy
aWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29udHJvbCBwb2ludCB2
ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkxvY2Fs
VHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMgdGhhdCB0aGUgdHJp
YW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAgIC8vIHRoZSBwb3Np
dGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJlCiAgICAgLy8gY29v
cmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0ZXgpOwogICAg
IHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCmluZGV4IDVm
ZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRl
ICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRzLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhiYWVmLi41
ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVu
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTI5
LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3ICsxNTcsOCBAQCBwcml2
YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2
aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9m
IG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxs
b2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50
ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRy
ZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUg
IlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDggKzQzLDggQEAg
c3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8obGcgbikpIGlu
c2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBpbiB0aGUgdHJl
ZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1jbGFzcyBQT0RJ
bnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKK2Ns
YXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8
VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPREludGVydmFsVHJl
ZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdoZW4gZGVjbGFy
aW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4IDZkNTk1
NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
RFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJl
ZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRlICJQT0RBcmVuYS5oIgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlICJMb2dn
aW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBiYXNlIE5v
ZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25seQogICAg
IC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25seSB3aXRo
IHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2RlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3
bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0IE5vZGUo
Y29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8vIEhlbHBl
ciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50
cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRlciA6IHB1
YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50ZXIpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291bnQoMCkg
eyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUuLmI1
NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwg
dW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThhYjUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMxLDE0ICszMSwxNCBAQAog
I2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFJl
Y3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGlu
Z0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQg
dG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBp
bnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
V2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZmLi5iZjYwYWJlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRl
ICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtpbmdD
b250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxl
LCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdl
YktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0
LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZv
bnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NG
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBVSW50
MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250
Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNGb250LCBDR0ZvbnRSZWYgY2dG
b250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwgbV9hdHNGb250KGF0c0ZvbnQp
LCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4Li44NDg5OTNiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC0y
NSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxh
dGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7
CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2Li5l
ZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJm
YWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFj
ZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWdsLmg+CiAjZW5kaWYKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3VsZCBt
YWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxlbWVu
dGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7CiAg
ICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCA2
YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1LDE2IEBACiAjaW5jbHVk
ZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBs
YXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFw
cGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIwMWYxOC4uOWM2NjJhNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
QEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxh
dGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZv
cm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0
YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvbnRQbGF0
Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMsMTAg
QEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5kZXgg
MTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjksOCBAQCBzdGF0aWMgaW5saW5l
IFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6
Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlk
Q29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRm
YjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1Ry
YW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFu
c3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJh
bnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAg
ICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0IFFSZWN0ICZyZWN0
LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAgIDogcGl4bWFwKHJl
Y3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5KG9wYWNpdHkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4wODNlNThjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250
UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCkBAIC00OSw3ICs0OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVi
bGljOgogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUg
Zm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVy
ZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVl
MTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0
ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2Rl
ZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRl
eHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9j
b250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMTAwODVkLi5kNjgzYWFm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250
ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNv
bnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0U2tp
YV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJs
ZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJhd0xv
b3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2libGUg
Zm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBhcmF0
ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9yIHRo
YXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3BwZWQg
YWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBGb3Ig
cHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJlIE5V
TEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28gY2Fs
bCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uMTBmYjA0NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVU
cmFuc2Zvcm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0
cml4LmgiCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3Jh
cGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDggQEAgY2xhc3MgSW50UG9p
bnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiAKLWNsYXNz
IEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFmZmluZVRy
YW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBl
ZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMwZGEz
NzcuLjA4ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBt
YWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2
YjRiYWEuLjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVk
ZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+
CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFu
c2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxv
YXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1h
dHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4xNjI4ZWViIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dG
b250UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZv
bnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwor
cHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2Us
IGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVy
ZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXgg
M2FiNTJiOC4uNTE1NGVhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTI0LDcgKzI0LDYg
QEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDxjYWlyby5oPgog
CkBAIC0zMyw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6
IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYxNDAuLjU5NTFlNDkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0Nv
bnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3ND
b250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2Fs
V2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsV2luZG93c0Nv
bnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0
KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgc3VwcG9ydEFscGhh
QmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUpCiAgICAgICAgIDogbV9n
cmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUg
PFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02Myw3ICs2Miw4IEBAIHVu
aW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlw
ZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRN
b3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVu
dCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgogICAgIFFU
TW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4IGUxM2Y3MzIuLjI2ODYx
MmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29y
bGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQu
Y3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVz
aW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2su
Y3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7
CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFU
VHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7
CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRG
bHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1
c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC0zNiw3ICszNSw4
IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FD
RkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0
Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVyJiBzaGFy
ZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNG
TGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5
ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAgLTMyLDcgKzMy
LDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FDRkxheWVyLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBAQCBwdWJsaWM6CiAvLyBG
SVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBX
ZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRleHQgYW5kIERp
cmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBjcmVhdGUoV0tDQUNGTGF5
ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRlcmVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCw3
ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckZv
bnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFtZShuYW1lKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0
Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3Jt
RGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yOCw3ICsyOCw2IEBACiAj
aW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVkZWYgc3RydWN0IHRhZ1RF
WFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDA4MDI4MjYuLjgyNDU1
OTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3ND
b250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3Jh
cGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyArNDQwLDggQEAgc3RhdGljIHZvaWQgcm90
YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVkQml0bWFwKiBzb3Vy
Y2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFsc2U+KGRlc3RCbXAs
IHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIDog
Tm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAgIFRyYW5zcGFyZW50
TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEsIEludFJlY3QmIG9y
aWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0gMCwgaW50IGFscGhh
ID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5zcGFyZW50TGF5ZXJE
QygpOwpAQCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXllckRDOjpmaWxsQWxw
aGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRlciA6IE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29wZURDUHJvdmlkZXIo
R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAgICA6IG1fZGF0YShk
YXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQs
MTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9u
dFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250
UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA1YTA0YmVlLi4xZDdi
OWY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVj
b2Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVy
LmgKQEAgLTIyMSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0TWF4
TnVtUGl4ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVjb2RlZCBpbWFn
ZXMgY2FuCiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRlIHRob3NlIGlt
YWdlcyB0aGF0IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90IHN1
cHBvcnRlZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIEltYWdlRGVjb2Rl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihib29sIHByZW11bHRpcGx5
QWxwaGEsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAgICAgICAgICAgICA6IG1f
c2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJk
TWFjLmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRleCA3MTg3ZWNm
Li44OWY4MzNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApAQCAtNDQsNiArNDQs
NyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBDbGlwYm9hcmRNYWMg
OiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xp
cGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9h
cmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFt
ZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRH
cmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBo
aWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2
IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250
ZXh0OwpAQCAtMzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBU
aGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5T
R3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBw
S2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2Nh
bEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhp
Y3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxD
dXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TaGFyZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFj
Lm1tCmluZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1NoYXJlZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRp
bWVyTWFjLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4K
ICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlv
bnMuaD4KLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLjZlZjIyNDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJs
b2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8Qmxv
YkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Rm9ybURhdGFCdWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWls
ZGVyLmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRFbmNvZGluZyBl
bmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hhcnNldCwgRG9j
dW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29y
a1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4zOTk3ODBmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5lIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0o
TUFDKQogCkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5ldHdv
cmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3b3JrU3RhdGVOb3Rp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90aWZpZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAg
ICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRl
eCA5Y2NjZWNkLi4wZjJiZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25u
ZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xp
ZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNv
dXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291
cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVu
dFNuaWZmKQogICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0ZS4uMmI3NDE3MyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC00
OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlzIHR5cGUgZGlyZWN0
bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3MgUmVzb3VyY2VSZXF1
ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZXNvdXJjZVJlcXVl
c3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0LCBiYXNlZCBvbiBob3cg
dGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBUYXJnZXRUeXBlIHsKQEAg
LTIwNSw3ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlubGluZSBib29sIG9w
ZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUoYSwgYik7IH0KICAgICBp
bmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDcm9z
c1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVz
dERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VS
ZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uY2I4YTUxZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAg
LTQxLDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0
bHksIHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJj
ZVJlc3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVz
cG9uc2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NU
aHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEwIEBAIHByaXZh
dGU6CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9uc2VCYXNlOjpj
b21wYXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsg
fQogCi1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNl
KTsKK3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSgpIHsg
fQogICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgbG9uZyBsb25n
IG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMGY5Nzg2Ny4uMTgxNThmYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRs
ZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmlu
ZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVy
IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwog
cHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVz
b3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3Vz
TG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291
cmNlSGFuZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VI
YW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4
IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxl
LCBEV09SRCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVy
IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwog
cHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVz
b3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsK
ICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0
LmgKaW5kZXggNWFjYTFhNi4uMWVlYzhhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9DbGlwYm9hcmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaApA
QCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBTdGF0ZSBhdmFp
bGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3Rl
CiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlw
Ym9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEqIHJlYWRhYmxlQ2xpcGJv
YXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVE
YXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBj
MzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVE
YXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAg
LTUwLDcgKzUwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4g
Y29uc3QgaW50IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVy
cnVwdDsKIAotY2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1FMaXRlRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFi
YXNlKTsKICAgICBmcmllbmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAg
U1FMaXRlRGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0
ZVN0YXRlbWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5k
ZXggMTQ0NGYwZS4uMWVlM2JlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlU3RhdGVtZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50
LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxWYWx1
ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVt
ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1l
bnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFm
Li40MjdiMjk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2Fj
dGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAg
LTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNR
TGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVU
cmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rp
b24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFuc2FjdGlvbihTUUxpdGVE
YXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAgflNRTGl0ZVRyYW5zYWN0
aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5kZXggMWY4NzExNS4uMDU2
ZWQ3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApAQCAtMjMsNyArMjMsNiBA
QAogI2RlZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAiQmlkaUNvbnRleHQuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEyNSw4IEBAIHN0cnVjdCBCaWRp
Q2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25leHQ7CiB9OwogCi10ZW1w
bGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBj
bGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJpZGlSZXNvbHZl
cik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAgIDogbV9kaXJlY3Rpb24o
V1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFy
RXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjEyZDA1MjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2Fz
ZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9U
ZXh0Q29kZWMuaAppbmRleCBjNmFmMzhhLi4xOGI1ZDhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRD
b2RlYy5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYv
dW5pY29kZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAot
ICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4
dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsgfQog
ICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNv
bnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXgg
NjdkYjk3Ny4uODg0NmNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5z
Y29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNj
b2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIEZvbnRUcmFu
c2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRy
YW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5zY29kZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQoU3RyaW5nJiB0ZXh0LCBjb25zdCBG
b250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CiAgICAgYm9v
bCBuZWVkc1RyYW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNv
ZGluZyogPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBi
b2FyZFdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2
NGI4NS4uMmQxNDRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJk
V2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKQEAgLTQxLDYg
KzQxLDcgQEAgY2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5n
IElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiBjbGFzcyBDbGlw
Ym9hcmRXaW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJ
RGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJh
bWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRv
d01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2Fn
ZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBA
QAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdl
QnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3Nh
Z2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3Nh
Z2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0
ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQg
cmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5EYXRhYmFzZS5oCmluZGV4IGIxNDYwNWYuLjkzMmExZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRh
YmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVk
ZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVn
aW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5U
aHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi5lMmUwODA0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRl
ZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5U
aHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRo
cmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVh
ZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdHlwZWRl
ZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4
IGRlYWVjOTkuLjVmMGY2Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3
LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTMsNyArOTMsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxs
eQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJl
cXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91
bGRBbGxvd1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9h
ZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9X
ZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYxOS4uZGI5NDc4YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29s
dW1uSW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9k
ZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50
ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0MDku
LjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMsNiBAQAogI2Rl
ZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8vIFRo
aXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcgcGFy
ZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IGNj
YTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRl
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICsz
Niw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVy
T2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwog
cHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi4zYjVjZjA2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJBcmVuYV9oCiAK
ICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9
IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBh
cmVuYVNpemUgPSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCmluZGV4IDUxNTMyMTguLmRjZWYwNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAt
MzU0LDcgKzM1NCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlckhhZExheW91dDsKICAg
ICB9OwogCi0gICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBGbG9hdGluZ09iamVjdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0
aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAg
IC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMg
YSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0LgogICAgICAgICBlbnVtIFR5
cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRCb3RoID0gMyB9OwogCkBA
IC02ODEsNyArNjgzLDkgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogbV9j
b250aW51YXRpb247CiAgICAgCiAgICAgLy8gQWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRo
ZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9j
a1JhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAgICBSZW5kZXJCbG9ja1Jh
cmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lu
cyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9y
ZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0
aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9u
U3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRl
eCAxNDNjNzJjLi40ZTVmNmY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxP
YmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxp
dHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBwYWlyPFJlbmRlckJv
eE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBLZXk7CiB0eXBlZGVm
IEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsK
IAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91bGRQYWludEF0TG93
UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCosIEltYWdlKiwg
Y29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFt
ZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVT
ZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25z
dCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4aXMoKTsKICAgICAgICAg
dm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaApp
bmRleCAyMzQ2NzEyLi5lNThjZDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNv
dXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZmIzYWI2Ny4uY2FkODQ1NyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBD
b21wb3NpdGluZ0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJh
Y2tpbmcgZm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBS
ZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xh
eWVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2lu
ZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi4zYjVlYjMwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJl
bmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9m
IGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7CiAgICAgdmlydHVh
bCB+UmVuZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T3ZlcmZsb3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKaW5kZXggMjUz
YTY3Mi4uMzFlMDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZs
b3cuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCkBAIC0zNyw3ICsz
Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2aXN1YWwgb3ZlcmZsb3cg
YXJlIHNoYWRvd3MsIHRleHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBvdXRsaW5lIGFuZCBib3Jk
ZXItaW1hZ2UpLgogCiAvLyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUg
b2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGluIHRoZSBvd25pbmcgYm94
LgotY2xhc3MgUmVuZGVyT3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVu
ZGVyT3ZlcmZsb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck92ZXJmbG93KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25z
dCBJbnRSZWN0JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAgICAgIDogbV90b3BMYXlv
dXRPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNW
R1Jlc291cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjQzNWZlY2YgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitw
dWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwogfTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEuLjIzYjVlNjAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFz
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNl
KCkKICAgICAgICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDA3Zjkz
M2YuLjEzM2ViNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI1NCw3ICsyNTQsOCBAQCB2
b2lkIHRvUmVuZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8gU3RhY2stYmFzZWQg
Y2xhc3MgdG8gYXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNsYXNzIExheW91dFN0
YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZU1h
aW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlTWFpbnRhaW5l
cik7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExheW91dFN0YXRlTWFp
bnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIEludFNpemUgb2Zmc2V0
LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFn
ZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICsz
MCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVj
dG9yIDogcHJpdmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3Ig
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJs
aWM6CiAgICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2JqZWN0KQogICAg
ICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NW
R0ltYWdlQnVmZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9v
bHMuaAppbmRleCA5YmNjN2E0Li45MjI1ODA1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VC
dWZmZXJUb29scy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1
ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzIsNyArMzEsOCBAQCBjbGFzcyBGbG9hdFNpemU7CiBjbGFz
cyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFNWR0ltYWdl
QnVmZmVyVG9vbHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1hZ2VCdWZmZXJU
b29scyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VCdWZmZXJUb29scyk7CiBw
dWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0
JiBhYnNvbHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xhbXBlZEFic29sdXRlVGFy
Z2V0UmVjdCwgT3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2UpOwogICAgIHN0YXRpYyB2
b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyKiwgUmVuZGVyT2JqZWN0
KiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlv
dXRJbmZvLmgKaW5kZXggOGY1OTcwMzUuLjA3MmI0YmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdN
YXJrZXJMYXlvdXRJbmZvLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2lu
Y2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR01hcmtlckRhdGEuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3
ICs0MSw4IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRy
aXg7CiB9OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR01hcmtlckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01hcmtlckxheW91dEluZm8o
KTsKICAgICB+U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHUmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaApp
bmRleCA0OTU5MWNmLi42NTk5MWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZXNvdXJjZXMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaApAQCAtMjIs
NyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIFJlbmRl
clNWR1Jlc291cmNlTWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAKIC8vIEhvbGRzIGEg
c2V0IG9mIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJPYmplY3QKLWNsYXNzIFNW
R1Jlc291cmNlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXMgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZXNvdXJjZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAuLjgyN2FjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHUmVzb3VyY2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsK
IGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwog
Ci1jbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdSZXNvdXJjZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2Vz
Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1Jlc291cmNl
c0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4zNDEyNThlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAgLTI5LDcgKzI5LDgg
QEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7
CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcik7CiBwdWJsaWM6
CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0KiwgU1ZHUmVzb3VyY2Vz
Kik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQu
aAppbmRleCBlMGZhOGVlLi5kOWVkMTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9U
YWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIx
LDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRhYmxl
TGF5b3V0KFJlbmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9UcmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpbmNsdWRlICJGbG9h
dFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybVN0YXRlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAgICAgZW51bSBUcmFuc2Zv
cm1EaXJlY3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5hcHBseUludmVyc2VUcmFu
c2Zvcm1EaXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiB7IEZsYXR0
ZW5UcmFuc2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVy
dGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3Qg
aW50IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20g
PSAweDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsK
IAotY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVy
dGljYWxQb3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUo
KQogICAgIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERh
dGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5kZXggNGY5NjRh
Mi4uZjIzZTcwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERh
dGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCkBAIC0zMyw3
ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFnZTsKIAotc3Ry
dWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnREYXRhIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlwZShDT05URU5U
X05PTkUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVu
dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1
N2FkLi5kZGY5YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVy
Q29udGVudC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgK
QEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVy
Q29udGVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNv
bnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVu
dGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZiMjk0Li5jNmVl
NTEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTksNyArNTksOCBAQCBz
dHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxM
YXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXllciB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIoRUZpbGxMYXllclR5
cGUpOwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1NoYWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaApp
bmRleCBjYTgzYWYwLi41MGNmMGJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TaGFkb3dEYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5o
CkBAIC0yNiw3ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29s
b3IuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQg
fTsKIAogLy8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3Ig
dGhlIHRleHQtc2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRv
d0RhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAg
ICA6IG1feCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVu
a0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgK
aW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4
dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7
CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQs
IGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVk
IGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQ
aGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBw
bGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVu
Z3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0z
OCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGlu
ZUJveCB0cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRp
b24uCiAvLyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0
TGF5b3V0RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxk
ZXIpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAg
IHZvaWQgYnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCop
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQw
NThkOC4uNjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVu
Z2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVy
U1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZv
ciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4
dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRF
bmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7
IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkz
ZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVk
ZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJT
dHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBT
VkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21p
bmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0
RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91
dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0
RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGlu
ZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMw
LDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAv
LyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2Vy
bmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1Rl
eHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Rl
eHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0
TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNw
YWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJh
c2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4u
Y2UwYmE0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBi
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNr
IGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNy
ZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tT
eW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3lu
Y2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigpOwogCkBAIC02
Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNr
ZXIuaAppbmRleCA3MTQ1ZTZiLi5hNjFkOWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
RGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5o
CkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBT
ZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNs
YXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFz
ZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6
ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAgIHN0YXRpYyBEYXRhYmFz
ZVRyYWNrZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5k
aW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5z
YWN0aW9uTW9uaXRvci5oCmluZGV4IDc4M2E3MzEuLjRmY2MyMzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKKysrIGIvV2ViQ29yZS9z
dG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQ0LDcgKzQzLDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOwogLy8g
RklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8gVExTLiBLZWVwaW5nIGl0
IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBwb3J0IGZvciB3b3JrZXJz
LiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSB2ZWN0b3IgaW4g
dGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25N
b25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlv
bk1vbml0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBlbmRpbmdUcmFuc2FjdGlv
bk1vbml0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBlbmRpbmdUcmFuc2FjdGlv
bihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMgdm9pZCByZW1v
dmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oIGIvV2ViQ29yZS9z
dG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi40NjcyMDQyIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCisrKyBiL1dlYkNvcmUvc3Rv
cmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5h
bWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQs
IEFyZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvV2ViQ29yZS9z
dG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLjI0ZmUxOWMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJDb3Jl
L3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAvLyBGSVhNRTog
UmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExvY2FsU3RvcmFn
ZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhy
ZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFkKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNz
T3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3Jh
Z2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFn
ZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBj
Li5hYzI4YTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2Vy
LmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0
MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFz
cyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmggYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNh
Z2VSZWNvcmQuaAppbmRleCBhODMwZTY4Li5kNmFlNTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNh
Z2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE9i
amVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0
aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJndW1lbnRzIGFyZSBhbHNv
IHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxlciB3aGVuIG5lY2Vzc2Fy
eS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5Vc2Fn
ZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgT3JpZ2luVXNh
Z2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9u
Q2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBm
ZWQwNjU3Li5kNTY3YTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rp
b25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApA
QCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCArNDAsMTAg
QEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhlIFNRTFRyYW5z
YWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGludGVyZXN0ZWQK
IC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGluIGEgdHJhbnNh
Y3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgor
ICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRy
YW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1l
bnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3RE
YXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29v
cmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgK
aW5kZXggOTQzNjBjMC4uMzQyNTY2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rp
b25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29v
cmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9u
Q29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlv
bkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAg
ICAgIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9pZCBhY3F1aXJl
TG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2NrKFNRTFRyYW5z
YWN0aW9uKik7CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMTU1ZDBhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNz
IFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAotY2xhc3MgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0RvY3VtZW50RXh0
ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRFeHRlbnNpb25z
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8
UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgog
ICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdS
ZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hl
OwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9u
cyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3Vt
ZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5z
IGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNo
CiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRv
Y3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5k
ZXggNDI3NmM0YS4uNzViZDQzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJh
cmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIxLDcg
KzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0
ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICszMCw4IEBAIGNs
YXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVu
dEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9u
dERhdGEuaAppbmRleCBlODk3YTU5Li4yOTQxYTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9T
VkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IFNWR0ZvbnREYXRhKFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnRE
YXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi43MjllZDU0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhCbGVuZGVyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVk
ZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNW
R1BhdGhCbGVuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhC
eXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uY2FiZmIyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVh
bS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFtX2gKIAogI2lm
IEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQzLDcgKzQyLDgg
QEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWdu
ZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3Ry
ZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJl
YW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1
bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi40ZDU3
ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJD
b3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxF
KFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRo
UGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhD
b25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVh
bCB2b2lkIGluY3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29s
IGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAw
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvV2ViQ29yZS9zdmcv
U1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLmM0OGIyMTcgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgK
QEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1
ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Bh
dGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR1BhdGhQ
YXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvV2Vi
Q29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLmNmNGNkMDIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRo
U291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291
cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmly
dHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRh
KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uMGYwY2NiYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3Bl
Yy5oCkBAIC0zNCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdU
cmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9W
aWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0g
ICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGlj
OgogICAgICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmNwcAppbmRleCBjOTgwNGFlLi45MTYyNmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9n
cmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2Uu
Y3BwCkBAIC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZH
SW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9t
ZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xp
ZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJDb3JlL3dlYmF1ZGlv
L1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJDb3JlL3dlYmF1ZGlv
L1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7
CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVB
bmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29y
ZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4u
OGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDgg
KzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xh
c3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsgfQogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25zdCBLVVJM
JiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdCgp
ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgg
Yi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLjE5
NzM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgK
KysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDksNiArNDks
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJT
b2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5u
ZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFu
bmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2Nv
bCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50
LCB1cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3
MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2Uu
aAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEz
ICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29j
a2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3Bv
bnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJT
b2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tl
dEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRz
aGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5j
b21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93
ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dl
YnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZh
Li5hYzgzZThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2Fk
ZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250
ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01v
ZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03
Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRo
ZSBicmlkZ2UuICBUaGUgUGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwK
ICAgICAvLyBsaWZldGltZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFu
bmVsQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMg
V2ViU29ja2V0Q2hhbm5lbENsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBl
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFw
cGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9XZWJD
b3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGEx
Li42OGY5NjI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJl
cG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUz
LDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclBy
b3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0
U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
RGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3Jp
cHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAg
IHZvaWQgd29ya2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3Nh
Z2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRl
eHQuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0
NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2lu
ZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3
aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3Mg
T2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7
CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAg
IHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5o
CmluZGV4IDMzOTM3Y2UuLmEyZWM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIK
ICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
QEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVz
c2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2Jq
ZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJv
eHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5n
UHJveHkoV29ya2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5M
b29wLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNm
Li43YjMxNDljIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAK
KysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0LDgg
QEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4gU3RyaW5n
KCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1cCk7
CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAg
ICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAppbmRleCA5ZDRl
ZGZkLi5mYTFiY2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5o
CisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUo
KTsKIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
Y2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGlj
IFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkg
eyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLjRhYTlmODcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiVGhyZWFk
R2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2su
aCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRD
b3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVw
RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRy
PFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA3ODJlMTU5Li4xYjljNTI5NCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcApAQCAtNjMsNyArNjMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMg
V1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRw
UmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAg
IFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZp
eDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDFiOTgzZTYuLjAwNDI2YTkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuaApAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291
bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1
ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvV2Vi
Q29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0NWIuLjZhNzNiODYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAorKysgYi9XZWJDb3Jl
L3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVj
dCBFdmFsdWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZh
bHVhdGlvbkNvbnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAg
ICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlv
bjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmly
dHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVz
c2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAg
ICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRp
b25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIv
V2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uZDg5N2RhNiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhO
b2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFt
ZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1f
aXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAg
ICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmggYi9XZWJDb3JlL3ht
bC9YUGF0aFBhcnNlci5oCmluZGV4IDQ0YThlNDguLjQwYjczZGMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAt
NTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbihpbnQg
dCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQogICAgICAgICB9Owog
Ci0gICAgICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIFBhcnNlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAgICAgICAgICAgIH5QYXJz
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmggYi9XZWJDb3Jl
L3htbC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLmU3ZTFiY2QgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVk
aWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
ICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVl
OjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24q
KTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQ
YXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uZjc3MGQ5
OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwv
WFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
ICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJs
aWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTdGVwIDog
cHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVw
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAg
ZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxm
QXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAg
Ci0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAgIGVudW0gS2lu
ZCB7CiAgICAgICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9XZWJDb3JlL3htbC9YU0xJbXBv
cnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uMWZlYTViYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwv
WFNMSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUs
NiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0
OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNo
ZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVl
dCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiNmViYTIxLi4zYTZjZGQ2
IDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBH
ZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAg
ICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBn
ZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFu
ZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVt
ZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NC
YXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQ6IFVwZGF0ZWQg
Zm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3Vu
ZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4
M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3Qu
aAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAgLTMyLDE0ICszMiwx
NCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gQm91bmRPYmpl
Y3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2Qg
Y2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0
cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFu
ZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVj
dE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEuLjU5YzIxNzcgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCisrKyBi
L1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCkBAIC00MCw3ICs0
MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4
cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBD
YWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xp
ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1
YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSks
IG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxs
ZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFn
ZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAppbmRleCA2
NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2Vy
QWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFu
YWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhw
ZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3By
aWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFn
ZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBo
YW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1hbmFnZXIpOwogcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50
KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdn
ZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENs
aWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAgLTMyLDcgKzMyLDYgQEAK
ICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsX2gKIAogI2luY2x1ZGUgIkluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsKQEAgLTQ0LDgg
KzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xp
ZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVu
dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxl
ICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2Vi
RGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENs
aWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNB
Z2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5j
cHAKaW5kZXggODgwYWRiNC4uMDIyNmVmMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
ZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNsdWRlICJXZWJWaWV3
Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2NmExY2IuLmIwODUzMzgg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwu
aAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAg
LTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVz
c2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1jbGFzcyBXZWJEZXZUb29sc0Zyb250
ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmQKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkRldlRv
b2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNGcm9udGVuZEltcGwpOwogcHVibGlj
OgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgICAgICBXZWJLaXQ6OldlYlZpZXdJ
bXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBh
ZGFhYjYxLi5jMDU0ODM3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0y
NzksNyArMjc5LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVn
aW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8g
b3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhv
ZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJv
bWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMg
UHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250
ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hy
b21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUq
IGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEwMy4uNGZkNDJhNiAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2LDcgQEAgc3RydWN0IFdlYlJlY3Q7
CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdlYlBvcHVwTWVudSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJhbWVsZXNzU2Nyb2xsVmlld0NsaWVu
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1l
bnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICAvLyBX
ZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXgg
NGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNp
bmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1j
bGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsy
Nyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQu
Y3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIu
LmUyNmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNw
cAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIy
LDYgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlSW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICov
CiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVz
b3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlh
YmxlLmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktp
dC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApA
QCAtMSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZm
IC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNl
UHJveHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9Q
bHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQv
bWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMs
NyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpT
Qzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpT
VmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUq
LCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgs
IEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9i
amVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBi
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkx
MzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNl
VHJhY2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFj
a2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6
fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdp
bkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXgg
MWRkNGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysg
Yi9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3Rm
L0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUg
PHd0Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1
ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZh
cmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1
MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0
L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5N
QVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250
YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1W
QVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJs
aWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAg
ICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJU
eXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQv
d2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEv
V2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlC
YWcuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVu
a253bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6
U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1j
bGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVy
dHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVBy
b3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlU
eXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9X
ZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBh
L1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4v
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToK
ICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBG
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIu
Y3BwIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUy
YjgxZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysg
Yi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3Rh
dGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1
cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJh
ZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRh
YmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0
IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVy
biBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3Bh
dGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1
cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5z
cGVjdG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0
YTggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dp
bi9XZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rv
cl9oCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNw
ZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYklu
c3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmll
dyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAg
Yi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTli
OTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisr
KyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBA
QCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJl
dHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExv
Y2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVm
IHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRl
eCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxk
LmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNz
IFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdv
cmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3JsZCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgogICAgIHN0
YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8
V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVl
LmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJp
YWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApA
QCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJp
YWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJs
aWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJp
dmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwog
cHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUlu
c3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0
ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZi
NjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0
ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIs
NyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9u
Y29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVz
ZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVi
bGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJ
bnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDU1NDQ4OGIuLmM0NDQ5MjAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjMg
IFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUg
YW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFs
bG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYs
ICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBp
bmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFi
bGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTEx
LTIyICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgcGF0aHMg
cmVsYXRpdmUgdG8gJFdlYktpdFZTUHJvcHNSZWRpcmVjdGlvbkRpciB0byBhY2Nlc3Mgc2hhcmVk
IC52c3Byb3BzIGZpbGVzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmlu
YXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3Jl
LmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9C
aW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCaW5hcnlTZW1hcGhv
cmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNl
IENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktp
dDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5o
CkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBN
b2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6CiAgICAg
TW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVk
TWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0
Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5o
CkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJl
ZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTUyLDcgKzUx
LDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0gICAgY2xhc3MgSGFu
ZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKICAg
ICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRl
ICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIlNo
YXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZP
Uk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVj
dGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAK
IGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNz
JiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgg
Yi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44YzVlOGUzIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9XZWJLaXQyL1No
YXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVmaW5lIENoaWxkUHJv
Y2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90
ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAg
ICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9O
UE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVj
dE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAorKysgYi9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMw
LDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL25wcnVu
dGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFy
ZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2Jq
ZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0gYS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5z
L05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5fUFJP
Q0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXQy
L1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5z
aW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQv
U2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24u
aApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9uX2gKIAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYg
LS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaCBi
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCmluZGV4IGU4
ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmlu
ZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZElu
ZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJbmRpY2F0b3JX
aW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9ydCA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1Jl
ZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUyLi4wZGM3YTlj
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5h
Z2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdl
ci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQxLDcgKzQwLDgg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBX
ZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDogTm9uY29weWFi
bGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblBy
b2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4uOWUxNzQyZSAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3Jl
V2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3Rv
cmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0
b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3RvcmllczsKIH0KIAot
Y2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXRoV2Fsa2Vy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1YmxpYzoKICAgICBQ
YXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNz
L1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0g
YS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRM
aW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFjYTguLjhiMDAzMzMgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAorKysgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcgKzI4LDYgQEAK
IAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
UmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3ICs1NCw2IEBAIGNsYXNz
IFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5k
ZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRv
d25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIH5Eb3dubG9h
ZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1h
bmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgK
aW5kZXggMDI0NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rv
d25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxv
YWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIERvd25sb2Fk
TWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5k
bGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpT
T2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0
LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1l
X2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8vIE5QSlNPYmpl
Y3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3MgTlBKU09iamVj
dCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09iamVjdCA6IHB1
YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09iamVjdCk7CiBw
dWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAq
IG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1naXQgYS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdl
ci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCkBAIC0y
OSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rpb25zIGZvciB0
aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1jbGFzcyBQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdp
blByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4NGEgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKKysrIGIvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBA
QAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJsYXkuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2Li5hZTZjNzE5IDEwMDY0
NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAorKysgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5k
ZXggODI0YjcxNy4uNjI0MGU1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTIzICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFu
ZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxv
Y0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAj
NDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5o
ZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxl
LmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAq
IEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTEx
LTE4ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpAQCAtMTkzMDEsNyArMTkzMTMsNyBAQAogCiAyMDEwLTA3
LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29t
bWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8Kg
dG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0
IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdl
ciBhbmQgTGVvcGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi9tYWluLmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFi
bGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgK
QEAgLTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAg
dHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3Vu
ZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkg
YWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQq
IHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Bw
Qm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAg
cHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RFJURGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RFJURGV2VG9vbHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgK
QEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9v
bHNBZ2VudENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBA
IHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVu
dDsKIAotY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xz
QWdlbnRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdl
bnRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwog
cHVibGljOgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29s
c0FnZW50KCkge30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVERldlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50
LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHND
bGllbnQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3Mu
aCIKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVu
dC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7
CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDog
cHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAg
ICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQg
OiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9v
bHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1
YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4
IGI2NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEs
NyArMTExLDggQEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xs
ZXIuIFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24g
YXMgcG9zc2libGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVz
dE5hdmlnYXRpb25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0
aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNv
bnRyb2xEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJU
aGVtZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4
dC9wbGF0Zm9ybV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUv
Y29yZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEg
Zm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNv
bnRyb2xEUlQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJU
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGlj
OgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4g
V2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBz
ZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVu
Z2luZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVF
bmdpbmVEUlQuaAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4
LDkgKzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2lu
L1dlYlRoZW1lRW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNz
IFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6
OldlYlRoZW1lRW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2lu
ZURSVCk7CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dl
YktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMxNzE4MTMgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRv
b2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTAgQEAKICNkZWZp
bmUgSG9zdFdpbmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdp
bmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKIHB1YmxpYzoK
ICAgICBIb3N0V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9XZWJL
aXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIv
V2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4
LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLjIzNmNjMWMgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysg
Yi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTI3LDEx
ICsyNywxMCBAQAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRlIDxXZWJLaXQy
L1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBUZXN0SW52b2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3Qg
Y2hhciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74665</attachid>
            <date>2010-11-23 07:58:18 -0800</date>
            <delta_ts>2010-11-24 00:20:49 -0800</delta_ts>
            <desc>playing with Chromium&apos;s EWS bots round #3</desc>
            <filename>kedd5.patch</filename>
            <type>text/plain</type>
            <size>327164</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li5iYTlkYzc5IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi5kZjE5ZTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIHRoZSBKYXZhU2NyaXB0
IHNwZWNpZmljYXRpb24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMu
ICovCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZiBSRUdFWFBf
SElTVE9HUkFNCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xMTIsNyArMTEzLDkgQEAg
c3RydWN0IEJyYWNrZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7
CiB9OwogCi1zdHJ1Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNo
RnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJu
TG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3Vz
RnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRl
bnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRl
eCA3NmMxNDcwLi4yNTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9D
YWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNp
bmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcg
bV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVO
dW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUz
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7
ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNl
KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2Uz
YzIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAg
ICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8
UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oCkBAIC0zMyw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVj
dCBBcmd1bWVudHNEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3
LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVm
aW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5k
ZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyAr
ODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJl
YWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAx
ZTIyYjZhLi5mMTdlMjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1h
Y3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVw
ZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQu
LjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4w
YzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUs
NyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
QXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1
ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAg
ICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5
bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42
NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZp
bmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRp
b25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAg
ICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAg
ICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBEcm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFs
bExvY2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNT
dGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAg
ICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNl
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmlu
Z0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRy
X3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXgg
YzU1MWJhYy4uMTAxOGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
U3RhY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3
ICsyNyw4IEBACiAjZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAg
ICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxW
YWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNr
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAg
ICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3Qg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclBy
aXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jh
c2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiBy
ZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhw
KQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAj
ZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hh
aW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29w
ZUNoYWluTm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykK
ICAgICAgICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCmluZGV4IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQw
LDcgKzM5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcp
CiAgICAgcmV0dXJuIHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAot
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
bWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3NTdG9yYWdlKTsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTbWFsbFN0cmluZ3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3lt
Ym9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVk
U3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlND
ZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZh
bHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMg
dGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0
aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vh
a0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4u
OGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8g
dGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRh
IGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFs
bCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJl
ZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVm
Q291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291
bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVh
ZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaAppbmRleCBiZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYs
NyArNDYsNiBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyAr
MTA4LDkgQEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhl
Y1N0YXRlKiwgY29uc3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVy
cmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2Yg
dG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFu
RGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBH
cmVnb3JpYW5EYXRlVGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRl
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRl
ZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVy
cmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8K
IC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxv
Y0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAg
ICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1
bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xh
c3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdp
ZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8g
ICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAg
ZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAg
ICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2
b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAg
ICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6
ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwK
LSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RB
bGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NC
YXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYg
Ly8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENv
dW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRl
ZDc1YzUuLjdhYjI5ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwx
NCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1h
cC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVm
YXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJh
aXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhh
c2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rp
b25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4
IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJn
Pjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlB
cmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgot
ICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1h
cHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxW
YWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsK
ICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVB
bGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5j
dGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0g
MjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcs
IGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFs
bG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEg
KzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2Vy
KTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJs
ZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5s
b2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NRDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewpAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNz
YWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1
ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVk
MmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdURl9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYg
X19oYXNfZmVhdHVyZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQot
I2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRp
YWdub3N0aWMgcHVzaCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZh
dGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsg
XAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBk
ZWxldGU7IFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UK
LSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAg
ICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYK
LQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4g
ZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29w
eWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5v
bmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0
IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsg
fQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBX
VEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNl
bmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2
NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIs
NiBAQAogI2RlZmluZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1
ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NP
d25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9w
dEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25B
cnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBP
d25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxp
Y2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5j
bHVkZSAiT3duUHRyQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyAr
MzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duUHRyOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQ
dHIoVCopOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpU
eXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0xMTE4LDQgKzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgog
CisvKiBOb25jb3B5YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRl
ZiBfX2hhc19mZWF0dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgor
CisjaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJp
dmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRl
OyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9
IGRlbGV0ZTsgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxz
ZQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAor
ICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRp
ZgorCisvKiBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9k
ZWxldGUgKi8KKworI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwK
KyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsg
XAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwK
KyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRl
cm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJl
ZShwKTsgXAorICAgIH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMx
LDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5k
aWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZD
b3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkK
ICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmMyMWQ0ZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVm
aW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxl
dGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKCkgOiBt
X3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCogcHRyKSA6IG1fcHRy
KHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBA
IC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0
cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRU
cmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJ
ZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0z
MSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAj
ZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0
b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRv
IHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQg
YXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1w
YXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRl
bnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXgg
MzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBA
IC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFk
U2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVk
QmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRp
YWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Yy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4u
MTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYg
QEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNp
ZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURT
KQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7
CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMo
KTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBU
aHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30K
ICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMp
OyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2Fk
Li5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNX
aW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNw
ZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVB
RFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhh
dCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi43MmFlNWU1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdU
aHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9pZCogZGF0YSwg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVudHJ5UG9pbnQpCiAgICAg
ICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4IDA0NDM2NWYuLmRhZWEx
OGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4u
MmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0z
NSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBAQCB0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247
CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3
ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7
CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
ZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBw
dWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0x
MzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFk
V3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+
VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uYWJjOTYwMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gK
ICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAi
Tm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNo
ZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAg
LTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3Rv
ckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3Rv
clR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWRE
YXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0
YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykg
aW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpA
QCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJh
bElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODQsNyArODQs
OCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3Ry
aW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJl
YWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRo
cmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4
OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5v
ZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093
blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNl
NDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcg
KzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19m
cmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Zp
bGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsg
ZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVy
LmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBu
YW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5n
QnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0
cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmlu
Z0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBib29sIGlz
U3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52
YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5
ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAg
ICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5l
dyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFj
ZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFu
IGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li41YWIz
NDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVj
dCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNz
ID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYx
Y2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJw
cmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAt
MzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJ5dGVEaXNq
dW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAg
ICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTcsNyArMzE4LDkg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVj
b2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4o
UGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24q
PiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJB
bGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBt
X2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRl
cm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xh
c3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFu
Z2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9yIGZhc3RlciBs
b29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBtYXRjaGVzIGFu
ZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3RydWN0IFBhdHRlcm5UZXJtIHsKICAgICB9
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0
aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRo
cm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2
ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1z
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVy
bkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLjRhNjk5MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQwMDk3Ny4uNjRm
NmQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgU2F0aXNoIFNhbXBhdGggIDxz
YXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEplcmVteSBPcmxvdy4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgg
Yi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZX
RF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
aiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggODVkYjZmZC4u
OTVmYjc1NSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MzU1OCwx
MCArNjM1NTgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJl
bGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJ
CQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9y
d2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyZWU1NmVlLi5iMmFjODY2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBi
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTU3LDcgKzU3LDggQEAg
c3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91
c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5kMDkxNDMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
Y2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3Jp
cHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihjYWNo
ZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAppbmRleCA0YzI1NDA3
Li5kMzJmNzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwx
MiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmll
bmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9v
a3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
ICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVy
U2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1
Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyBy
ZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdp
Y2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdX
cmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVn
V3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFy
ZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0
YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4
IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWlu
VGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAg
IHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uY2ZjZWVkNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHku
IFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2
YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUo
SlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1Li4y
NzgxNGU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
QEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRv
dzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRG
cmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3RlZFB0cjxKU0RPTVdpbmRvdz4g
PiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCAzMTcyYzY1Li5kMjU5M2Y3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdl
OwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0
eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVBy
b3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlw
dFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjUyOGNiYzkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTgg
QEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhh
c2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERh
dGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGll
bnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBm
cmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7
CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+
V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5j
b250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjc4YjdkZGYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBA
CiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0g
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0Q29udHJvbGxlcihXb3JrZXJDb250ZXh0
Kik7CiAgICAgICAgIH5Xb3JrZXJTY3JpcHRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5o
CmluZGV4IGM4YjRhNDEuLjA5ZDUzNDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC00Myw3ICs0
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJlYWQuICBUaGUgRE9NRGF0YSBm
b3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3IgY2hpbGQgdGhyZWFkcwogICAg
IC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERPTURhdGEo
KTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmgKaW5kZXggMzc1OGUyMy4uOGM2YzAyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhU3RvcmUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8djguaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkBAIC0xNDksNyArMTQ4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBtYW5hZ2UgdGhlIGxp
ZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAgLy8gbGlmZXRpbWUgaXMg
bWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0YVN0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3RvcmUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01Ob2RlTWFwLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMWFhMWY2Mi4uZjQy
ZTgxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC02MCwxNCArNjAsMTQgQEAgcHVibGljOgogCiAjaW5jbHVkZSAiT3duSGFuZGxlLmgiCiAjaW5j
bHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIGNsYXNzIERPTVdpbmRvdzsKIAotY2xhc3MgU2NyaXB0
Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFt
ZURhdGEgKTsKIHB1YmxpYzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAg
ICB+U2NyaXB0Q2FjaGVkRnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggNWM1ZDZjNi4uNDQxYWIzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogCi1j
bGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3Jp
cHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2
ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBiNzVhMDU0Li5lMDk2OWUxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNp
bmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3MgU2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRT
dGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRp
dGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAxMTgxM2IwLi5kYzI0NzEyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRl
ICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3Mg
UGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1
YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsgcmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0Vt
cHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNl
cHRpb24pCkBAIC03OSw3ICs3OSw4IEBAIHB1YmxpYzoKICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgp
IHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1YmxpYzoKICAgICBTY3JpcHRT
dGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0
ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShz
Y3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAppbmRleCAzNmZjMWY2Li4yYzI4NzgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
ZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAog
Ly8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMg
YW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRl
IHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAg
ICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9
CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0
ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJp
ZGdlLmgKaW5kZXggNTBlZmM2NC4uOTE4MjI2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBA
QAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsKIAogbmFtZXNwYWNlIEJpbmRp
bmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhv
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1QYXJh
bWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9JZGVu
dGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uY2E0M2FkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
cmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAu
aApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQpOwogICAgIHN0
YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
CmluZGV4IDk2OTc0ZDkuLjg4ZWM3MjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9C
cmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKQEAgLTU5LDgg
KzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3Mg
Q2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAg
ICBDbGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3Qg
SWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZp
ZWxkTmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0
IElkZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CkBAIC0xMjUsNyArMTI3LDgg
QEAgcHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGltZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0
OwogfTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJyYXkg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5KTsKIHB1YmxpYzoKICAgICBBcnJheShQ
YXNzUmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmggYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1l
X3Jvb3QuaAppbmRleCBiYWJkN2FkLi4zOWZiMzU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX3Jvb3QuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaApAQCAt
MzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5o
CmluZGV4IDgzM2Q3ZmUuLjU2YjI4MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltYWdl
VmFsdWUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcg
QEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENT
U0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VW
YWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NT
SW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVs
ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLjczZjJhY2Ig
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVT
aGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBD
U1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4u
MDZkNDA2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFt
ZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIEF0
b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAgIEF0b21pY1N0cmluZyB1cmk7CiAgICAgICAgIE93
blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMWRhMjBiNy4uOTcyZjc3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTMyOCw3ICszMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5k
U2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjQ1ZjRhNDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNz
IENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Bh
cnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyAr
ODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7
CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1Ymxp
YzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAgICBPd25QdHI8Q1NTUGFyc2VyVmFsdWVM
aXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjlhOWVjNDQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENT
U1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUHJvcGVydHkgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHkoaW50
IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFs
c2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAg
OiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBi
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9yQmFnIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7
IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzRW1wdHko
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li40NmY0YWFmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0
LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSZW5k
ZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zMyw3
ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsK
IAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVs
ZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9y
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1NlbGVj
dG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMw
Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lmaWNpdHlG
b3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsK
IAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVj
dCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJlRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJh
cmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAgICAgICAg
ICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApp
bmRleCA5ZTQwZWY4Li44NTg0Mjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ckxpc3QuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaApAQCAtMjcsMTEgKzI3
LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9oCiAKICNpbmNsdWRlICJDU1NTZWxlY3Rv
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3Rv
ckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1NlbGVjdG9y
TGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMWZmM2JkNS4uMDVhMWJmNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7
IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUxLi4xM2ZjOTdlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwogCi1j
bGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE1lZGlhUXVlcnlSZXN1bHQo
Y29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1bHQpCiAgICAgICAgIDogbV9leHBy
ZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1YmxpYzoKIH07CiAKICAgICAvLyBUaGlz
IGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBnaXZlbiBlbGVtZW50IGJhc2VkIG9u
IGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3Vt
ZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVldCogbWFwcGVk
RWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBh
Z2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdy
b3VwVXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxlKCkgeyByZXR1
cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hl
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNoZWNrZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBi
b29sIHN0cmljdFBhcnNpbmcpOwogCkBAIC0zMTUsNyArMzE4LDggQEAgcHVibGljOgogICAgICAg
ICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdCo+IG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5
UmVzdWx0czsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHIsIENTU1Nl
bGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAgICAgICAgICAgIDogbV9wb3Np
dGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NT
dHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgICAgICA6IG1fZmlyc3Qo
bmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRleCAyODEwMDliLi43
ZDFmYzdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBNZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gUmVz
dHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwgTm9uZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5oCmluZGV4IDAwYWMzOTQuLmQ4YzU5ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
QEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hh
cmFjdGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhl
IGxvYWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2Jh
YmxlIHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkg
c2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3Ig
ImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
eHAuaAppbmRleCA3MmQzZmZmLi44ZTQyNTVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICsz
OCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAK
LWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRp
YVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1
ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAg
Yi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dl
YkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFz
eW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBD
YWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAg
ICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2Ny
aXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsK
KyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBj
YWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYo
KXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgp
KQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5o
CmluZGV4IDFhMDUxYTguLjI5ZWU1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2Ny
aXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBA
IGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVu
dDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3lu
Y1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1l
bnQpIHsgcmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5
bmNTY3JpcHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
IGIvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5kZXggODZhMjJiMC4uZjUwMzZlNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvV2ViQ29yZS9kb20vRE9N
U3RyaW5nTWFwLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRE9NU3RyaW5nTWFwX2gKIAog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3
ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGlu
dCBFeGNlcHRpb25Db2RlOwogCi1jbGFzcyBET01TdHJpbmdNYXAgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRE9NU3RyaW5nTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01T
dHJpbmdNYXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwg
fkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggODNiYTg4NS4uODQxYmIyNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNz
YWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAg
ICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVz
c2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29u
dGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1l
bnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRv
Y3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4uNTBlYzg4MyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7
CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7
IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudC5o
IGIvV2ViQ29yZS9kb20vRXZlbnQuaAppbmRleCBmMDVkMzZjLi5jZDQ5ZGU4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTI0LDYg
KzI0LDcgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVudF9oCiAKKyNpbmNsdWRlICJD
bGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIKICNpbmNsdWRlICJFdmVudFRh
cmdldC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zMSw4ICszMiw2IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsaXBib2FyZDsKLQogICAgIGNsYXNz
IEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+IHsKICAgICBwdWJsaWM6CiAgICAgICAg
IGVudW0gUGhhc2VUeXBlIHsgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgg
Yi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNDk2ODA0ZS4uN2UxMGU2ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaApAQCAtMTc4LDcgKzE3OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBcCiAvLyBl
bmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKLSAgICBjbGFzcyBFdmVudE5hbWVzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudE5hbWVzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8g
d29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBF
dmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAgICAgICAgRXZlbnROYW1lcygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uZmExOTBkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3
ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3Rl
cmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1h
cDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAg
ICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAog
I2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMTRk
OTBmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hh
bm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRl
cGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBl
bnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZv
a2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFu
bmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAK
QEAgLTc4LDcgKzc5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBSZXR1cm5z
IHRydWUgaWYgdGhlIHByb3h5IGN1cnJlbnRseSBjb250YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBw
b3J0LgogICAgICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIGNsYXNz
IEV2ZW50RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV2ZW50RGF0
YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFz
c093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApp
bmRleCBhYjIwOGQyLi5lZGM1MDYyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAg
ICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAg
cHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzogICAgCiAg
ICAgTm9kZVJhcmVEYXRhKCkKICAgICAgICAgOiBtX3RhYkluZGV4KDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgK
aW5kZXggMzRmYzA2OS4uMTdlODUwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oCisrKyBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBA
QCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFt
ZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxR
dWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiNmJl
YjZlLi40ZTkxYmQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysr
IGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFNj
cmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3JpcHRFbGVt
ZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0
ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVu
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjhjYTgy
YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysg
Yi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKKyAg
ICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAgICAgIHZpcnR1YWwgflRhc2soKTsKICAgICAg
ICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0Kikg
PSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0YXNrcyBnZXQgbWFya2VkIHNwZWNpYWxseSBz
byB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwgYW5kIGFyZSBleGVjdXRlZCwgd2hlbiB0aGUg
Y29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBtZXNzYWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0
cmluZy5oCmluZGV4IDgyNmU2YmQuLjgzOTliNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuaAorKysgYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAg
LTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU3BhY2VT
cGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0
cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
U3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uo
c2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5o
CmluZGV4IGY5N2FmY2YuLjk3ZWM0ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsy
Myw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQ
bGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJj
ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBE
ZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVy
ZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGlj
YXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwog
cHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJu
IHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1
cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1
cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHBy
b2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxl
bWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2My
Li5kNWRhOWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisr
KyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6
IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKERvY3VtZW50
KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAppbmRleCA3YTMyODVmLi42ZWRlNzg2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTc1LDggKzc1LDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAg
ICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsK
ICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi44ZjQxOTMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFhNTERvY3VtZW50UGFy
c2VyU2NvcGVfaAogI2RlZmluZSBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKFhTTFQpCiAjaW5jbHVkZSA8bGlieG1s
L3RyZWUuaD4KQEAgLTM2LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVu
dFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApp
bmRleCAxMjg2YzA3Li44OWYyY2JiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVCdXR0b25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0gRUZyYWdtZW50VHlw
ZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9
OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVw
bGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVu
dEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50
KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRG
cmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29y
ZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0Li4zOTc4Zjc1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNp
bmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAi
VmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9u
OwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0
aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlv
bk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rp
b25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxl
ZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCA0ZGNlZDA1Li5kZTlj
NzU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysr
IGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBA
IHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNz
IFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hl
Y2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBl
cik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NS
ZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCmluZGV4IGE5NjI2OGQuLjFmYmU2MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVw
cyBlbm91Z2ggb2YgdGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBzZWFyY2ggaW4gdGhl
IGZ1dHVyZSwgYnV0IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2VzIGFyZSBhbHdheXMg
ZXF1YWwgdG8gbm9ybWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUgaWYg
PGlzQ2FzZVNlbnNpdGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJp
bmcmIHRhcmdldCwgYm9vbCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVh
cGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQu
aApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQg
c3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVy
Zm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lz
dGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4u
MTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkg
cG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEg
cGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhh
dCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxs
ZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVy
LmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4u
MDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
CisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgs
OCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmls
ZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0Nh
bGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBl
bmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxs
YmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJl
c3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlw
ZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmlu
ZGV4IGU4OWUzMmIuLmQ2ODA0N2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9s
bGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
ICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3Rv
cnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NS
ZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmQ1MGI5Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAot
ICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUq
IHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZh
Li5kYTNlNmQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysr
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotc3RydWN0IENvbGxlY3Rpb25DYWNo
ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxlY3Rpb25DYWNoZSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBD
b2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNh
Y2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uZTE1MDczMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJs
aWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tl
bkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLmUwZGJj
YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9
OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAppbmRleCBmY2IyYmU4Li41NmJhYTdkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBA
IC0xMjExLDcgKzEyMTEsOSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2Vw
YXJhdGVGcm9tQXR0cmlidXRlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0cnVj
dCBFdmVudEhhbmRsaW5nU3RhdGUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBFdmVudEhhbmRs
aW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmVm
UHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWlu
YXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQ
YXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBk
ZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3Mu
aAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQog
ICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBjMTQxN2Zh
Li5kZjBhYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNs
YXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0
eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBv
c2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8g
Y2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBl
PiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4x
ZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJhbmdl
X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAot
Y2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29s
IGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFs
aWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4
IGZlMThiNmIuLmY4M2E1ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVz
c2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIAotY2xhc3Mg
VmFsaWRhdGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlv
bk1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oCmluZGV4IDUzMmRkYjIuLjIyYTQ4YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApA
QCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5
U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRl
KEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIGNvbnRyb2wpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmggYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCBhMjVlOGExLi4xNGY1YTBhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAor
KysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKIAogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBA
IGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7
CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZp
cnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NT
UHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVs
b2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGlj
OgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1Ymxp
YzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rp
b25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQq
IGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhU
TUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDog
bV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRl
eCAwNTA1M2RmLi5jMjAxYzNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi45MzZkNDExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxlbWVu
dFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNsYXNz
IFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2Fy
ZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJk
IChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1l
bnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNrKCk7CiAgICAgfkhUTUxF
bGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIH5FbGVtZW50UmVj
b3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAppbmRleCBhY2EwNWJiLi5mNzVm
YTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVu
dExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50
OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1lbnRTdGFjay4KLWNs
YXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCBhNzA5YmQ5Li42NDJlNDM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0
ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRo
ZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAi
bGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0oKQogICAgICAgICA6
IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOCw3ICsxMjksOCBAQCBwcml2YXRlOgogICAgIFNlZ21l
bnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0mIGlucHV0U3RyZWFt
KQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAppbmRleCA1YmUzM2IwLi5hNGI3NDYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBA
CiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFz
cyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
UGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2No
ZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBw
YXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5k
ZXggOTRhOTBlNi4uODYwNDUzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFz
cyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uMWI3ZjkxZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyAr
NDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0OwogY2xhc3Mg
U2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQq
IGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li44ZWNkOGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAi
TmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmlu
aXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBl
bmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgog
ICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxz
ZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBz
aG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8g
ZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1j
bGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWlj
SFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwog
cHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6
IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4
IGYxNmIwNDkuLmQ1Nzc5ZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBAIC0y
OCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVu
dGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFz
cyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBA
IHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAg
ICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJ
bnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAg
ICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1FbGVtZW50KiBj
bG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAK
LWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFj
dGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVy
VG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQo
dG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAg
ICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtl
SW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxk
ZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5z
ZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWls
ZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1
aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRl
eCAwZTc1OTdjLi45NjljN2EwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
QEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0Lmgi
CiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3Np
dGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1
bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTFRva2VuaXpl
ciogdG9rZW5pemVyLCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywg
Ym9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAgICB7CkBAIC0yMDMsNyArMjAzLDggQEAg
cHJpdmF0ZToKICAgICB2b2lkIHByb2Nlc3NGb3JlaWduQ29udGVudFVzaW5nSW5Cb2R5TW9kZUFu
ZFJlc2V0TW9kZShBdG9taWNIVE1MVG9rZW4mIHRva2VuKTsKICAgICB2b2lkIHJlc2V0Rm9yZWln
bkluc2VydGlvbk1vZGUoKTsKIAotICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoKTsKICAgICAgICAgRnJh
Z21lbnRQYXJzaW5nQ29udGV4dChEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4dEVs
ZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaApAQCAtMjgs
NyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIodW5zaWdu
ZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25lc3RpbmdMZXZlbCgmbmVzdGluZ0xldmVs
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKaW5kZXggNGU4OGJlYy4uOTAyZWRjMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlw
dENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFZhbHVlOwog
Ci1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb25z
b2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3Nh
Z2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5z
aWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5n
JiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NPd25QdHI8U2NyaXB0Q2FsbFN0
YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCBmODBj
ZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0
LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50LmgKaW5kZXggMTFmMTBjZS4uN2IzZTkyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQog
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3Bl
Y3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxl
ciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAg
ICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggY2E1YTlkOS4uZjljMTA0MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25z
ZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlPiA+IERhdGFiYXNlUmVzb3VyY2VzTWFwOwogICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFJl
ZlB0cjxJbnNwZWN0b3JET01TdG9yYWdlUmVzb3VyY2U+ID4gRE9NU3RvcmFnZVJlc291cmNlc01h
cDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA5NTAx
YWM4Li4wMzE2MDk3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCkBAIC01Miw3ICs1Miw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2
ZUJyZWFrcG9pbnREZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3Rl
bmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3Bl
Y3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmlu
ZGV4IDlkY2FhNWEuLjRhYTg3ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIklu
c3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3
ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9u
dGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JG
cm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwog
ICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBjMWY1ZGIxLi5iMWE4YmU1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICsz
NSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFw
U25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxl
ckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElu
c3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKik7CiAgICAg
dmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUwMjcuLmE2YmEzZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51
bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxp
bmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBT
Y3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0
b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4uMTMxZTEzMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
U2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBTY3JpcHRDYWxs
U3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1jbGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwogcHVibGljOgogICAgIHN0YXRpYyBjb25z
dCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQu
LjVkODQ5YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNs
YXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAg
ICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAot
ICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li45M2U3NDM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiArNDcsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsK
IAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVk
PERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2
YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1
ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVu
dFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li4zMTE5NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVtcHR5RnJh
bWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1lTG9hZGVy
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgIH0K
ICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAtMzgzLDgg
KzM4NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2lu
Z0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxG
cmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRvckNsaWVu
dCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9y
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAt
NDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
Ci1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1
YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlD
b250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
RW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5Q29udGV4dE1l
bnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVzdHJveWVkKCkg
eyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShDT05U
RVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0Ns
aWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6Cisg
ICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkg
e30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50UG9pbnQm
LCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzMiw4ICs1NDAsMTAgQEAgcHVibGljOgogfTsKICNlbmRp
ZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6
IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4
ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9y
bVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGlj
OgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFz
cyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9k
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxv
YWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdo
aWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVy
IGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3Rv
cnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBk
YXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCmluZGV4IDk0YTIxYTQuLjZhNTRlOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4
IDI4ZmRhOWEuLjI0OTViMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1
bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZp
Z2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9u
KGRvdWJsZSBkZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0
LCBib29sIHdhc0R1cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBt
X2RlbGF5KGRlbGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCmluZGV4IDE0MDBj
MjUuLmYxNGQwNTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTQ3LDcg
KzQ3LDggQEAgY2xhc3MgRnJhbWU7CiBzdHJ1Y3QgRnJhbWVMb2FkUmVxdWVzdDsKIGNsYXNzIFNj
aGVkdWxlZE5hdmlnYXRpb247CiAKLWNsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAgTmF2aWdhdGlv
blNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0aW9uU2NoZWR1bGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmgKaW5kZXggZWI0MzE2Ni4uOTI2OGIyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtMzQsNyAr
MzQsNiBAQAogCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJU
aW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0
byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFz
IHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwg
dGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgot
Y2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwg
Y29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0
IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBA
IC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVy
cm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZy
YW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAg
Yi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjFiZDE5
YTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0
aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlh
bFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0
aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29w
eWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBQcm9n
cmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQog
ICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuaAppbmRleCA1ZDViNmIyLi44YzRhMGRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Q
cm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApA
QCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVzc1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDcgKzM1LDggQEAgY2xh
c3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsK
IAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBy
b2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIo
KTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9S
ZXF1ZXN0LmggYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKaW5kZXggYjZkZTMxMi4uOTZmN2Ix
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAK
LSAgICBjbGFzcyBSZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXF1
ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVxdWVzdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJlc291cmNl
TG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNr
UG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcw
NDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3VyY2VMb2Fk
Tm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291
cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9h
ZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmll
cik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQy
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1Ymxp
YzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVs
ZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2
ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVz
b3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhv
c3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uZDEx
ZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIu
IEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJh
bWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1
YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJlYWRhYmxl
TG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAv
LyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90
IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0
aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVh
ZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAog
ICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2
aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRh
YmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmlu
ZGV4IGJjZjY4YmUuLjhlNTI3NDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVzb3VyY2VF
cnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVM
b2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2Vu
dCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAg
LTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
LmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJD
bGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLmU4OTEzZTMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAK
ICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29y
a2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lk
IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRpb25zKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3Vw
LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAppbmRl
eCAyOWQwNzQ5Li5kMGRmMTBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlR3JvdXAuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAKQEAgLTUzLDcgKzUyLDggQEAgZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBk
YXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlV2l0aG91dEJyb3dzaW5nQ29u
dGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogcHVibGljIE5vbmNvcHlh
YmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAg
OiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGlj
YXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBB
cHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5
ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li42
NWMzYThiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlSG9z
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUg
U3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAg
ICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjAwYjI5Yzg1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwog
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAg
ICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0Fy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi42NmZiOWE4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAor
KysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApA
QCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAppbmRleCBlZDYwZjg0Li4wYmJkNTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgUmVxdWVzdDsKIC8vIEEgcmVzb3VyY2Ug
dGhhdCBpcyBoZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBv
YmplY3Qgc2hvdWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0
IHRoZSBmdW5jdGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZl
ZC4KIC8vIFRoaXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRo
IHRoZSBsb2FkZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xh
c3MgQ2FjaGVkUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJp
ZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uZjYwMjFmNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBA
CiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VD
bGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3Zlcmxv
YWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFz
cyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsg
fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBm
MzcxYTBlLi43MzQ5YTFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJM
OwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBz
Y3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBD
YWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hl
OwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAppbmRleCAxNWNlOWRhLi5lYTQ5MjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
QEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJsb2FkZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIApAQCAtNzEsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2
YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1v
cnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRo
aXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1l
bW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNo
ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5hYzBhNTdk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4
IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1j
bGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0
YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAg
ICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLjkxZmFjNmIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVm
aW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhv
ZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3By
aWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJh
c2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBw
ZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFl
YmFjNDguLmQyMjI4OTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0yOCw3ICsyOCw2
IEBACiAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxv
YWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRl
KEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKaW5kZXggZjdjY2I4Zi4uNGI5Y2UzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNv
bi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBp
Y29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJM
UmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVj
b3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
aW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNs
dWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNv
dXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBj
bGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0K
ICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxv
YWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5
Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxi
YWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEz
MDIuLjMxMTAxMDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYg
KzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAK
ICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwg
cHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRl
KGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0
aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlm
aWNhdGlvbkNvbnRlbnRzJiBjb250ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92
aWRlcik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggODMzYjkwOS4uYjU4
NTRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisr
KyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBDb250ZXh0TWVudUNvbnRyb2xsZXJfaAogI2RlZmluZSBDb250ZXh0TWVudUNv
bnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
RXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51
Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRN
ZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi5jNTlkYTQ4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAg
ICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFn
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRy
b2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi45NDBjMjVlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0
ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJh
cnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSop
OwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAg
ICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRs
ZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdT
dGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBFdmVudEhh
bmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8g
ZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2Ug
Z2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2Ry
YWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi41YmVlYjJiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDogcHVibGljIFJlZkNv
dW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
dmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdl
L0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IDg4M2M5OTMuLjI0MWI2OGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgog
I2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVu
dDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4
ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZy
YW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhp
c0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
IGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMTZiMTQyNi4uN2YzNjgzOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZl
cnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGlt
dW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25l
IGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0
c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVk
dWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBTY2hlZHVs
ZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9k
ZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRp
b25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5k
ZXggMmQ4MTA2ZC4uMTZjN2VjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9u
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApA
QCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiR2VvbG9jYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFz
cyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9s
bGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmggYi9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjhhNTUzNTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0
dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBh
Z2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRp
bmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGUwNzQ4MTQuLjZhNjhhNWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjYsNyArMjYsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVk
dWxlUGFpci5oIgpAQCAtODksMTIgKzg4LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9u
QmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JB
bGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1
cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAg
ICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVu
dHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApp
bmRleCBjYzQ3ZmJhLi4xNGRiNDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3Vw
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNj
cmlwdC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1l
c3BhY2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91
cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3Jv
dXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5mNzk1NmM0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3Mg
UGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
R3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwTG9hZERl
ZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdlR3JvdXBMb2FkRGVm
ZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaCBiL1dlYkNv
cmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhiMzFlLi41YjcwNzIzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFs
dGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkhh
bHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVy
KFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGMzNzE5ZTIuLjNlOWE2OTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4
dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBTZXR0
aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5k
ZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5w
dXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJl
cXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVj
aCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBl
bGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZv
ciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0
cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNo
SW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6
CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVl
Y2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNv
cmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uY2QzZDBmNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5o
CkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNj
cmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1
cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0
LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQu
aAppbmRleCBmYTQyZTJjLi4yNDc5ODRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclN0
eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyAr
MzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4g
d2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9y
LmgKaW5kZXggMmI3ODFmMS4uNDkwNzFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2OSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6c2hvdWxk
TG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBKYXZhU2Ny
aXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCAtIHVz
ZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAgY2xhc3Mg
WFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVkaXRvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAg
ICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5j
cHAKaW5kZXggNjYxNzJmNy4uNTEyNjUwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFz
ZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0
eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3Bl
cnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBl
ckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb3BlcnR5V3Jh
cHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9wcm9wKHByb3ApCkBAIC00MzgsNyArNDM5
LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
QmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBl
ckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIpOwogcHVibGlj
OgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcihUIChGaWxsTGF5ZXI6OipnZXR0
ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDg5M2M3
MTcuLmVhNzhjYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFu
aW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApp
bmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBsaWNpdEFuaW1h
dGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1
cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9
CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2
ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAg
ICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRl
eCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0
LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNG
aWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFj
ZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3Rl
IHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0Zp
bGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAg
IHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBA
IGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBG
aWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAg
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4g
YSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmly
dHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXV0b2RyYWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5o
CmluZGV4IGQ0NGVlMWUuLmQ2NTU0MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0
b2RyYWluZWRQb29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApA
QCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRv
ZHJhaW5lZFBvb2xfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBf
X09CSkNfXwogQGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFz
cyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRv
ZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29s
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgog
ICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2Ry
YWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51Lmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uZDY2NDk5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0
TWVudV9oCiAjZGVmaW5lIENvbnRleHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q29udGV4dE1lbnVDbGllbnRFZmw7CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDog
cHVibGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxh
dGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXgg
ZTcwMjkyMS4uMTEyNjU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIs
NyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENv
bnRleHRNZW51SXRlbShQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb24pOwogICAgICAgICBDb250
ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnUqIHN1Yk1lbnUgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaAppbmRleCA0N2NkNTM4Li4xZTk5NDkyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgRGVwcmVjYXRlZFB0
ckxpc3RfaAogCiAjaW5jbHVkZSAiRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8
Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
dGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBs
KGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0
KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVk
UHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLjNhOTkxZjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1
ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17Citj
bGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJl
Y2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVw
cmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9v
cC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZl
bnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9v
cCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2Vu
ZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2
NS4uZDYwYWU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3
ICsyNiw3IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0
aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3
dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0Miw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJl
ZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZp
Y2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAg
IHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGll
bnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2lu
ZG93LmgKaW5kZXggNzg4MmQ0OC4uNzhhNDQ1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2
LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7IH0KIAog
ICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywgbm90IHRoZSBj
b250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVy
d2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iODgzZmYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9L
aWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZv
aWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25zdCBTdHJpbmcm
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLmM0MjlhNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjIs
NyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUsNyArMzQsOSBAQCBjb25z
dCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZv
ciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNl
bnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBM
ZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDAp
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li40OTZmYmIzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgx
LDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291
cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy9I
ZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2FyZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0Li42YTM2MzE5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDgg
QEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAg
ICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwg
Z3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNz
ZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgK
aW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJn
ZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBA
IC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUg
IlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGlt
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhj
NTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZp
bmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAK
LWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVu
TG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFz
ZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1
bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWly
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uYjNkODg5NiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZv
cm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xh
c3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFy
VGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAg
IHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQo
U2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0
Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4u
MTJkZDZkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZu
ZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIEVhY2ggdGhy
ZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGlt
cGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQg
YnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1
c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hh
cmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU2hhcmVkVGltZXIoKSB7IH0KICAgICAg
ICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0Rmly
ZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKaW5kZXggOWY1N2YwMC4uZTg0MmI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRh
LmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKICNpZiBFTkFCTEUoV09SS0VSUykKQEAgLTQ1LDcg
KzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFw
cGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAotICAgIGNsYXNzIFRocmVhZEdsb2JhbERh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRHbG9iYWxEYXRhKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsKICAgICAgICAgflRocmVhZEdsb2JhbERh
dGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGFiNDI1OTguLjM1ZWQwMWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9UaHJlYWRUaW1lcnMuaApAQCAtMjcsNyArMjcsNiBAQAogI2lmbmRlZiBUaHJlYWRUaW1l
cnNfaAogI2RlZmluZSBUaHJlYWRUaW1lcnNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
QEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFz
ZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBU
aHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4uMDgxMDQw
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5l
IFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVy
QmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJl
ZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMxLDggQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
cmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNv
dW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXgg
OWEzMzRjYS4uYzg4MTM4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24v
QW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlv
bkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25M
aXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlv
bkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4YjgxLi4zOThlMTI3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEF1ZGlvQnVzX2gK
IAogI2luY2x1ZGUgIkF1ZGlvQ2hhbm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJl
cHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBtb3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBU
aGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bwb3NlZCB0byAiaW50ZXJsZWF2ZWQiLgog
Ly8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBpcyBtb25vLCBhbiBBdWRpb0J1cyB3aXRo
IHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNsYXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEF1ZGlvQnVzICk7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIENoYW5uZWxMZWZ0ID0g
MCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCmluZGV4IDY4MTY4MzAuLjczMjVl
OWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0
IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBBdWRpb0NoYW5uZWwgcmVwcmVzZW50cyBh
IGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRpbmctcG9pbnQgYXVkaW8gc2FtcGxlcy4K
IC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkgYXNzdW1lZCB0byBiZSBpbiBhIG5vbWlu
YWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRpb0NoYW5uZWwgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
dWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1lbW9yeSBjYW4gYmUgZXh0ZXJuYWxseSBy
ZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBhbGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zs
b2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCmluZGV4IGMzM2Iz
OGYuLjM1MTQ2OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaApAQCAtMzEs
NyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSFJURkVsZXZhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhSVEZL
ZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZEYXRhYmFzZSk7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNlPiBjcmVhdGUoZG91
YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCmlu
ZGV4IGIzODhiMzQuLmY0NDQ0NDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlv
bi5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEhSVEZFbGV2YXRpb25faAogCiAjaW5jbHVk
ZSAiSFJURktlcm5lbC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhSVEZLZXJuZWxzIChvbmUgbGVm
dCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5nbGUpIGZvciBhIHBhcnRpY3Vs
YXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZF
bGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2
YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZh
dGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmspIHJlc291cmNlcy4KICAgICAv
LyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0
LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5IG9mIG11bHRpcGxlIG9uZXMg
d2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL0NsaXBib2FyZENocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBi
b2FyZENocm9taXVtLmgKaW5kZXggMWQ2OTkyMS4uOGQ2ZmEyMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaApAQCAtNDIsNiArNDIsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSW50UG9pbnQ7CiAKICAgICBjbGFzcyBDbGlwYm9h
cmRDaHJvbWl1bSA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICB+Q2xpcGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1h
cEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29w
eWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJh
bWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkK
ICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3Iu
aAppbmRleCAyZTRlOTYyLi42ZDg5MmE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZpbmUgQ29sb3JfaAogCi0jaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUsNyArNzQsOCBAQCBpbmxpbmUg
aW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAmIDB4
RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBjb2xv
ciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1
cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9CiAgICAg
Q29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAppbmRleCA4N2ExYzVjLi4w
NzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFk
b3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAKICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB1c2lu
ZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmY1ZGQ4YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2FjaGUo
KQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleShjb25zdCBB
dG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmluZygpLCB1bnNpZ25lZCBzaXplID0gMCwg
dW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMgPSBmYWxzZSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250ID0gZmFsc2UsIEZvbnRSZW5kZXJpbmdN
b2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdNb2RlLCBGb250T3JpZW50YXRpb24g
b3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAgICA6IG1fc2l6ZShzaXplKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggZTY4NDVkOS4uNGZhNzQxNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZv
bnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnREYXRh
OwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udENh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uMGViNjY4NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjcsMTQgKzI3LDE0IEBACiAj
ZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgwKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4NWJj
Yy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1l
dHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01h
cC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAKIGNv
bnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNs
YXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFz
cyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEds
eXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxl
ZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDZhZGM5MGIuLmJhNzg5
YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAt
MzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAj
aW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTE1Myw3
ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEludGVycG9sYXRpb25IaWdo
CiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopOwog
ICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC0zNTYsNyArMzU2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9v
bCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cygpIGNvbnN0OwogCi0g
ICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dzQml0
bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmluZGV4IGMyZDVjMjQu
LjdjMDdiZWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGUgbmFtZSBjb25mbGljdGlv
biBmb3IgTk9fRVJST1IuCiAjaWYgKChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoV0lORE9XUykp
IHx8IFBMQVRGT1JNKFdJTikgfHwgKFBMQVRGT1JNKFFUKSAmJiBPUyhXSU5ET1dTKSkpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCmlu
ZGV4IDk4NWNhZDkuLjE5YzYwNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC04NCw3ICs4NCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICNlbmRpZgogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2
YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJpdmF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGlj
c0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhm
YWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggOTkx
Y2EzMi4uZTVkZGNiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xh
c3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJl
IHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZp
YSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVk
IGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmlt
YXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUsIFBh
c3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAgOiBt
X2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcsOCBAQCBwcml2YXRlOgogCiAvLyBVc2Vk
IHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3
aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVkIGZy
b20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVMaXN0
KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi5kNTRlMDA5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZUJ1ZmZlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFs
bG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+
IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBDb2xv
clNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCmlu
ZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291
cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSW1hZ2VTb3VyY2VfaAogCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShXWCkKQEAgLTExNyw3ICsxMTYsOCBAQCBj
b25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0aW9uTG9v
cEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAotY2xhc3Mg
SW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3VyY2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAgICBJbWFn
ZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0cnVlLCBib29sIGlnbm9yZUdhbW1hQW5k
Q29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFnZVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBlODdjNTNjLi4zMTY1NDc4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw5
IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxNZWRpYVBs
YXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1zdHJ1Y3Qg
TWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxheWVyRmFj
dG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3Jl
YXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlw
ZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlw
ZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAg
ICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQyYi4uNzFjOTlkOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0Niw3
ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xp
ZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclBy
aXZhdGUuaAppbmRleCBkOTU2Mjg2Li42Njk4MTllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM2LDggKzM2LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBJbnRTaXplOwogCi1jbGFzcyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZpcnR1YWwgfk1l
ZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxvYWQo
Y29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKaW5kZXggYmEy
NWRjMi4uNTY3Nzg0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRo
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4LDcgKzI4LDYg
QEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgUExBVEZPUk0oQ0cp
CkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZv
aWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVudCop
OwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQ
YXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi44ZTNhMDQxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFRp
bGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7
CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGRhYzMxZjgu
LjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fp
cm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBl
ZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9f
Zm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwog
Ci1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZU
X0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFz
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5k
ZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRleHR1
cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNE
OwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hhcmVk
R3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwogICAg
IH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggNTMxZDY1Mi4uM2M3MWFj
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJl
bmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAiU2tC
aXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggMWYzMzUyNy4uNTI2YTg3YiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJm
YWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNpbmNsdWRlICJGbG9h
dFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllckNocm9taXVt
OwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRlcmVyQ2hy
b21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVtKExheWVy
Q2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApAQCAt
MzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAi
SW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0Zi9P
d25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRyYW5z
cGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21wb3Np
dGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5hYmls
aXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0ZXh0
LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVuY3lX
aW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVudW0g
TGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJhd2lu
ZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLjBmNGM5NTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1LDYg
QEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsNyArNzYs
OCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIGNsYXNz
IFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdp
bGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaWxsUHVi
bGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNo
Q2FsbGJhY2soKSB7IH0KICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmll
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZp
ZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZpZXJfaAog
I2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENs
YXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBMb29wQmxp
bm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkNsYXNz
aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZpZXIpOwog
cHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2
ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1
bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2Nh
bFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRlICJGbG9hdFBvaW50
M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRpb24gb2YgdGhlIHRy
aWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29udHJvbCBwb2ludCB2
ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5uTG9j
YWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkxvY2Fs
VHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMgdGhhdCB0aGUgdHJp
YW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAgIC8vIHRoZSBwb3Np
dGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJlCiAgICAgLy8gY29v
cmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0ZXgpOwogICAg
IHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCmluZGV4IDVm
ZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRl
ICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRzLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhiYWVmLi41
ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVu
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTI5
LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3ICsxNTcsOCBAQCBwcml2
YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2
aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9m
IG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxs
b2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50
ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRy
ZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUg
IlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDggKzQzLDggQEAg
c3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8obGcgbikpIGlu
c2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBpbiB0aGUgdHJl
ZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1jbGFzcyBQT0RJ
bnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKK2Ns
YXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8
VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPREludGVydmFsVHJl
ZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdoZW4gZGVjbGFy
aW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4IDZkNTk1
NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
RFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJl
ZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRlICJQT0RBcmVuYS5oIgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlICJMb2dn
aW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBiYXNlIE5v
ZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25seQogICAg
IC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25seSB3aXRo
IHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2RlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3
bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0IE5vZGUo
Y29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8vIEhlbHBl
ciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50
cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRlciA6IHB1
YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50ZXIgOiBw
dWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50ZXIpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291bnQoMCkg
eyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUuLmI1
NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwg
dW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThhYjUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMxLDE0ICszMSwxNCBAQAog
I2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFJl
Y3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGlu
Z0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQg
dG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBp
bnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
V2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZmLi5iZjYwYWJlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRl
ICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtpbmdD
b250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxl
LCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdl
YktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0
LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZv
bnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NG
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRlZiBVSW50
MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250
Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNGb250LCBDR0ZvbnRSZWYgY2dG
b250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwgbV9hdHNGb250KGF0c0ZvbnQp
LCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4Li44NDg5OTNiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC0y
NSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxh
dGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7
CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2Li5l
ZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJm
YWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFj
ZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWdsLmg+CiAjZW5kaWYKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3VsZCBt
YWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxlbWVu
dGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7CiAg
ICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCA2
YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1LDE2IEBACiAjaW5jbHVk
ZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBs
YXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFw
cGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIwMWYxOC4uOWM2NjJhNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
QEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxh
dGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZv
cm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0
YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEZvbnRQbGF0
Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMsMTAg
QEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5kZXgg
MTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjksOCBAQCBzdGF0aWMgaW5saW5l
IFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6
Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlk
Q29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRm
YjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1Ry
YW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFu
c3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJh
bnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAg
ICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0IFFSZWN0ICZyZWN0
LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAgIDogcGl4bWFwKHJl
Y3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5KG9wYWNpdHkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4wODNlNThjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250
UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCkBAIC00OSw3ICs0OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVi
bGljOgogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUg
Zm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVy
ZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVl
MTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0
ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2Rl
ZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRl
eHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9j
b250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMTAwODVkLi5kNjgzYWFm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250
ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNv
bnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0U2tp
YV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJs
ZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJhd0xv
b3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2libGUg
Zm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBhcmF0
ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9yIHRo
YXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3BwZWQg
YWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBGb3Ig
cHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJlIE5V
TEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28gY2Fs
bCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uMTBmYjA0NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVU
cmFuc2Zvcm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0
cml4LmgiCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3Jh
cGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDggQEAgY2xhc3MgSW50UG9p
bnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiAKLWNsYXNz
IEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFmZmluZVRy
YW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBl
ZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMwZGEz
NzcuLjA4ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBt
YWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2
YjRiYWEuLjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVk
ZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+
CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFu
c2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxv
YXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1h
dHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4xNjI4ZWViIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dG
b250UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZv
bnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwor
cHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2Us
IGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVy
ZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXgg
M2FiNTJiOC4uMDY5OTFjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTI0LDcgKzI0LDYg
QEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDxjYWlyby5oPgog
CkBAIC0zMyw3ICszMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgog
ICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQog
ICAgICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYxNDAu
LjU5NTFlNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2Fs
V2luZG93c0NvbnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2Nh
bFdpbmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIExvY2FsV2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
V2luZG93c0NvbnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQoR3JhcGhp
Y3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgc3Vw
cG9ydEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUpCiAgICAg
ICAgIDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQsNiBAQAog
I2luY2x1ZGUgPFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02Myw3ICs2
Miw4IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3Vw
cG9ydGVkVHlwZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAot
Y2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmll
VGFza0NsaWVudCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0Ns
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGlj
OgogICAgIFFUTW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4IGUxM2Y3
MzIuLjI2ODYxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FU
TW92aWVHV29ybGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92
aWVHV29ybGQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9u
ZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1FUVHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVz
cGFjZSBzdGQ7CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFFUVHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNr
UHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1By
aXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FD
RkNvbnRleHRGbHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZD
b250ZXh0Rmx1c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC0z
Niw3ICszNSw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NB
Q0ZDb250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVz
aGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
V0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAg
LTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FDRkxheWVy
LmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBAQCBwdWJs
aWM6CiAvLyBGSVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBm
b3IgZWFjaCBXZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRl
eHQgYW5kIERpcmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5
ZXJSZW5kZXJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRl
cmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBjcmVhdGUo
V0tDQUNGTGF5ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRlcmVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVk
ZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3
LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgdW5y
ZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAKLSAgICBz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3Qg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFtZShuYW1l
KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9u
dFBsYXRmb3JtRGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yOCw3ICsy
OCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udE9yaWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVkZWYgc3Ry
dWN0IHRhZ1RFWFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDA4MDI4
MjYuLjgyNDU1OTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
R3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyArNDQwLDggQEAgc3RhdGlj
IHZvaWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVkQml0
bWFwKiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFsc2U+
KGRlc3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJlbnRM
YXllckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAgIFRy
YW5zcGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEsIElu
dFJlY3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0gMCwg
aW50IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5zcGFy
ZW50TGF5ZXJEQygpOwpAQCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXllckRD
OjpmaWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRlciA6
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29wZURD
UHJvdmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAgICA6
IG1fZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5j
bHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBj
bGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA1YTA0
YmVlLi4xZDdiOWY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L0ltYWdlRGVjb2Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1h
Z2VEZWNvZGVyLmgKQEAgLTIyMSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Ly8gc2V0TWF4TnVtUGl4ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVj
b2RlZCBpbWFnZXMgY2FuCiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRl
IHRob3NlIGltYWdlcyB0aGF0IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxz
LiAoTm90IHN1cHBvcnRlZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIElt
YWdlRGVjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihib29sIHBy
ZW11bHRpcGx5QWxwaGEsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAgICAgICAg
ICAgICA6IG1fc2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
Q2xpcGJvYXJkTWFjLmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRl
eCA3MTg3ZWNmLi44OWY4MzNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlw
Ym9hcmRNYWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApAQCAt
NDQsNiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBDbGlw
Ym9hcmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBO
U1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZy
YW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2Nh
bEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3Vy
cmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0x
Nyw3ICsxNyw2IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3Jh
cGhpY3NDb250ZXh0OwpAQCAtMzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAg
ICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBj
dXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0
IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNs
YXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJy
ZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAg
ICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJl
ZFRpbWVyTWFjLm1tCmluZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1NoYXJlZFRpbWVyTWFjLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01l
c3NhZ2UuaD4KICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3Rm
L0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLjZlZjIyNDAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYg
VmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9y
bURhdGFCdWlsZGVyLmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9j
dW1lbnQ7CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRF
bmNvZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hh
cnNldCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4zOTk3ODBmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtMjYs
NyArMjYsNiBAQAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5lIE5ldHdv
cmtTdGF0ZU5vdGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYg
UExBVEZPUk0oTUFDKQogCkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3b3Jr
U3RhdGVOb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3JrU3RhdGVO
b3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90aWZpZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlm
aWVyKCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKiko
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJu
YWwuaAppbmRleCA5Y2NjZWNkLi4wZjJiZTI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3Mg
TlNVUkxDb25uZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNl
SGFuZGxlQ2xpZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hv
dWxkQ29udGVudFNuaWZmKQogICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0ZS4uMmI3
NDE3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oCkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlzIHR5
cGUgZGlyZWN0bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3MgUmVz
b3VyY2VSZXF1ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZXNv
dXJjZVJlcXVlc3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0LCBiYXNl
ZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBUYXJnZXRU
eXBlIHsKQEAgLTIwNSw3ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlubGlu
ZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUoYSwgYik7
IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0cnVjdCBD
cm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291
cmNlUmVxdWVzdERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAg
UmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uY2I4
YTUxZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9u
c2VCYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VC
YXNlLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBD
cm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xh
c3MgZGlyZWN0bHksIHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFz
cyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJl
c291cmNlUmVzcG9uc2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25Q
dHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEw
IEBAIHByaXZhdGU6CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9u
c2VCYXNlOjpjb21wYXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEo
YSA9PSBiKTsgfQogCi1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2Ug
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJh
c2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25z
ZURhdGFCYXNlKTsKK3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRh
QmFzZSgpIHsgfQogICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAg
bG9uZyBsb25nIG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMGY5Nzg2Ny4u
MTgxNThmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUhhbmRsZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9u
b3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFu
ZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNM
b2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVy
cm9yJiwgUmVzb3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
d2luL1Jlc291cmNlSGFuZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4v
UmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03
Niw3ICs3Niw4IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1
ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9u
b3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFu
ZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNM
b2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVy
cm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50KTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0Ns
aXBib2FyZFF0LmgKaW5kZXggNWFjYTFhNi4uMWVlYzhhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJv
YXJkUXQuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBT
dGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBj
b3B5L3Bhc3RlCiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJs
aWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkUXQ+IGNy
ZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEqIHJlYWRh
YmxlQ2xpcGJvYXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2Uu
aAppbmRleCBjMzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFi
YXNlLmgKQEAgLTUwLDcgKzUwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7
CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJl
c3VsdEludGVycnVwdDsKIAotY2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU1FMaXRlRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNR
TGl0ZURhdGFiYXNlKTsKICAgICBmcmllbmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJs
aWM6CiAgICAgU1FMaXRlRGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZVN0YXRlbWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVt
ZW50LmgKaW5kZXggMTQ0NGYwZS4uMWVlM2JlMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
U3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FM
aXRlU3RhdGVtZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxp
dGVTdGF0ZW1lbnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRl
U3RhdGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFu
c2FjdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRl
eCA5MjQyNDFmLi40MjdiMjk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVUcmFuc2FjdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0
aW9uLmgKQEAgLTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAj
ZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFz
cyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRl
VHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9u
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFuc2FjdGlv
bihTUUxpdGVEYXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAgflNRTGl0
ZVRyYW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJl
c29sdmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5kZXggMWY4
NzExNS4uMDU2ZWQ3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNv
bHZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApAQCAtMjMs
NyArMjMsNiBAQAogI2RlZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAiQmlkaUNvbnRl
eHQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEyNSw4IEBAIHN0
cnVjdCBCaWRpQ2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25leHQ7CiB9
OwogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29s
dmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xh
c3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJp
ZGlSZXNvbHZlcik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAgIDogbV9k
aXJlY3Rpb24oV1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjEyZDA1MjMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcm
LCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWMuaAppbmRleCBjNmFmMzhhLi4xOGI1ZDhiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlYy5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDxtZW1vcnk+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNs
dWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1NiwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5
WzMyXTsKIAotICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgVGV4dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVj
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2Rl
YygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcg
ZGVjb2RlKGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNl
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5z
Y29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVy
LmgKaW5kZXggNjdkYjk3Ny4uODg0NmNkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5l
IEZvbnRUcmFuc2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xh
c3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5z
Y29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQoU3RyaW5nJiB0ZXh0
LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7
CiAgICAgYm9vbCBuZWVkc1RyYW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0
IFRleHRFbmNvZGluZyogPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
d2luL0NsaXBib2FyZFdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgK
aW5kZXggY2U2NGI4NS4uMmQxNDRiMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
Q2xpcGJvYXJkV2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgK
QEAgLTQxLDYgKzQxLDcgQEAgY2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBhdmFpbGFi
bGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiBj
bGFzcyBDbGlwYm9hcmRXaW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9h
cmRUeXBlLCBJRGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBv
bGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2lu
ZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAgLTMxLDEz
ICszMSwxMyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFzcyBXaW5k
b3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdp
bmRvd01lc3NhZ2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdp
bmRvd01lc3NhZ2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9p
ZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAgICAgc3Rh
dGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmluZGV4IGIxNDYwNWYuLjkzMmExZDUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5EYXRhYmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VI
YXNoPiBQbHVnaW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi5lMmUwODA0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dl
YkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDgg
QEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBs
dWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1
Z2luTWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2lu
TWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgdHlwZWRlZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5oCmluZGV4IGRlYWVjOTkuLjVmMGY2Y2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5WaWV3LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTMsNyAr
OTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1
Y2Nlc3NmdWxseQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZy
YW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSwg
Ym9vbCBzaG91bGRBbGxvd1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0
KGZyYW1lTG9hZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5J
bmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYxOS4uZGI5
NDc4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ29sdW1uSW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAg
ICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL0NvdW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4
IDUyOWQ0MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJO
b2RlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMs
NiBAQAogI2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAKIC8vIFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZp
bmRpbmcgcGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5o
CmluZGV4IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xh
eW91dFN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0zNyw3ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xh
c3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0
U3RhdGUpOwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQo
ZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi4zYjVjZjA2IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJB
cmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3lj
bGVkU2l6ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFy
ZW5hKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1
bnNpZ25lZCBhcmVuYVNpemUgPSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5oCmluZGV4IDUxNTMyMTguLmRjZWYwNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaApAQCAtMzU0LDcgKzM1NCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgZXZlckhhZExh
eW91dDsKICAgICB9OwogCi0gICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IDogTm9uY29weWFibGUg
eworICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZsb2F0aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6
CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVzZSBGbG9h
dEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0LgogICAgICAg
ICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRCb3RoID0g
MyB9OwogCkBAIC02ODEsNyArNjgzLDkgQEAgcHJpdmF0ZToKICAgICBSZW5kZXJCb3hNb2RlbE9i
amVjdCogbV9jb250aW51YXRpb247CiAgICAgCiAgICAgLy8gQWxsb2NhdGVkIG9ubHkgd2hlbiBz
b21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcwotICAgIHN0cnVjdCBS
ZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBSZW5kZXJCbG9j
a1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQmxvY2tSYXJl
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAgICBSZW5k
ZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAgICA6
IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1h
cmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9j
ayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwgbV9w
YWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcAppbmRleCAxNDNjNzJjLi40ZTVmNmY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3VibGUg
Y0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBwYWly
PFJlbmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBLZXk7
CiB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50
U2l6ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91bGRQ
YWludEF0TG93UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCos
IEltYWdlKiwgY29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhbWVTZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0
YXRpYyBjb25zdCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4aXMoKTsK
ICAgICAgICAgdm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVz
b3VyY2UuaAppbmRleCAyMzQ2NzEyLi5lNThjZDliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2VSZXNvdXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFn
ZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJ
bWFnZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggZmIzYWI2Ny4uY2FkODQ1
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcgKzUzLDgg
QEAgZW51bSBDb21wb3NpdGluZ0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9uZSBSZW5k
ZXJMYXllckJhY2tpbmcgZm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3NpdGVkLgog
Ci1jbGFzcyBSZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBH
cmFwaGljc0xheWVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJMYXll
ckJhY2tpbmcpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlckxh
eWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi4zYjVlYjMwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Ny
b2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFy
cXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7CiAg
ICAgdmlydHVhbCB+UmVuZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT3ZlcmZsb3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgK
aW5kZXggMjUzYTY3Mi4uMzFlMDFlNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT3ZlcmZsb3cuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCkBA
IC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2aXN1YWwg
b3ZlcmZsb3cgYXJlIHNoYWRvd3MsIHRleHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBvdXRsaW5l
IGFuZCBib3JkZXItaW1hZ2UpLgogCiAvLyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQgb25seSB3
aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGluIHRoZSBv
d25pbmcgYm94LgotY2xhc3MgUmVuZGVyT3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUmVuZGVyT3ZlcmZsb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck92
ZXJmbG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZW5kZXJPdmVy
Zmxvdyhjb25zdCBJbnRSZWN0JiBkZWZhdWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAgICAgIDog
bV90b3BMYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjQzNWZlY2YgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICsz
Niw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFz
dEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwog
fTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEu
LjIzYjVlNjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbklu
Zm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMw
LDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rp
b25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25J
bmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jh
c2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlv
bkluZm9CYXNlKCkKICAgICAgICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmlu
ZGV4IDA3ZjkzM2YuLjEzM2ViNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI1NCw3ICsy
NTQsOCBAQCB2b2lkIHRvUmVuZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8gU3Rh
Y2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNsYXNz
IExheW91dFN0YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlv
dXRTdGF0ZU1haW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRl
TWFpbnRhaW5lcik7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExheW91
dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIEludFNp
emUgb2Zmc2V0LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdodCA9IDAs
IGJvb2wgcGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDAp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMu
LjhiZjZhYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3Rl
Y3Rvci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBA
IC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lk
Z2V0UHJvdGVjdG9yIDogcHJpdmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQ
cm90ZWN0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rv
cik7CiBwdWJsaWM6CiAgICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2Jq
ZWN0KQogICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdl
QnVmZmVyVG9vbHMuaAppbmRleCA5YmNjN2E0Li45MjI1ODA1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHSW1hZ2VCdWZmZXJUb29scy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZH
KQogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzIsNyArMzEsOCBAQCBjbGFzcyBGbG9hdFNp
emU7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNz
IFNWR0ltYWdlQnVmZmVyVG9vbHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1h
Z2VCdWZmZXJUb29scyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VCdWZmZXJU
b29scyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3Qg
RmxvYXRSZWN0JiBhYnNvbHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xhbXBlZEFi
c29sdXRlVGFyZ2V0UmVjdCwgT3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2UpOwogICAg
IHN0YXRpYyB2b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyKiwgUmVu
ZGVyT2JqZWN0KiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdN
YXJrZXJMYXlvdXRJbmZvLmgKaW5kZXggOGY1OTcwMzUuLjA3MmI0YmMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFCTEUo
U1ZHKQogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlNWR01hcmtlckRhdGEu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC00Miw3ICs0MSw4IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmluZVRyYW5z
Zm9ybSBtYXRyaXg7CiB9OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR01hcmtlckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01hcmtlckxh
eW91dEluZm8oKTsKICAgICB+U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNv
dXJjZXMuaAppbmRleCA0OTU5MWNmLi42NTk5MWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMu
aApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNs
YXNzIFJlbmRlclNWR1Jlc291cmNlTWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAKIC8v
IEhvbGRzIGEgc2V0IG9mIHJlc291cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJPYmplY3QK
LWNsYXNzIFNWR1Jlc291cmNlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNv
dXJjZXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAuLjgyN2FjMDAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5k
ZXJTdHlsZTsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVz
b3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZH
UmVzb3VyY2VzQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNW
R1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4zNDEyNThl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAgLTI5
LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5Y2xl
U29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29s
dmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcik7
CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0KiwgU1ZH
UmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGFi
bGVMYXlvdXQuaAppbmRleCBlMGZhOGVlLi5kOWVkMTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9UYWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0
LmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRh
YmxlTGF5b3V0X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIFRhYmxlTGF5b3V0KFJlbmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRh
YmxlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpbmNs
dWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNm
b3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9y
bVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAgICAgZW51
bSBUcmFuc2Zvcm1EaXJlY3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5hcHBseUlu
dmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3VtdWxhdGlv
biB7IEZsYXR0ZW5UcmFuc2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJmNiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcgKzM4LDgg
QEAgY29uc3QgaW50IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRp
b25Cb3R0b20gPSAweDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4
MDAwMDAwMDsKIAotY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVmVydGljYWxQb3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNhbFBvc2l0
aW9uQ2FjaGUoKQogICAgIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
Q29udGVudERhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5k
ZXggNGY5NjRhMi4uZjIzZTcwNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
Q29udGVudERhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5o
CkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFn
ZTsKIAotc3RydWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnRE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlw
ZShDT05URU5UX05PTkUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3Vu
dGVyQ29udGVudC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaApp
bmRleCA1Mjc1N2FkLi5kZGY5YjFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9Db3VudGVyQ29udGVudC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJD
b250ZW50LmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBDb3VudGVyQ29udGVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJD
b250ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENvdW50
ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUg
c3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRp
ZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmls
bExheWVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZi
Mjk0Li5jNmVlNTEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5
ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTksNyAr
NTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAKLWNs
YXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXllciB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIoRUZp
bGxMYXllclR5cGUpOwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRv
d0RhdGEuaAppbmRleCBjYTgzYWYwLi41MGNmMGJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hh
ZG93RGF0YS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5j
bHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1h
bCwgSW5zZXQgfTsKIAogLy8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hh
ZG93cyBmb3IgdGhlIHRleHQtc2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNs
YXNzIFNoYWRvd0RhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRh
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNoYWRvd0RhdGEo
KQogICAgICAgICA6IG1feCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRDaHVua0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtC
dWlsZGVyLmgKaW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0
RnJhZ21lbnQ7CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3Rl
ciBsYXlvdXQsIGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rl
ciwgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVu
dCkuCiAvLyBQaGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUg
dG8gYmUgYXBwbGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3Ig
JiB0ZXh0TGVuZ3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtC
dWlsZGVyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0QXR0cmlidXRlc0J1aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRl
ci5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUg
dGhlIElubGluZUJveCB0cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkg
aW5mb3JtYXRpb24uCiAvLyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBi
eSBTVkdUZXh0TGF5b3V0RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0
ZXNCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRl
cigpOwogICAgIHZvaWQgYnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVy
U1ZHVGV4dCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlv
dXRFbmdpbmUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgK
aW5kZXggYWQwNThkOC4uNjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4
dExheW91dEVuZ2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwog
Ly8gUmVuZGVyU1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9z
aXRpb25zIGZvciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZH
SW5saW5lVGV4dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1Rl
eHRMYXlvdXRFbmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1
aWxkZXIoKSB7IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNi
MzkuLmFjMzkzZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0RW5naW5lQmFzZWxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExh
eW91dEVuZ2luZUJhc2VsaW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcp
CiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBT
VkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3Mg
dXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5l
JyAvICdkb21pbmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdU
ZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdU
ZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdp
bmVCYXNlbGluZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5n
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5n
LmgKQEAgLTMwLDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVt
ZW50OwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhh
bmRsZSAna2VybmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNs
YXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91
dEVuZ2luZVNwYWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXgg
YjYxZTQ2NS4uY2UwYmE0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFz
ay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0
YWJhc2VUYXNrIGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFz
ZVRhc2s6OmNyZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRh
YmFzZVRhc2tTeW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJh
c2VUYXNrU3luY2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRh
c2tTeW5jaHJvbml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigp
OwogCkBAIC02Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFi
YXNlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRh
YmFzZVRyYWNrZXIuaAppbmRleCA3MTQ1ZTZiLi5hNjFkOWViIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
VHJhY2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsK
IHN0cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01J
VU0pCiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEYXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJh
Y2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAgIHN0YXRp
YyBEYXRhYmFzZVRyYWNrZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFn
ZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVu
ZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCmluZGV4IDc4M2E3MzEuLjRmY2MyMzQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaApAQCAtMjgsNyAr
MjgsNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQ0LDcgKzQzLDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlOwogLy8gRklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8gVExTLiBL
ZWVwaW5nIGl0IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBwb3J0IGZv
ciB3b3JrZXJzLiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSB2
ZWN0b3IgaW4gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5kaW5nVHJh
bnNhY3Rpb25Nb25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBlbmRpbmdU
cmFuc2FjdGlvbk1vbml0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBlbmRpbmdU
cmFuc2FjdGlvbk1vbml0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBlbmRpbmdU
cmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMg
dm9pZCByZW1vdmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oIGIv
V2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi40NjcyMDQy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCisrKyBiL1dl
YkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJ
WE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3Rv
cmFnZVRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRh
c2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFy
ZWFJbXBvcnQsIEFyZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQg
fTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIv
V2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLjI0ZmUx
OWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysg
Yi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAv
LyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExv
Y2FsU3RvcmFnZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxT
dG9yYWdlVGhyZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdl
VGhyZWFkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5M
b2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5R
dW90YU1hbmFnZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRl
eCBlYzk2MjBjLi5hYzI4YTc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVv
dGFNYW5hZ2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBA
IC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJh
c2U7CiBjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2Vy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmggYi9XZWJDb3JlL3N0b3JhZ2Uv
T3JpZ2luVXNhZ2VSZWNvcmQuaAppbmRleCBhODMwZTY4Li5kNmFlNTk4IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
T3JpZ2luVXNhZ2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIC8vIE9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxlIHRo
cmVhZHMgd2l0aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJndW1lbnRz
IGFyZSBhbHNvIHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxlciB3aGVu
IG5lY2Vzc2FyeS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShP
cmlnaW5Vc2FnZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
T3JpZ2luVXNhZ2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uQ2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQu
aAppbmRleCBmZWQwNjU3Li5kNTY3YTRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FM
VHJhbnNhY3Rpb25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25D
bGllbnQuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEs
OCArNDAsMTAgQEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhl
IFNRTFRyYW5zYWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGlu
dGVyZXN0ZWQKIC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGlu
IGEgdHJhbnNhY3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBkaWRDb21t
aXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1
dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEo
QWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uQ29vcmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uMzQyNTY2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9y
YWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FM
VHJhbnNhY3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5z
YWN0aW9uQ29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxU
cmFuc2FjdGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CisgICAgICAgIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9p
ZCBhY3F1aXJlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2Nr
KFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMTU1ZDBhMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVu
dDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAotY2xhc3Mg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRF
eHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB0eXBlZGVm
IEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwog
ICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBw
cml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBt
X3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291
cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50
RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0
IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFw
IGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMs
IGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0
aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVE
YXRhLmgKaW5kZXggNDI3NmM0YS4uNzViZDQzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgK
QEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICsz
MCw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3Mg
U1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVt
ZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9z
dmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li4yOTQxYTllIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAg
LTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFNWR0ZvbnREYXRhKFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwg
flNWR0ZvbnREYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRl
ci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi43MjllZDU0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dlYkNvcmUv
c3ZnL1NWR1BhdGhCbGVuZGVyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcp
CiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFNWR1BhdGhCbGVuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Bh
dGhCbGVuZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3Zn
L1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uY2FiZmIyZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRo
Qnl0ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFt
X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQz
LDcgKzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXpl
b2YodW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1Bh
dGhCeXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3Ry
ZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0
aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZH
UGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1
ZTczLi40ZDU3ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAor
KysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAg
ZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNz
IFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29u
c3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIGluY3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAgICAgdmly
dHVhbCBib29sIGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVh
bnVwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvV2Vi
Q29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLmM0OGIyMTcgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRo
UGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5o
IgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJj
ZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLmNmNGNkMDIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJDb3JlL3N2
Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9
CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhh
c01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1Nw
ZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uMGYwY2NiYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdWaWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMg
U1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21B
bmRQYW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAg
ICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgcHVibGljOgogICAgICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3ZnL2dyYXBo
aWNzL1NWR0ltYWdlLmNwcAppbmRleCBjOTgwNGFlLi45MTYyNmM0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
U1ZHSW1hZ2UuY3BwCkBAIC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBF
bXB0eUNocm9tZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJv
bWVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ltYWdl
Q2hyb21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJDb3Jl
L3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJDb3Jl
L3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGbG9h
dDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5h
bHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAgICAg
UmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5o
IGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXgg
MDViMzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tF
VFMpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgp
IHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBj
b25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQg
Y29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDlj
NTIzNzcuLjE5NzM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAt
NDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hh
bm5lbENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291
bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwg
cHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNv
Y2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJT
b2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4
dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0
Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1
YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRI
YW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgK
QEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRz
aGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBj
bGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNv
Y2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAg
ICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9X
ZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRl
eCAzNjZlNGZhLi5hYzgzZThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2Vy
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29y
a2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBX
b3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3
b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmlu
ZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAg
ICB7CkBAIC03Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8gR2VuZXJh
dGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUgUGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBp
ZGVudGljYWwKICAgICAvLyBsaWZldGltZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJT
b2NrZXRDaGFubmVsQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBlZXIg
OiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxD
bGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJv
eHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01v
ZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRl
eCAyMWUxNGExLi42OGY5NjI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJl
ZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24g
b2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFz
cyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdv
cmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQu
CiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3du
UHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHQuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQx
NWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQu
aAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJu
IG1fY2xvc2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBu
b3RpZmllZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAg
ICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBP
YnNlcnZlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAg
ICAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLmEyZWM0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVy
UHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3Mg
V29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMg
V29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJD
b250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRl
clByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJv
eHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2Vy
TWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJSdW5Mb29wLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRl
eCA4M2YyNDNmLi43YjMxNDljIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVu
TG9vcC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQs
NyArMTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1
cm4gU3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxv
b3BTZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxv
b3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaApp
bmRleCA5ZDRlZGZkLi5mYTFiY2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
UnVuTG9vcC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcg
KzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVm
YXVsdE1vZGUoKTsKIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
YXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAgICAg
IH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNw
cCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLjRhYTlm
ODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVk
ZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRlICJEYXRh
YmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3Jr
ZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBX
b3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3Rh
cnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA3ODJlMTU5Li4xYjljNTI5NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjMsNyArNjMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVy
KCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRp
Y0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0
YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hl
YWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDFiOTgzZTYuLjAwNDI2YTkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1M
SHR0cFJlcXVlc3QuaApAQCAtNDIsNiArNDIsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVy
OwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJs
aWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0
ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhN
TEh0dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsgfQogICAgIH5YTUxI
dHRwUmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9k
ZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0NWIuLjZh
NzNiODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAorKysg
Yi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAg
ICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBz
dHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwog
ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9u
ZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xh
c3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQm
IGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9k
ZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uZDg5N2Rh
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94
bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE5vZGVT
ZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVEaXNqb2ludChmYWxzZSkgeyB9
CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmggYi9X
ZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCmluZGV4IDQ0YThlNDguLjQwYjczZGMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJz
ZXIuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBU
b2tlbihpbnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQogICAg
ICAgICB9OwogCi0gICAgICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
YXJzZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAgICAgICAg
ICAgIH5QYXJzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgg
Yi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLmU3ZTFiY2QgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysrIGIvV2ViQ29yZS94bWwv
WFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQ
cmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQcmVkaWNhdGUg
eworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGljYXRlKEV4
cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJi
My4uZjc3MGQ5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvV2Vi
Q29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0
ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2Vz
dG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAg
ICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAg
IGVudW0gS2luZCB7CiAgICAgICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5v
ZGVUZXN0LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVU
ZXN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9XZWJDb3JlL3ht
bC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uMWZlYTViYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUu
aApAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRYU0xT
dHlsZVNoZWV0OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFzZSwgcHJp
dmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNM
U3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7CmRpZmYg
LS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiNmViYTIx
Li4zYTZjZGQ2IDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yMyAgWm9sdGFuIEhvcnZhdGggIDx6b2x0
YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFz
c2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5
NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4g
b2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNv
cHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFj
cm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBG
YXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93
dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFyaW4gQWRsZXIgIDxk
YXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQ6
IFVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9Cb3VuZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmlu
ZGV4IDc2OWU4M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91
bmRPYmplY3QuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAgLTMy
LDE0ICszMiwxNCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNsdWRlIDx2OC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8g
Qm91bmRPYmplY3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlw
dCBtZXRob2QgY2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3Vs
ZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRP
YmplY3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVj
dCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNo
YXIqIG9iamVjdE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dlYktpdC9j
aHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEuLjU5YzIx
NzcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIu
Y3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCkBA
IC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2Vi
Vmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5h
Z2VyOjpzX2V4cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2Ugewog
Ci1jbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpE
ZWJ1Zzo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFw
cGVyKTsKIHB1YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFn
ZXIodHJ1ZSksIG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVy
KGludCBjYWxsZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIu
aAppbmRleCA2NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8djgtZGVidWcuaD4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZpZXdJbXBsOwogLy8g
d291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJZiB0aGVyZSBpcyBu
byBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1Y2ggbWVzc2FnZXMg
dGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2VsZiwgb3RoZXJ3aXNl
IHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBEZWJ1Z2dlckFnZW50
TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1hbmFnZXIpOwogcHVi
bGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1
Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1Z2dlckFnZW50SW1w
bCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JG
cm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1dl
YktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAgLTMyLDcg
KzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsX2gKIAogI2luY2x1
ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsK
QEAgLTQ0LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZUb29sc0Zy
b250ZW5kQ2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNsYXNzIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9u
dGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5v
bmNvcHlhYmxlICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMg
V2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250ZW5kQ2xp
ZW50KiwgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JG
cm9udGVuZENsaWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Fn
ZW50SW1wbC5jcHAKaW5kZXggODgwYWRiNC4uMDIyNmVmMyAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNsdWRl
ICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2NmExY2Iu
LmIwODUzMzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9u
dGVuZEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJ
bXBsLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAgc3RydWN0IFdlYkRl
dlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1jbGFzcyBXZWJEZXZU
b29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmQKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9u
dGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNGcm9udGVuZEltcGwp
OwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAgICAgICBXZWJLaXQ6
OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNw
cAppbmRleCBhZGFhYjYxLi5jMDU0ODM3IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwu
Y3BwCkBAIC0yNzksNyArMjc5LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2ViRnJhbWVJ
bXBsOjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBTaW1wbGUg
Y2xhc3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNvbWUgb2Yg
dGhlIG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRl
biBieSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENvbnRleHQg
OiBwdWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2hyb21l
UHJpbnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmludENvbnRl
eHQoRnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlmZiAtLWdp
dCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEwMy4uNGZkNDJhNiAxMDA2NDQK
LS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysrIGIvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2LDcgQEAgc3RydWN0
IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdlYlBvcHVwTWVudSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJhbWVsZXNzU2Nyb2xs
Vmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVmQ291bnRlZDxX
ZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBh
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5o
IGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZs
LmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3
LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBi
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBA
IC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoK
ICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4
IDE4YjY0YWIuLmUyNmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRv
d25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAg
LTIyLDcgKzIyLDYgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAi
R1JlZlB0ci5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJl
c291cmNlSGFuZGxlSW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRz
ZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBw
dWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJs
aWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25s
b2FkQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERv
d25sb2FkKik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3Rm
L05vbmNvcHlhYmxlLmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0t
LSBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJs
ZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdp
bkluc3RhbmNlUHJveHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVn
aW5JbnN0YW5jZVByb3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2Vi
S2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysg
Yi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5o
CkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJv
bUFycmF5KEpTQzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4
LCBKU0M6OkpTVmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpF
eGVjU3RhdGUqLCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1
ZXNMZW5ndGgsIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFz
cyBMb2NhbE9iamVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1h
cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1h
cCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNs
aWVudC5tbSBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0K
aW5kZXggMjkxMzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dl
YkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0
YWJhc2VUcmFja2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tl
ckNsaWVudDo6fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1v
ZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3Jp
Z2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7
CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJh
c2VUcmFja2VyQ2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNo
LmgKaW5kZXggMWRkNGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9w
Y2guaAorKysgYi9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5j
bHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgog
I2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5o
PgogI2luY2x1ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4v
Q09NRW51bVZhcmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNh
M2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysr
IGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZp
bmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1W
QVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJs
aWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFu
dCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJU
eXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBD
b250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgg
Yi9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2
NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09N
UHJvcGVydHlCYWcuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2lu
Y2x1ZGUgPHVua253bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0K
IA0KIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVu
YW1lIFdURjo6U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5n
SGFzaD4NCi1jbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1Ymxp
YyBJUHJvcGVydHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBw
dWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFz
aE1hcDxLZXlUeXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYg
LS1naXQgYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93
aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAw
NjQ0Ci0tLSBhL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dl
YktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAg
cHJpdmF0ZToKICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVl
bkNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1Ymxp
YzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFz
ZU1hbmFnZXIuY3BwIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJk
Y2I1NDkuLmUyYjgxZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2Vy
LmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUy
LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikK
ICAgICByZXR1cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQ
cm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3Rh
bmNlKGNvbnN0IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAog
ICAgIHJldHVybiBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5h
Z2VyLCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1
OTMuLmNkMzI0YTggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIv
V2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdl
Ykluc3BlY3Rvcl9oCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGlj
IElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJs
aWMgSVdlYkluc3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYklu
c3BlY3Rvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFu
Y2UoV2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3Ry
aW5ncy5jcHAgYi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2
YjIyMS4uZTliOTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmlu
Z3MuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIs
NyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3Mo
KQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENG
U3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdp
dCBhL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29y
bGQuaAppbmRleCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNj
cmlwdFdvcmxkLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICsz
MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9
CiAKLWNsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdl
YlNjcmlwdFdvcmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRX
b3JsZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGlj
OgogICAgIHN0YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRp
YyBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9X
ZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6
ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dp
bi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpT
VmFsdWUuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
U2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGlj
IElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFs
dWUgOiBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRK
U1ZhbHVlUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpT
VmFsdWUpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+
IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmlu
ZGV4IGU4ZjZiNjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4u
aApAQCAtMzIsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNv
bnRlbnRVUkxQYXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBw
dWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2Ns
YXNzIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRl
cm4pOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
PiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDU1NDQ4OGIuLmM0NDQ5MjAgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTAtMTEtMjMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9u
Y29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZy
b20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1
ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFs
bG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUg
Tm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgor
CiAyMDEwLTExLTIyICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBV
c2UgcGF0aHMgcmVsYXRpdmUgdG8gJFdlYktpdFZTUHJvcHNSZWRpcmVjdGlvbkRpciB0byBhY2Nl
c3Mgc2hhcmVkIC52c3Byb3BzIGZpbGVzCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL0Nv
cmVJUEMvQmluYXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5
U2VtYXBob3JlLmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCaW5h
cnlTZW1hcGhvcmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAog
bmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUu
aCBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3Jt
L01vZHVsZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5lIE1v
ZHVsZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBNb2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJs
aWM6CiAgICAgTW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxhdGZv
cm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJl
ZE1lbW9yeS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAjZGVm
aW5lIFNoYXJlZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAg
LTUyLDcgKzUxLDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0gICAg
Y2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBIYW5k
bGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYgQEAK
ICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2lu
Y2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBh
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQcm9j
ZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwog
ICAgICAgICAKIGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVn
aW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQ
cm9jZXNzLmggYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44
YzVlOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVmaW5l
IENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nl
c3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQcm9j
ZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAor
KysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKQEAg
LTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxXZWJD
b3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9QbHVn
aW5zL05QT2JqZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQ
TFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQg
YS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9TYW5k
Ym94RXh0ZW5zaW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hF
eHRlbnNpb24uaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9uX2gK
IAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JX
aW5kb3cuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5o
CmluZGV4IGU4ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvRmluZEluZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJ
bmRpY2F0b3JXaW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9y
dCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9y
dCA8d3RmL1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUy
Li4wZGM3YTljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNT
KQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQx
LDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7
CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDog
Tm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4u
OWUxNzQyZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2lu
SW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVn
aW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1
Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3Rvcmll
czsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQ
YXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1Ymxp
YzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIv
VUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMg
QEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNz
IFZpc2l0ZWRMaW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1By
b3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsK
IApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFjYTguLjhi
MDAzMzMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQu
aAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlUmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3ICs1NCw2
IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1l
c3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9h
ZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVp
bnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAg
IH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRN
YW5hZ2VyLmgKaW5kZXggMDI0NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nl
c3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5l
IERvd25sb2FkTWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVz
b3VyY2VIYW5kbGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUEpTT2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9O
UEpTT2JqZWN0LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
bnBydW50aW1lX2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8v
IE5QSlNPYmplY3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3Mg
TlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09i
amVjdCA6IHB1YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09i
amVjdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVP
YmplY3RNYXAqIG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1h
bmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0
aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdl
ci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rp
b25zIGZvciB0aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1j
bGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4NGEg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgK
KysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjks
NyArMjksNiBAQAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92ZXJs
YXkuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCA0YTNjMDA2Li5hZTZj
NzE5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3Iu
aAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFu
Z2VMb2cKaW5kZXggODI0YjcxNy4uNjI0MGU1ZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEw
LTExLTIzICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNv
cHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9t
IEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcg
IzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxv
Y0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5v
bmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKwor
ICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgor
CiAyMDEwLTExLTE4ICBTYXRpc2ggU2FtcGF0aCAgPHNhdGlzaEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpAQCAtMTkzMDEsNyArMTkzMTMsNyBAQAog
CiAyMDEwLTA3LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAg
ICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNl
ZCB0ZXN0c8KgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBv
dXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFp
bCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RO
ZXRzY2FwZVBsdWdJbi9tYWluLmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlh
YmxlLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAw
MDAwMAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93
dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTgg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5k
Q2xhc3MuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3Vu
ZENsYXNzLmgKQEAgLTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcg
KzU3LDggQEAgdHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAv
LyBDcHBCb3VuZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQg
cHJvcGVydHkgYWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENw
cFZhcmlhbnQqIHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ3BwQm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFj
ayB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdl
bnQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29s
c0FnZW50LmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAi
V2ViRGV2VG9vbHNBZ2VudENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4
ICs0OCw4IEBAIHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZU
b29sc0NsaWVudDsKIAotY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6Oldl
YkRldlRvb2xzQWdlbnRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRl
dlRvb2xzQWdlbnRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xz
QWdlbnQpOwogcHVibGljOgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5E
UlREZXZUb29sc0FnZW50KCkge30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRv
b2xzQ2xpZW50LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJU
RGV2VG9vbHNDbGllbnQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xz
Q2FsbEFyZ3MuaCIKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9u
dGVuZENsaWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNz
IFdlYlZpZXc7CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xz
Q2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAg
ICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9v
bHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAg
RFJURGV2VG9vbHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwog
ICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxl
ci5oCmluZGV4IGI2NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5o
CkBAIC0xMTEsNyArMTExLDggQEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlv
bkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8v
IHZlcnNpb24gYXMgcG9zc2libGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6
CiAgICAgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45
NjE4ZGM0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJUaGVtZUNvbnRyb2xEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRl
ICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lh
L2luY2x1ZGUvY29yZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IC8vIFNraWEgZm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBX
ZWJUaGVtZUNvbnRyb2xEUlQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVD
b250cm9sRFJUIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQp
OwogcHVibGljOgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhl
IGxpc3QgaW4gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFp
bnRhaW5lZCBzZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1p
bmltaXplCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJUaGVtZUVuZ2luZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVGhlbWVFbmdpbmVEUlQuaAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJU
LmgKQEAgLTQ4LDkgKzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5j
bHVkZSAid2luL1dlYlRoZW1lRW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKLWNsYXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdp
bmUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1Ymxp
YyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJU
aGVtZUVuZ2luZURSVCk7CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktp
dFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMxNzE4MTMg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBi
L1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTAg
QEAKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xh
c3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsK
IHB1YmxpYzoKICAgICBIb3N0V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRU
b29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0
NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVy
LmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAt
MjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3Mg
VGVzdHNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJv
bGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLjIzNmNj
MWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRp
b24uaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgK
QEAgLTI3LDExICsyNywxMCBAQAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRl
IDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBUZXN0SW52b2NhdGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRp
b24oY29uc3QgY2hhciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74729</attachid>
            <date>2010-11-24 00:20:49 -0800</date>
            <delta_ts>2010-11-25 07:23:17 -0800</delta_ts>
            <desc>playing with Chromium&apos;s EWS bot round #4</desc>
            <filename>szerda2.patch</filename>
            <type>text/plain</type>
            <size>327197</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBlMmM4N2I5Li42OTUxZjQ4IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjQgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yMyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcgKzQ2Nyw2
IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NRDUu
aCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0Q29yZS93
dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBcCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAgICAgJ3d0
Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcsCiAgICAg
ICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9Ob25jb3B5
YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAgICAnd3Rm
L093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgnLApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYu
dmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNw
cm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwxMCArNjU0LDYgQEAK
IAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZc
Tm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KIAkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJPC9GaWxlPg0KZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ0
LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAy
NTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNz
YWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBC
MzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAw
QjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29u
c3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNv
bnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5o
ICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1
OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5MDVCMDJBRDBFMjg2
NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3Vu
dGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291
bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3
MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5
MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAogCQkJCTUxMUZDNENB
MTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBENkNBNTNEMDBGRUEz
QkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgwRDAwQjI2MDk3IC8q
IE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5v
bmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8qIE5vdEZvdW5k
LmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQdHIuaCAqLywKIAkJ
CQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLywKQEAgLTIyMTEs
NyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5n
U29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5v
bmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUg
LyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2
RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxl
ci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApp
bmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUg
IkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgog
CiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
CmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8
TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhl
IGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZl
ZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0
LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlu
a0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlw
ZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNz
ZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJj
ZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0
Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5o
CkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1h
Y3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjNl
YTA2NTYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBw
cm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1
dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQdHI8U291cmNlUHJvdmlk
ZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9v
bCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAK
ICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9sVGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJh
cmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgcHVibGljOgorICAgICAgICBzdHJ1Y3QgUmFy
ZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhhbmRsZXJz
OwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRUb0J5dGVj
b2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAgICB9Owor
ICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li45NTY3
OTNmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdU
b29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNl
ZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGlu
Z1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAt
MTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9z
dENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNv
cmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9v
bCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxp
bmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAg
fQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4u
ZjQzNWM0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaCBiL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCkBAIC0zMCwxMiArMzAsMTIgQEAK
ICNkZWZpbmUgUmVnaXN0ZXJJRF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBSZWdpc3RlcklEIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlcklEIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVnaXN0ZXJJRCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcklEKCkKICAg
ICAgICAgICAgIDogbV9yZWZDb3VudCgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVk
Q2FsbC5oCmluZGV4IGRmYmU2NTguLjNjODhiYWMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0NhY2hlZENhbGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uYjkxZjhhMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBN
YXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjRhNmNlNTggMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXIoKTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCBkOWY2YTJiLi42ODIyMDM1
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAiV2Vha0dDUHRyLmgiCiAj
aW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFnZVJlc2VydmF0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1ZNVGFncy5oPgogCkBAIC04
OSw3ICs4OCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7
CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVy
RmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEz
ZC4uMTdmOWYxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBSZWdFeHA7CiAKLSAgICBjbGFzcyBMZXhlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTGV4ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMZXhlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGlj
IGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRl
eCA2OTMwZjYzLi5mM2EzZDRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTEzLDYgKzExMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50ZWQ+IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFBhcnNl
ckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApAQCAtMTM3NCw3ICsxMzc1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9Owog
Ci0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3Qg
U2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFj
azsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5j
dGlvblN0YWNrOwogCkBAIC0xNDcwLDYgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgY2xhc3MgRnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlm
aWVyPiwgcHVibGljIFJlZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFt
ZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFt
ZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5MDY3Li5jY2E5NmQ4IDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiUGFyc2Vy
QXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCArNDQsMTAgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5h
RGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFy
c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi43Y2I1NzUwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7
CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYg
bWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNp
emVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50
aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAg
fQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFy
c2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAg
ICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi5kZjE5ZTRjIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC00OCw2ICs0OCw3IEBAIHRoZSBKYXZhU2NyaXB0
IHNwZWNpZmljYXRpb24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMu
ICovCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZiBSRUdFWFBf
SElTVE9HUkFNCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CkBAIC0xMTIsNyArMTEzLDkgQEAg
c3RydWN0IEJyYWNrZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7
CiB9OwogCi1zdHJ1Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNo
RnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUmV0dXJu
TG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3Vz
RnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRl
bnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRl
eCA3NmMxNDcwLi4yNTE4NGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9D
YWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNp
bmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hh
c2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcg
bV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVO
dW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIv
SmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi43NTI1NWUz
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7
ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNl
KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAppbmRleCBjZDU2M2EyLi41N2Uz
YzIwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0IEBACiAjaW5j
bHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAKLSAg
ICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRlZiBWZWN0b3I8
UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJn
dW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uOTI5NjAwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3Vt
ZW50cy5oCkBAIC0zMyw3ICszMywxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVj
dCBBcmd1bWVudHNEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBBcmd1bWVudHNEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJndW1lbnRzRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9
CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBu
dW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3
LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVm
aW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5k
ZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
b2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyAr
ODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJl
YWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmll
cnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAx
ZTIyYjZhLi5mMTdlMjQ0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAog
I2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1h
Y3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVw
ZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENv
bW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQu
LjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1
Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7
CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4w
YzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUs
NyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpT
QXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1
ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNh
bGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAg
ICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5
bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42
NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZp
bmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRp
b25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAg
ICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAg
ICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBEcm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFs
bExvY2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNT
dGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uYWYxOTM4YiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAg
ICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNl
T2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmlu
Z0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRy
X3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXgg
YzU1MWJhYy4uMTAxOGU1ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
U3RhY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCkBAIC0yNyw3
ICsyNyw4IEBACiAjZGVmaW5lIE1hcmtTdGFja19oCiAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiAg
ICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5OdWxsVmFsdWVzLCBOb051bGxW
YWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya1N0YWNr
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lkKiBqc0FycmF5VlB0cikKICAg
ICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li5kNTZhYjdkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3Qg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9y
UHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclBy
aXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENv
bnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaCBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uOTFmY2YyYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2Fs
bERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jh
c2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiBy
ZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhw
KQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjkyMzlhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAj
ZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCiBuYW1l
c3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKQEAgLTMxLDcgKzI5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hh
aW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29w
ZUNoYWluTm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxE
YXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykK
ICAgICAgICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCmluZGV4IGYzNTg3MjcuLmMzMzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQw
LDcgKzM5LDggQEAgc3RhdGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcp
CiAgICAgcmV0dXJuIHN0cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAot
Y2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
bWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3NTdG9yYWdlKTsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEzLi5iNDcyY2Y3IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBTbWFsbFN0cmluZ3MoKTsKICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjFhZjJkNjMgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1ib2xUYWJsZUVudHJ5
LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5nSW1wbD4gPiwgU3lt
Ym9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAgY2xhc3MgU2hhcmVk
U3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRl
KCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4zMGJlZmMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlND
ZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZh
bHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUg
S2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMg
dGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3Iu
aCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0
aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vh
a0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4u
OGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8g
dGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRh
IGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFs
bCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJl
ZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVm
Q291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291
bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVh
ZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaAppbmRleCBiZTUxOTQ3Li40MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYs
NyArNDYsNiBAQAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyAr
MTA4LDkgQEAgZG91YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhl
Y1N0YXRlKiwgY29uc3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVy
cmlkZGluZyB0aGUgZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2Yg
dG0gZGlmZmVyIG9uIHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFu
RGF0ZVRpbWUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBH
cmVnb3JpYW5EYXRlVGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRl
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLmVlYjVlNDMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRl
ZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVy
cmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8K
IC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxv
Y0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAg
ICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8gRmFzdERlbGV0ZSBhc3N1
bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xh
c3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdp
ZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8g
ICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAg
ZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAKIG5hbWVzcGFjZSBXVEYg
ewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1YmxpYzogXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAg
ICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwKLSAgICB2
b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAg
ICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICA6OldURjo6
ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0gXAotICAgIFwK
LSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxldGUKIAog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2IEBAIGNsYXNzIEZhc3RB
bGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NC
YXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYg
Ly8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENv
dW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRl
ZDc1YzUuLjdhYjI5ZTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCkBAIC0yMiwx
NCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1h
cC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zID0gdHlwZW5hbWUgRGVm
YXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJh
aXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhh
c2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rp
b25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4
IDA5MDk0ZDEuLjQ5NWI3MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJn
Pjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlB
cmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgot
ICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1h
cHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZWFlNGZiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxW
YWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsK
ICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFz
aFNldC5oCmluZGV4IGUxNGFjNDUuLmFmNzM1YTkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVB
bGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5j
dGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNh
cGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFs
dWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0g
MjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcs
IGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFs
bG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEg
KzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2Vy
KTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJs
ZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5s
b2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NRDUuaAppbmRleCAzY2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0z
Miw2ICszMiw3IEBACiAjZGVmaW5lIFdURl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2Fn
ZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewpAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3Nh
Z2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNz
YWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1
ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVk
MmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwot
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVm
IFdURl9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYg
X19oYXNfZmVhdHVyZQotICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQot
I2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRp
YWdub3N0aWMgcHVzaCIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25v
cmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZh
dGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsg
XAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBk
ZWxldGU7IFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UK
LSAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAg
ICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYK
LQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4g
ZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29w
eWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5v
bmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0
IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsg
fQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBX
VEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNl
bmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2
NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIs
NiBAQAogI2RlZmluZSBXVEZfT3duQXJyYXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1
ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NP
d25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9w
dEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25B
cnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBP
d25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxp
Y2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIy
LDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5j
bHVkZSAiT3duUHRyQ29tbW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyAr
MzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duUHRyOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQ
dHIoVCopOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpU
eXBlIFZhbHVlVHlwZTsKICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNlM2QuLjE2OWQ0MDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
CkBAIC0yLDYgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDct
MjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90
aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0xMTE4LDQgKzExMTksNjAgQEAKICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgog
CisvKiBOb25jb3B5YWJsZSdzIGltcGxlbWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRl
ZiBfX2hhc19mZWF0dXJlCisgICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgor
CisjaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcg
ZGlhZ25vc3RpYyBwdXNoIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGln
bm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBk
aWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJp
dmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRl
OyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9
IGRlbGV0ZTsgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxz
ZQorICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAor
ICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRp
ZgorCisvKiBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9k
ZWxldGUgKi8KKworI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwK
KyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwK
KyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpB
bGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6
OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsg
XAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwK
KyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRl
cm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJl
ZShwKTsgXAorICAgIH0gXAorcHJpdmF0ZToKKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICov
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5hNTRkMWJmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMx
LDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5k
aWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZD
b3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAg
fQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkK
ICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmMyMWQ0ZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVm
aW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGht
PgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBA
IC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxl
dGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKCkgOiBt
X3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCogcHRyKSA6IG1fcHRy
KHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
aW5kZXggN2Y2ZWJmZS4uMjI1MWZkOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBA
IC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1l
IEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0
cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRU
cmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJ
ZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0z
MSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAj
ZGVmaW5lIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogLy8gSG9sZHMgVGhyZWFkSWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0
b3JhZ2UgYW5kIGVtcGxveXMgcHRocmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRv
IHJlbGlhYmx5IHJlbW92ZQogLy8gVGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQg
YXNzdW1lcyByZWd1bGFyIFRocmVhZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1w
YXNzIGRlc3RydWN0aW9uLgotY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGhyZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRocmVhZElkZW50aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRl
bnRpZmllckRhdGEoKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXgg
MzNjNjYxMi4uMTMxMjkwMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBA
IC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFk
U2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVk
QmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRp
YWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Yy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4u
MTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYg
QEAKICNpZm5kZWYgV1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNp
ZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURT
KQogI2luY2x1ZGUgPHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7
CiB2b2lkIFRocmVhZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3Rl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMo
KTsKICAgICBUKiBvcGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBzdGF0aWMgZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQ
TEFURk9STShRVCkgfHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBE
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBU
aHJlYWRTcGVjaWZpYzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30K
ICNpZiBQTEFURk9STShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMp
OyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2Fk
Li5kNzI5OTZhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNX
aW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAg
LTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNw
ZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVB
RFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhh
dCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi43MmFlNWU1IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsK
IAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdU
aHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2ludCwgdm9pZCogZGF0YSwg
Y29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVudHJ5UG9pbnQpCiAgICAg
ICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4IDA0NDM2NWYuLmRhZWEx
OGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYgQEAKICNpbmNsdWRlIDx3
dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4u
MmNkNTc1NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0z
NSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0
Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRP
V1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBAQCB0eXBlZGVmIHZvaWQq
IFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Db25kaXRpb247
CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3
ICsxMTMsOCBAQCBwcml2YXRlOgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7
CiAKLWNsYXNzIFJlYWRXcml0ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
ZFdyaXRlTG9jayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBw
dWJsaWM6CiAgICAgUmVhZFdyaXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0x
MzAsNyArMTMxLDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFk
V3JpdGVMb2NrOwogfTsKIAotY2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkQ29uZGl0aW9uKTsKIHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+
VGhyZWFkQ29uZGl0aW9uKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uYWJjOTYwMyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaApAQCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gK
ICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAi
Tm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNo
ZWNrLmgiCkBAIC0yNzcsNyArMjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAg
LTQ4OCw3ICs0ODgsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3Rv
ckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3Rv
clR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWRE
YXRhLmgKaW5kZXggNTAxOWMzMy4uMmZhYzMzOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1dURlRocmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0
YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykg
aW4gV2ViQ29yZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpA
QCAtNTEsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0
IGNoYXIqLCBSZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJh
bElkZW50aWZpZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODQsNyArODQs
OCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3Ry
aW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJl
YWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRo
cmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL2R0b2EuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCmluZGV4IGM4
OWMwMzYuLjVlNzg1MGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5v
ZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093
blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNl
NDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcg
KzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19m
cmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVP
d25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Zp
bGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsg
ZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVy
LmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBu
YW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5n
QnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLmIwMzhkZjEgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0
cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmlu
Z0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBib29sIGlz
U3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52
YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQog
ICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5
ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAg
ICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5l
dyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFj
ZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFu
IGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsg
fQogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li41YWIz
NDQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVj
dCBVQ29sbGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNz
ID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaAppbmRleCBmNzYx
Y2NjLi4xM2ZkNDUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJw
cmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAt
MzA0LDcgKzMwNCw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0
ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJ5dGVEaXNq
dW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAg
ICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTcsNyArMzE4LDkg
QEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVj
b2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4o
UGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24q
PiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJB
bGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBt
X2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRl
cm4uaAppbmRleCAzN2I1NDRmLi4xYWMwZmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95
YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKQEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICAvLyBBbGwgQ2hhcmFjdGVyQ2xh
c3MgaW5zdGFuY2VzIGhhdmUgdG8gaGF2ZSB0aGUgZnVsbCBzZXQgb2YgbWF0Y2hlcyBhbmQgcmFu
Z2VzLAogICAgIC8vIHRoZXkgbWF5IGhhdmUgYW4gb3B0aW9uYWwgdGFibGUgZm9yIGZhc3RlciBs
b29rdXBzICh3aGljaCBtdXN0IG1hdGNoIHRoZQogICAgIC8vIHNwZWNpZmllZCBtYXRjaGVzIGFu
ZCByYW5nZXMpCkBAIC0yMDEsNyArMjAzLDkgQEAgc3RydWN0IFBhdHRlcm5UZXJtIHsKICAgICB9
CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgUGF0dGVybkFsdGVybmF0aXZlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVi
bGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0
aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRo
cm91Z2goZmFsc2UpCkBAIC0yNDIsNyArMjQ2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2
ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1z
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVy
bkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLjcxNGQ1NjkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE5YWNkNS4uZTFi
OTYzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0yMiAgQWJoaXNoZWsgQXJ5YSAgPGlu
ZmVybm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYzUxMjY3Ny4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL0ZvcndhcmRp
bmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBA
Ci0jaWZuZGVmIFdlYkNvcmVfRldEX05vbmNvcHlhYmxlX2gKLSNkZWZpbmUgV2ViQ29yZV9GV0Rf
Tm9uY29weWFibGVfaAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+Ci0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDg1ZGI2ZmQuLjk1
ZmI3NTUgMTAwNzU1Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
KysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNjM1NTgsMTAg
KzYzNTU4LDYgQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQotCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXEZvcndhcmRpbmdIZWFkZXJzXHd0ZlxOb25jb3B5YWJsZS5oIg0KLQkJCQkJ
Pg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXEZvcndh
cmRpbmdIZWFkZXJzXHd0ZlxPd25BcnJheVB0ci5oIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggMmVlNTZlZS4uYjJhYzg2NiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC01Nyw3ICs1Nyw4IEBAIHN0
cnVjdCBUZXh0TWFya2VyRGF0YSB7CiAKIGVudW0gUG9zdFR5cGUgeyBQb3N0U3luY2hyb25vdXNs
eSwgUG9zdEFzeW5jaHJvbm91c2x5IH07CiAKLWNsYXNzIEFYT2JqZWN0Q2FjaGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQVhPYmplY3RDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQVhPYmplY3RDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgQVhPYmplY3RDYWNoZSgpOwogICAgIH5BWE9iamVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgKaW5kZXggODA5YTQ4OC4u
ZDA5MTQzMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNl
UHJvdmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
Y2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0U291cmNlUHJv
dmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYWNo
ZWRTY3JpcHRTb3VyY2VQcm92aWRlcj4gY3JlYXRlKENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIoY2FjaGVk
U2NyaXB0KSk7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xs
ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKaW5kZXggNGMyNTQwNy4u
ZDMyZjc1MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAor
KysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCkBAIC0yNiwxMiArMjYsMTIg
QEAKICNpZm5kZWYgR0NDb250cm9sbGVyX2gKICNkZWZpbmUgR0NDb250cm9sbGVyX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgR0NDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoR0NDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5k
IEdDQ29udHJvbGxlciYgZ2NDb250cm9sbGVyKCk7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuaAppbmRleCA1NGU5Y2Y2Li43NzNiNTczIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01CaW5kaW5nLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDxydW50aW1lL0xvb2t1
cC5oPgogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dDTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAg
ICAgY2xhc3MgSlNHbG9iYWxEYXRhOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RlYnVnV3JhcHBlclNldC5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNl
dC5oCmluZGV4IDk0YjZmNzguLmY0Mzk3MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdX
cmFwcGVyU2V0LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTRE9NV3JhcHBlci5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBkZWxldGVkIHdpdGhvdXQgYmVpbmcgcmVt
b3ZlZCBmcm9tIHRoZSBjYWNoZQogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgY2FjaGVkIHR3aWNl
CiAKLWNsYXNzIEpTRGVidWdXcmFwcGVyU2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEpTRGVidWdXcmFwcGVyU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU0RlYnVnV3Jh
cHBlclNldCk7CiAgICAgZnJpZW5kIGNsYXNzIFdURjo6VGhyZWFkU3BlY2lmaWM8SlNEZWJ1Z1dy
YXBwZXJTZXQ+OwogcHVibGljOgogICAgIHN0YXRpYyBKU0RlYnVnV3JhcHBlclNldCYgc2hhcmVk
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0
ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAppbmRleCA4
MTkzZDdjLi4zNDlkYzE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRo
cmVhZEV4ZWNTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhl
Y1N0YXRlLmgKQEAgLTMwLDExICszMCwxMSBAQAogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlIDx3
dGYvTWFpblRocmVhZC5oPgogI2VuZGlmCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0ZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSlNNYWluVGhyZWFkRXhlY1N0YXRlKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgSlNDOjpFeGVjU3RhdGUqIGN1cnJlbnRTdGF0ZSgpCiAgICAgeyAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjaGVkdWxlZEFjdGlvbi5oCmluZGV4IDZjOWQwYmEuLmNmY2VlZDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaApAQCAtNDEsNyArNDEsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgKiB0aW1lIGludGVydmFsLCBlaXRoZXIgb25jZSBvciByZXBlYXRlZGx5LiBV
c2VkIGZvciB3aW5kb3cuc2V0VGltZW91dCgpCiAgICAgKiBhbmQgd2luZG93LnNldEludGVydmFs
KCkKICAgICAqLwotICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NoZWR1bGVkQWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4gY3JlYXRlKEpT
Qzo6RXhlY1N0YXRlKiwgRE9NV3JhcHBlcldvcmxkKiBpc29sYXRlZFdvcmxkKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMTVjMjNjNS4uMjc4
MTRlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XaW5kb3c7
CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogCi0gICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPCBS
ZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgSlNDOjpQcm90ZWN0ZWRQdHI8SlNET01XaW5kb3c+ID4g
SlNET01XaW5kb3dTZXQ7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggMzE3MmM2NS4uZDI1OTNmNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBQYWdlR3JvdXA7CiBj
bGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogY2xhc3MgSmF2YVNjcmlwdENhbGxGcmFtZTsKIAot
Y2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyLCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1NlcnZlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCmluZGV4IDA1ZTdhMjUuLmQ0ZGQ2MDYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMyLDExICszMiwxMSBAQAogI2lu
Y2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
U2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmls
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYg
dGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0
U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3Rh
dGUuaAppbmRleCAwYzA4NjExLi40OTcxOTJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5o
CkBAIC0zMyw3ICszMyw2IEBACiAjZGVmaW5lIFNjcmlwdFN0YXRlX2gKIAogI2luY2x1ZGUgPHJ1
bnRpbWUvUHJvdGVjdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIGNsYXNzIEV4ZWNTdGF0ZTsKQEAgLTUyLDcgKzUxLDggQEAgY2xhc3MgUGFnZTsK
IC8vIEZvciBub3csIHRoZSBzZXBhcmF0aW9uIGlzIHB1cmVseSBieSBjb252ZW50aW9uLgogdHlw
ZWRlZiBKU0M6OkV4ZWNTdGF0ZSBTY3JpcHRTdGF0ZTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90
ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0
ZWRQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRy
KTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRT
dGF0ZSopOwogICAgIH5TY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaAppbmRleCA1ZDAzMzI4Li41MjhjYmM5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaApAQCAtMjQsMTcgKzI0LDE4IEBA
CiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJET01PYmplY3RIYXNo
VGFibGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRh
OjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29yZUpTQ2xpZW50
RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2ViQ29yZUpTQ2xpZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgZnJpZW5kIGNsYXNzIEpTR2xvYmFsRGF0YVdvcmxkSXRlcmF0b3I7CiAgICAgZnJp
ZW5kIHZvaWQgaW5pdE5vcm1hbFdvcmxkQ2xpZW50RGF0YShKU0M6OkpTR2xvYmFsRGF0YSopOwog
CiBwdWJsaWM6CisgICAgV2ViQ29yZUpTQ2xpZW50RGF0YSgpIHsgfQogICAgIHZpcnR1YWwgfldl
YkNvcmVKU0NsaWVudERhdGEoKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQuY29u
dGFpbnMobV9ub3JtYWxXb3JsZC5nZXQoKSkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtl
clNjcmlwdENvbnRyb2xsZXIuaAppbmRleCBiZTdkYTRkLi43OGI3ZGRmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApAQCAtMzEsNyArMzEsNiBAQAog
CiAjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgU2NyaXB0VmFsdWU7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAotICAg
IGNsYXNzIFdvcmtlclNjcmlwdENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFdvcmtlclNjcmlwdENvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXb3JrZXJTY3JpcHRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICBwdWJsaWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2VyQ29udGV4dCop
OwogICAgICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9ET01EYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApp
bmRleCBjOGI0YTQxLi4wOWQ1MzQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApAQCAtNDMsNyArNDMs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gdGhyZWFkLiAgVGhlIERPTURhdGEgZm9y
IHRoZSBtYWluIHRocmVhZCBhbmQgdGhlIERPTURhdGEgZm9yIGNoaWxkIHRocmVhZHMKICAgICAv
LyB1c2UgZGlmZmVyZW50IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBET01EYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRE9NRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBET01EYXRhKCk7
CiAgICAgICAgIHZpcnR1YWwgfkRPTURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvRE9NRGF0YVN0b3JlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CmluZGV4IDM3NThlMjMuLjhjNmMwMmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YVN0b3JlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaApA
QCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtMTQ5LDcgKzE0OCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRvZXNuJ3QgbWFuYWdlIHRoZSBsaWZl
dGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogICAgIC8vIGxpZmV0aW1lIGlzIG1h
bmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGFTdG9yZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YVN0b3JlIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGVu
dW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAgICAgRE9NTm9kZU1hcCwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmggYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmluZGV4IDFhYTFmNjIuLmY0MmU4
MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaApAQCAt
NjAsMTQgKzYwLDE0IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93bkhhbmRsZS5oIgogI2luY2x1
ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7CiAKLWNsYXNzIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhICB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhICk7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKEZyYW1lKik7CiAgICAg
flNjcmlwdENhY2hlZEZyYW1lRGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1
Z1NlcnZlci5oCmluZGV4IDVjNWQ2YzYuLjQ0MWFiM2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdERlYnVnU2VydmVyLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgog
I2luY2x1ZGUgPHY4LWRlYnVnLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBQYWdlOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIAotY2xh
c3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0
RGVidWdTZXJ2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVy
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmggYi9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggYjc1YTA1NC4uZTA5NjllMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBACiAjaW5j
bHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJ
bnNwZWN0b3JPYmplY3Q7CiAKLWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNjcmlwdFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
Y3JpcHRQcm9maWxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3Rh
dGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
Y3JpcHRQcm9maWxlPiBzdG9wKFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRs
ZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmggYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKaW5kZXggMTE4MTNiMC4uZGMyNDcxMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAi
RE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIFNjcmlwdFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNj
cmlwdFN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZSk7CiBwdWJs
aWM6CiAgICAgYm9vbCBoYWRFeGNlcHRpb24oKSB7IHJldHVybiAhbV9leGNlcHRpb24uSXNFbXB0
eSgpOyB9CiAgICAgdm9pZCBzZXRFeGNlcHRpb24odjg6OkxvY2FsPHY4OjpWYWx1ZT4gZXhjZXB0
aW9uKQpAQCAtNzksNyArNzksOCBAQCBwdWJsaWM6CiAgICAgfkVtcHR5U2NyaXB0U3RhdGUoKSB7
IH0KIH07CiAKLWNsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cik7CiBwdWJsaWM6CiAgICAgU2NyaXB0U3Rh
dGVQcm90ZWN0ZWRQdHIoKSA6IG1fc2NyaXB0U3RhdGUoMCkgeyB9CiAgICAgU2NyaXB0U3RhdGVQ
cm90ZWN0ZWRQdHIoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKSA6IG1fc2NyaXB0U3RhdGUoc2Ny
aXB0U3RhdGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5j
cHAKaW5kZXggMzZmYzFmNi4uMmMyODc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTI4LDcgKzEyOCw4IEBAIHByaXZhdGU6CiAKIC8v
IFdyaXRlciBpcyByZXNwb25zaWJsZSBmb3Igc2VyaWFsaXppbmcgcHJpbWl0aXZlIHR5cGVzIGFu
ZCBzdG9yaW5nCiAvLyBpbmZvcm1hdGlvbiB1c2VkIHRvIHJlY29uc3RydWN0IGNvbXBvc2l0ZSB0
eXBlcy4KLWNsYXNzIFdyaXRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdyaXRlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV3JpdGVyKTsKIHB1YmxpYzoKICAgICBXcml0ZXIoKQogICAg
ICAgICA6IG1fcG9zaXRpb24oMCkKQEAgLTM3Nyw3ICszNzgsOCBAQCBwdWJsaWM6CiAgICAgfQog
CiBwcml2YXRlOgotICAgIGNsYXNzIFN0YXRlQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgU3RhdGVCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RhdGVC
YXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflN0YXRlQmFzZSgpIHsgfQogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1dlYkNvcmUvYnJpZGdlL0JyaWRn
ZS5oCmluZGV4IDUwZWZjNjQuLjkxODIyNmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL0Jy
aWRnZS5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCkBAIC0yOCwxNCArMjgsMTUgQEAK
ICNkZWZpbmUgQnJpZGdlX2gKIAogI2luY2x1ZGUgIkJyaWRnZUpTQy5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDICB7CiAKIG5hbWVzcGFjZSBCaW5kaW5n
cyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZXRob2Qg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1ldGhvZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CisgICAgTWV0aG9kKCkgeyB9CiAgICAgdmlydHVhbCBpbnQgbnVtUGFyYW1l
dGVycygpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgfk1ldGhvZCgpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oIGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRp
ZmllclJlcC5oCmluZGV4IDk5YmFlMGIuLmNhNDNhZDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJp
ZGdlL0lkZW50aWZpZXJSZXAuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgK
QEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBJZGVudGlmaWVyUmVwX2gKIAogI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNs
dWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAKLWNsYXNzIElkZW50aWZpZXJSZXAgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CitjbGFzcyBJZGVudGlmaWVyUmVwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoaW50KTsKICAgICBzdGF0
aWMgSWRlbnRpZmllclJlcCogZ2V0KGNvbnN0IGNoYXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaApp
bmRleCA5Njk3NGQ5Li44OGVjNzI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJp
ZGdlSlNDLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01OSw4ICs1
OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNsYXNzIENs
YXNzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDbGFzcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAg
Q2xhc3MoKSB7IH0KICAgICB2aXJ0dWFsIE1ldGhvZExpc3QgbWV0aG9kc05hbWVkKGNvbnN0IElk
ZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEZpZWxkKiBmaWVs
ZE5hbWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0
dWFsIEpTVmFsdWUgZmFsbGJhY2tPYmplY3QoRXhlY1N0YXRlKiwgSW5zdGFuY2UqLCBjb25zdCBJ
ZGVudGlmaWVyJikgeyByZXR1cm4ganNVbmRlZmluZWQoKTsgfQpAQCAtMTI1LDcgKzEyNyw4IEBA
IHByaXZhdGU6CiAgICAgV2Vha0dDUHRyPFJ1bnRpbWVPYmplY3Q+IG1fcnVudGltZU9iamVjdDsK
IH07CiAKLWNsYXNzIEFycmF5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFycmF5IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcnJheSk7CiBwdWJsaWM6CiAgICAgQXJyYXkoUGFz
c1JlZlB0cjxSb290T2JqZWN0Pik7CiAgICAgdmlydHVhbCB+QXJyYXkoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9y
b290LmgKaW5kZXggYmFiZDdhZC4uMzlmYjM1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
cnVudGltZV9yb290LmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmgKQEAgLTMz
LDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaCBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApp
bmRleCA4MzNkN2ZlLi41NmIyODI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZh
bHVlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCkBAIC0zMiw2ICszMiw3IEBA
IGNsYXNzIFN0eWxlQ2FjaGVkSW1hZ2U7CiBjbGFzcyBTdHlsZUltYWdlOwogCiBjbGFzcyBDU1NJ
bWFnZVZhbHVlIDogcHVibGljIENTU1ByaW1pdGl2ZVZhbHVlLCBwcml2YXRlIENhY2hlZFJlc291
cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFsdWU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVm
KG5ldyBDU1NJbWFnZVZhbHVlKTsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFs
dWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVybCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0lt
YWdlVmFsdWUodXJsKSk7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUu
aCBiL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAppbmRleCAxMGQzMDI2Li43M2YyYWNiIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKKysrIGIvV2ViQ29yZS9jc3Mv
Q1NTSW1wb3J0UnVsZS5oCkBAIC0zNCw2ICszNCw3IEBAIGNsYXNzIENhY2hlZENTU1N0eWxlU2hl
ZXQ7CiBjbGFzcyBNZWRpYUxpc3Q7CiAKIGNsYXNzIENTU0ltcG9ydFJ1bGUgOiBwdWJsaWMgQ1NT
UnVsZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbXBvcnRSdWxlPiBj
cmVhdGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGhyZWYsIFBhc3NSZWZQ
dHI8TWVkaWFMaXN0PiBtZWRpYSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NO
YW1lc3BhY2UuaCBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCmluZGV4IDYyMjVjMzYuLjA2
ZDQwNmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU05hbWVzcGFjZS5oCkBAIC0yNiw3ICsyNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotICAgIHN0cnVjdCBDU1NOYW1lc3BhY2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IENTU05hbWVzcGFjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU05hbWVz
cGFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAgICAgICBBdG9t
aWNTdHJpbmcgcHJlZml4OwogICAgICAgICBBdG9taWNTdHJpbmcgdXJpOwogICAgICAgICBPd25Q
dHI8Q1NTTmFtZXNwYWNlPiBwYXJlbnQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDFkYTIwYjcuLjk3MmY3NzcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCkBAIC0zMjgsNyArMzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGludCBj
c3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYpOwogICAgIGludCBjc3NWYWx1ZUtleXdvcmRJRChj
b25zdCBDU1NQYXJzZXJTdHJpbmcmKTsKIAotICAgIGNsYXNzIFNob3J0aGFuZFNjb3BlIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNob3J0aGFuZFNjb3BlIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNob3J0aGFuZFNj
b3BlKENTU1BhcnNlciogcGFyc2VyLCBpbnQgcHJvcElkKSA6IG1fcGFyc2VyKHBhcnNlcikKICAg
ICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmggYi9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCA5OTNhZTI4Li40NWY0YTQ2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXJWYWx1ZXMuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgQ1NTUGFyc2VyVmFsdWUgewog
ICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNyZWF0ZUNTU1ZhbHVlKCk7CiB9OwogCi1jbGFzcyBD
U1NQYXJzZXJWYWx1ZUxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQYXJz
ZXJWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
Q1NTUGFyc2VyVmFsdWVMaXN0KCkKICAgICAgICAgOiBtX2N1cnJlbnQoMCkKQEAgLTgzLDcgKzg0
LDkgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8Q1NTUGFyc2VyVmFsdWUsIDQ+IG1fdmFsdWVzOwog
fTsKIAotc3RydWN0IENTU1BhcnNlckZ1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
Q1NTUGFyc2VyRnVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6
CiAgICAgQ1NTUGFyc2VyU3RyaW5nIG5hbWU7CiAgICAgT3duUHRyPENTU1BhcnNlclZhbHVlTGlz
dD4gYXJnczsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oIGIvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHkuaAppbmRleCAxMDYxNzFkLi45YTllYzQ0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
LmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDU1NQ
cm9wZXJ0eSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Byb3BlcnR5IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIENTU1Byb3BlcnR5KGludCBw
cm9wSUQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlLCBib29sIGltcG9ydGFudCA9IGZhbHNl
LCBpbnQgc2hvcnRoYW5kSUQgPSAwLCBib29sIGltcGxpY2l0ID0gZmFsc2UpCiAgICAgICAgIDog
bV9pZChwcm9wSUQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAgYi9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKaW5kZXggZmI4ZjY5NS4uNDJjZGY3OSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmNwcApAQCAtMzcsOCArMzcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2lu
ZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1jbGFzcyBDU1NTZWxlY3RvckJhZyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDU1NTZWxlY3RvckJhZyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTU2VsZWN0b3JCYWcpOwogcHVibGljOgorICAgIENTU1NlbGVjdG9yQmFnKCkgeyB9
CiAgICAgfkNTU1NlbGVjdG9yQmFnKCkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc0VtcHR5KCkp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yLmgKaW5kZXggMDBlMjNiOS4uNDZmNGFhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCkBAIC0yNCw3
ICsyNCw2IEBACiAKICNpbmNsdWRlICJRdWFsaWZpZWROYW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVy
U3R5bGVDb25zdGFudHMuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtMzMsNyAr
MzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ1NTU2VsZWN0b3JCYWc7CiAK
ICAgICAvLyB0aGlzIGNsYXNzIHJlcHJlc2VudHMgYSBzZWxlY3RvciBmb3IgYSBTdHlsZVJ1bGUK
LSAgICBjbGFzcyBDU1NTZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
Q1NTU2VsZWN0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3Rvcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDU1NTZWxlY3Rv
cigpCiAgICAgICAgICAgICA6IG1fcmVsYXRpb24oRGVzY2VuZGFudCkKQEAgLTMwMiw3ICszMDIs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHVuc2lnbmVkIHNwZWNpZmljaXR5Rm9y
UGFnZSgpIGNvbnN0OwogICAgICAgICB2b2lkIGV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3Q7CiAK
LSAgICAgICAgc3RydWN0IFJhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UmFyZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmFyZURhdGEpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBSYXJl
RGF0YShQYXNzT3duUHRyPENTU1NlbGVjdG9yPiB0YWdIaXN0b3J5KQogICAgICAgICAgICAgICAg
IDogbV9hKDApCiAgICAgICAgICAgICAgICAgLCBtX2IoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKaW5k
ZXggOWU0MGVmOC4uODU4NDI3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JM
aXN0LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKQEAgLTI3LDExICsyNywx
MSBAQAogI2RlZmluZSBDU1NTZWxlY3Rvckxpc3RfaAogCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3Iu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIAotY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IENTU1NlbGVjdG9yTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JM
aXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDU1NTZWxlY3Rvckxp
c3QoKSA6IG1fc2VsZWN0b3JBcnJheSgwKSB7IH0KICAgICB+Q1NTU2VsZWN0b3JMaXN0KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IDFmZjNiZDUuLjA1YTFiZjUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwCkBAIC0zNDksNyArMzQ5LDggQEAgaWYgKGlkID09IHByb3BJRCkgeyBc
CiAgICAgcmV0dXJuOyBcCiB9CiAKLWNsYXNzIENTU1J1bGVTZXQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ1NTUnVsZVNldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVs
ZVNldCk7CiBwdWJsaWM6CiAgICAgQ1NTUnVsZVNldCgpOwogICAgIH5DU1NSdWxlU2V0KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmgKaW5kZXggYjcxODc1MS4uMTNmYzk3ZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuaApAQCAtNjksNyArNjksOCBAQCBjbGFzcyBTdHlsZWRFbGVtZW50OwogY2xhc3MgV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlOwogY2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTsKIAotY2xh
c3MgTWVkaWFRdWVyeVJlc3VsdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1
ZXJ5UmVzdWx0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5UmVzdWx0KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5UmVzdWx0KGNv
bnN0IE1lZGlhUXVlcnlFeHAmIGV4cHIsIGJvb2wgcmVzdWx0KQogICAgICAgICA6IG1fZXhwcmVz
c2lvbihleHByKQpAQCAtODIsNyArODMsOCBAQCBwdWJsaWM6CiB9OwogCiAgICAgLy8gVGhpcyBj
bGFzcyBzZWxlY3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4gZWxlbWVudCBiYXNlZCBvbiBh
IGNvbGxlY3Rpb24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1N0eWxlU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTU3R5bGVTZWxlY3RvcihEb2N1bWVu
dCosIFN0eWxlU2hlZXRMaXN0KiBhdXRob3JTaGVldHMsIENTU1N0eWxlU2hlZXQqIG1hcHBlZEVs
ZW1lbnRTaGVldCwKICAgICAgICAgICAgICAgICAgICAgICAgICBDU1NTdHlsZVNoZWV0KiBwYWdl
VXNlclNoZWV0LCBjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91
cFVzZXJTaGVldHMsCkBAIC0yMDksNyArMjExLDggQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIFJlbmRlclN0eWxlKiBzdHlsZU5vdFlldEF2YWlsYWJsZSgpIHsgcmV0dXJu
IHNfc3R5bGVOb3RZZXRBdmFpbGFibGU7IH0KIAotICAgICAgICBjbGFzcyBTZWxlY3RvckNoZWNr
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTZWxlY3RvckNoZWNrZXIg
eworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VsZWN0b3JDaGVja2VyKTsKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgU2VsZWN0b3JDaGVja2VyKERvY3VtZW50KiwgYm9v
bCBzdHJpY3RQYXJzaW5nKTsKIApAQCAtMzE1LDcgKzMxOCw4IEBAIHB1YmxpYzoKICAgICAgICAg
VmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQqPiBtX3ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJl
c3VsdHM7CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1bGVEYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDU1NSdWxlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENTU1J1bGVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIENTU1J1bGVEYXRhKHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiByLCBDU1NTZWxl
Y3Rvciogc2VsLCBDU1NSdWxlRGF0YSogcHJldiA9IDApCiAgICAgICAgICAgICA6IG1fcG9zaXRp
b24ocG9zKQpAQCAtMzQzLDcgKzM0Nyw4IEBAIHB1YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGEq
IG1fbmV4dDsKICAgICB9OwogCi0gICAgY2xhc3MgQ1NTUnVsZURhdGFMaXN0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDU1NSdWxlRGF0YUxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGFMaXN0KHVuc2lnbmVkIHBvcywgQ1NTU3R5
bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2VsKQogICAgICAgICAgICAgOiBtX2ZpcnN0KG5l
dyBDU1NSdWxlRGF0YShwb3MsIHJ1bGUsIHNlbCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5LmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKaW5kZXggMjgxMDA5Yi4uN2Qx
ZmM3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCisrKyBiL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnkuaApAQCAtMzcsNyArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgTWVkaWFRdWVyeUV4cDsKIAotY2xhc3MgTWVkaWFRdWVyeSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRp
YVF1ZXJ5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIFJlc3Ry
aWN0b3IgewogICAgICAgICBPbmx5LCBOb3QsIE5vbmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlFdmFsdWF0b3IuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3Iu
aAppbmRleCAwMGFjMzk0Li5kOGM1OTgzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5RXZhbHVhdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBA
IC00OSw3ICs0OSw4IEBAIGNsYXNzIE1lZGlhUXVlcnlFeHA7CiAgKiB0aGUgZGV2aWNlIGNoYXJh
Y3RlcmlzdGljcyBhcmUgbm90IGtub3duLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHBydW5lIHRoZSBs
b2FkaW5nCiAgKiBvZiBzdHlsZXNoZWV0cyB0byBvbmx5IHRob3NlIHdoaWNoIGFyZSBwcm9iYWJs
ZSB0byBtYXRjaC4KICAqLwotY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsKKyAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWVkaWFRdWVyeUV2YWx1YXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgLyoqIENyZWF0ZXMgZXZhbHVhdG9yIHdoaWNoIGV2YWx1YXRlcyBvbmx5IHNp
bXBsZSBtZWRpYSBxdWVyaWVzCiAgICAgICogIEV2YWx1YXRvciByZXR1cm5zIHRydWUgZm9yICJh
bGwiLCBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVkaWFGZWF0dXJlUmVzdWx0CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhw
LmgKaW5kZXggNzJkM2ZmZi4uOGU0MjU1ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUV4cC5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaApAQCAtMzgsNyArMzgs
OCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0OwogCi1j
bGFzcyBNZWRpYVF1ZXJ5RXhwIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgTWVkaWFR
dWVyeUV4cCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxNZWRpYVF1ZXJ5RXhwPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBt
ZWRpYUZlYXR1cmUsIENTU1BhcnNlclZhbHVlTGlzdCogdmFsdWVzKTsKICAgICB+TWVkaWFRdWVy
eUV4cCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwIGIv
V2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCmluZGV4IDdmNWYxYjYuLjRhOGQyNWEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcAorKysgYi9XZWJD
b3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBBc3lu
Y1NjcmlwdFJ1bm5lcjo6ZXhlY3V0ZVNjcmlwdFNvb24oU2NyaXB0RWxlbWVudCogZGF0YSwgQ2Fj
aGVkUmVzb3VyY2VIYW4KICAgICBBU1NFUlQoZWxlbWVudC0+aW5Eb2N1bWVudCgpKTsKIAogICAg
IG1fZG9jdW1lbnQtPmluY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKTsKLSAgICBtX3Njcmlw
dHNUb0V4ZWN1dGVTb29uLmFwcGVuZChtYWtlX3BhaXIoZGF0YSwgY2FjaGVkU2NyaXB0KSk7Cisg
ICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBlbmQoc3RkOjptYWtlX3BhaXIoZGF0YSwgY2Fj
aGVkU2NyaXB0KSk7CiAgICAgZWxlbWVudC0+cmVmKCk7IC8vIEJhbGFuY2VkIGJ5IGRlcmVmKClz
IGluIHRpbWVyRmlyZWQoKSBhbmQgZHRvci4KICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkK
ICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9Bc3luY1NjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApp
bmRleCAxYTA1MWE4Li4yOWVlNTZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Bc3luY1Njcmlw
dFJ1bm5lci5oCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAi
VGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzgsNyArMzcsOCBAQCBj
bGFzcyBDYWNoZWRTY3JpcHQ7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7
CiAgICAgCi1jbGFzcyBBc3luY1NjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBBc3luY1NjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNT
Y3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEFzeW5jU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50
KSB7IHJldHVybiBuZXcgQXN5bmNTY3JpcHRSdW5uZXIoZG9jdW1lbnQpOyB9CiAgICAgfkFzeW5j
U2NyaXB0UnVubmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaCBi
L1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCmluZGV4IDg2YTIyYjAuLmY1MDM2ZTQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCisrKyBiL1dlYkNvcmUvZG9tL0RPTVN0
cmluZ01hcC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIERPTVN0cmluZ01hcF9oCiAKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyAr
MzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50OwogdHlwZWRlZiBpbnQg
RXhjZXB0aW9uQ29kZTsKIAotY2xhc3MgRE9NU3RyaW5nTWFwIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIERPTVN0cmluZ01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NU3Ry
aW5nTWFwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5E
T01TdHJpbmdNYXAoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDgzYmE4ODUuLjg0MWJiMjQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKQEAgLTQ2NTUsNyArNDY1NSw5IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsCiAgICAgICAg
IHdpbmRvdy0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3Nh
Z2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCk7CiB9CiAKLXN0cnVjdCBQZXJmb3JtVGFza0NvbnRl
eHQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQZXJmb3JtVGFza0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAorcHVibGljOgogICAgIFBlcmZvcm1UYXNrQ29udGV4dChQYXNzUmVmUHRyPERvY3VtZW50
V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVuY2UsIFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAgICAgOiBkb2N1bWVudFJlZmVyZW5jZShkb2N1
bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNrKHRhc2spCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oCmluZGV4IDk2ZmI3ZjMuLjUwZWM4ODMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5oCkBAIC0zOCw4ICszOCwxMCBAQCBjbGFzcyBJbnRSZWN0Owog
Y2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogCi1jbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIERvY3VtZW50TWFya2VyQ29udHJv
bGxlcigpIHsgfQogICAgIH5Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7IGRldGFjaCgpOyB9
CiAKICAgICB2b2lkIGRldGFjaCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBi
L1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5kZXggZjA1ZDM2Yy4uY2Q0OWRlOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0yNCw2ICsy
NCw3IEBACiAjaWZuZGVmIEV2ZW50X2gKICNkZWZpbmUgRXZlbnRfaAogCisjaW5jbHVkZSAiQ2xp
cGJvYXJkLmgiCiAjaW5jbHVkZSAiRE9NVGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJn
ZXQuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzEsOCArMzIsNiBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBDbGlwYm9hcmQ7Ci0KICAgICBjbGFzcyBF
dmVudCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50PiB7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIFBoYXNlVHlwZSB7IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDQ5NjgwNGUuLjdlMTBlNmYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmgKQEAgLTE3OCw3ICsxNzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogLy8gZW5k
IG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCi0gICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZlbnROYW1lcyB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEV2ZW50TmFtZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
ICAgICBpbnQgZHVtbXk7IC8vIE5lZWRlZCB0byBtYWtlIGluaXRpYWxpemF0aW9uIG1hY3JvIHdv
cmsuCiAgICAgICAgIC8vIFByaXZhdGUgdG8gcHJldmVudCBhY2NpZGVudGFsIGNhbGwgdG8gRXZl
bnROYW1lcygpIGluc3RlYWQgb2YgZXZlbnROYW1lcygpCiAgICAgICAgIEV2ZW50TmFtZXMoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmggYi9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5oCmluZGV4IGRkY2I2NjMuLmZhMTkwZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApAQCAtODMsNyAr
ODMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiBWZWN0b3I8UmVnaXN0ZXJl
ZEV2ZW50TGlzdGVuZXIsIDE+IEV2ZW50TGlzdGVuZXJWZWN0b3I7CiAgICAgdHlwZWRlZiBIYXNo
TWFwPEF0b21pY1N0cmluZywgRXZlbnRMaXN0ZW5lclZlY3Rvcio+IEV2ZW50TGlzdGVuZXJNYXA7
CiAKLSAgICBzdHJ1Y3QgRXZlbnRUYXJnZXREYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVj
dCBFdmVudFRhcmdldERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudFRh
cmdldERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAg
RXZlbnRUYXJnZXREYXRhKCk7CiAgICAgICAgIH5FdmVudFRhcmdldERhdGEoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aCBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgK
aW5kZXggOWQxODM1YS4uMjZmN2ZkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vSWdub3JlRGVz
dHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAorKysgYi9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCkBAIC0yNywxMSArMjcsMTEgQEAKICNk
ZWZpbmUgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXJfaAogCiAjaW5jbHVk
ZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291
bnRJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWdub3JlRGVzdHJ1Y3Rp
dmVXcml0ZUNvdW50SW5jcmVtZW50ZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IElnbm9yZURl
c3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAg
ICAgOiBtX2NvdW50KGRvY3VtZW50ID8gJmRvY3VtZW50LT5tX2lnbm9yZURlc3RydWN0aXZlV3Jp
dGVDb3VudCA6IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwu
aCBiL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGYzMDhhMjkuLjE0ZDkw
ZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1dl
YkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCkBAIC01NSw3ICs1NSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIC8vIE1lc3NhZ2VQb3J0Q2hhbm5lbCBpcyBhIHBsYXRmb3JtLWlu
ZGVwZW5kZW50IGludGVyZmFjZSB0byB0aGUgcmVtb3RlIHNpZGUgb2YgYSBtZXNzYWdlIGNoYW5u
ZWwuCiAgICAgLy8gSXQgYWN0cyBhcyBhIHdyYXBwZXIgYXJvdW5kIHRoZSBwbGF0Zm9ybS1kZXBl
bmRlbnQgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwgaW1wbGVtZW50YXRpb24gd2hpY2ggZW5z
dXJlcyB0aGF0IHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgY2xvc2UoKSBtZXRob2QgaXMgaW52b2tl
ZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uCi0gICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNzYWdlUG9ydENoYW5uZWwpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5l
bChQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBA
IC03OCw3ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0
cnVlIGlmIHRoZSBwcm94eSBjdXJyZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9y
dC4KICAgICAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBF
dmVudERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERhdGEg
eworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NP
d25QdHI8RXZlbnREYXRhPiBjcmVhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5Pik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKaW5k
ZXggYWIyMDhkMi4uZWRjNTA2MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRh
LmgKKysrIGIvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTM0LDcgKzM0LDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgTm9kZUxpc3RzTm9kZURhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgTm9kZUxpc3RzTm9kZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE5vZGVMaXN0c05vZGVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoK
ICAgICB0eXBlZGVmIEhhc2hTZXQ8RHluYW1pY05vZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAg
Tm9kZUxpc3RTZXQgbV9saXN0c1dpdGhDYWNoZXM7CiAgICAgCkBAIC02Nyw3ICs2OSw4IEBAIHBy
aXZhdGU6CiAgICAgfQogfTsKICAgICAKLWNsYXNzIE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBOb2RlUmFyZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE5vZGVSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6ICAgIAogICAg
IE5vZGVSYXJlRGF0YSgpCiAgICAgICAgIDogbV90YWJJbmRleCgwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vUXVhbGlmaWVkTmFtZS5oIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmlu
ZGV4IDM0ZmMwNjkuLjE3ZTg1MDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5h
bWUuaAorKysgYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTMyLDcgKzMyLDggQEAg
c3RydWN0IFF1YWxpZmllZE5hbWVDb21wb25lbnRzIHsKICAgICBTdHJpbmdJbXBsKiBtX25hbWVz
cGFjZTsKIH07CiAKLWNsYXNzIFF1YWxpZmllZE5hbWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7
CitjbGFzcyBRdWFsaWZpZWROYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIGNsYXNzIFF1YWxpZmllZE5hbWVJbXBsIDogcHVibGljIFJlZkNvdW50ZWQ8UXVh
bGlmaWVkTmFtZUltcGw+IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9T
Y3JpcHRFbGVtZW50LmggYi9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKaW5kZXggYjZiZWI2
ZS4uNGU5MWJkOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCisrKyBi
L1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaApAQCAtMzIsNiArMzIsNyBAQCBjbGFzcyBTY3Jp
cHRFbGVtZW50OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAogY2xhc3MgU2NyaXB0RWxlbWVu
dCA6IHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgU2NyaXB0RWxlbWVudChFbGVtZW50KiwgYm9vbCBjcmVhdGVk
QnlQYXJzZXIsIGJvb2wgaXNFdmFsdWF0ZWQpOwogICAgIHZpcnR1YWwgflNjcmlwdEVsZW1lbnQo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBiNDZhMGY0Li44Y2E4MmEx
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0xMTYsOCArMTE2LDEwIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCByZWYoKSB7IHJlZlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsgfQogICAgICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsgfQogCi0gICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CisgICAg
ICAgICAgICBUYXNrKCkgeyB9CiAgICAgICAgICAgICB2aXJ0dWFsIH5UYXNrKCk7CiAgICAgICAg
ICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0g
MDsKICAgICAgICAgICAgIC8vIENlcnRhaW4gdGFza3MgZ2V0IG1hcmtlZCBzcGVjaWFsbHkgc28g
dGhhdCB0aGV5IGFyZW4ndCBkaXNjYXJkZWQsIGFuZCBhcmUgZXhlY3V0ZWQsIHdoZW4gdGhlIGNv
bnRleHQgaXMgc2h1dHRpbmcgZG93biBpdHMgbWVzc2FnZSBxdWV1ZS4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaCBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJp
bmcuaAppbmRleCA4MjZlNmJkLi44Mzk5YjY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TcGFj
ZVNwbGl0U3RyaW5nLmgKKysrIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCkBAIC0y
OCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTcGFjZVNwbGl0
U3RyaW5nRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwYWNlU3BsaXRTdHJp
bmdEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNw
YWNlU3BsaXRTdHJpbmdEYXRhKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBib29sIHNob3VsZEZvbGRD
YXNlKQogICAgICAgICAgICAgOiBtX3N0cmluZyhzdHJpbmcpLCBtX3Nob3VsZEZvbGRDYXNlKHNo
b3VsZEZvbGRDYXNlKSwgbV9jcmVhdGVkVmVjdG9yKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vVHJhbnNmb3JtU291cmNlLmggYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaApp
bmRleCBmOTdhZmNmLi45N2VjNDgyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1T
b3VyY2UuaAorKysgYi9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaApAQCAtMjMsNyArMjMs
NiBAQAogI2lmIEVOQUJMRShYU0xUKQogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
Myw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHZvaWQqIFBsYXRm
b3JtVHJhbnNmb3JtU291cmNlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2Ug
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJjZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zZm9ybVNvdXJjZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBUcmFuc2Zvcm1Tb3VyY2UoY29uc3QgUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2UmIHNvdXJjZSk7CiAgICAgICAgIH5UcmFuc2Zvcm1Tb3VyY2Uo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmggYi9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCmluZGV4IDE3ZWEzMTkuLmRlNTdlZmEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvV2ViQ29y
ZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBV
c2VyR2VzdHVyZUluZGljYXRvcl9oCiAjZGVmaW5lIFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTM2LDcgKzM1LDggQEAgZW51bSBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSB7CiAgICAgRGVm
aW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZQogfTsKIAotY2xhc3MgVXNlckdlc3R1cmVJ
bmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0
b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJHZXN0dXJlSW5kaWNhdG9yKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSB7IHJldHVybiBz
X3Byb2Nlc3NpbmdVc2VyR2VzdHVyZSA9PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJl
OyB9CiAgICAgc3RhdGljIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIGdldFVzZXJHZXN0dXJl
U3RhdGUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1Vz
ZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggNmM3MTA3OS4uYmMzYWNlMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJD
b3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAj
aWZuZGVmIFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlclR5cGluZ0dl
c3R1cmVJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNCw3ICszMyw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsKIAotY2xhc3Mg
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVz
ZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBwcm9j
ZXNzaW5nVXNlclR5cGluZ0dlc3R1cmUoKTsKICAgICBzdGF0aWMgTm9kZSogZm9jdXNlZEVsZW1l
bnRBdEdlc3R1cmVTdGFydCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQ
YXJzZXIuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKaW5kZXggZTNkM2NjMi4u
ZDVkYTlkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAorKysg
Yi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCkBAIC03MSw2ICs3MSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXIgOiBw
dWJsaWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGll
bnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8WE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShEb2N1bWVudCog
ZG9jdW1lbnQsIEZyYW1lVmlldyogdmlldykKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1dlYkNvcmUvZG9tL1hNTERvY3Vt
ZW50UGFyc2VyTGlieG1sMi5jcHAKaW5kZXggN2EzMjg1Zi4uNmVkZTc4NiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9XZWJDb3JlL2Rv
bS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCkBAIC03NSw4ICs3NSwxMCBAQCB1c2luZyBu
YW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBlbmRpbmdDYWxs
YmFja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAg
UGVuZGluZ0NhbGxiYWNrcygpIHsgfQogICAgIH5QZW5kaW5nQ2FsbGJhY2tzKCkKICAgICB7CiAg
ICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2NhbGxiYWNrcyk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmggYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBh
cnNlclNjb3BlLmgKaW5kZXggNThlOGE2Yi4uOGY0MTkzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyU2NvcGUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBYTUxEb2N1bWVudFBhcnNl
clNjb3BlX2gKICNkZWZpbmUgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShYU0xUKQogI2luY2x1ZGUgPGxpYnhtbC90
cmVlLmg+CkBAIC0zNiw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNz
IENhY2hlZFJlc291cmNlTG9hZGVyOwogCi0gICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTERvY3VtZW50UGFyc2VyU2NvcGUp
OwogICAgIHB1YmxpYzoKICAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZShDYWNoZWRSZXNv
dXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIpOwogICAgICAgICB+WE1MRG9jdW1lbnRQ
YXJzZXJTY29wZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNv
bnRyb2xsZXIuaCBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKaW5k
ZXggMTI4NmMwNy4uODlmMmNiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1
dHRvbkNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJv
bGxlci5oCkBAIC0zNiw3ICszNiw4IEBAIGNsYXNzIEhUTUxFbGVtZW50OwogY2xhc3MgUmVuZGVy
T2JqZWN0OwogY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKIAotY2xhc3MgRGVsZXRlQnV0dG9uQ29u
dHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWxldGVCdXR0b25Db250cm9s
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWxldGVCdXR0b25Db250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBEZWxldGVCdXR0b25Db250cm9s
bGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0
aW9uQ29tbWFuZC5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQu
Y3BwCmluZGV4IGZiNTJlNTYuLjFjN2I3MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9S
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VT
ZWxlY3Rpb25Db21tYW5kLmNwcApAQCAtNTksNyArNTksOCBAQCBlbnVtIEVGcmFnbWVudFR5cGUg
eyBFbXB0eUZyYWdtZW50LCBTaW5nbGVUZXh0Tm9kZUZyYWdtZW50LCBUcmVlRnJhZ21lbnQgfTsK
IAogLy8gLS0tIFJlcGxhY2VtZW50RnJhZ21lbnQgaGVscGVyIGNsYXNzCiAKLWNsYXNzIFJlcGxh
Y2VtZW50RnJhZ21lbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVwbGFjZW1lbnRG
cmFnbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVwbGFjZW1lbnRGcmFnbWVudCk7
CiBwdWJsaWM6CiAgICAgUmVwbGFjZW1lbnRGcmFnbWVudChEb2N1bWVudCosIERvY3VtZW50RnJh
Z21lbnQqLCBib29sIG1hdGNoU3R5bGUsIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaCBiL1dlYkNvcmUv
ZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKaW5kZXggOGNjODllNC4uMzk3OGY3NSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAorKysgYi9XZWJD
b3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5j
bHVkZSAiU2Nyb2xsQmVoYXZpb3IuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIlZp
c2libGVTZWxlY3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00Nyw3ICs0Niw4IEBAIGNsYXNzIFZpc2libGVQb3NpdGlvbjsK
IAogZW51bSBEaXJlY3Rpb25hbGl0eVBvbGljeSB7IE1ha2VOb25EaXJlY3Rpb25hbFNlbGVjdGlv
biwgTWFrZURpcmVjdGlvbmFsU2VsZWN0aW9uIH07CiAKLWNsYXNzIFNlbGVjdGlvbkNvbnRyb2xs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VsZWN0aW9uQ29udHJvbGxlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBFQWx0ZXJhdGlvbiB7IEFsdGVyYXRpb25N
b3ZlLCBBbHRlcmF0aW9uRXh0ZW5kIH07CiAgICAgZW51bSBFRGlyZWN0aW9uIHsgRGlyZWN0aW9u
Rm9yd2FyZCwgRGlyZWN0aW9uQmFja3dhcmQsIERpcmVjdGlvblJpZ2h0LCBEaXJlY3Rpb25MZWZ0
IH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmggYi9X
ZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXggNGRjZWQwNS4uZGU5Yzc1
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCisrKyBi
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAtNzIsNyArNzIsOCBAQCBw
cml2YXRlOgogICAgIG11dGFibGUgaW50IG1fY2hlY2tpbmdMZW5ndGg7CiB9OwogCi1jbGFzcyBU
ZXh0Q2hlY2tpbmdIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGV4dENoZWNr
aW5nSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q2hlY2tpbmdIZWxwZXIp
OwogcHVibGljOgogICAgIFRleHRDaGVja2luZ0hlbHBlcihFZGl0b3JDbGllbnQqLCBQYXNzUmVm
UHRyPFJhbmdlPik7CiAgICAgflRleHRDaGVja2luZ0hlbHBlcigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJh
dG9yLmNwcAppbmRleCBhOTYyNjhkLi4xZmJlNjBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cApAQCAtNTcsNyArNTcsOCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogLy8gS2VlcHMg
ZW5vdWdoIG9mIHRoZSBwcmV2aW91cyB0ZXh0IHRvIGJlIGFibGUgdG8gc2VhcmNoIGluIHRoZSBm
dXR1cmUsIGJ1dCBubyBtb3JlLgogLy8gTm9uLWJyZWFraW5nIHNwYWNlcyBhcmUgYWx3YXlzIGVx
dWFsIHRvIG5vcm1hbCBzcGFjZXMuCiAvLyBDYXNlIGZvbGRpbmcgaXMgYWxzbyBkb25lIGlmIDxp
c0Nhc2VTZW5zaXRpdmU+IGlzIGZhbHNlLgotY2xhc3MgU2VhcmNoQnVmZmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNlYXJjaEJ1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2VhcmNoQnVmZmVyKTsKIHB1YmxpYzoKICAgICBTZWFyY2hCdWZmZXIoY29uc3QgU3RyaW5n
JiB0YXJnZXQsIGJvb2wgaXNDYXNlU2Vuc2l0aXZlKTsKICAgICB+U2VhcmNoQnVmZmVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oIGIvV2ViQ29yZS9maWxlYXBp
L0ZpbGVUaHJlYWQuaAppbmRleCBkN2FhYmY3Li40NTIwNWM0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgK
QEAgLTU0LDcgKzU0LDggQEAgcHVibGljOgogICAgIGJvb2wgc3RhcnQoKTsKICAgICB2b2lkIHN0
b3AoKTsKIAotICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFRhc2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIHZpcnR1YWwgflRhc2soKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZv
cm1UYXNrKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3Rl
bS5oIGIvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCmluZGV4IGI3NzlhNWYuLjEy
YTcwMTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAorKysg
Yi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xh
c3MgRmlsZVN5c3RlbUNhbGxiYWNrOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAog
Ly8gS2VlcHMgcGVyLXByb2Nlc3MgaW5mb3JtYXRpb24gYW5kIHByb3ZpZGVzIGFuIGVudHJ5IHBv
aW50IHRvIG9wZW4gYSBmaWxlIHN5c3RlbS4KLWNsYXNzIExvY2FsRmlsZVN5c3RlbSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEZpbGVTeXN0ZW0geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExvY2FsRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyBhIHBl
ci1wcm9jZXNzIGluc3RhbmNlIG9mIExvY2FsRmlsZVN5c3RlbS4KICAgICAvLyBOb3RlIHRoYXQg
TG9jYWxGaWxlU3lzdGVtOjppbml0aWFsaXplTG9jYWxGaWxlU3lzdGVtIG11c3QgYmUgY2FsbGVk
IGJlZm9yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5o
IGIvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCmluZGV4IDI1ZTY3MzkuLjAy
MGFjNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKQEAgLTU4LDcgKzU4LDgg
QEAgY2xhc3MgRmlsZUVudHJ5U3luYzsKIAogLy8gQSBoZWxwZXIgdGVtcGxhdGUgZm9yIEZpbGVT
eXN0ZW1TeW5jIGltcGxlbWVudGF0aW9uLgogdGVtcGxhdGUgPHR5cGVuYW1lIFN1Y2Nlc3NDYWxs
YmFjaywgdHlwZW5hbWUgT2JzZXJ2ZXJUeXBlLCB0eXBlbmFtZSBDYWxsYmFja0FyZywgdHlwZW5h
bWUgUmVzdWx0VHlwZT4KLWNsYXNzIFN5bmNDYWxsYmFja0hlbHBlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFN5bmNDYWxsYmFja0hlbHBlcik7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBTeW5jQ2FsbGJh
Y2tIZWxwZXI8U3VjY2Vzc0NhbGxiYWNrLCBPYnNlcnZlclR5cGUsIENhbGxiYWNrQXJnLCBSZXN1
bHRUeXBlPiBIZWxwZXJUeXBlOwogICAgIFN5bmNDYWxsYmFja0hlbHBlcihPYnNlcnZlclR5cGUq
IG9ic2VydmVyID0gMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENv
bnRyb2xsZXIuaCBiL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaAppbmRl
eCBlODllMzJiLi5kNjgwNDdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2hpc3RvcnkvQmFja0Zvcndh
cmRDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxl
ci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEJhY2tGb3J3YXJkQ29udHJvbGxlcl9oCiAj
ZGVmaW5lIEJhY2tGb3J3YXJkQ29udHJvbGxlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IApAQCAtMzYsNyArMzUsOCBAQCBjbGFzcyBCYWNrRm9yd2FyZExpc3Q7CiBjbGFzcyBIaXN0b3J5
SXRlbTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEJhY2tGb3J3YXJkQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgQmFja0ZvcndhcmRDb250cm9sbGVyKFBhZ2UqLCBQYXNzUmVm
UHRyPEJhY2tGb3J3YXJkTGlzdD4pOwogICAgIH5CYWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaCBiL1dlYkNvcmUvaGlzdG9yeS9Q
YWdlQ2FjaGUuaAppbmRleCA3MWFlNWFkLi5kNTBiOWNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAgY2xhc3MgUGFnZTsKICAgICAKLSAg
ICBjbGFzcyBQYWdlQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VD
YWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDYWNoZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBmcmllbmQgUGFnZUNhY2hlKiBw
YWdlQ2FjaGUoKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlv
bkNhY2hlLmggYi9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKaW5kZXggZGYxZDFmYS4u
ZGEzZTZkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCisrKyBi
L1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaApAQCAtMjksNyArMjksOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLXN0cnVjdCBDb2xsZWN0aW9uQ2FjaGUg
OiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgQ29sbGVjdGlvbkNhY2hlKCk7CiAgICAgQ29s
bGVjdGlvbkNhY2hlKGNvbnN0IENvbGxlY3Rpb25DYWNoZSYpOwogICAgIENvbGxlY3Rpb25DYWNo
ZSYgb3BlcmF0b3I9KGNvbnN0IENvbGxlY3Rpb25DYWNoZSYgb3RoZXIpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01TZXR0
YWJsZVRva2VuTGlzdC5oCmluZGV4IDJiNzExYjQuLmUxNTA3MzEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9ET01TZXR0
YWJsZVRva2VuTGlzdC5oCkBAIC0zNSw2ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIERPTVNldHRhYmxlVG9rZW5MaXN0IDogcHVibGljIERPTVRva2VuTGlzdCwgcHVibGlj
IFJlZkNvdW50ZWQ8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVNldHRhYmxlVG9rZW5M
aXN0PiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxp
c3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAppbmRleCA1ZGYyZWRlLi5lMGRiY2M4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9o
dG1sL0RPTVRva2VuTGlzdC5oCkBAIC0yNywxNSArMjcsMTYgQEAKIAogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgRE9NVG9rZW5MaXN0IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVRva2VuTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRE9NVG9rZW5MaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
KyAgICBET01Ub2tlbkxpc3QoKSB7IH0KICAgICB2aXJ0dWFsIH5ET01Ub2tlbkxpc3QoKSB7fTsK
IAogICAgIHZpcnR1YWwgdm9pZCByZWYoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
aW5kZXggZmNiMmJlOC4uNTZiYWE3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1
dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAt
MTIxMSw3ICsxMjExLDkgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFy
YXRlRnJvbUF0dHJpYnV0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdHJ1Y3Qg
RXZlbnRIYW5kbGluZ1N0YXRlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgRXZlbnRIYW5kbGlu
Z1N0YXRlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFJlZlB0
cjxIVE1MSW5wdXRFbGVtZW50PiBtX2N1cnJSYWRpbzsKICAgICBib29sIG1faW5kZXRlcm1pbmF0
ZTsKICAgICBib29sIG1fY2hlY2tlZDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MUGFy
c2VyUXVpcmtzLmggYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCmluZGV4IDUwZGU3
MTAuLjNiZjIyYTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaApAQCAtMjcsMTMgKzI3LDEzIEBA
CiAjZGVmaW5lIEhUTUxQYXJzZXJRdWlya3NfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBOb2RlOwogCi1jbGFzcyBIVE1MUGFyc2VyUXVpcmtzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxQYXJzZXJRdWlya3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhU
TUxQYXJzZXJRdWlya3MpOwogcHVibGljOgogICAgIEhUTUxQYXJzZXJRdWlya3MoKSB7IH0KICAg
ICB2aXJ0dWFsIH5IVE1MUGFyc2VyUXVpcmtzKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvSW5wdXRUeXBlLmggYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggYzE0MTdmYS4u
ZGYwYWExNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBiL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTAsNyArNDksOCBAQCBjbGFz
cyBSZW5kZXJTdHlsZTsKIC8vIEFuIElucHV0VHlwZSBvYmplY3QgcmVwcmVzZW50cyB0aGUgdHlw
ZS1zcGVjaWZpYyBwYXJ0IG9mIGFuIEhUTUxJbnB1dEVsZW1lbnQuCiAvLyBEbyBub3QgZXhwb3Nl
IGluc3RhbmNlcyBvZiBJbnB1dFR5cGUgYW5kIGNsYXNzZXMgZGVyaXZlZCBmcm9tIGl0IHRvIGNs
YXNzZXMKIC8vIG90aGVyIHRoYW4gSFRNTElucHV0RWxlbWVudC4KLWNsYXNzIElucHV0VHlwZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnB1dFR5cGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKElucHV0VHlwZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCos
IGNvbnN0IEF0b21pY1N0cmluZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4g
Y3JlYXRlVGV4dChIVE1MSW5wdXRFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
U3RlcFJhbmdlLmggYi9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggY2UwNDRlYS4uMWYx
NjZiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9TdGVwUmFuZ2UuaApAQCAtMjIsMTMgKzIyLDEzIEBACiAjZGVmaW5lIFN0ZXBSYW5nZV9o
CiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAKLWNs
YXNzIFN0ZXBSYW5nZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFuZ2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBo
YXNTdGVwOwogICAgIGRvdWJsZSBzdGVwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlk
YXRpb25NZXNzYWdlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAppbmRleCBm
ZTE4YjZiLi5mODNhNWU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaApAQCAtMzIsNyArMzIs
NiBAQAogI2RlZmluZSBWYWxpZGF0aW9uTWVzc2FnZV9oCiAKICNpbmNsdWRlICJUaW1lci5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDAsNyArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ7CiAKLWNsYXNzIFZh
bGlkYXRpb25NZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkYXRpb25N
ZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGF0aW9uTWVzc2FnZSk7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRhdGlvbk1lc3NhZ2U+IGNyZWF0ZShI
VE1MRm9ybUNvbnRyb2xFbGVtZW50Kik7CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlk
aXR5U3RhdGUuaAppbmRleCA1MzJkZGIyLi4yMmE0OGI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKQEAg
LTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBWYWxpZGl0eVN0
YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkaXR5U3RhdGUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFZhbGlkaXR5U3RhdGU+IGNyZWF0ZShI
VE1MRm9ybUNvbnRyb2xFbGVtZW50KiBjb250cm9sKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIGIvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggYTI1ZThhMS4uMTRmNWEwYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKKysr
IGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTI5LDcg
KzI5LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAKICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBj
bGFzcyBIVE1MVmlkZW9FbGVtZW50OwogY2xhc3MgS1VSTDsKIGNsYXNzIFdlYkdMT2JqZWN0Owog
Ci1jbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENh
bnZhc1JlbmRlcmluZ0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQoSFRNTENhbnZhc0VsZW1lbnQqKTsKICAgICB2aXJ0
dWFsIH5DYW52YXNSZW5kZXJpbmdDb250ZXh0KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1By
ZWxvYWRTY2FubmVyLmgKaW5kZXggN2FjMjgyZi4uZmFlOTVhMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgQ1NTUHJlbG9h
ZFNjYW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTUHJlbG9hZFNjYW5uZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1ByZWxvYWRTY2FubmVyKTsKIHB1YmxpYzoK
ICAgICBDU1NQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmggYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKaW5kZXggOGIwOWJmNS4uZmY2MTg2ZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCisrKyBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaApAQCAtMzAsNyArMzAsNiBAQAog
I2luY2x1ZGUgIkhUTUxFbGVtZW50U3RhY2suaCIKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0Vs
ZW1lbnRMaXN0LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KIApAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiBj
bGFzcyBEb2N1bWVudDsKIGNsYXNzIEVsZW1lbnQ7CiAKLWNsYXNzIEhUTUxDb25zdHJ1Y3Rpb25T
aXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxDb25zdHJ1Y3Rpb25TaXRlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MQ29uc3RydWN0aW9uU2l0ZSk7CiBwdWJsaWM6
CiAgICAgSFRNTENvbnN0cnVjdGlvblNpdGUoRG9jdW1lbnQqLCBGcmFnbWVudFNjcmlwdGluZ1Bl
cm1pc3Npb24sIGJvb2wgaXNQYXJzaW5nRnJhZ21lbnQpOwogICAgIH5IVE1MQ29uc3RydWN0aW9u
U2l0ZSgpOwpAQCAtODksNyArODksOCBAQCBwdWJsaWM6CiAgICAgSFRNTEZvcm1FbGVtZW50KiBm
b3JtKCkgY29uc3QgeyByZXR1cm4gbV9mb3JtLmdldCgpOyB9CiAgICAgUGFzc1JlZlB0cjxIVE1M
Rm9ybUVsZW1lbnQ+IHRha2VGb3JtKCk7CiAKLSAgICBjbGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFy
ZW50R3VhcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZGlyZWN0VG9G
b3N0ZXJQYXJlbnRHdWFyZCk7CiAgICAgcHVibGljOgogICAgICAgICBSZWRpcmVjdFRvRm9zdGVy
UGFyZW50R3VhcmQoSFRNTENvbnN0cnVjdGlvblNpdGUmIHRyZWUpCiAgICAgICAgICAgICA6IG1f
dHJlZSh0cmVlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKaW5kZXgg
MDUwNTNkZi4uYzIwMWMzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9j
dW1lbnRQYXJzZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNl
ci5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIFNjcmlwdENvbnRyb2xsZXI7CiBjbGFzcyBTY3Jp
cHRTb3VyY2VDb2RlOwogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXIgOiAgcHVibGljIFNjcmlw
dGFibGVEb2N1bWVudFBhcnNlciwgSFRNTFNjcmlwdFJ1bm5lckhvc3QsIENhY2hlZFJlc291cmNl
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1bWVudCogZG9j
dW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxl
bWVudFN0YWNrLmgKaW5kZXggOGE4ZTE2MC4uOTM2ZDQxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRWxlbWVudFN0YWNrLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSFRNTEVsZW1lbnRT
dGFja19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM5LDEyICszOCwxNCBAQCBjbGFzcyBR
dWFsaWZpZWROYW1lOwogCiAvLyBOT1RFOiBUaGUgSFRNTDUgc3BlYyB1c2VzIGEgYmFja3dhcmRz
IChncm93cyBkb3dud2FyZCkgc3RhY2suICBXZSdyZSB1c2luZwogLy8gbW9yZSBzdGFuZGFyZCAo
Z3Jvd3MgdXB3YXJkcykgc3RhY2sgdGVybWlub2xvZ3kgaGVyZS4KLWNsYXNzIEhUTUxFbGVtZW50
U3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTEVsZW1lbnRTdGFjayB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEVsZW1lbnRTdGFjayk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSFRNTEVsZW1lbnRTdGFjaygpOwogICAgIH5IVE1MRWxl
bWVudFN0YWNrKCk7CiAKLSAgICBjbGFzcyBFbGVtZW50UmVjb3JkIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBFbGVtZW50UmVjb3JkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRWxlbWVudFJlY29yZCk7CiAgICAgcHVibGljOgogICAgICAgICB+RWxlbWVudFJlY29y
ZCgpOyAvLyBQdWJsaWMgZm9yIH5QYXNzT3duUHRyKCkKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKaW5kZXggYWNhMDViYi4uZjc1ZmE1
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRM
aXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0
LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsK
IAogLy8gVGhpcyBtYXkgZW5kIHVwIG1lcmdlZCBpbnRvIEhUTUxFbGVtZW50U3RhY2suCi1jbGFz
cyBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhU
TUxGb3JtYXR0aW5nRWxlbWVudExpc3QpOwogcHVibGljOgogICAgIEhUTUxGb3JtYXR0aW5nRWxl
bWVudExpc3QoKTsKICAgICB+SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaCBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTElucHV0U3RyZWFtLmgKaW5kZXggYTcwOWJkOS4uNjQyZTQzNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAorKysgYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vIG1fbGFzdCBpcyBhIHBvaW50ZXIgdG8gdGhlIGxhc3Qgb2YgdGhlIGFmdGVy
SW5zZXJ0aW9uUG9pbnQgc3RyaW5ncy4KIC8vIFRoZSBuZXR3b3JrIGFkZHMgZGF0YSBhdCB0aGUg
ZW5kIG9mIHRoZSBJbnB1dFN0cmVhbSwgd2hpY2ggYXBwZW5kcwogLy8gdGhlbSB0byB0aGUgImxh
c3QiIHN0cmluZy4KLWNsYXNzIEhUTUxJbnB1dFN0cmVhbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIVE1MSW5wdXRTdHJlYW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxJ
bnB1dFN0cmVhbSk7CiBwdWJsaWM6CiAgICAgSFRNTElucHV0U3RyZWFtKCkKICAgICAgICAgOiBt
X2xhc3QoJm1fZmlyc3QpCkBAIC0xMjgsNyArMTI5LDggQEAgcHJpdmF0ZToKICAgICBTZWdtZW50
ZWRTdHJpbmcqIG1fbGFzdDsKIH07CiAKLWNsYXNzIEluc2VydGlvblBvaW50UmVjb3JkIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc2VydGlvblBvaW50UmVjb3JkIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShJbnNlcnRpb25Qb2ludFJlY29yZCk7CiBwdWJsaWM6CiAgICAgZXhw
bGljaXQgSW5zZXJ0aW9uUG9pbnRSZWNvcmQoSFRNTElucHV0U3RyZWFtJiBpbnB1dFN0cmVhbSkK
ICAgICAgICAgOiBtX2lucHV0U3RyZWFtKCZpbnB1dFN0cmVhbSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKaW5kZXggNWJlMzNiMC4uYTRiNzQ2MCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKQEAgLTI4LDE0ICsyOCwxNCBAQAog
CiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlcjsKIAotY2xhc3Mg
SFRNTFBhcnNlclNjaGVkdWxlciA6ICBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBh
cnNlclNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclNjaGVk
dWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8SFRNTFBhcnNlclNjaGVkdWxlcj4gY3JlYXRlKEhUTUxEb2N1bWVudFBhcnNlciogcGFy
c2VyKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRT
Y2FubmVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCmluZGV4
IDk0YTkwZTYuLjg2MDQ1M2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBy
ZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5u
ZXIuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkNTU1ByZWxvYWRTY2FubmVyLmgiCiAj
aW5jbHVkZSAiSFRNTFRva2VuLmgiCiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzks
NyArMzgsOCBAQCBjbGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1MVG9rZW5pemVyOwogY2xhc3Mg
U2VnbWVudGVkU3RyaW5nOwogCi1jbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MUHJlbG9hZFNjYW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIEhUTUxQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFNjcmlwdFJ1bm5lci5oCmluZGV4IDZjZjc0ZDguLjFiN2Y5MWYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAi
UGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQx
LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9zdDsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKLWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTFNjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFNjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBk
b2N1bWVudCwgSFRNTFNjcmlwdFJ1bm5lckhvc3QqIGhvc3QpCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRva2VuLmgKaW5kZXggNDJjZGRiOC4uOGVjZDhkZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVG9rZW4uaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5o
CkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFRva2VuX2gKIAogI2luY2x1ZGUgIk5h
bWVkTm9kZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIEhUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBI
VE1MVG9rZW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgVW5pbml0
aWFsaXplZCwKQEAgLTMxMyw3ICszMTMsOCBAQCBwcml2YXRlOgogICAgIC8vIHdhbnQgdG8gZW5k
IHVwIHdpdGggYSBjbGVhbmVyIGludGVyZmFjZSBiZXR3ZWVuIHRoZSB0d28gY2xhc3Nlcy4KICAg
ICBmcmllbmQgY2xhc3MgQXRvbWljSFRNTFRva2VuOwogCi0gICAgY2xhc3MgRG9jdHlwZURhdGEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERvY3R5cGVEYXRhIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdHlwZURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAg
RG9jdHlwZURhdGEoKQogICAgICAgICAgICAgOiBtX2hhc1B1YmxpY0lkZW50aWZpZXIoZmFsc2Up
CkBAIC0zNTIsNyArMzUzLDggQEAgcHJpdmF0ZToKIAogLy8gRklYTUU6IFRoaXMgY2xhc3Mgc2hv
dWxkIGV2ZW50dWFsbHkgYmUgbmFtZWQgSFRNTFRva2VuIG9uY2Ugd2UgbW92ZSB0aGUKIC8vIGV4
aXRpbmcgSFRNTFRva2VuIHRvIGJlIGludGVybmFsIHRvIHRoZSBIVE1MVG9rZW5pemVyLgotY2xh
c3MgQXRvbWljSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF0b21pY0hU
TUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXRvbWljSFRNTFRva2VuKTsKIHB1
YmxpYzoKICAgICBBdG9taWNIVE1MVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBt
X3R5cGUodG9rZW4udHlwZSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VG9rZW5pemVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaAppbmRleCBm
MTZiMDQ5Li5kNTc3OWY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tl
bml6ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaApAQCAtMjgs
NyArMjgsNiBAQAogI2RlZmluZSBIVE1MVG9rZW5pemVyX2gKIAogI2luY2x1ZGUgIlNlZ21lbnRl
ZFN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oPgpAQCAtMzksNyArMzgsOCBAQCBjbGFzcyBFbGVtZW50OwogY2xhc3Mg
RnJhbWU7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIEhUTUxUb2tlbml6ZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgSFRNTFRva2VuaXplciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSFRNTFRva2VuaXplcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgZW51bSBTdGF0ZSB7CiAgICAgICAgIERhdGFTdGF0ZSwKQEAgLTE3Miw3ICsxNzIsOCBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dl
Yi1hcHBzL2N1cnJlbnQtd29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtCi0gICAg
Y2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IpOwogICAgIHB1YmxpYzoKICAgICAgICAgSW5w
dXRTdHJlYW1QcmVwcm9jZXNzb3IoSFRNTFRva2VuaXplciogdG9rZW5pemVyKQogICAgICAgICAg
ICAgOiBtX3Rva2VuaXplcih0b2tlbml6ZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAKaW5kZXggM2QzOTEzMS4uMDQzMWNmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRyZWVCdWlsZGVyLmNwcApAQCAtMjQwLDcgKzI0MCw4IEBAIEhUTUxGb3JtRWxlbWVudCogY2xv
c2VzdEZvcm1BbmNlc3RvcihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8vIG5hbWVzcGFjZQogCi1j
bGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3Rl
clRva2VuQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFeHRlcm5hbENoYXJhY3Rl
clRva2VuQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRlcm5hbENoYXJhY3RlclRv
a2VuQnVmZmVyKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV9jdXJyZW50KHRv
a2VuLmNoYXJhY3RlcnMoKS5kYXRhKCkpCkBAIC0yMzM0LDcgKzIzMzUsOCBAQCB2b2lkIEhUTUxU
cmVlQnVpbGRlcjo6cmVwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAg
cHJvY2Vzc0VuZFRhZyh0b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RmFrZUlu
c2VydGlvbk1vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVy
OjpGYWtlSW5zZXJ0aW9uTW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmFrZUluc2Vy
dGlvbk1vZGUpOwogcHVibGljOgogICAgIEZha2VJbnNlcnRpb25Nb2RlKEhUTUxUcmVlQnVpbGRl
ciogdHJlZUJ1aWxkZXIsIEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAgICAgOiBtX3RyZWVCdWls
ZGVyKHRyZWVCdWlsZGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJl
ZUJ1aWxkZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKaW5kZXgg
MGU3NTk3Yy4uOTY5YzdhMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJl
ZUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCkBA
IC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIgog
I2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRp
b24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1MRG9jdW1l
bnQ7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShIVE1MVHJlZUJ1aWxkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzT3duUHRyPEhUTUxUcmVlQnVpbGRlcj4gY3JlYXRlKEhUTUxUb2tlbml6ZXIq
IHRva2VuaXplciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMsIGJv
b2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpCiAgICAgewpAQCAtMjAzLDcgKzIwMyw4IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBwcm9jZXNzRm9yZWlnbkNvbnRlbnRVc2luZ0luQm9keU1vZGVBbmRS
ZXNldE1vZGUoQXRvbWljSFRNTFRva2VuJiB0b2tlbik7CiAgICAgdm9pZCByZXNldEZvcmVpZ25J
bnNlcnRpb25Nb2RlKCk7CiAKLSAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhZ21lbnRQYXJzaW5nQ29udGV4dCk7CiAgICAg
cHVibGljOgogICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KCk7CiAgICAgICAgIEZyYWdt
ZW50UGFyc2luZ0NvbnRleHQoRG9jdW1lbnRGcmFnbWVudCosIEVsZW1lbnQqIGNvbnRleHRFbGVt
ZW50LCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCmluZGV4IGM1OTc4NzYuLjgxNTU2MzUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAorKysg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKQEAgLTI4LDcg
KzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBOZXN0aW5nTGV2ZWxJbmNy
ZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXN0aW5nTGV2ZWxJbmNyZW1l
bnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIp
OwogcHVibGljOgogICAgIGV4cGxpY2l0IE5lc3RpbmdMZXZlbEluY3JlbWVudGVyKHVuc2lnbmVk
JiBuZXN0aW5nTGV2ZWwpCiAgICAgICAgIDogbV9uZXN0aW5nTGV2ZWwoJm5lc3RpbmdMZXZlbCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggYi9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCmluZGV4IDRlODhiZWMuLjkwMmVkYzMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBTY3JpcHRD
YWxsRnJhbWU7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRWYWx1ZTsKIAot
Y2xhc3MgQ29uc29sZU1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29uc29s
ZU1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIHVuc2ln
bmVkIGxpLCBjb25zdCBTdHJpbmcmIHUsIHVuc2lnbmVkIGcpOwogICAgIENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bSwgUGFzc093blB0cjxTY3JpcHRBcmd1bWVudHM+LCBQYXNzT3duUHRyPFNjcmlwdENhbGxTdGFj
az4sIHVuc2lnbmVkIGcpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRT
Y3JpcHQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKaW5kZXggZjgwY2Zi
NC4uZmY4ZDM4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQu
aAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCkBAIC0zNCw3ICszNCw2
IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRIb3N0LmgiCiAjaW5jbHVkZSAiU2NyaXB0T2Jq
ZWN0LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dC5oCmluZGV4IDExZjEwY2UuLjdiM2U5MmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKIAog
I2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0
b3JWYWx1ZTsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLWNsYXNzIEluc3BlY3RvckFwcGxp
Y2F0aW9uQ2FjaGVBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JB
cHBsaWNhdGlvbkNhY2hlQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckNvbnRyb2xsZXIq
IGluc3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAg
fkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oCmluZGV4IGNhNWE5ZDkuLmY5YzEwNDAgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEwMSw3ICsxMDEsOCBAQCBjbGFzcyBXZWJT
b2NrZXRIYW5kc2hha2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2U7
CiAjZW5kaWYKIAotY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJbnNwZWN0b3JDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQdHI8SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJj
ZT4gPiBEYXRhYmFzZVJlc291cmNlc01hcDsKICAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQ
dHI8SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlPiA+IERPTVN0b3JhZ2VSZXNvdXJjZXNNYXA7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmgg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKaW5kZXggOTUwMWFj
OC4uMDMxNjA5NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQu
aApAQCAtNTIsNyArNTIsOCBAQCBlbnVtIERlYnVnZ2VyRXZlbnRUeXBlIHsKICAgICBOYXRpdmVC
cmVha3BvaW50RGVidWdnZXJFdmVudFR5cGUKIH07CiAKLWNsYXNzIEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQgOiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5z
cGVjdG9yRGVidWdnZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqLCBJbnNwZWN0
b3JGcm9udGVuZCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRlYnVnZ2VyQWdlbnQoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAppbmRl
eCA5ZGNhYTVhLi40YWE4N2U5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJJbnNw
ZWN0b3JGcm9udGVuZENsaWVudC5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsNyAr
NDAsOCBAQCBjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgSW5zcGVjdG9yRnJvbnRl
bmRIb3N0OwogY2xhc3MgUGFnZTsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBwdWJsaWMgSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlciosIFBhZ2UqKTsKICAg
ICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXggYzFmNWRiMS4uYjFhOGJlNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApAQCAtMzUsNyArMzUs
NiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQ3LDcgKzQ2LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgU2NyaXB0SGVhcFNu
YXBzaG90OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JQcm9maWxlckFnZW50KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNw
ZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciopOwogICAgIHZp
cnR1YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCBiYzFlMDI3Li5hNmJhM2Q0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC03MCw3ICs3MCw4IEBAIGVudW0g
VGltZWxpbmVSZWNvcmRUeXBlIHsKICAgICBTY2hlZHVsZVJlc291cmNlUmVxdWVzdFRpbWVsaW5l
UmVjb3JkVHlwZSA9IDIwCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IDogU2Ny
aXB0R0NFdmVudExpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9y
VGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnNwZWN0b3JGcm9udGVuZCog
ZnJvbnRlbmQpOwogICAgIH5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaCBiL1dlYkNvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxTdGFjay5oCmluZGV4IDU0YzZiYmEuLjEzMWUxMzEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL1Nj
cmlwdENhbGxTdGFjay5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNkZWZpbmUgU2NyaXB0Q2FsbFN0
YWNrX2gKIAogI2luY2x1ZGUgIlNjcmlwdENhbGxGcmFtZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBJbnNwZWN0b3JBcnJheTsKIAotY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdENhbGxTdGFjayB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU2NyaXB0Q2FsbFN0YWNrKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3Qg
c2l6ZV90IG1heENhbGxTdGFja1NpemVUb0NhcHR1cmUgPSAyMDA7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaCBiL1dlYkNvcmUv
bG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAppbmRleCAxMDE2YWVkLi41
ZDg0OWJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZS5oCkBAIC0zOCw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBIVFRQSGVhZGVyTWFwOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFz
cyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0geworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
SXRlbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbShib29sIGNyZWRlbnRpYWxzKQogICAgICAg
ICAgICAgOiBtX2Fic29sdXRlRXhwaXJ5VGltZSgwKQpAQCAtNjMsNyArNjQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEhlYWRlcnNTZXQgbV9oZWFkZXJzOwogICAgIH07CiAKLSAg
ICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgQ3Jv
c3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZWJmM2EyNS4uOTNlNzQzOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTQ3LDYgKzQ3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXJDbGllbnQ7CiAK
ICAgICBjbGFzcyBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxE
b2N1bWVudFRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciwgcHJpdmF0
ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCAgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hy
b25vdXNseShEb2N1bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShEb2N1bWVudCos
IFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBU
aHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRXcml0ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKaW5kZXggNWZi
M2RjMS4uZmI5MzYwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIu
aAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCkBAIC0zOSw3ICszOSw4IEBA
IGNsYXNzIEZyYW1lOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBUZXh0UmVzb3VyY2VE
ZWNvZGVyOwogCi1jbGFzcyBEb2N1bWVudFdyaXRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBEb2N1bWVudFdyaXRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRX
cml0ZXIpOwogcHVibGljOgogICAgIERvY3VtZW50V3JpdGVyKEZyYW1lKik7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKaW5kZXggYTE1Y2VlNS4uMzExOTUzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAg
LTIxNCw4ICsyMTQsMTAgQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlGcmFtZUxvYWRlckNsaWVudCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRW1wdHlGcmFtZUxvYWRlckNs
aWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSB7ICB9CiAg
ICAgdmlydHVhbCB2b2lkIGZyYW1lTG9hZGVyRGVzdHJveWVkKCkgeyB9CiAKQEAgLTM4Myw4ICsz
ODUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdD
b250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29udGV4dCgpIHsgcmV0dXJuIFBhc3NSZWZQdHI8RnJh
bWVOZXR3b3JraW5nQ29udGV4dD4oKTsgfQogfTsKIAotY2xhc3MgRW1wdHlFZGl0b3JDbGllbnQg
OiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlF
ZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShFbXB0eUVkaXRvckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CisgICAgRW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUVkaXRvckNs
aWVudCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGVzdHJveWVkKCkgeyB9CiAKQEAgLTQ5
Niw4ICs1MDAsMTAgQEAgcHVibGljOgogfTsKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQot
Y2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBDb250ZXh0TWVudUNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJs
aWMgQ29udGV4dE1lbnVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5Q29u
dGV4dE1lbnVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEVt
cHR5Q29udGV4dE1lbnVDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUNvbnRleHRNZW51
Q2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwgdm9pZCBjb250ZXh0TWVudURlc3Ryb3llZCgpIHsg
fQogCkBAIC01MTksOCArNTI1LDEwIEBAIHB1YmxpYzoKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi1jbGFzcyBFbXB0eURyYWdDbGll
bnQgOiBwdWJsaWMgRHJhZ0NsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5
RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFbXB0eURyYWdDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAg
IEVtcHR5RHJhZ0NsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RHJhZ0NsaWVudCgpIHt9
CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdE
ZXN0aW5hdGlvbkFjdGlvbiwgRHJhZ0RhdGEqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBl
cmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb24sIGNvbnN0IEludFBvaW50Jiwg
Q2xpcGJvYXJkKikgeyB9CkBAIC01MzIsOCArNTQwLDEwIEBAIHB1YmxpYzoKIH07CiAjZW5kaWYg
Ly8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBw
dWJsaWMgSW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlJ
bnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShFbXB0eUluc3BlY3RvckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CisgICAgRW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5F
bXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRl
c3Ryb3llZCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24u
aCBiL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKaW5kZXggZDcyNDgzNS4uN2Y1OGY5
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAorKysgYi9XZWJD
b3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEZvcm1T
dWJtaXNzaW9uIDogcHVibGljIFJlZkNvdW50ZWQ8Rm9ybVN1Ym1pc3Npb24+IHsKIHB1YmxpYzoK
ICAgICBlbnVtIE1ldGhvZCB7IEdldE1ldGhvZCwgUG9zdE1ldGhvZCB9OwogCi0gICAgY2xhc3Mg
QXR0cmlidXRlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXR0cmlidXRlcyB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0dHJpYnV0ZXMpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgQXR0cmlidXRlcygpCiAgICAgICAgICAgICA6IG1fbWV0aG9kKEdldE1ldGhvZCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5oCmluZGV4IDc2YWQ5NzcuLjZhNzYzZDAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
aApAQCAtODYsNyArODYsOCBAQCBzdHJ1Y3QgV2luZG93RmVhdHVyZXM7CiAKIGJvb2wgaXNCYWNr
Rm9yd2FyZExvYWRUeXBlKEZyYW1lTG9hZFR5cGUpOwogCi1jbGFzcyBGcmFtZUxvYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIEZyYW1lTG9hZGVyKEZyYW1lKiwg
RnJhbWVMb2FkZXJDbGllbnQqKTsKICAgICB+RnJhbWVMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmggYi9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCmluZGV4IGMzNDA4YzIuLjFkZGYyZWEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaApAQCAtMjksMTMgKzI5LDEzIEBACiAj
aWZuZGVmIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lX2gKICNkZWZpbmUgRnJhbWVMb2FkZXJTdGF0
ZU1hY2hpbmVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogLy8gRW5jYXBzdWxhdGVzIGEgc3RhdGUgbWFjaGluZSBmb3IgRnJhbWVMb2Fk
ZXIuIE5vdGUgdGhhdCB0aGlzIGlzIGRpZmZlcmVudCBmcm9tIEZyYW1lU3RhdGUsCiAvLyB3aGlj
aCBzdG9yZXMgdGhlIHN0YXRlIG9mIHRoZSBjdXJyZW50IGxvYWQgdGhhdCBGcmFtZUxvYWRlciBp
cyBleGVjdXRpbmcuCi1jbGFzcyBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUpOwogcHVibGljOgogICAgIEZyYW1l
TG9hZGVyU3RhdGVNYWNoaW5lKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0hpc3Rv
cnlDb250cm9sbGVyLmggYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCmluZGV4
IDFiZjUwNzIuLjRmYjg2M2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250
cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaApAQCAtMzIs
NyArMzIsNiBAQAogCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJUeXBlcy5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBAIGNs
YXNzIEZyYW1lOwogY2xhc3MgSGlzdG9yeUl0ZW07CiBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFs
dWU7CiAKLWNsYXNzIEhpc3RvcnlDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhpc3RvcnlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIaXN0b3J5
Q29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgZW51bSBIaXN0b3J5VXBkYXRlVHlwZSB7IFVwZGF0
ZUFsbCwgVXBkYXRlQWxsRXhjZXB0QmFja0ZvcndhcmRMaXN0IH07CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVy
LmNwcAppbmRleCA5NGEyMWE0Li42YTU0ZThkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9J
bWFnZUxvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC01
Nyw3ICs1Nyw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IFZhbHVlQ2hlY2s8V2ViQ29yZTo6SW1hZ2VM
b2FkZXIqPiB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSW1hZ2VFdmVudFNlbmRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZUV2ZW50U2VuZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZUV2ZW50U2VuZGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKIHB1YmxpYzoKICAgICBJbWFnZUV2ZW50U2VuZGVyKGNvbnN0IEF0b21pY1N0cmluZyYg
ZXZlbnRUeXBlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCAy
OGZkYTlhLi4yNDk1YjEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApA
QCAtNTEsNyArNTEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjaGVkdWxl
ZE5hdmlnYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NoZWR1bGVkTmF2aWdh
dGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkTmF2aWdhdGlvbik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU2NoZWR1bGVkTmF2aWdhdGlvbihk
b3VibGUgZGVsYXksIGJvb2wgbG9ja0hpc3RvcnksIGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlzdCwg
Ym9vbCB3YXNEdXJpbmdMb2FkLCBib29sIGlzTG9jYXRpb25DaGFuZ2UpCiAgICAgICAgIDogbV9k
ZWxheShkZWxheSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaAppbmRleCAxNDAwYzI1
Li5mMTRkMDUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCkBAIC00Nyw3ICs0
Nyw4IEBAIGNsYXNzIEZyYW1lOwogc3RydWN0IEZyYW1lTG9hZFJlcXVlc3Q7CiBjbGFzcyBTY2hl
ZHVsZWROYXZpZ2F0aW9uOwogCi1jbGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE5hdmlnYXRpb25TY2hlZHVsZXIpOwogcHVibGljOgogICAgIE5hdmlnYXRpb25T
Y2hlZHVsZXIoRnJhbWUqKTsKICAgICB+TmF2aWdhdGlvblNjaGVkdWxlcigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRl
ci5oCmluZGV4IGViNDMxNjYuLjkyNjhiMjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Bp
bmdMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKQEAgLTM0LDcgKzM0
LDYgQEAKIAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgUmVzb3Vy
Y2VSZXNwb25zZTsKIC8vIHRvIGFsbG93IHRoZSBsb2FkIHRvIGxpdmUgbG9uZyBlbm91Z2ggdG8g
ZW5zdXJlIHRoZSBtZXNzYWdlIHdhcyBhY3R1YWxseSBzZW50LgogLy8gVGhlcmVmb3JlLCBhcyBz
b29uIGFzIGEgY2FsbGJhY2sgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgUmVzb3VyY2VIYW5kbGUsIHRo
aXMgY2xhc3MgCiAvLyB3aWxsIGNhbmNlbCB0aGUgbG9hZCBhbmQgZGVsZXRlIGl0c2VsZi4KLWNs
YXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGll
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBpbmdMb2FkZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGxvYWRJbWFnZShGcmFtZSosIGNv
bnN0IEtVUkwmIHVybCk7CiAgICAgc3RhdGljIHZvaWQgc2VuZFBpbmcoRnJhbWUqLCBjb25zdCBL
VVJMJiBwaW5nVVJMLCBjb25zdCBLVVJMJiBkZXN0aW5hdGlvblVSTCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVj
a2VyLmgKaW5kZXggNTQxNzI5Yy4uMzExOGRhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
UG9saWN5Q2hlY2tlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaApAQCAt
NDUsNyArNDUsOCBAQCBjbGFzcyBOYXZpZ2F0aW9uQWN0aW9uOwogY2xhc3MgUmVzb3VyY2VFcnJv
cjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLWNsYXNzIFBvbGljeUNoZWNrZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUG9saWN5Q2hlY2tlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUG9saWN5Q2hlY2tlcik7CiBwdWJsaWM6CiAgICAgUG9saWN5Q2hlY2tlcihGcmFt
ZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBjZDE1NDMzLi4xYmQxOWE1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUwLDcgKzUwLDkgQEAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7IC8vIDEuMCAtIGluaXRpYWxQ
cm9ncmVzc1ZhbHVlCiAKIHN0YXRpYyBjb25zdCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGlt
YXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAotc3RydWN0IFByb2dyZXNzSXRlbSA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBQcm9ncmVzc0l0ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBy
b2dyZXNzSXRlbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgUHJvZ3Jl
c3NJdGVtKGxvbmcgbG9uZyBsZW5ndGgpIAogICAgICAgICA6IGJ5dGVzUmVjZWl2ZWQoMCkKICAg
ICAgICAgLCBlc3RpbWF0ZWRMZW5ndGgobGVuZ3RoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
LmgKaW5kZXggNWQ1YjZiMi4uOGM0YTBkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKQEAg
LTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgUHJvZ3Jlc3NUcmFja2VyX2gKIAogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNiw3ICszNSw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBQcm9ncmVzc0l0ZW07CiAK
LWNsYXNzIFByb2dyZXNzVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9n
cmVzc1RyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJhY2tlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUHJvZ3Jlc3NUcmFja2VyKCk7
CiAgICAgflByb2dyZXNzVHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVx
dWVzdC5oIGIvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCmluZGV4IGI2ZGUzMTIuLjk2ZjdiMWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaAorKysgYi9XZWJDb3JlL2xvYWRl
ci9SZXF1ZXN0LmgKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIENhY2hlZFJlc291cmNlOwogICAgIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyOwogCi0g
ICAgY2xhc3MgUmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVxdWVz
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcXVlc3QpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUmVxdWVzdChDYWNoZWRSZXNvdXJjZUxv
YWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCwgU2VjdXJpdHlDaGVja1Bv
bGljeSwgYm9vbCBzZW5kUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKTsKICAgICAgICAgflJlcXVlc3Qo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmggYi9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCmluZGV4IDJmMTA4NTYuLjI3MDQw
NmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaApAQCAtMzAsNyArMzAsNiBA
QAogI2lmbmRlZiBSZXNvdXJjZUxvYWROb3RpZmllcl9oCiAjZGVmaW5lIFJlc291cmNlTG9hZE5v
dGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQzLDcgKzQyLDggQEAgY2xhc3MgUmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBS
ZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogCi1jbGFzcyBSZXNvdXJj
ZUxvYWROb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXNvdXJjZUxvYWRO
b3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkTm90aWZpZXIp
OwogcHVibGljOgogICAgIFJlc291cmNlTG9hZE5vdGlmaWVyKEZyYW1lKik7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKaW5kZXggODRmODg0NS4uMjljNzRkZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNs
dWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Myw3ICs0Miw4
IEBAIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyOwogY2xh
c3MgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQ7CiAKLWNsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlTG9hZFNjaGVkdWxlcik7CiBwdWJsaWM6
CiAgICAgZnJpZW5kIFJlc291cmNlTG9hZFNjaGVkdWxlciogcmVzb3VyY2VMb2FkU2NoZWR1bGVy
KCk7CiAKQEAgLTY2LDcgKzY2LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlU2VydmVQ
ZW5kaW5nUmVxdWVzdHMoKTsKICAgICB2b2lkIHJlcXVlc3RUaW1lckZpcmVkKFRpbWVyPFJlc291
cmNlTG9hZFNjaGVkdWxlcj4qKTsKIAotICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSG9zdEluZm9ybWF0aW9uKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IEhvc3RJbmZvcm1hdGlvbihjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCk7CiAgICAgICAgIH5Ib3N0
SW5mb3JtYXRpb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVy
LmggYi9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCmluZGV4IGE1NzMwNDUuLmQxMWQ5
YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKKysrIGIvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTQsNyArNTMsOCBAQCBjbGFz
cyBOb2RlOwogY2xhc3MgV2lkZ2V0OwogCiAvLyBUaGlzIGlzIGEgc2xpZ2h0IG1pc25vbWVyLiBJ
dCBoYW5kbGVzIHRoZSBoaWdoZXIgbGV2ZWwgbG9naWMgb2YgbG9hZGluZyBib3RoIHN1YmZyYW1l
cyBhbmQgcGx1Z2lucy4KLWNsYXNzIFN1YmZyYW1lTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN1YmZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdWJm
cmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgU3ViZnJhbWVMb2FkZXIoRnJhbWUqKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGY0MWE3NzQuLmJjMWEzYmEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZm5kZWYgVGhyZWFkYWJsZUxv
YWRlcl9oCiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKQEAgLTY1LDcgKzY0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8g
VXNlZnVsIGZvciBkb2luZyBsb2FkZXIgb3BlcmF0aW9ucyBmcm9tIGFueSB0aHJlYWQgKG5vdCB0
aHJlYWRzYWZlLCAKICAgICAvLyBqdXN0IGFibGUgdG8gcnVuIG9uIHRocmVhZHMgb3RoZXIgdGhh
biB0aGUgbWFpbiB0aHJlYWQpLgotICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxlTG9hZGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBj
b25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRh
YmxlTG9hZGVyT3B0aW9ucyYpOwpAQCAtNzUsNiArNzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9CiAKICAg
ICBwcm90ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmly
dHVhbCB+VGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmVGhy
ZWFkYWJsZUxvYWRlcigpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmVGhyZWFkYWJs
ZUxvYWRlcigpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXJDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAppbmRl
eCBiY2Y2OGJlLi44ZTUyNzQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxl
TG9hZGVyQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dC5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9o
CiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFJlc291cmNlRXJy
b3I7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNzIFRocmVhZGFibGVM
b2FkZXJDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZGFibGVM
b2FkZXJDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLypieXRlc1NlbnQq
LywgdW5zaWduZWQgbG9uZyBsb25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8pIHsgfQogCkBAIC01
MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JikgeyB9CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVMb2FkZXJDbGllbnQo
KSB7IH0KICAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAg
IH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRX
cmFwcGVyLmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5o
CmluZGV4IGQzYzFhOWYuLmQ0ZmVhY2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlckNsaWVudFdyYXBwZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50V3JhcHBlcl9oCiAKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1dvcmtl
clRocmVhZGFibGVMb2FkZXIuaAppbmRleCA4MWRhMmUwLi5lODkxM2UzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCkBAIC01NCw2ICs1NCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAg
ICAgY2xhc3MgV29ya2VyVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtl
clRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBs
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdvcmtlckNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2VyVGhyZWFkYWJsZUxvYWRl
cj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5o
IGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKaW5kZXgg
MjlkMDc0OS4uZDBkZjEwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZUdyb3VwLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhh
bmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogCkBAIC01Myw3ICs1Miw4IEBAIGVudW0gQXBwbGljYXRpb25DYWNoZVVwZGF0
ZU9wdGlvbiB7CiAgICAgQXBwbGljYXRpb25DYWNoZVVwZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRl
eHQKIH07CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSwgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDog
UmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0
aW9uQ2FjaGVHcm91cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQXBw
bGljYXRpb25DYWNoZUdyb3VwKGNvbnN0IEtVUkwmIG1hbmlmZXN0VVJMLCBib29sIGlzQ29weSA9
IGZhbHNlKTsgICAgCiAgICAgfkFwcGxpY2F0aW9uQ2FjaGVHcm91cCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaCBiL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKaW5kZXggOGFjNTM1Ny4uNjVj
M2E4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUhvc3QuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9z
dC5oCkBAIC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBBcHBs
aWNhdGlvbkNhY2hlU3RvcmFnZTsKICNlbmRpZgogCi0gICAgY2xhc3MgQXBwbGljYXRpb25DYWNo
ZUhvc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVI
b3N0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNoZUhvc3Qp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIFN0
YXR1cyBudW1lcmljIHZhbHVlcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBIVE1MNSBzcGVjLgogICAg
ICAgICBlbnVtIFN0YXR1cyB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZVN0b3JhZ2UuaAppbmRleCA3ZGIzNGU2Li4wMGIyOWM4NSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCkBAIC00NCw3
ICs0NCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUPgogY2xhc3MgU3RvcmFnZUlESm91cm5hbDsKIGNs
YXNzIFNlY3VyaXR5T3JpZ2luOwogCi1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gRmFpbHVyZVJlYXNvbiB7CiAgICAgICAg
IE9yaWdpblF1b3RhUmVhY2hlZCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUv
QXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oIGIvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNo
aXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKaW5kZXggOWQ2MzBkMS4uNjZmYjlhOCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKQEAg
LTM5LDcgKzM5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBcmNoaXZlUmVz
b3VyY2VDb2xsZWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFyY2hpdmVSZXNv
dXJjZUNvbGxlY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFyY2hpdmVSZXNvdXJj
ZUNvbGxlY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEFyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24oKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmgKaW5kZXggZWQ2MGY4NC4uMGJiZDU5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIFJlcXVlc3Q7CiAvLyBBIHJlc291cmNlIHRo
YXQgaXMgaGVsZCBpbiB0aGUgY2FjaGUuIENsYXNzZXMgd2hvIHdhbnQgdG8gdXNlIHRoaXMgb2Jq
ZWN0IHNob3VsZCBkZXJpdmUKIC8vIGZyb20gQ2FjaGVkUmVzb3VyY2VDbGllbnQsIHRvIGdldCB0
aGUgZnVuY3Rpb24gY2FsbHMgaW4gY2FzZSB0aGUgcmVxdWVzdGVkIGRhdGEgaGFzIGFycml2ZWQu
CiAvLyBUaGlzIGNsYXNzIGFsc28gZG9lcyB0aGUgYWN0dWFsIGNvbW11bmljYXRpb24gd2l0aCB0
aGUgbG9hZGVyIHRvIG9idGFpbiB0aGUgcmVzb3VyY2UgZnJvbSB0aGUgbmV0d29yay4KLWNsYXNz
IENhY2hlZFJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hlZFJlc291
cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogICAgIGZyaWVu
ZCBjbGFzcyBJbnNwZWN0b3JSZXNvdXJjZTsKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUNsaWVudC5oCmluZGV4IDI3NWQzMzEuLmY2MDIxZjQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaApAQCAtMjUsNyArMjUsNiBAQAog
I2lmbmRlZiBDYWNoZWRSZXNvdXJjZUNsaWVudF9oCiAjZGVmaW5lIENhY2hlZFJlc291cmNlQ2xp
ZW50X2gKIAotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICogaW5oZXJpdCBmcm9tIHRoaXMgY2xhc3MgYW5kIG92ZXJsb2Fk
IG9uZSBvZiB0aGUgMyBmdW5jdGlvbnMKICAgICAgKgogICAgICAqLwotICAgIGNsYXNzIENhY2hl
ZFJlc291cmNlQ2xpZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2UKLSAgICB7CisgICAgY2xhc3Mg
Q2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2FjaGVkUmVzb3VyY2VDbGllbnQoKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggZjM3
MWEwZS4uNzM0OWExZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEltYWdlTG9hZGVyOwogY2xhc3MgS1VSTDsK
IAogLy8gVGhlIENhY2hlZFJlc291cmNlTG9hZGVyIG1hbmFnZXMgdGhlIGxvYWRpbmcgb2Ygc2Ny
aXB0cy9pbWFnZXMvc3R5bGVzaGVldHMgZm9yIGEgc2luZ2xlIGRvY3VtZW50LgotY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2VMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlTG9h
ZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsK
IGZyaWVuZCBjbGFzcyBJbWFnZUxvYWRlcjsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvTWVtb3J5Q2FjaGUuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
aW5kZXggMTVjZTlkYS4uZWE0OTIxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCkBA
IC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAibG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdI
YXNoLmg+CiAKQEAgLTcxLDcgKzcwLDggQEAgY2xhc3MgS1VSTDsKIC8vIGl0cyBtZW1iZXIgdmFy
aWFibGVzKSBhcmUgYWxsb2NhdGVkIGluIG5vbi1wdXJnZWFibGUgVEMtbWFsbG9jJ2QgbWVtb3J5
IHNvIHdlIHdvdWxkIHNlZSBzbGlnaHRseQogLy8gbW9yZSBtZW1vcnkgdXNlIGR1ZSB0byB0aGlz
LgogCi1jbGFzcyBNZW1vcnlDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZW1v
cnlDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVtb3J5Q2FjaGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGZyaWVuZCBNZW1vcnlDYWNoZSogY2FjaGUo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaCBiL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKaW5kZXggNjE0NmFhNi4uYWMwYTU3ZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVk
ZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNjIsOCArNjEsOCBA
QCBlbnVtIEljb25Mb2FkRGVjaXNpb24gewogICAgIEljb25Mb2FkVW5rbm93bgogfTsKIAotY2xh
c3MgSWNvbkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKLQorY2xhc3MgSWNvbkRhdGFi
YXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogLy8gKioqIE1haW4gVGhyZWFkIE9ubHkgKioqCiBwdWJsaWM6CiAgICAg
dm9pZCBzZXRDbGllbnQoSWNvbkRhdGFiYXNlQ2xpZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uRGF0YWJhc2VDbGllbnQuaAppbmRleCBjMjEwZDdkLi45MWZhYzZiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKQEAgLTMwLDE1ICszMCwxNiBAQAogI2RlZmlu
ZSBJY29uRGF0YWJhc2VDbGllbnRfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gQWxsIG9mIHRoZXNlIGNsaWVudCBtZXRob2Rz
IHdpbGwgYmUgY2FsbGVkIGZyb20gYSBub24tbWFpbiB0aHJlYWQKIC8vIFRha2UgYXBwcm9wcmlh
dGUgbWVhc3VyZXMKICAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWNvbkRhdGFiYXNl
Q2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25EYXRhYmFzZUNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNlQ2xpZW50KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBJY29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAg
ICB2aXJ0dWFsIH5JY29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgcGVy
Zm9ybUltcG9ydCgpIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hE
aWRSZW1vdmVBbGxJY29ucygpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAppbmRleCAxZWJh
YzQ4Li5kMjIyODkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIu
aAorKysgYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsNyArMzYsOCBAQCBjbGFzcyBG
cmFtZTsKIGNsYXNzIEtVUkw7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLWNsYXNzIEljb25Mb2Fk
ZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25Mb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEljb25Mb2FkZXI+IGNyZWF0ZShG
cmFtZSopOwogICAgIH5JY29uTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9p
Y29uL1BhZ2VVUkxSZWNvcmQuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5o
CmluZGV4IGY3Y2NiOGYuLjRiOWNlMzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24v
UGFnZVVSTFJlY29yZC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5o
CkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC01MSw3ICs1MCw4IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgaWNv
blVSTDsKIH07CiAKLWNsYXNzIFBhZ2VVUkxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUGFnZVVSTFJlY29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZVVSTFJl
Y29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUGFnZVVSTFJlY29y
ZChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpOwogICAgIH5QYWdlVVJMUmVjb3JkKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9sb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCmlu
ZGV4IDgxOGY1NmYuLjIzMjA0MzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5o
CisrKyBiL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVk
ZSAiU3VicmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVu
dC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0z
NSw4ICszNCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI7CiAgICAgY2xhc3MgUmVxdWVzdDsKIAotICAgIGNsYXNzIExvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSwgcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgY2xh
c3MgTG9hZGVyIDogU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMb2FkZXIpOwogICAgIHB1YmxpYzoKKyAgICAgICAgTG9hZGVyKCkgeyB9CiAg
ICAgICAgIH5Mb2FkZXIoKTsKIAogICAgICAgICB2b2lkIGxvYWQoQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50YWwgPSB0cnVlLCBTZWN1cml0eUNo
ZWNrUG9saWN5ID0gRG9TZWN1cml0eUNoZWNrLCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFj
a3MgPSB0cnVlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b24uaCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCBmMTRhMzAy
Li4zMTEwMTA4IDEwMDY0NAotLS0gYS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmgKKysrIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC01OSw2ICs1
OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCiAg
ICAgY2xhc3MgTm90aWZpY2F0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uPiwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1
YmxpYyBFdmVudFRhcmdldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShj
b25zdCBLVVJMJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlv
bkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmlj
YXRpb25Db250ZW50cyYgY29udGVudHMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQs
IEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlk
ZXIpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIv
V2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IDgzM2I5MDkuLmI1ODU0
YjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysg
Yi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgQ29udGV4dE1lbnVDb250cm9sbGVyX2gKICNkZWZpbmUgQ29udGV4dE1lbnVDb250
cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KQEAgLTQwLDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2
ZW50OwogICAgIGNsYXNzIFBhZ2U7CiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51Q29udHJvbGxlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudUNv
bnRyb2xsZXIoUGFnZSosIENvbnRleHRNZW51Q2xpZW50Kik7CiAgICAgICAgIH5Db250ZXh0TWVu
dUNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5o
IGIvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKaW5kZXggMGU5MGE1Mi4uYzU5ZGE0OCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL0RyYWdDb250cm9sbGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFJhbmdlOwogICAgIGNsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXI7CiAgICAg
Ci0gICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIERyYWdDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJhZ0Nv
bnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
RHJhZ0NvbnRyb2xsZXIoUGFnZSosIERyYWdDbGllbnQqKTsKICAgICAgICAgfkRyYWdDb250cm9s
bGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggY2ExOWEwYy4uOTQwYzI1ZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaApAQCAtODAsNyArODAsOCBAQCBleHRlcm4gY29uc3QgaW50IEdlbmVyYWxEcmFnSHlzdGVy
ZXNpczsKIAogZW51bSBIaXRUZXN0U2Nyb2xsYmFycyB7IFNob3VsZEhpdFRlc3RTY3JvbGxiYXJz
LCBEb250SGl0VGVzdFNjcm9sbGJhcnMgfTsKIAotY2xhc3MgRXZlbnRIYW5kbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEV2ZW50SGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRXZlbnRIYW5kbGVyKTsKIHB1YmxpYzoKICAgICBFdmVudEhhbmRsZXIoRnJhbWUqKTsK
ICAgICB+RXZlbnRIYW5kbGVyKCk7CkBAIC0yMjIsNyArMjIzLDEwIEBAIHByaXZhdGU6CiAgICAg
ICAgIFBlcmZvcm1EcmFnQW5kRHJvcAogICAgIH07CiAKLSAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVy
RHJhZ1N0YXRlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3Rh
dGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXJEcmFnU3RhdGUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5k
bGVyRHJhZ1N0YXRlKCkgeyB9CiAgICAgICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVs
ZW1lbnQgdGhhdCBtYXkgYmUgYSBkcmFnIHNvdXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdl
c3R1cmUKICAgICAgICAgYm9vbCBtX2RyYWdTcmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFn
U3JjSXNJbWFnZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggZmZlZDU5Mi4uNWJlZWIyYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmgKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRo
cmVhZGFibGVMb2FkZXI7CiAKICAgICBjbGFzcyBFdmVudFNvdXJjZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEV2ZW50U291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVM
b2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RXZl
bnRTb3VyY2U+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgdmlydHVhbCB+RXZlbnRTb3VyY2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9G
b2N1c0NvbnRyb2xsZXIuaAppbmRleCBiZTUxYzc3Li4yZTg4OTRhIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJv
bGxlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKICNp
bmNsdWRlICJTcGF0aWFsTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEtleWJvYXJkRXZlbnQ7
CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgRm9jdXNDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvY3VzQ29udHJvbGxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9jdXNDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBGb2N1c0NvbnRyb2xsZXIoUGFnZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvRnJhbWVUcmVlLmggYi9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKaW5kZXggOTRiOGQx
Ni4uYmFjNTQ3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCisrKyBiL1dl
YkNvcmUvcGFnZS9GcmFtZVRyZWUuaApAQCAtMjYsNyArMjYsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAgIGNsYXNzIEZyYW1lVHJlZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhbWVUcmVlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRnJhbWVUcmVlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZyYW1lVHJlZShGcmFt
ZSogdGhpc0ZyYW1lLCBGcmFtZSogcGFyZW50RnJhbWUpIAogICAgICAgICAgICAgOiBtX3RoaXNG
cmFtZSh0aGlzRnJhbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBi
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDc3MDIyNWIuLmNhODYxZDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCkBAIC0xMDYsNyArMTA2LDEwIEBAIGRvdWJsZSBGcmFtZVZpZXc6OnNfZGVmZXJy
ZWRSZXBhaW50RGVsYXlJbmNyZW1lbnREdXJpbmdMb2FkaW5nID0gMDsKIC8vIFRoZSBtYXhpbXVt
IG51bWJlciBvZiB1cGRhdGVXaWRnZXRzIGl0ZXJhdGlvbnMgdGhhdCBzaG91bGQgYmUgZG9uZSBi
ZWZvcmUgcmV0dXJuaW5nLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFVwZGF0ZVdpZGdldHNJ
dGVyYXRpb25zID0gMjsKIAotc3RydWN0IFNjaGVkdWxlZEV2ZW50IDogTm9uY29weWFibGUgewor
c3RydWN0IFNjaGVkdWxlZEV2ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVs
ZWRFdmVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CisgICAgU2NoZWR1bGVk
RXZlbnQoKSB7IH0KICAgICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiAgICAgUmVmUHRyPE5vZGU+
IG1fZXZlbnRUYXJnZXQ7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCmluZGV4
IDJkODEwNmQuLjE2YzdlYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKQEAg
LTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3Mg
R2VvbG9jYXRpb25FcnJvcjsKIGNsYXNzIEdlb2xvY2F0aW9uUG9zaXRpb247CiBjbGFzcyBQYWdl
OwogCi1jbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShH
ZW9sb2NhdGlvbkNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxl
cihQYWdlKiwgR2VvbG9jYXRpb25DbGllbnQqKTsKICAgICB+R2VvbG9jYXRpb25Db250cm9sbGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oIGIvV2ViQ29yZS9w
YWdlL0dyb3VwU2V0dGluZ3MuaAppbmRleCBmYjZmNmI1Li44YTU1MzU5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRp
bmdzLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdl
R3JvdXA7CiAKLWNsYXNzIEdyb3VwU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgR3JvdXBTZXR0aW5ncyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5n
cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8R3JvdXBTZXR0aW5ncz4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bh
Z2UvUGFnZS5oIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCBlMDc0ODE0Li42YTY4YTVjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmgK
QEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJTY2hlZHVs
ZVBhaXIuaCIKQEAgLTg5LDEyICs4OCwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBl
bnVtIEZpbmREaXJlY3Rpb24geyBGaW5kRGlyZWN0aW9uRm9yd2FyZCwgRmluZERpcmVjdGlvbkJh
Y2t3YXJkIH07CiAKLSAgICBjbGFzcyBQYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBQYWdlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZSk7CiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgdm9pZCBzY2hlZHVsZUZvcmNlZFN0eWxlUmVjYWxjRm9yQWxs
UGFnZXMoKTsKIAogICAgICAgICAvLyBJdCBpcyB1cCB0byB0aGUgcGxhdGZvcm0gdG8gZW5zdXJl
IHRoYXQgbm9uLW51bGwgY2xpZW50cyBhcmUgcHJvdmlkZWQgd2hlcmUgcmVxdWlyZWQuCi0gICAg
ICAgIHN0cnVjdCBQYWdlQ2xpZW50cyA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgc3RydWN0IFBh
Z2VDbGllbnRzIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDbGllbnRz
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAg
UGFnZUNsaWVudHMoKTsKICAgICAgICAgICAgIH5QYWdlQ2xpZW50cygpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmggYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKaW5k
ZXggY2M0N2ZiYS4uMTRkYjQ5MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5o
CisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmlu
ZSBQYWdlR3JvdXBfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlICJMaW5rSGFzaC5oIgogI2luY2x1ZGUgIlVzZXJTY3Jp
cHQuaCIKICNpbmNsdWRlICJVc2VyU3R5bGVTaGVldC5oIgpAQCAtNDEsNyArNDAsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBTdG9yYWdlTmFtZXNw
YWNlOwogCi0gICAgY2xhc3MgUGFnZUdyb3VwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBQYWdlR3JvdXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlR3JvdXAp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3Vw
KGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmggYi9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwTG9hZERlZmVycmVyLmgKaW5kZXggZDQ0M2ViZC4uZjc5NTZjNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCisrKyBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIFBh
Z2VHcm91cExvYWREZWZlcnJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUdyb3VwTG9hZERlZmVycmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdy
b3VwTG9hZERlZmVycmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cExvYWREZWZl
cnJlcihQYWdlKiwgYm9vbCBkZWZlclNlbGYpOwogICAgICAgICB+UGFnZUdyb3VwTG9hZERlZmVy
cmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmggYi9XZWJDb3Jl
L3BhZ2UvUGx1Z2luSGFsdGVyLmgKaW5kZXggYWY4YjMxZS4uNWI3MDcyMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0
ZXIuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhhbHRh
YmxlUGx1Z2luOwogCi1jbGFzcyBQbHVnaW5IYWx0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUGx1Z2luSGFsdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5IYWx0
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFBsdWdpbkhhbHRlcihQ
bHVnaW5IYWx0ZXJDbGllbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmggYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBjNjUzYWRkLi45Nzk4ZTkwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaApAQCAtNTAsNyArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHRE
aXJlY3Rpb25TdWJtZW51QWx3YXlzSW5jbHVkZWQKICAgICB9OwogCi0gICAgY2xhc3MgU2V0dGlu
Z3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNldHRpbmdzIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgU2V0dGluZ3MoUGFnZSopOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvU3BlZWNoSW5wdXQuaCBiL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCmluZGV4
IDQ1MzJkNDkuLjg1M2MwYWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5o
CisrKyBiL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5j
bHVkZSAiU3BlZWNoSW5wdXRMaXN0ZW5lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Nyw3ICs0Niw4IEBAIGNsYXNzIFNwZWVjaElucHV0
TGlzdGVuZXI7CiAvLyBUaGlzIGNsYXNzIGNvbm5lY3RzIHRoZSBpbnB1dCBlbGVtZW50cyByZXF1
aXJpbmcgc3BlZWNoIGlucHV0IHdpdGggdGhlIHBsYXRmb3JtIHNwZWNpZmljCiAvLyBzcGVlY2gg
cmVjb2duaXRpb24gZW5naW5lLiBJdCBwcm92aWRlcyBtZXRob2RzIGZvciB0aGUgaW5wdXQgZWxl
bWVudHMgdG8gYWN0aXZhdGUgc3BlZWNoCiAvLyByZWNvZ25pdGlvbiBhbmQgbWV0aG9kcyBmb3Ig
dGhlIHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUgdG8gcmV0dXJuIGJhY2sgdGhlIHJlc3VsdHMu
Ci1jbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFNwZWVjaElu
cHV0TGlzdGVuZXIgeworY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0
ZW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BlZWNoSW5wdXQpOwogcHVibGljOgog
ICAgIFNwZWVjaElucHV0KFNwZWVjaElucHV0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+U3BlZWNo
SW5wdXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmggYi9XZWJDb3Jl
L3BhZ2UvVXNlclNjcmlwdC5oCmluZGV4IDA2NTI0MzkuLmNkM2QwZjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaApA
QCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTY3Jp
cHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclNjcmlwdCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVXNlclNjcmlwdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgVXNlclNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJs
LAogICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwg
UGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgK
aW5kZXggZmE0MmUyYy4uMjQ3OTg0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTdHls
ZVNoZWV0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM1LDcgKzM1
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBVc2VyU3R5bGVTaGVldCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU3R5bGVTaGVldCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVXNlclN0eWxlU2hlZXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFVzZXJTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJM
JiB1cmwsCiAgICAgICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdo
aXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmggYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5o
CmluZGV4IDJiNzgxZjEuLjQ5MDcxZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9YU1NBdWRp
dG9yLmgKKysrIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaApAQCAtNjksNyArNjksOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gKiBIVE1MRG9jdW1lbnRQYXJzZXI6OnNob3VsZExv
YWRFeHRlcm5hbFNjcmlwdEZyb21TcmMgLSB1c2VkIHRvIGxvYWQgZXh0ZXJuYWwgSmF2YVNjcmlw
dCBzY3JpcHRzLgogICAgIC8vICogU3ViZnJhbWVMb2FkZXI6OnJlcXVlc3RPYmplY3QgLSB1c2Vk
IHRvIGxvYWQgPG9iamVjdD4vPGVtYmVkPiBlbGVtZW50cy4KICAgICAvLwotICAgIGNsYXNzIFhT
U0F1ZGl0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFhTU0F1ZGl0b3Igewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYU1NBdWRpdG9yKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFhTU0F1ZGl0b3IoRnJhbWUqKTsKICAgICAg
ICAgflhTU0F1ZGl0b3IoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5p
bWF0aW9uQmFzZS5jcHAgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3Bw
CmluZGV4IDY2MTcyZjcuLjUxMjY1MGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQmFzZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25CYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw4IEBAIGNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2U7
CiBzdGF0aWMgdm9pZCBhZGRTaG9ydGhhbmRQcm9wZXJ0aWVzKCk7CiBzdGF0aWMgUHJvcGVydHlX
cmFwcGVyQmFzZSogd3JhcHBlckZvclByb3BlcnR5KGludCBwcm9wZXJ0eUlEKTsKIAotY2xhc3Mg
UHJvcGVydHlXcmFwcGVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9wZXJ0
eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9wZXJ0eVdyYXBwZXJC
YXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQcm9wZXJ0eVdyYXBw
ZXJCYXNlKGludCBwcm9wKQogICAgICAgICA6IG1fcHJvcChwcm9wKQpAQCAtNDM4LDcgKzQzOSw4
IEBAIHB1YmxpYzoKIH07CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgRmlsbExheWVy
UHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJh
c2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJH
ZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKTsKIHB1YmxpYzoK
ICAgICBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIoVCAoRmlsbExheWVyOjoqZ2V0dGVy
KSgpIGNvbnN0KQogICAgICAgICA6IG1fZ2V0dGVyKGdldHRlcikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBiL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA4OTNjNzE3
Li5lYTc4Y2MxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBS
ZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJTdHlsZTsKIAotY2xhc3MgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBBbmltYXRp
b25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSopOwogICAgIH5BbmltYXRpb25Db250cm9sbGVyUHJp
dmF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmlt
YXRpb24uaCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKaW5k
ZXggMjQ5ZjRjMy4uMGQwYmIxZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9D
b21wb3NpdGVBbmltYXRpb24uaAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0
ZUFuaW1hdGlvbi5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiSW1wbGljaXRBbmltYXRp
b24uaCIKICNpbmNsdWRlICJLZXlmcmFtZUFuaW1hdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
QXRvbWljU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0KaW5kZXggMmRiNzEzZi4uYjk4YmNiMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KKysrIGIvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0KQEAgLTc3LDcgKzc3LDggQEAgTlNFdmVudCAqRXZlbnRIYW5kbGVyOjpjdXJy
ZW50TlNFdmVudCgpCiAgICAgcmV0dXJuIGN1cnJlbnROU0V2ZW50U2xvdCgpLmdldCgpOwogfQog
Ci1jbGFzcyBDdXJyZW50RXZlbnRTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBD
dXJyZW50RXZlbnRTY29wZSB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEN1cnJlbnRFdmVu
dFNjb3BlKTsKIHB1YmxpYzoKICAgICBDdXJyZW50RXZlbnRTY29wZShOU0V2ZW50ICopOwogICAg
IH5DdXJyZW50RXZlbnRTY29wZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKaW5kZXgg
ZDk2YzFhZC4uYzM0YTY0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVT
eXN0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC00NCw3
ICs0NCw4IEBAIGNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrczsKIGNsYXNzIEFzeW5jRmls
ZVdyaXRlckNsaWVudDsKIAogLy8gVGhpcyBjbGFzcyBwcm92aWRlcyBhc3luYyBpbnRlcmZhY2Ug
Zm9yIHBsYXRmb3JtLXNwZWNpZmljIGZpbGUgc3lzdGVtIGltcGxlbWVudGF0aW9uLiAgTm90ZSB0
aGF0IGFsbCB0aGUgbWV0aG9kcyB0YWtlIHBsYXRmb3JtIHBhdGhzLgotY2xhc3MgQXN5bmNGaWxl
U3lzdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICB2
aXJ0dWFsIH5Bc3luY0ZpbGVTeXN0ZW0oKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNG
aWxlU3lzdGVtQ2FsbGJhY2tzLmgKaW5kZXggMjkwYTY2OS4uY2VlOGQ5MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCkBAIC00MSw4ICs0MSwxMSBAQCBj
bGFzcyBBc3luY0ZpbGVTeXN0ZW07CiBjbGFzcyBBc3luY0ZpbGVXcml0ZXI7CiBzdHJ1Y3QgRmls
ZU1ldGFkYXRhOwogCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MpOwogcHVibGljOgorICAgIEFz
eW5jRmlsZVN5c3RlbUNhbGxiYWNrcygpIHsgfSAgICAKKwogICAgIC8vIENhbGxlZCB3aGVuIGEg
cmVxdWVzdGVkIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgogICAgIHZpcnR1
YWwgdm9pZCBkaWRTdWNjZWVkKCkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L0F1dG9kcmFpbmVkUG9vbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApp
bmRleCBkNDRlZTFlLi5kNjU1NDMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9k
cmFpbmVkUG9vbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKQEAg
LTI5LDcgKzI5LDYgQEAKICNpZm5kZWYgQXV0b2RyYWluZWRQb29sX2gKICNkZWZpbmUgQXV0b2Ry
YWluZWRQb29sX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWZkZWYgX19P
QkpDX18KIEBjbGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsKQEAgLTM5LDcgKzM4LDggQEAgY2xhc3Mg
TlNBdXRvcmVsZWFzZVBvb2w7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQXV0b2Ry
YWluZWRQb29sIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1dG9kcmFpbmVkUG9vbCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXV0b2RyYWluZWRQb29sKTsKIHB1YmxpYzoKICAg
ICBBdXRvZHJhaW5lZFBvb2woaW50IGl0ZXJhdGlvbkxpbWl0ID0gMSk7CiAgICAgfkF1dG9kcmFp
bmVkUG9vbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCmluZGV4IDUzMjFlZDYuLmQ2NjQ5OTkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL0NvbnRleHRNZW51LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29udGV4dE1l
bnVfaAogI2RlZmluZSBDb250ZXh0TWVudV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogI2luY2x1ZGUgIkNvbnRleHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1
bHQuaCIKQEAgLTQ1LDggKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENv
bnRleHRNZW51Q2xpZW50RWZsOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudSA6IHB1
YmxpYyBOb25jb3B5YWJsZQotICAgIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51KGNvbnN0IEhpdFRlc3RSZXN1bHQm
KTsKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IFBsYXRm
b3JtTWVudURlc2NyaXB0aW9uKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4
dE1lbnVJdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCmluZGV4IGU3
MDI5MjEuLjExMjY1NGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJ
dGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApAQCAtMjUyLDcg
KzI1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHZvaWQqIFBsYXRmb3Jt
TWVudUl0ZW1EZXNjcmlwdGlvbjsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVJdGVt
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDb250
ZXh0TWVudUl0ZW0oUGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uKTsKICAgICAgICAgQ29udGV4
dE1lbnVJdGVtKENvbnRleHRNZW51KiBzdWJNZW51ID0gMCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0
ZWRQdHJMaXN0LmgKaW5kZXggNDdjZDUzOC4uMWU5OTQ5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIERlcHJlY2F0ZWRQdHJM
aXN0X2gKIAogI2luY2x1ZGUgIkRlcHJlY2F0ZWRQdHJMaXN0SW1wbC5oIgotI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdGVtcGxhdGUgPGNs
YXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I7CiAKLXRlbXBsYXRlIDxjbGFz
cyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK3Rl
bXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBEZXByZWNhdGVkUHRyTGlzdCgpIDogaW1wbChk
ZWxldGVGdW5jKSwgZGVsX2l0ZW0oZmFsc2UpIHsgfQogICAgIH5EZXByZWNhdGVkUHRyTGlzdCgp
IHsgaW1wbC5jbGVhcihkZWxfaXRlbSk7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
RGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0
ckxpc3RJbXBsLmNwcAppbmRleCA5NmZkNTEzLi4zYTk5MWY5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCkBAIC0yOSwxMiArMjksMTEgQEAKICNpbmNsdWRl
IDxjc3RkZGVmPgogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xh
c3MgRGVwcmVjYXRlZExpc3ROb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZXByZWNh
dGVkTGlzdE5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIERlcHJl
Y2F0ZWRMaXN0Tm9kZSh2b2lkICpkKSA6IGRhdGEoZCksIG5leHQoMCksIHByZXYoMCkgeyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0V2ZW50TG9vcC5oCmluZGV4IGIwNTA3ZjcuLjhmNjQ3NDggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3Au
aApAQCAtMjYsMTEgKzI2LDExIEBACiAjaWZuZGVmIEV2ZW50TG9vcF9oCiAjZGVmaW5lIEV2ZW50
TG9vcF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi0gICAgY2xhc3MgRXZlbnRMb29wIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBFdmVudExvb3AgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudExvb3Ap
OwogICAgIHB1YmxpYzoKICAgICAgICAgRXZlbnRMb29wKCkKICAgICAgICAgICAgIDogbV9lbmRl
ZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNl
LmggYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCmluZGV4IDE1ODVmNjUu
LmQ2MGFlNmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNl
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaApAQCAtMjYsNyAr
MjYsNyBAQAogI2lmbmRlZiBHZW9sb2NhdGlvblNlcnZpY2VfaAogI2RlZmluZSBHZW9sb2NhdGlv
blNlcnZpY2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDIsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uU2VydmljZUVycm9yT2NjdXJyZWQo
R2VvbG9jYXRpb25TZXJ2aWNlKikgPSAwOwogfTsKIAotY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uU2VydmljZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoR2VvbG9jYXRpb25TZXJ2aWNlKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgR2VvbG9jYXRpb25TZXJ2aWNlKiBjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50
Kik7CiAgICAgdmlydHVhbCB+R2VvbG9jYXRpb25TZXJ2aWNlKCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaCBiL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRv
dy5oCmluZGV4IDc4ODJkNDguLjc4YTQ0NWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
SG9zdFdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCkBAIC0yNiwx
NSArMjYsMTYgQEAKICNpZm5kZWYgSG9zdFdpbmRvd19oCiAjZGVmaW5lIEhvc3RXaW5kb3dfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3Vyc29yOwogCi1jbGFzcyBIb3N0V2luZG93IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhvc3RXaW5kb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgor
ICAgIEhvc3RXaW5kb3coKSB7IH0KICAgICB2aXJ0dWFsIH5Ib3N0V2luZG93KCkgeyB9CiAKICAg
ICAvLyBSZXF1ZXN0cyB0aGUgaG9zdCBpbnZhbGlkYXRlIHRoZSB3aW5kb3csIG5vdCB0aGUgY29u
dGVudHMuICBJZiBpbW1lZGlhdGUgaXMgdHJ1ZSBkbyBzbyBzeW5jaHJvbm91c2x5LCBvdGhlcndp
c2UgYXN5bmMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmggYi9XZWJD
b3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKaW5kZXggOGUyNzM1MC4uYjg4M2ZmMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vS2ls
bFJpbmcuaApAQCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBL
aWxsUmluZyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2b2lk
IGFwcGVuZChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHByZXBlbmQoY29uc3QgU3RyaW5nJik7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9MZW5ndGguaAppbmRleCA3ZGQ4NzVlLi5jNDI5YTY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL0xlbmd0aC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKQEAgLTIyLDcg
KzIyLDYgQEAKICNkZWZpbmUgTGVuZ3RoX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKQEAgLTM1LDcgKzM0LDkgQEAgY29uc3Qg
aW50IGludE1pbkZvckxlbmd0aCA9ICgtMHg3ZmZmZmZmIC0gMSk7IC8vIG1pbiB2YWx1ZSBmb3Ig
YSAyOC1iaXQgaW50CiAKIGVudW0gTGVuZ3RoVHlwZSB7IEF1dG8sIFJlbGF0aXZlLCBQZXJjZW50
LCBGaXhlZCwgU3RhdGljLCBJbnRyaW5zaWMsIE1pbkludHJpbnNpYyB9OwogCi1zdHJ1Y3QgTGVu
Z3RoIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgTGVuZ3RoIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgogICAgIExlbmd0aCgpCiAgICAgICAgIDogbV92YWx1ZSgwKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggN2M1MDczNy4uNDk2ZmJiMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Q
YXN0ZWJvYXJkLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC04MSw3
ICs4MCw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIGNsYXNzIEFyY2hpdmVSZXNvdXJj
ZTsKICAgICAKLWNsYXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UGFzdGVib2FyZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFzdGVib2FyZCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIC8vSGVs
cGVyIGZ1bmN0aW9ucyB0byBhbGxvdyBDbGlwYm9hcmQgdG8gc2hhcmUgY29kZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKaW5kZXggYmMyOGU4NC4uNmEzNjMxOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCkBAIC03NSw3ICs3NSw4IEBA
IHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMyOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLSAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7CiAgICAgICAg
ICAgICAvLyBLZXlEb3duIGlzIHNlbnQgYnkgcGxhdGZvcm1zIHN1Y2ggYXMgTWFjIE9TIFgsIGd0
ayBhbmQgUXQsIGFuZCBoYXMgaW5mb3JtYXRpb24gYWJvdXQgYm90aCBwaHlzaWNhbCBwcmVzc2Vk
IGtleSwgYW5kIGl0cyB0cmFuc2xhdGlvbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
UHVyZ2VhYmxlQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCmlu
ZGV4IDliZGEyZDUuLjQ0MTM2YzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2Vh
YmxlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaApAQCAt
MjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIFB1cmdlYWJsZUJ1ZmZlcl9oCiAKICNpbmNsdWRlICJQ
dXJnZVByaW9yaXR5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAKLSAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFB1cmdlYWJsZUJ1ZmZlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
UGFzc093blB0cjxQdXJnZWFibGVCdWZmZXI+IGNyZWF0ZShjb25zdCBjaGFyKiBkYXRhLCBzaXpl
X3QpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCmluZGV4IDY1ZjI1M2UuLmY4YzUy
OWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVmaW5l
IFJ1bkxvb3BUaW1lcl9oCiAKICNpbmNsdWRlICJTY2hlZHVsZVBhaXIuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogLy8gVGltZSBpbnRlcnZhbHMgYXJlIGFsbCBpbiBzZWNvbmRzLgogCi1j
bGFzcyBSdW5Mb29wVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJ1bkxv
b3BUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BUaW1lckJhc2Up
OwogcHVibGljOgorICAgIFJ1bkxvb3BUaW1lckJhc2UoKSB7IH0KICAgICB2aXJ0dWFsIH5SdW5M
b29wVGltZXJCYXNlKCk7CiAKICAgICB2b2lkIHNjaGVkdWxlKGNvbnN0IFNjaGVkdWxlUGFpciop
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDBlZmFmN2EuLmIzZDg4OTYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKQEAgLTM2LDggKzM2LDEwIEBAIGNsYXNzIFBsYXRmb3Jt
TW91c2VFdmVudDsKIGNsYXNzIFNjcm9sbGJhcjsKIGNsYXNzIFNjcm9sbFZpZXc7CiAKLWNsYXNz
IFNjcm9sbGJhclRoZW1lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcm9sbGJhclRo
ZW1lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JvbGxiYXJUaGVtZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU2Nyb2xsYmFyVGhlbWUoKSB7IH0KICAgICB2
aXJ0dWFsIH5TY3JvbGxiYXJUaGVtZSgpIHt9OwogCiAgICAgdmlydHVhbCBib29sIHBhaW50KFNj
cm9sbGJhciosIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmIC8qZGFtYWdlUmVjdCov
KSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRU
aW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCmluZGV4IDViNWNkMTQuLjEy
ZGQ2ZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRl
ZiBTaGFyZWRUaW1lcl9oCiAjZGVmaW5lIFNoYXJlZFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBFYWNoIHRocmVh
ZCBoYXMgaXRzIG93biBzaW5nbGUgaW5zdGFuY2Ugb2Ygc2hhcmVkIHRpbWVyLCB3aGljaCBpbXBs
ZW1lbnRzIHRoaXMgaW50ZXJmYWNlLgogICAgIC8vIFRoaXMgaW5zdGFuY2UgaXMgc2hhcmVkIGJ5
IGFsbCB0aW1lcnMgaW4gdGhlIHRocmVhZC4KICAgICAvLyBOb3QgaW50ZW5kZWQgdG8gYmUgdXNl
ZCBkaXJlY3RseTsgdXNlIHRoZSBUaW1lciBjbGFzcyBpbnN0ZWFkLgotICAgIGNsYXNzIFNoYXJl
ZFRpbWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTaGFyZWRUaW1lciB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYXJlZFRpbWVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFNoYXJlZFRpbWVyKCkgeyB9CiAgICAgICAg
IHZpcnR1YWwgflNoYXJlZFRpbWVyKCkge30KICAgICAgICAgdmlydHVhbCB2b2lkIHNldEZpcmVk
RnVuY3Rpb24odm9pZCAoKikoKSkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L1RocmVhZEdsb2JhbERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5o
CmluZGV4IDlmNTdmMDAuLmU4NDJiN2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkR2xvYmFsRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5o
CkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYgRU5BQkxFKFdPUktFUlMpCkBAIC00NSw3ICs0
NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29udmVydGVyV3JhcHBl
cjsKICAgICBjbGFzcyBUaHJlYWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRh
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkR2xvYmFsRGF0YSk7CiAgICAgcHVibGlj
OgogICAgICAgICBUaHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgICAgIH5UaHJlYWRHbG9iYWxEYXRh
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBhYjQyNTk4Li4zNWVkMDFmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNpZm5kZWYgVGhyZWFkVGltZXJz
X2gKICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBA
IC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaW1lckJhc2U7
CiAKICAgICAvLyBBIGNvbGxlY3Rpb24gb2YgdGltZXJzIHBlciB0aHJlYWQuIEtlcHQgaW4gVGhy
ZWFkR2xvYmFsRGF0YS4KLSAgICBjbGFzcyBUaHJlYWRUaW1lcnMgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFRocmVhZFRpbWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRocmVhZFRpbWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBUaHJlYWRUaW1lcnMoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IGM0NDQzZGEuLjA4MTA0MDEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL1RpbWVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgVGltZXJfaAogI2RlZmluZSBU
aW1lcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDcgKzM0LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBUaW1lckhlYXBFbGVtZW50OwogCi1jbGFzcyBUaW1lckJh
c2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGltZXJCYXNlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUaW1lckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIFRpbWVyQmFzZSgpOwogICAgIHZpcnR1YWwgflRpbWVyQmFzZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RyZWVT
aGFyZWQuaAppbmRleCA5ZDlhYzFmLi5iODcyYWRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL1RyZWVTaGFyZWQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaApAQCAt
MjIsNyArMjIsNiBAQAogI2RlZmluZSBUcmVlU2hhcmVkX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3Nl
cnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMiw3ICszMSw4IEBAIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQ7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2
b2lkIGFkb3B0ZWQoVHJlZVNoYXJlZDxUPiopOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIFRyZWVTaGFyZWQgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJl
ZVNoYXJlZCk7CiBwdWJsaWM6CiAgICAgVHJlZVNoYXJlZCgpCiAgICAgICAgIDogbV9yZWZDb3Vu
dCgxKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlz
dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCmluZGV4IDlh
MzM0Y2EuLmM4ODEzOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0Fu
aW1hdGlvbkxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBB
bmltYXRpb25MaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQW5pbWF0aW9uTGlz
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBBbmltYXRpb25M
aXN0KCkgeyB9CiAgICAgQW5pbWF0aW9uTGlzdChjb25zdCBBbmltYXRpb25MaXN0Jik7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDMxOGI4MS4uMzk4ZTEyNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9CdXMuaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBBdWRpb0J1c19oCiAK
ICNpbmNsdWRlICJBdWRpb0NoYW5uZWwuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApA
QCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBBbiBBdWRpb0J1cyByZXBy
ZXNlbnRzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSBBdWRpb0NoYW5uZWxzLgogLy8gVGhl
IGRhdGEgbGF5b3V0IGlzICJwbGFuYXIiIGFzIG9wcG9zZWQgdG8gImludGVybGVhdmVkIi4KIC8v
IEFuIEF1ZGlvQnVzIHdpdGggb25lIGNoYW5uZWwgaXMgbW9ubywgYW4gQXVkaW9CdXMgd2l0aCB0
d28gY2hhbm5lbHMgaXMgc3RlcmVvLCBldGMuCi1jbGFzcyBBdWRpb0J1cyAgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXVkaW9CdXMgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
dWRpb0J1cyApOwogcHVibGljOgogICAgIGVudW0gewogICAgICAgICBDaGFubmVsTGVmdCA9IDAs
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAppbmRleCA2ODE2ODMwLi43MzI1ZTlm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAgLTMwLDE0ICszMCwxNCBA
QAogI2RlZmluZSBBdWRpb0NoYW5uZWxfaAogCiAjaW5jbHVkZSAiQXVkaW9BcnJheS5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW4gQXVkaW9DaGFubmVsIHJlcHJlc2VudHMgYSBi
dWZmZXIgb2Ygbm9uLWludGVybGVhdmVkIGZsb2F0aW5nLXBvaW50IGF1ZGlvIHNhbXBsZXMuCiAv
LyBUaGUgUENNIHNhbXBsZXMgYXJlIG5vcm1hbGx5IGFzc3VtZWQgdG8gYmUgaW4gYSBub21pbmFs
IHJhbmdlIC0xLjAgLT4gKzEuMAotY2xhc3MgQXVkaW9DaGFubmVsIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEF1ZGlvQ2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVk
aW9DaGFubmVsKTsKIHB1YmxpYzoKICAgICAvLyBNZW1vcnkgY2FuIGJlIGV4dGVybmFsbHkgcmVm
ZXJlbmNlZCwgb3IgY2FuIGJlIGludGVybmFsbHkgYWxsb2NhdGVkIHdpdGggYW4gQXVkaW9GbG9h
dEFycmF5LgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaAppbmRleCBjMzNiMzhm
Li4zNTE0NjkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKQEAgLTMxLDcg
KzMxLDYgQEAKIAogI2luY2x1ZGUgIkhSVEZFbGV2YXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIUlRGS2Vy
bmVsOwogCi1jbGFzcyBIUlRGRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFJURkRhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRGF0YWJhc2UpOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhSVEZEYXRhYmFzZT4gY3JlYXRlKGRvdWJs
ZSBzYW1wbGVSYXRlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RWxldmF0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaAppbmRl
eCBiMzg4YjM0Li5mNDQ0NDQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24u
aApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBIUlRGRWxldmF0aW9uX2gKIAogI2luY2x1ZGUg
IkhSVEZLZXJuZWwuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IEhSVEZFbGV2YXRpb24gY29udGFpbnMgYWxsIG9mIHRoZSBIUlRGS2VybmVscyAob25lIGxlZnQg
ZWFyIGFuZCBvbmUgcmlnaHQgZWFyIHBlciBhemltdXRoIGFuZ2xlKSBmb3IgYSBwYXJ0aWN1bGFy
IGVsZXZhdGlvbi4KIAotY2xhc3MgSFJURkVsZXZhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIUlRGRWxldmF0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRWxl
dmF0aW9uKTsKIHB1YmxpYzoKICAgICAvLyBMb2FkcyBhbmQgcmV0dXJucyBhbiBIUlRGRWxldmF0
aW9uIHdpdGggdGhlIGdpdmVuIEhSVEYgZGF0YWJhc2Ugc3ViamVjdCBuYW1lIGFuZCBlbGV2YXRp
b24gZnJvbSBicm93c2VyIChvciBXZWJLaXQuZnJhbWV3b3JrKSByZXNvdXJjZXMuCiAgICAgLy8g
Tm9ybWFsbHksIHRoZXJlIHdpbGwgb25seSBiZSBhIHNpbmdsZSBIUlRGIGRhdGFiYXNlIHNldCwg
YnV0IHRoaXMgQVBJIHN1cHBvcnRzIHRoZSBwb3NzaWJpbGl0eSBvZiBtdWx0aXBsZSBvbmVzIHdp
dGggZGlmZmVyZW50IG5hbWVzLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DbGlwYm9hcmRDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9h
cmRDaHJvbWl1bS5oCmluZGV4IDFkNjk5MjEuLjhkNmZhMjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEludFBvaW50OwogCiAgICAgY2xhc3MgQ2xpcGJvYXJk
Q2hyb21pdW0gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
fkNsaXBib2FyZENocm9taXVtKCkge30KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJ
bWFnZS5oCmluZGV4IDVhNTQ5NjMuLmU5Njc4YzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0JpdG1hcEltYWdlLmgKQEAgLTY4LDcgKzY4LDkgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNs
YXNzIFRpbWVyOwogLy8gRnJhbWVEYXRhIENsYXNzCiAvLyA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotc3RydWN0IEZyYW1lRGF0YSA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBGcmFtZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1l
RGF0YSk7CitwdWJsaWM6CiAgICAgRnJhbWVEYXRhKCkKICAgICAgICAgOiBtX2ZyYW1lKDApCiAg
ICAgICAgICwgbV9oYXZlTWV0YWRhdGEoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbG9yLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgK
aW5kZXggMmU0ZTk2Mi4uNmQ4OTJhOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Db2xvci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaApAQCAt
MjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb2xvcl9oCiAjZGVmaW5lIENvbG9yX2gKIAotI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKQEAgLTc1LDcgKzc0LDggQEAgaW5saW5lIGlu
dCBncmVlbkNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiAoY29sb3IgPj4gOCkgJiAweEZG
OyB9CiBpbmxpbmUgaW50IGJsdWVDaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gY29sb3Ig
JiAweEZGOyB9CiBpbmxpbmUgaW50IGFscGhhQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJu
IChjb2xvciA+PiAyNCkgJiAweEZGOyB9CiAKLWNsYXNzIENvbG9yIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgQ29sb3IgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCksIG1fdmFsaWQoZmFsc2UpIHsgfQogICAgIENv
bG9yKFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wpLCBtX3ZhbGlkKHRydWUpIHsgfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAKaW5kZXggODdhMWM1Yy4uMDcy
NWE5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ29udGV4dFNoYWRvdy5oIgogCiAjaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdXNpbmcg
V1RGOjptaW47CiB1c2luZyBXVEY6Om1heDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
Y2hlLmNwcAppbmRleCAxNDllYTc5Li5mNWRkOGJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuY3BwCkBAIC01Myw3ICs1Myw5IEBAIEZvbnRDYWNoZTo6Rm9udENhY2hlKCkK
IHsKIH0KIAotc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSA6IEZhc3RBbGxvY0Jhc2Ug
eworc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKK3B1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29uc3QgQXRv
bWljU3RyaW5nJiBmYW1pbHkgPSBBdG9taWNTdHJpbmcoKSwgdW5zaWduZWQgc2l6ZSA9IDAsIHVu
c2lnbmVkIHdlaWdodCA9IDAsIGJvb2wgaXRhbGljID0gZmFsc2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgaXNQcmludGVyRm9udCA9IGZhbHNlLCBGb250UmVuZGVyaW5nTW9k
ZSByZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSwgRm9udE9yaWVudGF0aW9uIG9y
aWVudGF0aW9uID0gSG9yaXpvbnRhbCkKICAgICAgICAgOiBtX3NpemUoc2l6ZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGU2ODQ1ZDkuLjRmYTc0MTQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBGb250
RGVzY3JpcHRpb247CiBjbGFzcyBGb250U2VsZWN0b3I7CiBjbGFzcyBTaW1wbGVGb250RGF0YTsK
IAotY2xhc3MgRm9udENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRDYWNo
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udENhY2hlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBmcmllbmQgRm9udENhY2hlKiBmb250Q2FjaGUoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCmluZGV4IGVlOTRhOTguLjBlYjY2ODUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKQEAgLTI3LDE0ICsyNywxNCBAQAogI2Rl
ZmluZSBGb250RGF0YV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTaW1wbGVGb250RGF0YTsKIAotY2xhc3MgRm9udERh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udERhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBGb250RGF0YSgpCiAgICAgICAgIDogbV9tYXhHbHlwaFBhZ2VUcmVlTGV2ZWwoMCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCmluZGV4IGZhODViY2Mu
LjNlMTNmYmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRy
aWNzTWFwLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAu
aApAQCAtNDAsNyArNDAsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IEdseXBoOwogCiBjb25z
dCBmbG9hdCBjR2x5cGhTaXplVW5rbm93biA9IC0xOwogCi10ZW1wbGF0ZTxjbGFzcyBUPiBjbGFz
cyBHbHlwaE1ldHJpY3NNYXAgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8Y2xhc3Mg
VD4gY2xhc3MgR2x5cGhNZXRyaWNzTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHbHlw
aE1ldHJpY3NNYXApOwogcHVibGljOgogICAgIEdseXBoTWV0cmljc01hcCgpIDogbV9maWxsZWRQ
cmltYXJ5UGFnZShmYWxzZSkgeyB9CiAgICAgfkdseXBoTWV0cmljc01hcCgpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCA2YWRjOTBiLi5iYTc4OWI1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKQEAgLTM0
LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUGF0aC5oIgogI2lu
Y2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiAjaWYgUExBVEZPUk0oQ0cpCkBAIC0xNTMsNyAr
MTUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBJbnRlcnBvbGF0aW9uSGlnaAog
ICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEdyYXBoaWNzQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGlj
OgogICAgICAgICBHcmFwaGljc0NvbnRleHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKTsKICAg
ICAgICAgfkdyYXBoaWNzQ29udGV4dCgpOwpAQCAtMzU2LDcgKzM1Niw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRTaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKGJvb2wp
OwogICAgICAgICBib29sIHNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoKSBjb25zdDsKIAotICAg
ICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
Y2xhc3MgV2luZG93c0JpdG1hcCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
aW5kb3dzQml0bWFwKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgV2luZG93c0JpdG1h
cChIREMsIEludFNpemUpOwogICAgICAgICAgICAgfldpbmRvd3NCaXRtYXAoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCBjMmQ1YzI0Li43
YzA3YmViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQz
RC5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAv
LyBGSVhNRTogRmluZCBhIGJldHRlciB3YXkgdG8gYXZvaWQgdGhlIG5hbWUgY29uZmxpY3Rpb24g
Zm9yIE5PX0VSUk9SLgogI2lmICgoUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKFdJTkRPV1MpKSB8
fCBQTEFURk9STShXSU4pIHx8IChQTEFURk9STShRVCkgJiYgT1MoV0lORE9XUykpKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaAppbmRl
eCA5ODVjYWQ5Li4xOWM2MDY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaApAQCAtODQsNyArODQsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAjZW5kaWYKICAgICB9OwogCi0gICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0UHJpdmF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0UHJpdmF0
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dFByaXZhdGUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgR3JhcGhpY3ND
b250ZXh0UHJpdmF0ZSgpCiAgICAgICAgICAgICA6IG1fdXBkYXRpbmdDb250cm9sVGludHMoZmFs
c2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDk5MWNh
MzIuLmU1ZGRjYjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5o
CkBAIC0xMDQsNyArMTA0LDggQEAgY2xhc3MgVGltaW5nRnVuY3Rpb247CiAvLyBCYXNlIGNsYXNz
IGZvciBhbmltYXRpb24gdmFsdWVzIChhbHNvIHVzZWQgZm9yIHRyYW5zaXRpb25zKS4gSGVyZSB0
bwogLy8gcmVwcmVzZW50IHZhbHVlcyBmb3IgcHJvcGVydGllcyBiZWluZyBhbmltYXRlZCB2aWEg
dGhlIEdyYXBoaWNzTGF5ZXIsCiAvLyB3aXRob3V0IHB1bGxpbmcgaW4gc3R5bGUtcmVsYXRlZCBk
YXRhIGZyb20gb3V0c2lkZSBvZiB0aGUgcGxhdGZvcm0gZGlyZWN0b3J5LgotY2xhc3MgQW5pbWF0
aW9uVmFsdWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uVmFsdWUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvblZhbHVlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBBbmltYXRpb25WYWx1ZShmbG9hdCBrZXlUaW1lLCBQYXNz
UmVmUHRyPFRpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbiA9IDApCiAgICAgICAgIDogbV9r
ZXlUaW1lKGtleVRpbWUpCkBAIC0xNTYsNyArMTU3LDggQEAgcHJpdmF0ZToKIAogLy8gVXNlZCB0
byBzdG9yZSBhIHNlcmllcyBvZiB2YWx1ZXMgaW4gYSBrZXlmcmFtZSBsaXN0LiBWYWx1ZXMgd2ls
bCBhbGwgYmUgb2YgdGhlIHNhbWUgdHlwZSwKIC8vIHdoaWNoIGNhbiBiZSBpbmZlcnJlZCBmcm9t
IHRoZSBwcm9wZXJ0eS4KLWNsYXNzIEtleWZyYW1lVmFsdWVMaXN0IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEtleWZyYW1lVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShLZXlmcmFtZVZhbHVlTGlzdCk7CiBwdWJsaWM6CiAKICAgICBLZXlmcmFtZVZhbHVlTGlzdChB
bmltYXRlZFByb3BlcnR5SUQgcHJvcGVydHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
QnVmZmVyLmgKaW5kZXggODIyYTBmZi4uZDU0ZTAwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VCdWZmZXIuaApAQCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFVubXVsdGlwbGllZAogICAgIH07CiAKLSAgICBjbGFzcyBJbWFnZUJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VCdWZmZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShJbWFnZUJ1ZmZlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgcHVibGljOgogICAgICAgICAvLyBXaWxsIHJldHVybiBhIG51bGwgcG9pbnRlciBvbiBhbGxv
Y2F0aW9uIGZhaWx1cmUuCiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBj
cmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29sb3JTcGFjZSBjb2xvclNwYWNlID0gQ29sb3JT
cGFjZURldmljZVJHQikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAppbmRl
eCBhZWIxNTYxLi45MWNlZTU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlU291cmNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJj
ZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEltYWdlU291cmNlX2gKIAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiAjaWYgUExBVEZPUk0oV1gpCkBAIC0xMTcsNyArMTE2LDggQEAgY29u
c3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IDA7CiBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BJ
bmZpbml0ZSA9IC0xOwogY29uc3QgaW50IGNBbmltYXRpb25Ob25lID0gLTI7CiAKLWNsYXNzIElt
YWdlU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlU291cmNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVNvdXJjZSk7CiBwdWJsaWM6CiAgICAgSW1hZ2VT
b3VyY2UoYm9vbCBwcmVtdWx0aXBseUFscGhhID0gdHJ1ZSwgYm9vbCBpZ25vcmVHYW1tYUFuZENv
bG9yUHJvZmlsZSA9IGZhbHNlKTsKICAgICB+SW1hZ2VTb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggZTg3YzUzYy4uMzE2NTQ3OCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTE0Nyw3ICsxNDcsOSBA
QCBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBjcmVhdGVOdWxsTWVkaWFQbGF5
ZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKIAogLy8gZW5naW5lIHN1cHBvcnQKIAotc3RydWN0IE1l
ZGlhUGxheWVyRmFjdG9yeSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBNZWRpYVBsYXllckZhY3Rv
cnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUGxheWVyRmFjdG9yeSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgTWVkaWFQbGF5ZXJGYWN0b3J5KENyZWF0
ZU1lZGlhRW5naW5lUGxheWVyIGNvbnN0cnVjdG9yLCBNZWRpYUVuZ2luZVN1cHBvcnRlZFR5cGVz
IGdldFN1cHBvcnRlZFR5cGVzLCBNZWRpYUVuZ2luZVN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGVB
bmRDb2RlY3MpIAogICAgICAgICA6IGNvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKQogICAgICAgICAs
IGdldFN1cHBvcnRlZFR5cGVzKGdldFN1cHBvcnRlZFR5cGVzKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5oCmluZGV4IGM5YzA0MmIuLjcxYzk5ZDkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC0xNDYsNyAr
MTQ1LDggQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBNZWRpYVBsYXllciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTWVkaWFQbGF5ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogCiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFQbGF5ZXI+IGNyZWF0ZShNZWRpYVBsYXllckNsaWVu
dCogY2xpZW50KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2
YXRlLmgKaW5kZXggZDk1NjI4Ni4uNjY5ODE5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgSW50U2l6ZTsKIAotY2xhc3MgTWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlh
UGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
KyAgICBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UoKSB7IH0KICAgICB2aXJ0dWFsIH5NZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNv
bnN0IFN0cmluZyYgdXJsKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1BhdGguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCmluZGV4IGJhMjVk
YzIuLjU2Nzc4NGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCkBAIC0yOCw3ICsyOCw2IEBA
CiAjaWZuZGVmIFBhdGhfaAogI2RlZmluZSBQYXRoX2gKIAotI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogI2lmIFBMQVRGT1JNKENHKQpA
QCAtMTAwLDcgKzk5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiB2b2lk
ICgqUGF0aEFwcGxpZXJGdW5jdGlvbikodm9pZCogaW5mbywgY29uc3QgUGF0aEVsZW1lbnQqKTsK
IAotICAgIGNsYXNzIFBhdGggOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGF0
aCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAg
ICBQYXRoKCk7CiAgICAgICAgIH5QYXRoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1RpbGVkQmFja2luZ1N0b3JlLmgKaW5kZXggNTg0NzdkYi4uOGUzYTA0MSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaApAQCAtMzYsNyArMzYsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBUaWxl
ZEJhY2tpbmdTdG9yZUNsaWVudDsKIAotY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRpbGVkQmFja2luZ1N0b3JlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBUaWxlZEJhY2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCopOwog
ICAgIH5UaWxlZEJhY2tpbmdTdG9yZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBkYWMzMWY4Li40
ZjM5NGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJv
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZv
bnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRl
ZiBzdHJ1Y3QgRlRfRmFjZVJlY18qICBGVF9GYWNlOwogdHlwZWRlZiBzdHJ1Y3QgX2NhaXJvX2Zv
bnRfZmFjZSBjYWlyb19mb250X2ZhY2VfdDsKQEAgLTM1LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAot
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSk7CiBwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShGVF9G
YWNlLCBTaGFyZWRCdWZmZXIqKTsKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCmluZGV4
IDZmYzFhMGUuLjgxOWY5ODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0dMRVMyQ2FudmFzLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJUZXh0dXJl
LmgiCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NTAsNyArNDksOCBAQCBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsK
IGNsYXNzIFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOwogCi1jbGFzcyBHTEVTMkNhbnZhcyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHTEVTMkNhbnZhcyB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoR0xFUzJDYW52YXMpOwogcHVibGljOgogICAgIEdMRVMyQ2FudmFzKFNoYXJlZEdy
YXBoaWNzQ29udGV4dDNEKiwgRHJhd2luZ0J1ZmZlciosIGNvbnN0IEludFNpemUmKTsKICAgICB+
R0xFUzJDYW52YXMoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCmluZGV4IDUzMWQ2NTIuLjNjNzFhYzcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtNDMsNyArNDMsNiBAQAogI2luY2x1ZGUgIlNrQml0
bWFwLmgiCiAjaW5jbHVkZSAiVmlkZW9MYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCmluZGV4IDFmMzM1MjcuLjUyNmE4N2IgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFj
ZUNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5k
ZXJTdXJmYWNlQ2hyb21pdW0uaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjaW5jbHVkZSAiRmxvYXRS
ZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0
cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogY2xhc3MgTGF5ZXJDaHJvbWl1bTsK
IAotY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVu
ZGVyU3VyZmFjZUNocm9taXVtKTsKICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9t
aXVtOwogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZhY2VDaHJvbWl1bShMYXllckNo
cm9taXVtKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RyYW5zcGFyZW5jeVdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9U
cmFuc3BhcmVuY3lXaW4uaAppbmRleCBiNmJlZjkxLi4yNzUxMjU4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKQEAgLTM1
LDcgKzM1LDYgQEAKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIklt
YWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJ3dGYvT3du
UHRyLmgiCiAKIGNsYXNzIFNrQml0bWFwOwpAQCAtNTQsNyArNTMsOCBAQCBjbGFzcyBUcmFuc3Bh
cmVuY3lXaW5fT3BhcXVlQ29tcG9zaXRlTGF5ZXJfVGVzdDsKIC8vIHRoYXQgaXMgY29tcG9zaXRl
ZCBsYXRlciBtYW51YWxseS4gVGhpcyBpcyB0byBnZXQgYXJvdW5kIFdpbmRvd3MnIGluYWJpbGl0
eQogLy8gdG8gaGFuZGxlIHRoZSBhbHBoYSBjaGFubmVsLCBzZW1pdHJhbnNwYXJlbnQgdGV4dCwg
YW5kIHRyYW5zZm9ybWVkIGZvcm0KIC8vIGNvbnRyb2xzLgotY2xhc3MgVHJhbnNwYXJlbmN5V2lu
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW5jeVdpbiB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbmN5V2luKTsKIHB1YmxpYzoKICAgICBlbnVtIExh
eWVyTW9kZSB7CiAgICAgICAgIC8vIE5vIGV4dHJhIGxheWVyIGlzIGNyZWF0ZWQuIERyYXdpbmcg
d2lsbCBoYXBwZW4gdG8gdGhlIHNvdXJjZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0RyYXdpbmdCdWZmZXIuaAppbmRleCA5Zjc5ODg5Li5lMzU2NTkyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC0zNSw3ICszNSw2IEBA
CiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTc3LDggKzc2LDEw
IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgY2xhc3Mg
V2lsbFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2ls
bFB1Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQdWJs
aXNoQ2FsbGJhY2spOwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hDYWxsYmFjaygp
IHsgfQogICAgICAgICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9CiAgICAgICAg
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2
NTg0NC4uMWJkNjdiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
TG9vcEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlubkNsYXNzaWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BC
bGlubkNsYXNzaWZpZXJfaAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZs
b2F0UG9pbnQ7CiAKIC8vIENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlw
ZXMuCi1jbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIExvb3BCbGlubkNsYXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BC
bGlubkNsYXNzaWZpZXIpOwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2
ZXMuCiAgICAgZW51bSBDdXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdl
My4uZDAxZTZjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9v
cEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNp
bmNsdWRlICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIK
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFu
Z3VsYXRpb24gb2YgdGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZv
dXIgY29udHJvbCBwb2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50Lgot
Y2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVy
dGljZXMgdGhhdCB0aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90
aAogICAgIC8vIHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0
ZXh0dXJlCiAgICAgLy8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShWZXJ0ZXgpOwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVy
ZUNvb3Jkcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVy
ZUNvb3Jkcy5oCmluZGV4IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcg
KzMwLDYgQEAKICNpbmNsdWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9v
cEJsaW5uQ29uc3RhbnRzLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9QT0RBcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEu
aAppbmRleCBmNjhiYWVmLi41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPREFyZW5hLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNs
dWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1
OCw3ICsxNTcsOCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBv
ZiBtZW1vcnkgYW5kIGluZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNz
IENodW5rIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFs
bG9jYXRlcyBhIGJsb2NrIG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNz
ZWQKICAgICAgICAgLy8gQWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9QT0RJbnRlcnZhbFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyAr
MzAsNiBAQAogI2luY2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tU
cmVlLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQ0LDggKzQzLDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZp
Y2llbnQgKE8obGcgbikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGlu
dGVydmFscyBpbiB0aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0g
dm9pZCo+Ci1jbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQs
IFVzZXJEYXRhPiA+IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFj
a1RyZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBPREludGVydmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2Ug
dHlwaW5nIHdoZW4gZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0
aGlzIHRyZWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RS
ZWRCbGFja1RyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNr
VHJlZS5oCmluZGV4IDZkNTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNs
dWRlICJQT0RBcmVuYS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVC
VUcKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgog
ICAgIC8vIFRoZSBiYXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBO
b2RlcyBhcmUgb25seQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0
cmVlIGRlYWwgb25seSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAg
ICBjbGFzcyBOb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAv
LyBDb25zdHJ1Y3Rvci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAg
ICAgIGV4cGxpY2l0IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2
YXRlOgogICAgIC8vIEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Ig
d2hpY2ggc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAg
Y2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENvdW50ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAg
ICAgICA6IG1fY291bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9TaGFkZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
CmluZGV4IGU1YmQ4ZGUuLmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1NoYWRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1No
YWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRl
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFm
ZmluZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAK
LWNsYXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdy
YXBoaWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRj
YThhYjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0Rh
dGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAg
LTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0
YV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRh
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRpbGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1h
eFRleHR1cmVTaXplLCBpbnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9y
ZGVyVGV4ZWxzKTsKICAgICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21h
eFRleHR1cmVTaXplOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVm
ZWZmLi5iZjYwYWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcg
KzI0LDYgQEAKICNpbmNsdWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2lu
Y2x1ZGUgIk5ldHdvcmtpbmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBA
QAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDog
cHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3Mg
U3RyZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAg
U3RyZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1p
bmdDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3Uv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlr
dS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlv
bi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7
CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCmluZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUg
PENvcmVGb3VuZGF0aW9uL0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250
UmVmOwogdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNo
YXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJs
ZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNG
b250LCBDR0ZvbnRSZWYgY2dGb250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwg
bV9hdHNGb250KGF0c0ZvbnQpLCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4
Li44NDg5OTNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9Q
YWludGVyT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFp
bnRlck9wZW5WRy5oCkBAIC0yNSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3Bl
blZHOwogCiBzdHJ1Y3QgUGxhdGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVu
VkcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNs
YXNzIFN1cmZhY2VPcGVuVkc7CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0
ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VP
cGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcu
aAppbmRleCA0NmQxNjQ2Li5lZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8
ZWdsLmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNp
ZmRlZnMgYW5kIHNob3VsZCBtYWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2Nv
bnRleHQKICAqIGltcGxlbWVudGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9w
ZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1h
a2VDdXJyZW50TW9kZSB7CiAgICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNo
LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAppbmRleCA2YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQg
KzI1LDE2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAorcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0K
ICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFG
b250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXgg
MjIwMWYxOC4uOWM2NjJhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9G
b250UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgx
KQpAQCAtNjIsOCArNjMsMTAgQEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0
YSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgp
IHsgfQogICAgIEZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9i
bGlxdWUpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsK
ICAgICBGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZmFtaWx5TmFtZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNp
bmcgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NDb250ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHRRdC5jcHAKaW5kZXggMTBhN2Y4OS4uMWIxYzZmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE2OSw3ICsxNjks
OCBAQCBzdGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVs
ZSkKICAgICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3ND
b250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFD
b2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNw
YXJlbmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5
TGF5ZXIuaAppbmRleCA2YmRmYjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9j
QmFzZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECitwdWJsaWM6CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAs
IGNvbnN0IFFSZWN0ICZyZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAg
ICAgICAgIDogcGl4bWFwKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBv
cGFjaXR5KG9wYWNpdHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4wODNlNThjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24u
aCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC00OSw3ICs0OCw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOworcHVibGljOgogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAg
ICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZS5oCmluZGV4IDVlMTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGVfaAogI2RlZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNr
aWE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9u
dG8gYSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFw
aGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNz
Q29udGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRl
eHQpCiAgICAgICAgIDogbV9jb250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRl
eCAxMTAwODVkLi5kNjgzYWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUg
UGxhdGZvcm1Db250ZXh0U2tpYV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNp
bmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgog
I2luY2x1ZGUgIlNrRHJhd0xvb3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJl
OwogLy8gcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBp
cyBzdG9yZSBpbiBzZXBhcmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3Zp
ZGVzIHRoZSBhZGFwdG9yIHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUg
cHVzaGVkIGFuZCBwb3BwZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1D
b250ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRT
a2lhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1
YmxpYzoKICAgICAvLyBGb3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFz
LiBjYW52YXMgY2FuIGJlIE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFz
LCB5b3UgY2FuIGFsc28gY2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFl
ZTEwMi4uMTBmYjA0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUg
IlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1l
bWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykK
ICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0
LDggQEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRp
b25NYXRyaXg7CiAKLWNsYXNzIEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIEFmZmluZVRyYW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25z
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0
aW9ucy5oCmluZGV4IGMwZGEzNzcuLjA4ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAt
MzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9w
ZXJhdGlvbnMgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRp
b25zIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9y
bU9wZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRy
aXguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlv
bk1hdHJpeC5oCmluZGV4IDk2YjRiYWEuLjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5o
CkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIklu
dFBvaW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3Jh
cGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQ
b2ludDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9y
bWF0aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IHR5cGVkZWYgZG91YmxlIE1hdHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcw
Li4xNjI4ZWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9u
dFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYg
c3RydWN0IENHRm9udCogQ0dGb250UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAK
LXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFO
RExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRS
ZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFD
YWlyby5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4uMDY5OTFjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJv
LmgKQEAgLTI0LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNp
bmNsdWRlIDxjYWlyby5oPgogCkBAIC0zMyw3ICszMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9m
YWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29u
dGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4
dC5oCmluZGV4IGMyMTYxNDAuLjU5NTFlNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsV2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvY2FsV2luZG93c0NvbnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2lu
ZG93c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJl
Y3QmIHJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJp
dG1hcCA9IHRydWUpCiAgICAgICAgIDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4
Li5mZTYwYzhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1v
dmllLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApA
QCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVD
b21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CkBAIC02Myw3ICs2Miw4IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8
Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1Rp
bWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1
YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3Zp
ZVByaXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1v
dmllR1dvcmxkLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29y
bGQuY3BwCmluZGV4IGUxM2Y3MzIuLjI2ODYxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVk
ZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4
IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUo
KTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRG
bHVzaGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4
dEZsdXNoZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBP
U0lUSU5HKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogCkBAIC0zNiw3ICszNSw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFdLQ0FDRkNvbnRleHRGbHVzaGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmEx
NjZlODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxh
eWVyUmVuZGVyZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZM
YXllclJlbmRlcmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2lu
Y2x1ZGUgIldLQ0FDRkxheWVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAt
NTYsNyArNTUsOCBAQCBwdWJsaWM6CiAvLyBGSVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tD
QUNGTGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBXZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93
biBDQVJlbmRlck9HTENvbnRleHQgYW5kIERpcmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZp
Y2llbnQuCiAvLyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1
KQotY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBXS0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZM
YXllclJlbmRlcmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXll
clJlbmRlcmVyPiBjcmVhdGUoV0tDQUNGTGF5ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NB
Q0ZMYXllclJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2Ny
aXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAw
OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAg
ICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAg
ICAgICA6IG1fbmFtZShuYW1lKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3Jt
RGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3Jt
RGF0YS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAj
aW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBs
Lmg+CiAKIHR5cGVkZWYgc3RydWN0IHRhZ1RFWFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNF
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2lu
Q0UuY3BwCmluZGV4IDA4MDI4MjYuLjgyNDU1OTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00NDAs
NyArNDQwLDggQEAgc3RhdGljIHZvaWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJt
cCwgY29uc3QgU2hhcmVkQml0bWFwKiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1h
cDx1bnNpZ25lZCwgZmFsc2U+KGRlc3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAot
Y2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJl
bnRMYXllckRDIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMp
OwogcHVibGljOgogICAgIFRyYW5zcGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUqIGRhdGEsIEludFJlY3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVm
b3JlVHJhbnNmb3JtID0gMCwgaW50IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxz
ZSk7CiAgICAgflRyYW5zcGFyZW50TGF5ZXJEQygpOwpAQCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQg
VHJhbnNwYXJlbnRMYXllckRDOjpmaWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNz
IFNjb3BlRENQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBTY29wZURDUHJvdmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRl
KiBkYXRhKQogICAgICAgICA6IG1fZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44
NmY5OWIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9y
aWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJl
ZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFi
bGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAg
ICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L0ltYWdlRGVjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURl
Y29kZXIuaAppbmRleCA1YTA0YmVlLi4xZDdiOWY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTIyMSw3ICsyMjEsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0TWF4TnVtUGl4ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmln
Z2VzdCBzaXplIHRoYXQgZGVjb2RlZCBpbWFnZXMgY2FuCiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVj
b2RlcnMgd2lsbCBkZWZsYXRlIHRob3NlIGltYWdlcyB0aGF0IGFyZSBiaWdnZXIgdGhhbgogICAg
IC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90IHN1cHBvcnRlZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMg
eWV0KQotICAgIGNsYXNzIEltYWdlRGVjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VE
ZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIElt
YWdlRGVjb2Rlcihib29sIHByZW11bHRpcGx5QWxwaGEsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xv
clByb2ZpbGUpCiAgICAgICAgICAgICA6IG1fc2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9D
bGlwYm9hcmRNYWMuaAppbmRleCA3MTg3ZWNmLi44OWY4MzNiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9D
bGlwYm9hcmRNYWMuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVM
aXN0OwogCiBjbGFzcyBDbGlwYm9hcmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlw
ZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vz
c1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLmI5
OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBo
aWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBo
aWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09C
SkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250ZXh0OwpAQCAtMzEsNyArMzAsOCBAQCBjbGFzcyBH
cmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMg
YW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rp
b25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29u
dGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJs
aWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3Jh
cGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCmluZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAj
aW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4KICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxp
Yi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJh
bS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLjZlZjIy
NDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAg
cHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsK
IAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQg
KzIzLDE0IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZv
cm1EYXRhQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxk
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFRleHRFbmNvZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0
IFN0cmluZyYgYWNjZXB0Q2hhcnNldCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0
Li4zOTk3ODBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0
YXRlTm90aWZpZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRl
Tm90aWZpZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmll
cl9oCiAjZGVmaW5lIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogCkBAIC02MSw3ICs2MCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRp
ZgogCi1jbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0
d29ya1N0YXRlTm90aWZpZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2Vk
RnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCA5Y2NjZWNkLi4wZjJiZTI0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTgw
LDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxl
SW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVy
c0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmKQogICAgICAgICAgICAgOiBtX2NsaWVu
dChjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgK
aW5kZXggMzNhMTg0ZS4uMmI3NDE3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8g
RG8gbm90IHVzZSB0aGlzIHR5cGUgZGlyZWN0bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3Rl
YWQuCi0gICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVz
b3VyY2VSZXF1ZXN0LCBiYXNlZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAg
ICAgICAgZW51bSBUYXJnZXRUeXBlIHsKQEAgLTIwNSw3ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJh
c2U6OmNvbXBhcmUoYSwgYik7IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNl
UmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7
IH0KIAotICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9u
Y29weWFibGUgeworICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNl
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVl
c3REYXRhQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgorICAgICAg
ICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwg
bV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGlj
eTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgK
aW5kZXggOWM1NGJhYi4uY2I4YTUxZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBE
byBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNw
b25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9u
c2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwog
CkBAIC0xNzUsNyArMTc2LDEwIEBAIHByaXZhdGU6CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0
dXJuIFJlc291cmNlUmVzcG9uc2VCYXNlOjpjb21wYXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBv
cGVyYXRvciE9KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJj
ZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNv
dXJjZVJlc3BvbnNlRGF0YUJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKTsKK3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJl
c291cmNlUmVzcG9uc2VEYXRhQmFzZSgpIHsgfQogICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5n
IG1fbWltZVR5cGU7CiAgICAgbG9uZyBsb25nIG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5j
cHAKaW5kZXggMGY5Nzg2Ny4uMTgxNThmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xh
c3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91
c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4m
KTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1
MDU0MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VI
YW5kbGVXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VI
YW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVh
ZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xh
c3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDog
cHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91
c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9XZWJD
b3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKaW5kZXggNWFjYTFhNi4uMWVlYzhhZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBk
cmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJs
aWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25z
dCBRTWltZURhdGEqIHJlYWRhYmxlQ2xpcGJvYXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUwLDggQEAgZXh0ZXJuIGNvbnN0IGlu
dCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEZ1bGw7CiBleHRl
cm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsKIAotY2xhc3MgU1FMaXRlRGF0YWJhc2Ug
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlRGF0YWJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsKICAgICBmcmllbmQgY2xhc3MgU1FMaXRl
VHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5kZXggMTQ0NGYwZS4uMWVlM2JlMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVtZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1lbnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJp
bmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
VHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFmLi40MjdiMjk2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxp
dGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0
ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJs
ZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBTUUxpdGVUcmFuc2FjdGlvbihTUUxpdGVEYXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBm
YWxzZSk7CiAgICAgflNRTGl0ZVRyYW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJl
c29sdmVyLmgKaW5kZXggMWY4NzExNS4uMDU2ZWQ3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRp
UmVzb2x2ZXIuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAj
aW5jbHVkZSAiQmlkaUNvbnRleHQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAt
MTI2LDcgKzEyNSw4IEBAIHN0cnVjdCBCaWRpQ2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFj
dGVyUnVuKiBtX25leHQ7CiB9OwogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1
bj4gY2xhc3MgQmlkaVJlc29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxj
bGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEJpZGlSZXNvbHZlcik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZl
cigpCiAgICAgICAgIDogbV9kaXJlY3Rpb24oV1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjEy
ZDA1MjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lv
bi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0z
MCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVndWxhckV4cHJl
c3Npb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVz
c2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4
cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAppbmRleCBjNmFmMzhhLi4xOGI1
ZDhiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNp
bmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1
NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFi
bGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAotICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CisgICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsK
IAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwg
Ym9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3Ry
YW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2Nv
ZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdkYjk3Ny4uODg0NmNkZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3
ICszMiw2IEBACiAjZGVmaW5lIEZvbnRUcmFuc2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
QXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRl
eHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRU
cmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2b2lkIGNv
bnZlcnQoU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5j
b2RpbmcqID0gMCkgY29uc3Q7CiAgICAgYm9vbCBuZWVkc1RyYW5zY29kaW5nKGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyogPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2NGI4NS4uMmQxNDRiMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vQ2xpcGJvYXJkV2luLmgKQEAgLTQxLDYgKzQxLDcgQEAgY2xhc3MgV0NEYXRhT2JqZWN0Owog
CiAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9w
IGFuZCBjb3B5L3Bhc3RlCiBjbGFzcyBDbGlwYm9hcmRXaW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBw
dWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xp
cGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJRGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xpcGJv
YXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZlNy4u
ZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJy
b2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2Fk
Y2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7
CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVu
ZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93TWVz
c2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJh
c2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmluZGV4IGIxNDYwNWYuLjkz
MmExZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisrKyBi
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFja2Fn
ZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVnaW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRh
YmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2Ugewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODlj
Li5lMmUwODA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNj
aGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVy
LmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgdHlwZWRlZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2b2lk
Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGRlYWVjOTkuLjVmMGY2Y2IgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
blZpZXcuaApAQCAtOTMsNyArOTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBs
dWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxseQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5S
ZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZy
YW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwg
dm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91bGRBbGxvd1BvcHVwcykKICAgICAgICAgICAgIDog
bV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgK
aW5kZXggNWU2ZjYxOS4uZGI5NDc4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29s
dW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMzEsNyAr
MzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm8gOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQ29sdW1uSW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
Q29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9D
b3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5v
ZGUuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8vIFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0
aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcgcGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRl
cmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5
b3V0U3RhdGUuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2lu
Y2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xh
c3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAg
ICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEz
OWZiLi4zYjVjZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBA
QAogI2RlZmluZSBSZW5kZXJBcmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25z
dCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBhcmVuYVNpemUgPSA0MDk2KTsKICAgICB+UmVuZGVy
QXJlbmEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDUxNTMyMTguLmRjZWYwNGMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzU0LDcgKzM1NCw5IEBAIHByaXZhdGU6CiAgICAg
ICAgIGJvb2wgZXZlckhhZExheW91dDsKICAgICB9OwogCi0gICAgc3RydWN0IEZsb2F0aW5nT2Jq
ZWN0IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBz
byB5b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQg
YW5kIHJpZ2h0LgogICAgICAgICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0
ID0gMiwgRmxvYXRCb3RoID0gMyB9OwogCkBAIC02ODEsNyArNjgzLDkgQEAgcHJpdmF0ZToKICAg
ICBSZW5kZXJCb3hNb2RlbE9iamVjdCogbV9jb250aW51YXRpb247CiAgICAgCiAgICAgLy8gQWxs
b2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZh
bHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFibGUgeworICAg
IHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9j
aykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQo
YmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdp
bkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkK
ICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAxNDNjNzJjLi40ZTVmNmY4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0
YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUw
MCBtcwogdHlwZWRlZiBwYWlyPFJlbmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExh
c3RQYWludFNpemVNYXBLZXk7CiB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwg
SW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7
CiAgICAgYm9vbCBzaG91bGRQYWludEF0TG93UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5k
ZXJCb3hNb2RlbE9iamVjdCosIEltYWdlKiwgY29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNp
emUmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6
CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAgY2xh
c3MgR3JpZEF4aXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgR3JpZEF4aXMoKTsKICAgICAgICAgdm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2NzEyLi5lNThjZDliIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNp
bmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgi
CiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVu
ZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFn
ZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJ
bWFnZVJlc291cmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5k
ZXggZmIzYWI2Ny4uY2FkODQ1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBDb21wb3NpdGluZ0xheWVyVHlwZSB7CiAvLyAKIC8v
IFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJhY2tpbmcgZm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhh
dCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBSZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMgR3Jh
cGhpY3NMYXllckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckxheWVy
QmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJM
YXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1
ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi4z
YjVlYjMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhh
bmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVl
LgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5k
ZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXJxdWVl
KFJlbmRlckxheWVyKik7CiAgICAgdmlydHVhbCB+UmVuZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck92ZXJmbG93LmgKaW5kZXggMjUzYTY3Mi4uMzFlMDFlNyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPdmVyZmxvdy5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAvLyBF
eGFtcGxlcyBvZiB2aXN1YWwgb3ZlcmZsb3cgYXJlIHNoYWRvd3MsIHRleHQgc3Ryb2tlIChhbmQg
ZXZlbnR1YWxseSBvdXRsaW5lIGFuZCBib3JkZXItaW1hZ2UpLgogCiAvLyBUaGlzIG9iamVjdCBp
cyBhbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1
bHQgdmFsdWVzIGluIHRoZSBvd25pbmcgYm94LgotY2xhc3MgUmVuZGVyT3ZlcmZsb3cgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyT3ZlcmZsb3cgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlck92ZXJmbG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBkZWZhdWx0UmVjdCA9IEludFJl
Y3QoKSkgCiAgICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhkZWZhdWx0UmVjdC55KCkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUz
ZTkuLjQzNWZlY2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0
IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVy
PiBjbGlwTWFza0ltYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2VsZWN0aW9uSW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5m
by5oCmluZGV4IGEwOWZjMWEuLjIzYjVlNjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxl
Y3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVu
ZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKCkKICAgICAgICAgOiBtX29iamVjdCgwKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVmlldy5oCmluZGV4IDA3ZjkzM2YuLjEzM2ViNzkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmgKQEAgLTI1NCw3ICsyNTQsOCBAQCB2b2lkIHRvUmVuZGVyVmlldyhjb25zdCBSZW5kZXJW
aWV3Kik7CiAKIAogLy8gU3RhY2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdpdGggTGF5b3V0U3Rh
dGUgcHVzaC9wb3AKLWNsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExheW91dFN0YXRlTWFpbnRhaW5lcik7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBw
dXNoIG5vdwogICAgIExheW91dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5k
ZXJCb3gqIHJvb3QsIEludFNpemUgb2Zmc2V0LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBp
bnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1u
SW5mbyogY29sSW5mbyA9IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXRQcm90ZWN0b3IuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rv
ci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldp
ZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIDogcHJpdmF0ZSBOb25jb3B5YWJsZSB7Citj
bGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
bmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJsaWM6CiAgICAgUmVuZGVyV2lkZ2V0UHJvdGVjdG9y
KFJlbmRlcldpZGdldCogb2JqZWN0KQogICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAppbmRleCA5YmNjN2E0Li45MjI1ODA1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCkBAIC0yMiw3ICsyMiw2IEBA
CiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzIsNyArMzEs
OCBAQCBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiAKLWNsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHSW1hZ2VCdWZmZXJUb29scyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3JlYXRl
SW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgY2xhbXBlZEFic29sdXRlVGFyZ2V0UmVjdCwgT3duUHRyPEltYWdlQnVmZmVyPiYs
IENvbG9yU3BhY2UpOwogICAgIHN0YXRpYyB2b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlQnVmZmVy
KEltYWdlQnVmZmVyKiwgUmVuZGVyT2JqZWN0KiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKaW5kZXggOGY1OTcwMzUuLjA3MmI0
YmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKQEAgLTIzLDcgKzIz
LDYgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1
ZGUgIlNWR01hcmtlckRhdGEuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0MSw4IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQg
ewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7CiB9OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlv
dXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR01hcmtlckxheW91dEluZm8g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR01hcmtlckxheW91dEluZm8pOwogcHVibGlj
OgogICAgIFNWR01hcmtlckxheW91dEluZm8oKTsKICAgICB+U1ZHTWFya2VyTGF5b3V0SW5mbygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAppbmRleCA0OTU5MWNmLi42NTk5MWFkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXMuaApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykK
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBA
IC0zOCw3ICszNyw4IEBAIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlTWFza2VyOwogY2xhc3MgU1ZH
UmVuZGVyU3R5bGU7CiAKIC8vIEhvbGRzIGEgc2V0IG9mIHJlc291cmNlcyBhc3NvY2lhdGVkIHdp
dGggYSBSZW5kZXJPYmplY3QKLWNsYXNzIFNWR1Jlc291cmNlcyA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTVkdSZXNvdXJjZXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jl
c291cmNlcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHUmVzb3Vy
Y2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hl
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAu
LjgyN2FjMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hl
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaApAQCAtMzEsNyAr
MzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFp
bmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0Nh
Y2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNv
bHZlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRl
eCBlNjNlZTYzLi4zNDEyNThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNv
dXJjZXNDeWNsZVNvbHZlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5
Y2xlU29sdmVyLmgKQEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3Mg
UmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNz
IFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNW
R1Jlc291cmNlc0N5Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNv
dXJjZXNDeWNsZVNvbHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIo
UmVuZGVyT2JqZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29s
dmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaAppbmRleCBlMGZhOGVlLi5kOWVkMTk4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxh
eW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFz
cyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIFRhYmxlTGF5b3V0KFJlbmRlclRhYmxlKiB0YWJsZSkKICAg
ICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJh
bnNmb3JtU3RhdGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKaW5kZXgg
MGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3Jt
U3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwx
NCArMzEsMTQgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgi
CiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFRyYW5zZm9ybVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRy
YW5zZm9ybVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7
CiBwdWJsaWM6CiAgICAgZW51bSBUcmFuc2Zvcm1EaXJlY3Rpb24geyBBcHBseVRyYW5zZm9ybURp
cmVjdGlvbiwgVW5hcHBseUludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24gfTsKICAgICBlbnVtIFRy
YW5zZm9ybUFjY3VtdWxhdGlvbiB7IEZsYXR0ZW5UcmFuc2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zv
cm0gfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNo
ZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRl
YWVmNS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3Np
dGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hl
LmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3QgaW50IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7
CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0
aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAotY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVydGljYWxQb3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoK
ICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUoKQogICAgIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0NvbnRlbnREYXRhLmgKaW5kZXggNGY5NjRhMi4uZjIzZTcwNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9Db250ZW50RGF0YS5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgU3R5bGVJbWFnZTsKIAotc3RydWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IENvbnRlbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEo
KQogICAgICAgICA6IG1fdHlwZShDT05URU5UX05PTkUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
Q291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2FkLi5kZGY5YjFlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29udGVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmll
ciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQog
ICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxs
TGF5ZXIuaAppbmRleCA0OWZiMjk0Li5jNmVlNTEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxs
TGF5ZXIuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNp
emUgc2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIEZpbGxMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBGaWxsTGF5ZXIoRUZpbGxMYXllclR5cGUpOwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRleCBjYTgzYWYwLi41MGNmMGJlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjZGVmaW5lIFNo
YWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9j
QmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgZW51bSBT
aGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQgfTsKIAogLy8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5m
b3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhlIHRleHQtc2hhZG93IGFuZCBib3gtc2hhZG93
IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRvd0RhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7
CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIFNoYWRvd0RhdGEoKQogICAgICAgICA6IG1feCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKaW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4
IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBh
Y3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQsIGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25z
IGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVj
dHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQaGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZp
Y2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBwbGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBj
aHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVuZ3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVp
bGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoK
ICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaAppbmRleCBmMjlhYzY0Li5j
NjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0
dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlv
dXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1Rl
eHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsg
Ym91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAvLyBUaGUgc2Vjb25kIGxheW91dCBwaGFz
ZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0
TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
VGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlv
dXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQgYnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9y
VGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQwNThkOC4uNjMxZTRjZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNz
IFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVyU1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29t
cHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJl
IHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0
TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRF
bmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwog
cHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWls
ZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsg
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVC
YXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNl
bGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkzZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAK
IAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMs
NyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwog
CiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAn
YWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1z
aGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAg
IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2
ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMwLDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5
bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0
TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2VybmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAn
d29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6
CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4uY2UwYmE0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2su
aApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2Vk
IHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNrIGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBw
YXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNyZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhl
IHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNl
VGFza1N5bmNocm9uaXplcigpOwogCkBAIC02Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYK
IH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBE
YXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNr
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRleCA3MTQ1ZTZiLi5hNjFkOWViIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29y
ZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFi
YXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAv
LyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFz
ZVBhdGgpOwogICAgIHN0YXRpYyBEYXRhYmFzZVRyYWNrZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9XZWJD
b3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCmluZGV4IDc4M2E3MzEu
LjRmY2MyMzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rp
b25Nb25pdG9yLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1v
bml0b3IuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0Up
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDcgKzQzLDggQEAgY2xhc3MgSURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlOwogLy8gRklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFu
c2FjdGlvbnMgdG8gVExTLiBLZWVwaW5nIGl0IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBvbmNl
IHdlIGFkZCBzdXBwb3J0IGZvciB3b3JrZXJzLiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlv
biBpcyB0byBrZWVwIHRoZSB2ZWN0b3IgaW4gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1j
bGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IpOwogcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGFkZFBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZh
Y2UqKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNh
Y3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9j
YWxTdG9yYWdlVGFzay5oIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAppbmRl
eCBhMmUzNWVhLi40NjcyMDQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9y
YWdlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKQEAgLTM3
LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRo
cmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGFzawot
ICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2Nh
bFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQsIEFyZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNl
LCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2Fs
U3RvcmFnZVRocmVhZC5oIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmlu
ZGV4IDZmMDU5MTEuLjI0ZmUxOWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0
b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgK
QEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3Rv
cmFnZVRhc2s7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRo
cmVhZAotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3Jl
YXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5R
dW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi5hYzI4YTc3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdp
blF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3Mg
T3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1
b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBPcmlnaW5RdW90YU1hbmFn
ZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgg
Yi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAppbmRleCBhODMwZTY4Li5kNmFl
NTk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAorKysg
Yi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNl
ZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAv
LyBTdHJpbmcgYXJndW1lbnRzIGFyZSBhbHNvIHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQg
YnkgdGhlIGNhbGxlciB3aGVuIG5lY2Vzc2FyeS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcmlnaW5Vc2FnZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgT3JpZ2luVXNhZ2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FM
VHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBmZWQwNjU3Li5kNTY3YTRmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxF
KERBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDEsOCArNDAsMTAgQEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAog
Ly8gQSBjbGllbnQgdG8gdGhlIFNRTFRyYW5zYWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNh
Y3Rpb24gdG8gbm90aWZ5IGludGVyZXN0ZWQKIC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5n
cyBoYXZlIGhhcHBlbmVkIGluIGEgdHJhbnNhY3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNs
aWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9
CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsK
ICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJv
b2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uMzQyNTY2NCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0Mywx
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAot
ICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CisgICAgICAgIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Io
KSB7IH0KICAgICAgICAgdm9pZCBhY3F1aXJlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAg
ICB2b2lkIHJlbGVhc2VMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgc2h1dGRv
d24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIv
V2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMTU1ZDBh
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIv
V2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xh
c3MgU1ZHU3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZH
RWxlbWVudDsKIAotY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZH
UGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpA
QCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQ
ZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291
cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25z
KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9u
cyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAg
ICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4g
UGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQg
YnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0YS4uNzViZDQzYiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudFJhcmVEYXRhLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJh
cmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBT
VkdFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50
UmFyZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRh
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAg
ICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250
RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li4yOTQxYTll
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUvc3Zn
L1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250
RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNWR0ZvbnREYXRhKFNWR0ZvbnRGYWNlRWxlbWVu
dCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAppbmRl
eCBjMGFlN2YzLi43MjllZDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRl
ci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKQEAgLTIzLDExICsyMywxMSBA
QAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVk
ZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhCbGVuZGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZH
UGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJl
YW0uaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uY2Fi
ZmIyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5l
IFNWR1BhdGhCeXRlU3RyZWFtX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKQEAgLTQzLDcgKzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWdu
ZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5
dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRo
Qnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29u
c3VtZXIuaAppbmRleCBiN2M1ZTczLi40ZDU3ZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9T
VkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAt
MjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50Lmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBh
cnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Bh
dGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1ZHUGF0
aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGluY3JlbWVudFBhdGhTZWdtZW50Q291
bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZH
UGF0aFBhcnNlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUu
LmM0OGIyMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9X
ZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUg
IlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJT
VkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRo
UGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4
IGQxYTYxNDkuLmNmNGNkMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2Uu
aAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdQYXRoU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBT
VkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAg
ICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXgg
ZGQ0NjZlZi4uMGYwY2NiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAor
KysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZH
Vmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAg
ICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQ
YW4geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTVkdWaWV3U3BlYyhTVkdFbGVt
ZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBi
L1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCBjOTgwNGFlLi45MTYyNmM0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC01NSw3ICs1NSw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1w
dHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUNocm9t
ZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAg
OiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFu
YWx5c2VyLmggYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZj
MTdjLi5jYzc5MWZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlz
ZXIuaAorKysgYi9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyAr
MzksOCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAK
LWNsYXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVh
bHRpbWVBbmFseXNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNl
cik7CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0
aW1lQW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93
ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJz
b2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNp
ZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAot
Y2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbCgpIHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tl
dENoYW5uZWxDbGllbnQqLCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLjE5NzM5YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNv
Y2tldENoYW5uZWwuaApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5u
ZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0
cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwm
IHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNv
Y2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAg
dmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhh
bmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2Vi
U29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1
ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5l
Y3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi5hYzgzZThlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJD
b3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIs
NiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7
CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNv
dW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0
ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBj
bGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3Ry
aW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoKIHByaXZh
dGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUgUGVlciBhbmQgaXRzIGJy
aWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAvLyBsaWZldGltZXMuCi0gICAgY2xhc3Mg
UGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2Fk
ZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90
b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGExLi42OGY5NjI1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dv
cmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAog
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lm
aWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGlu
dGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICAvLyBJ
bnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAg
dGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVkKFNoYXJl
ZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgd29y
a2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5o
CkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlz
Q2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVy
IGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRp
bmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdv
cmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLmEyZWM0NWYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5j
bHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29y
a2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29u
dGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQ
cm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94
eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwg
cHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1Ymxp
YzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNmLi43YjMxNDljIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1
bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1
bHRNb2RlKCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdv
cmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclJ1bkxvb3AuaAppbmRleCA5ZDRlZGZkLi5mYTFiY2Q0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJS
dW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAg
IHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUoKTsKIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NP
d25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBt
b2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmlu
ZGV4IGY2MTEyMGUuLjRhYTlmODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3
ICszOCw2IEBACiAjaW5jbHVkZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRp
bGl0eT4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFT
RSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQg
V29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291
bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsK
K3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVh
dGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCA2MTAz
NzAzLi42OTJjMGQ4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3Bw
CisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjUsNyArNjUsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1s
SHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBY
TUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJl
cXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVz
dFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFhNTEh0
dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4Owog
ICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IDA5OGUx
OWYuLjliMWQyNjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysr
IGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBU
ZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1M
SHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBF
dmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRl
eHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwv
WFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5o
CmluZGV4IGMwNGQ0NWIuLjZhNzNiODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoRXhw
cmVzc2lvbk5vZGUuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAg
LTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRo
IHsKICAgICAgICAgCi0gICAgICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCA6IEZhc3RBbGxv
Y0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgeworICAgICAgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJl
ZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAg
ICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAg
IH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VO
b2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMg
RXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5k
ZXggZDVjNDdiZS4uZDg5N2RhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0
LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFz
cyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0
IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNBcmVE
aXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1s
L1hQYXRoUGFyc2VyLmggYi9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCmluZGV4IDQ0YThlNDgu
LjQwYjczZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKKysrIGIvV2Vi
Q29yZS94bWwvWFBhdGhQYXJzZXIuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgICAgICBUb2tlbihpbnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0
KSwgZXFvcCh2KSB7fQogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIFBhcnNlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQ
YXJzZXIoKTsKICAgICAgICAgICAgIH5QYXJzZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1s
L1hQYXRoUHJlZGljYXRlLmggYi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDVm
MjQ4MmEuLmU3ZTFiY2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgK
KysrIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsK
IAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJl
ZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAgICAg
ICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhT
dGVwLmgKaW5kZXggZWMwMjJiMy4uZjc3MGQ5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBh
dGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAg
Ci0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgICAgICBjbGFzcyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBB
bmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcg
KzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAg
ICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAg
ICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICAgICAgcHVibGlj
OgogICAgICAgICAgICAgICAgIGVudW0gS2luZCB7CiAgICAgICAgICAgICAgICAgICAgIFRleHRO
b2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwg
QW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRS
dWxlLmggYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uMWZlYTVi
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUv
eG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxlIDogcHVi
bGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBv
cnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYg
aHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBiNmViYTIxLi5lYWE5ODI4IDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yNCAgWm9s
dGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQg
RmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NC
YXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2
NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVy
aXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5o
IGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBG
b3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0x
OCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90
VG9CZUxvY2FsaXplZC50eHQ6IFVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Jv
dW5kT2JqZWN0LmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAK
ICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogLy8gQm91bmRPYmplY3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRz
IHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRo
b2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1
aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91
bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1Ymxp
YzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lk
KiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2Jq
ZWN0KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmlu
ZGV4IDA4NjBjYjEuLjU5YzIxNzcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBs
LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0Nv
bmNhdGVuYXRlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29s
IERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNl
OwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRl
YnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFw
cGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6
IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGlj
aXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuaAppbmRleCA2NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5j
bHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNz
IFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5k
bGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFu
ZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8v
IGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1j
bGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBE
ZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJB
Z2VudE1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVn
Z2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFj
aChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2
Y2FkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRJbXBsLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRJbXBsX2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3Bl
Y3RvckZyb250ZW5kSG9zdDsKQEAgLTQ0LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBj
bGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVu
ZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJD
b3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENs
aWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJs
aWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJE
ZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5kZXggODgwYWRiNC4uMDIyNmVmMyAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTU4LDcg
KzU4LDYgQEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0lt
cGwuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zy
b250ZW5kSW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1w
bC5oCmluZGV4IDg2NmExY2IuLmIwODUzMzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5o
PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0
LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5n
OwogCi1jbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRl
dlRvb2xzRnJvbnRlbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktp
dDo6V2ViRGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2
VG9vbHNGcm9udGVuZEltcGwpOwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBs
KAogICAgICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCA0NDIyZTFiLi4yNmI5NmJjIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yODAsNyArMjgwLDggQEAgV2ViUGx1Z2luQ29udGFp
bmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZy
YW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQg
YmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRo
ZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBD
aHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAg
ICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4
dChmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1w
bC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEw
My4uNGZkNDJhNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJ
bXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2
LDYgKzU2LDcgQEAgc3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVi
bGljIFdlYlBvcHVwTWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29y
ZTo6RnJhbWVsZXNzU2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xv
c2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgK
KysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
RWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwog
cHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5G
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhi
MTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxl
bWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAg
dmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUyNmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4t
bGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVu
dC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDgg
QEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9h
ZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93
bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25s
b2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdI
ZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
NTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05v
bmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2Ny
aXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hv
c3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9I
b3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2
NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29s
IGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXks
IE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1h
cnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2df
dHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJl
c3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
T2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAg
ICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dl
YkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFz
ZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBA
IFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7
CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlk
TW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01h
aW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2lu
KiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dl
YktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRkNGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03
Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYv
VENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAt
LWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZh
cmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NP
TUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwx
MiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5o
IgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlh
bnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09N
RW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50
KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVh
dGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEw
YzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisr
KyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVm
aW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09N
VmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5h
bWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5
cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJ
UHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3Mg
Q09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFn
MiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6
DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNo
TWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlh
YzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBA
IC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9
OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxs
c2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAg
ICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1h
bmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4v
V2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdl
ci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NU
UiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFz
cyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1Ymxp
YyBJUHJvcGVydHlCYWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWls
c1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVy
dHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgs
NyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6
OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlP
cmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVi
bGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFu
YWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3Bl
Y3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2Vi
SW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMw
LDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9oCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2Vi
SW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJp
dmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJ
V2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3Bl
Y3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3Ry
aW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9X
ZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVT
dHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZy
YW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXpl
ZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAg
TG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5n
KHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktp
dC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0g
YS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRX
b3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBE
T01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNv
cHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDog
cHVibGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2Ny
aXB0V29ybGQpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRX
b3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNl
KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJL
aXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2
NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93
aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJT
ZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxp
emVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3Mg
V2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJs
aWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2Vi
U2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250
ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktp
dC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2Vy
Q29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29u
dGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJ
V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJV
c2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNl
ckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGI1YmUyMTQuLjk0OGRhZDQg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjQgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
R2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAg
ICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMg
Z2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBh
bmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxl
bWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9j
QmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTExLTIzICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
biAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEts
aW5nLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9y
ZS5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCmluZGV4IDgx
MTMyMzYuLjhlZmZiMGQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5h
cnlTZW1hcGhvcmUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBo
b3JlLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmluYXJ5U2VtYXBob3JlX2gKICNkZWZp
bmUgQmluYXJ5U2VtYXBob3JlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmggYi9XZWJLaXQyL1BsYXRmb3Jt
L01vZHVsZS5oCmluZGV4IDA4MjViZjYuLmVjMWFjY2QgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxh
dGZvcm0vTW9kdWxlLmgKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaApAQCAtMjYsNyAr
MjYsNiBAQAogI2lmbmRlZiBNb2R1bGVfaAogI2RlZmluZSBNb2R1bGVfaAogCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCkBAIC0zOSw3ICszOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
Ci1jbGFzcyBNb2R1bGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTW9kdWxlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShNb2R1bGUpOwogcHVibGljOgogICAgIE1vZHVsZShjb25z
dCBTdHJpbmcmIHBhdGgpOwogICAgIH5Nb2R1bGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxh
dGZvcm0vU2hhcmVkTWVtb3J5LmggYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCmlu
ZGV4IDA1ZGMwZGQuLmE4NmI5ZmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVk
TWVtb3J5LmgKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaApAQCAtMjYsNyAr
MjYsNiBAQAogI2lmbmRlZiBTaGFyZWRNZW1vcnlfaAogI2RlZmluZSBTaGFyZWRNZW1vcnlfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC01Miw3ICs1MSw4IEBAIHB1Ymxp
YzoKICAgICAgICAgUmVhZFdyaXRlCiAgICAgfTsKIAotICAgIGNsYXNzIEhhbmRsZSA6IE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBIYW5kbGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShIYW5kbGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgSGFuZGxlKCk7CiAgICAgICAgIH5IYW5k
bGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVy
UHJveHkuaCBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaApp
bmRleCA2OTM0MzI5Li4xMTVjMTEzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5LmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiUGx1Z2luQ29u
dHJvbGxlci5oIgogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnku
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNp
bmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
aAppbmRleCA2NzBlMWEzLi5kNzUxMGJkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdpblByb2Nl
c3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9j
ZXNzLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgV2ViUHJvY2Vzc0Nvbm5lY3Rpb247CiBzdHJ1
Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICAgICAgICAgCiBjbGFzcyBQbHVn
aW5Qcm9jZXNzIDogQ2hpbGRQcm9jZXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVn
aW5Qcm9jZXNzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2VzcyYgc2hhcmVkKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvV2ViS2l0Mi9T
aGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggNzhmZTFmNC4uOGM1ZThlMyAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQ
cm9jZXNzLmgKQEAgLTI3LDEzICsyNywxMSBAQAogI2RlZmluZSBDaGlsZFByb2Nlc3NfaAogCiAj
aW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQcm9jZXNzIDogcHJvdGVjdGVkIENvcmVJ
UEM6OkNvbm5lY3Rpb246OkNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hpbGRQ
cm9jZXNzKTsKLQogcHJvdGVjdGVkOgogICAgIENoaWxkUHJvY2VzcygpOwogICAgIH5DaGlsZFBy
b2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXIuaCBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVj
ZWl2ZXIuaAppbmRleCBkMzM2M2Y5Li43ZTBmZWYxIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQv
UGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNp
bmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9ucHJ1bnRpbWUuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMv
TlBPYmplY3RQcm94eS5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmgK
aW5kZXggZTRjMDBjNS4uM2RjOTI0YiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9OUE9iamVjdFByb3h5LmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFBy
b3h5LmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNp
bmNsdWRlIDxXZWJDb3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvU2Fu
ZGJveEV4dGVuc2lvbi5oIGIvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCmluZGV4
IGY1ZmI1NzYuLjUxMTI2NTggMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRl
bnNpb24uaAorKysgYi9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgKQEAgLTI3LDcg
KzI3LDYgQEAKICNkZWZpbmUgU2FuZGJveEV4dGVuc2lvbl9oCiAKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9GaW5kSW5kaWNhdG9yV2luZG93LmggYi9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaAppbmRleCBlODg4OWI2Li4zZjVm
YWRhIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JX
aW5kb3cuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5k
b3cuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBGaW5kSW5kaWNhdG9yV2luZG93X2gKICNk
ZWZpbmUgRmluZEluZGljYXRvcldpbmRvd19oCiAKLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi9SZWZQdHIuaD4KICNp
bXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc01hbmFnZXIuaAppbmRleCBjMjY1ZjJlMi4uMGRjN2E5YyAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCisrKyBi
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaApAQCAtMjks
NyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CkBAIC00MSw3ICs0MCw4IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogY2xhc3MgUGx1Z2luUHJvY2Vzc1Byb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1By
b3h5OwogCi1jbGFzcyBQbHVnaW5Qcm9jZXNzTWFuYWdlciA6IE5vbmNvcHlhYmxlICB7CitjbGFz
cyBQbHVnaW5Qcm9jZXNzTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2lu
UHJvY2Vzc01hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzTWFuYWdl
ciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2lu
L1BsdWdpbkluZm9TdG9yZVdpbi5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9Q
bHVnaW5JbmZvU3RvcmVXaW4uY3BwCmluZGV4IGZlN2Q4OTYuLjllMTc0MmUgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKKysr
IGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcApA
QCAtMjU2LDcgKzI1Niw4IEBAIFZlY3RvcjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6cGx1Z2lu
c0RpcmVjdG9yaWVzKCkKICAgICByZXR1cm4gZGlyZWN0b3JpZXM7CiB9CiAKLWNsYXNzIFBhdGhX
YWxrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGF0aFdhbGtlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGF0aFdhbGtlcik7CiBwdWJsaWM6CiAgICAgUGF0aFdhbGtlcihj
b25zdCBTdHJpbmcmIGRpcmVjdG9yeSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJv
Y2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1Byb3ZpZGVyLmgKaW5kZXggMDE1NTE1Yy4uYTQyOGQ1YiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9V
SVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1Zp
c2l0ZWRMaW5rUHJvdmlkZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9MaW5rSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIFdlYkNvbnRleHQ7CiAgICAgCi1jbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVy
IDogTm9uY29weWFibGUgeworY2xhc3MgVmlzaXRlZExpbmtQcm92aWRlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVmlzaXRlZExpbmtQcm92aWRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGlj
aXQgVmlzaXRlZExpbmtQcm92aWRlcihXZWJDb250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1dlYktp
dDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9E
b3dubG9hZHMvRG93bmxvYWQuaAppbmRleCAzN2ZhY2E4Li44YjAwMzMzIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKKysrIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRl
ICJNZXNzYWdlU2VuZGVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNTUsNyArNTQsNiBAQCBjbGFzcyBXZWJQYWdlOwog
CiBjbGFzcyBEb3dubG9hZCA6IHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyPERvd25sb2Fk
PiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG93bmxvYWQpOwotCiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8RG93bmxvYWQ+IGNyZWF0ZSh1aW50NjRfdCBkb3dubG9hZElELCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB+RG93bmxvYWQoKTsKZGlmZiAt
LWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmggYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCmluZGV4IDAyNDVi
YjYuLjJiNGY4MDQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZE1hbmFnZXIuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBEb3dubG9hZE1hbmFnZXJfaAog
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCmluZGV4IDY3
MzdiZDQuLjFiNDMxNDUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05QSlNPYmplY3QuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUEpTT2JqZWN0LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL1Byb3RlY3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGltZV9pbnRlcm5hbC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBKU0dsb2JhbE9iamVjdDsKQEAgLTQwLDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiBjbGFzcyBOUFJ1bnRpbWVPYmplY3RNYXA7CiAgICAgCiAvLyBOUEpTT2JqZWN0IGlzIGFuIE5Q
T2JqZWN0IHRoYXQgd3JhcHMgYSBKU09iamVjdC4KLWNsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMg
TlBPYmplY3QsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMgTlBPYmpl
Y3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5QSlNPYmplY3QpOwogcHVibGljOgogICAg
IHN0YXRpYyBOUEpTT2JqZWN0KiBjcmVhdGUoTlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RNYXAs
IEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmggYi9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaAppbmRleCBk
N2JhODUzLi42OGE4MGQwIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaApAQCAtMjksNyArMjksNiBA
QAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiAvLyBNYW5hZ2VzIHBsdWctaW4gcHJvY2VzcyBjb25uZWN0aW9ucyBmb3IgdGhlIGdpdmVuIHdl
YiBwcm9jZXNzLgpAQCAtMzgsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb247CiAgICAgICAgIAotY2xhc3MgUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb25NYW5hZ2VyIDogTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5l
Y3Rpb25NYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbk1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9GaW5kQ29udHJvbGxlci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmlu
ZENvbnRyb2xsZXIuaAppbmRleCAxNGJmYmIwLi40MzM5ODRhIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCisrKyBiL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJGaW5kT3B0aW9ucy5oIgogI2luY2x1ZGUgIlBhZ2VPdmVybGF5LmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViSW5zcGVjdG9yLmgKaW5kZXggNGEzYzAwNi4uYWU2YzcxOSAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1
ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZhNTZmNzku
LjU2M2ViNjEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yNCAgWm9sdGFuIEhvcnZh
dGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9j
QmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiBy
ZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hh
bmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8g
dGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5l
Y2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5n
SGVhZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0yMyAgRGlyayBQ
cmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255
IENoYW5nLgpAQCAtMTk0ODgsNyArMTk1MDAsNyBAQAogCiAyMDEwLTA3LTA3ICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0
IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8KgdG8gZmFpbCBvbiBUaWdl
ciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2Fw
ZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4K
IAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcDoK
ICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rl
di9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJs
ZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3Bw
Qm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91
bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAgLTQ1LDcgKzQ1LDYg
QEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAgdHlwZWRlZiBWZWN0b3I8
Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3VuZENsYXNzIGxldHMgeW91
IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkgYWNjZXNzZXMKIC8vIGRp
cmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQqIHZhcmlhYmxlIGFjY2Vz
cy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ3Bw
Qm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3BwQm91bmRDbGFzcyk7CiBw
dWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAgcHVibGljOgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2Vu
dC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2Vu
dC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKQEAgLTM1LDcgKzM1LDYg
QEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNBZ2VudENsaWVudC5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBAIHN0cnVjdCBXZWJEZXZU
b29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsKIAotY2xhc3MgRFJU
RGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQKLSAg
ICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2
VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwogcHVibGljOgogICAgIERS
VERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0FnZW50KCkge30KZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xz
Q2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29s
c0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaApAQCAtMzQs
NyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3MuaCIKICNpbmNsdWRlICJU
YXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7CiAKIGNsYXNzIERSVERl
dlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVibGljIFdlYktpdDo6
V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0
OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
UlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHNDbGllbnQoRFJURGV2
VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xz
Q2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2NzE0ODkuLjg1MDJh
OTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RO
YXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyArMTExLDggQEAgcHVi
bGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlz
IHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMgcG9zc2libGUuCi1j
bGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5hdmlnYXRpb25Db250
cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhl
bWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJU
aGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQu
aApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52
YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29yZS9Ta0NvbG9yLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEgZm9yd2FyZCBkZWNsYXJh
dGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGljOgogICAgIC8vIFRoaXMg
bGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5IHNpbmNl
IHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaAppbmRl
eCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4LDkgKzQ4LDkgQEAKICNk
ZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2luL1dlYlRoZW1lRW5naW5l
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdlYlRoZW1lRW5naW5l
RFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5l
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2luZURSVCk7CiBwdWJsaWM6
CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9X
ZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9z
dFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLmMxNzE4MTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRl
c3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTAgQEAKICNkZWZpbmUgSG9zdFdpbmRvd19o
CiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKIHB1YmxpYzoKICAgICBIb3N0V2luZG93
KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdEFQ
SVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3Rz
Q29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvV2Vi
S2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4LDEzIEBACiAjaW5jbHVk
ZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0Rl
cXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRB
UElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgVGVzdHNDb250
cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLjIzNmNjMWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysgYi9XZWJLaXRUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTI3LDExICsyNywxMCBAQAogI2Rl
ZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVFIgewogCi1jbGFz
cyBUZXN0SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0SW52b2Nh
dGlvbiB7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3QgY2hhciopOwogICAgIH5U
ZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74876</attachid>
            <date>2010-11-25 07:23:17 -0800</date>
            <delta_ts>2010-11-26 05:53:35 -0800</delta_ts>
            <desc>proposed patch (review candidate)</desc>
            <filename>csut5.patch</filename>
            <type>text/plain</type>
            <size>329035</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjdkYjgzOGQgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIFN0YXRpY1ZhbHVlRW50cnkoSlNPYmpl
Y3RHZXRQcm9wZXJ0eUNhbGxiYWNrIF9nZXRQcm9wZXJ0eSwgSlNPYmplY3RTZXRQcm9wZXJ0eUNh
bGxiYWNrIF9zZXRQcm9wZXJ0eSwgSlNQcm9wZXJ0eUF0dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAg
ICAgICAgIDogZ2V0UHJvcGVydHkoX2dldFByb3BlcnR5KSwgc2V0UHJvcGVydHkoX3NldFByb3Bl
cnR5KSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC00NSw3ICs0Nyw5IEBAIHN0
cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgYXR0cmlidXRlczsKIH07CiAKLXN0cnVjdCBTdGF0aWNGdW5jdGlvbkVudHJ5IDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2Jq
ZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBfY2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRy
aWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAgICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5j
dGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBz
dHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8gQW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMg
Y3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwgc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29u
dGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBncm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xk
cyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBP
cGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlND
bGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNz
Q29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE9wYXF1
ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xhc3ND
b250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4
Li4xNGM5Zjk3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0ODAs
OSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJlZiBj
dHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXN0
cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
T3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
K3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEoZ2xv
YmFsRGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCA3OWZkZWRmLi4wNGVhOTRhIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTAtMTEtMjUgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogTW92ZSBGYXN0
QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24gdG8gUGxhdGZvcm0uaAorICAgICAgICAq
IHd0Zi9Ob25jb3B5YWJsZS5oIDogUmVtb3ZlZC4gTm9uY29weWFibGUncyBtYWNybyBpbXBsZW1l
bnRhdGlvbidzIG1vdmVkIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDog
QWRkIE5vbmNvcHlhYmxlJ3MgYW5kIEZhc3RBbGxvY0Jhc2UncyBtYWNybyBpbXBsZW1lbnRhdGlv
bi4KKwogMjAxMC0xMS0yNCAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBDc2FiYSBPc3p0cm9nb27DoWMuCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbSBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxl
LmFtCmluZGV4IGY3ODA2YjQuLmQzNTQ5ZjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0dO
VW1ha2VmaWxlLmFtCisrKyBiL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC00Njcs
NyArNDY3LDYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUv
d3RmL01ENS5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmggXAogCUphdmFT
Y3JpcHRDb3JlL3d0Zi9Ob25Db3B5aW5nU29ydC5oIFwKLQlKYXZhU2NyaXB0Q29yZS93dGYvTm9u
Y29weWFibGUuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL05vdEZvdW5kLmggXAogCUphdmFTY3Jp
cHRDb3JlL3d0Zi9OdWxsUHRyLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5o
IFwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkgYi9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCmluZGV4IGRlYjM2ZmIuLmFkOTk3NTAgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKKysrIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQpAQCAtMzk4LDcgKzM5OCw2IEBACiAgICAgICAg
ICAgICAnd3RmL01hdGhFeHRyYXMuaCcsCiAgICAgICAgICAgICAnd3RmL01lc3NhZ2VRdWV1ZS5o
JywKICAgICAgICAgICAgICd3dGYvTm9uQ29weWluZ1NvcnQuaCcsCi0gICAgICAgICAgICAnd3Rm
L05vbmNvcHlhYmxlLmgnLAogICAgICAgICAgICAgJ3d0Zi9Ob3RGb3VuZC5oJywKICAgICAgICAg
ICAgICd3dGYvT3duQXJyYXlQdHIuaCcsCiAgICAgICAgICAgICAnd3RmL093bkZhc3RNYWxsb2NQ
dHIuaCcsCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ov
V1RGL1dURi52Y3Byb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RG
L1dURi52Y3Byb2oKaW5kZXggMzYwOTkzOS4uMTA4ZWJlZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCisrKyBiL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagpAQCAtNjU0LDEwICs2
NTQsNiBAQAogCQkJPg0KIAkJPC9GaWxlPg0KIAkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXHd0ZlxOb25jb3B5YWJsZS5oIg0KLQkJCT4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQogCQkJ
UmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcTm9uQ29weWluZ1NvcnQuaCINCiAJCQk+DQogCQk8L0Zp
bGU+DQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjQwZDc0ZS4uYmU3ZTNkZSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC00NDQsNyArNDQ0LDYgQEAKIAkJQkMxOEM0M0MwRTE2RjVDRDAwQjM0NDYwIC8qIE1hdGhP
YmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2
OTJBODZCMDI1NTU5N0QwMUZGNjBGNyAvKiBNYXRoT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0M0UwRTE2RjVDRDAwQjM0NDYw
IC8qIE1lc3NhZ2VRdWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTFFRTc5OEIwRDZDQTUzRDAwRkVBM0JBIC8qIE1lc3NhZ2VRdWV1ZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNGMEUx
NkY1Q0QwMEIzNDQ2MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjY5MkE4NkUwMjU1NTk3RDAxRkY2MEY3IC8qIE5vZGVzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKLQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0
NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5MzAzRjU2OTA5OTExOTAwMDBBRDcxQjggLyogTm9uY29weWFibGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQ0MTBF
MTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjY4MEMzMEUxNkQ0RTkwMEEwNkU5MiAvKiBO
dW1iZXJDb25zdHJ1Y3Rvci5oICovOyB9OwogCQlCQzE4QzQ0MjBFMTZGNUNEMDBCMzQ0NjAgLyog
TnVtYmVyQ29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzI2ODBFNjBFMTZENTIzMDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0
b3IubHV0LmggKi87IH07CiAJCUJDMThDNDQzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJPYmpl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJB
ODcxMDI1NTU5N0QwMUZGNjBGNyAvKiBOdW1iZXJPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODc5LDcgKzg3OCw2IEBACiAJCTkwNUIw
MkFEMEUyODY0MEYwMDZERjg4MiAvKiBSZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTBEMzQ2OUIwRTI4NTI4MDAwOTQ5MkVFIC8q
IFJlZkNvdW50ZWRMZWFrQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZWZDb3VudGVkTGVha0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTMwM0Y1NjcwOTkxMThGQTAwQUQ3MUI4IC8qIE93blB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBPd25QdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTMw
M0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE5vbmNvcHlhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25BcnJheVB0ci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBPd25BcnJheVB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMzBGQjc5MjE5MDA0OEZEQzMgLyogUGFy
c2VyQXJlbmEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFyc2VyQXJlbmEu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1MjIsNyArMTUyMCw2IEBACiAJCQkJ
NTExRkM0Q0ExMTdFRTJBODAwNDI1MjcyIC8qIE1ENS5oICovLAogCQkJCUUxRUU3OThCMEQ2Q0E1
M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLywKIAkJCQk2NUUxQTJGNDEyMkI4ODBEMDBC
MjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCAqLywKLQkJCQk5MzAzRjU2OTA5OTExOTAwMDBBRDcx
QjggLyogTm9uY29weWFibGUuaCAqLywKIAkJCQlDMEEyNzIzRjBFNTA5RjFFMDBFOTZFMTUgLyog
Tm90Rm91bmQuaCAqLywKIAkJCQk5MzNGNUNEQjEyNjkyMjY5MDA0OTE5MUUgLyogTnVsbFB0ci5o
ICovLAogCQkJCTkzMDNGNUE0MDk5MTFBNTgwMEFENzFCOCAvKiBPd25BcnJheVB0ci5oICovLApA
QCAtMjIxMSw3ICsyMjA4LDYgQEAKIAkJCQk3RUZGMDA2NDBFQzA1QTlBMDBBQTdDOTMgLyogTm9k
ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2MCAvKiBO
b2Rlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVFMUEzREYxMjJCODk0NTAwQjI2MDk3IC8qIE5v
bkNvcHlpbmdTb3J0LmggaW4gSGVhZGVycyAqLywKLQkJCQlCQzE4QzQ0MDBFMTZGNUNEMDBCMzQ0
NjAgLyogTm9uY29weWFibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMwQTI3MjYzMEU1MEEwNjMw
MEU5NkUxNSAvKiBOb3RGb3VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NDEwRTE2RjVD
RDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4
QzQ0MjBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IubHV0LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3Jv
QXNzZW1ibGVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2Vt
Ymxlci5oCmluZGV4IDFmYTVlYzcuLjQ0Mjc5NTcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAj
aW5jbHVkZSAiQ29kZUxvY2F0aW9uLmgiCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJDb2RlUmVm
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBh
cmFtLmg+CiAKICNpZiBFTkFCTEUoQVNTRU1CTEVSKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmgKaW5kZXggZTFkY2EwYi4uNDkyNDk0MSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TGlua0J1ZmZlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIERVTVBfQ09ERSAwCiAKICNp
bmNsdWRlIDxNYWNyb0Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNTAsNyArNDksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIC8v
ICAgKiBUaGUgYWRkcmVzcyBvZiBhIExhYmVsIHBvaW50aW5nIGludG8gdGhlIGNvZGUgbWF5IGJl
IHJlc29sdmVkLgogLy8gICAqIFRoZSB2YWx1ZSByZWZlcmVuY2VkIGJ5IGEgRGF0YUxhYmVsIG1h
eSBiZSBzZXQuCiAvLwotY2xhc3MgTGlua0J1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBMaW5rQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMaW5rQnVmZmVyKTsK
ICAgICB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBDb2RlUmVmOwogICAgIHR5cGVkZWYg
TWFjcm9Bc3NlbWJsZXJDb2RlUHRyIENvZGVQdHI7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxl
cjo6TGFiZWwgTGFiZWw7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVw
YXRjaEJ1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaApp
bmRleCA3MmNmNmIyLi5lNWE2ZTJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvUmVwYXRjaEJ1ZmZlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNo
QnVmZmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoQVNTRU1CTEVSKQogCiAjaW5j
bHVkZSA8TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggN2Vj
YTcyYS4uM2VhMDY1NiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAgLTI0Miw3
ICsyNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9CiAjZW5kaWYKIAotICAgIGNsYXNzIENv
ZGVCbG9jayA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBDb2RlQmxvY2sgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBmcmllbmQgY2xhc3MgSklU
OwogICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG93
bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxTb3Vy
Y2VQcm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9sVGFibGUqIHN5bWJvbFRh
YmxlLCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc4LDcgKzU3OSwxMCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBTeW1ib2xUYWJsZSogbV9zeW1ib2xUYWJsZTsKIAotICAgICAgICBz
dHJ1Y3QgUmFyZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0
cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAg
ICAgICBwdWJsaWM6CiAgICAgICAgICAgICBWZWN0b3I8SGFuZGxlckluZm8+IG1fZXhjZXB0aW9u
SGFuZGxlcnM7CiAKICAgICAgICAgICAgIC8vIFJhcmUgQ29uc3RhbnRzCkBAIC01OTksNiArNjAz
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBWZWN0b3I8Q2FsbFJldHVybk9mZnNl
dFRvQnl0ZWNvZGVPZmZzZXQ+IG1fY2FsbFJldHVybkluZGV4VmVjdG9yOwogI2VuZGlmCiAgICAg
ICAgIH07CisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRyPFJhcmVEYXRhPiBtX3JhcmVEYXRh
OwogICAgIH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0
aW9uLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCmluZGV4IGM2NDY4
YTUuLjk1Njc5M2YgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0
aW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApAQCAtNTQs
NyArNTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBTdHJ1Y3R1cmVDaGFpbjsKIAog
ICAgIC8vIFN0cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9pZF9zZWxmX2xpc3QgYW5kIG9wX2dl
dF9ieV9pZF9wcm90b19saXN0IGluc3RydWN0aW9uIHRvIGhvbGQgZGF0YSBvZmYgdGhlIG1haW4g
b3Bjb2RlIHN0cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0
IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJl
TGlzdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVibGljOgogICAg
ICAgICBzdHJ1Y3QgUG9seW1vcnBoaWNTdHViSW5mbyB7CiAgICAgICAgICAgICBib29sIGlzQ2hh
aW47CiAgICAgICAgICAgICBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3RTdHViUm91dGlu
ZVR5cGUgc3R1YlJvdXRpbmU7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9T
YW1wbGluZ1Rvb2wuaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBsaW5nVG9vbC5oCmlu
ZGV4IDhlM2VkOWUuLjljYTU0ZGEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1NhbXBsaW5nVG9vbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBsaW5nVG9v
bC5oCkBAIC0xNDIsNyArMTQyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGZyaWVuZCBj
bGFzcyBIb3N0Q2FsbFJlY29yZDsKICAgICAgICAgCiAjaWYgRU5BQkxFKE9QQ09ERV9TQU1QTElO
RykKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
ICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIENhbGxSZWNvcmQoU2Ft
cGxpbmdUb29sKiBzYW1wbGluZ1Rvb2wpCiAgICAgICAgICAgICAgICAgOiBtX3NhbXBsaW5nVG9v
bChzYW1wbGluZ1Rvb2wpCkBAIC0xNzIsNyArMTczLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH07CiAjZWxzZQotICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3JkKTsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wqKQogICAgICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgg
Yi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCBh
OTBmNzU2Li5mNDM1YzRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUgIlN5bWJvbFRhYmxl
LmgiCiAjaW5jbHVkZSAiRGVidWdnZXIuaCIKICNpbmNsdWRlICJOb2Rlcy5oIgotI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNs
dWRlIDx3dGYvU2VnbWVudGVkVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAt
ODUsNyArODQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+
IHByb3BlcnR5UmVnaXN0ZXI7CiAgICAgfTsKIAotICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9y
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9yIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHR5
cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBl
ZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAppbmRleCAzNTMyYWQ4Li43OGQ0OWQy
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKQEAgLTMwLDEyICsz
MCwxMiBAQAogI2RlZmluZSBSZWdpc3RlcklEX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRy
YWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIFJlZ2lzdGVySUQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVySUQgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZWdpc3RlcklEKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZ2lzdGVy
SUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmggYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKaW5kZXggZGZiZTY1OC4uM2M4OGJhYyAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0NhY2hlZENhbGwuaApAQCAtMzIsNyArMzIsOCBAQAogI2luY2x1ZGUgIkludGVy
cHJldGVyLmgiCiAKIG5hbWVzcGFjZSBKU0MgewotICAgIGNsYXNzIENhY2hlZENhbGwgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENhY2hlZENhbGwgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDYWNoZWRDYWxsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBw
dWJsaWM6CiAgICAgICAgIENhY2hlZENhbGwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTRnVuY3Rp
b24qIGZ1bmN0aW9uLCBpbnQgYXJnQ291bnQpCiAgICAgICAgICAgICA6IG1fdmFsaWQoZmFsc2Up
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oIGIv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRleCA0Nzc5MGNmLi5i
OTFmOGEzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKQEAgLTMw
LDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJfaAogCiAjaW5jbHVkZSAiQXJnTGlzdC5o
IgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlICJKU0NlbGwuaCIKICNpbmNs
dWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKQEAgLTY1LDcgKzY0LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4TGFyZ2VUaHJlYWRSZWVudHJ5RGVwdGgg
PSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRoID0gMzIgfTsKIAotICAgIGNsYXNzIElu
dGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEludGVycHJldGVy
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgZnJpZW5kIGNsYXNz
IEpJVDsKICAgICAgICAgZnJpZW5kIGNsYXNzIENhY2hlZENhbGw7CiAgICAgcHVibGljOgpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKaW5kZXggMzhkMTY0Ny4uNGE2Y2U1OCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNp
bmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRl
IDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3JUcmFpdHMuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC00Nyw3ICs0Niw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
dHlwZWRlZiBFeGVjU3RhdGUgQ2FsbEZyYW1lOwogCi0gICAgY2xhc3MgUmVnaXN0ZXIgOiBwdWJs
aWMgV1RGOjpGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZWdpc3RlciB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcigpOwog
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaCBi
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oCmluZGV4IGQ5ZjZhMmIu
LjY4MjIwMzUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVy
RmlsZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oCkBA
IC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlICJXZWFrR0NQ
dHIuaCIKICNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYWdlUmVzZXJ2YXRpb24uaD4KICNpbmNsdWRlIDx3dGYvVk1UYWdzLmg+
CiAKQEAgLTg5LDcgKzg4LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBKU0dsb2Jh
bE9iamVjdDsKIAotICAgIGNsYXNzIFJlZ2lzdGVyRmlsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUmVnaXN0ZXJGaWxlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UmVnaXN0ZXJGaWxlKTsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGVudW0gQ2FsbEZyYW1lSGVhZGVyRW50cnkgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRl
eCA0ZDI1MTNkLi4xN2Y5ZjExIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzcsNyArMzcsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIFJlZ0V4cDsKIAotICAgIGNsYXNzIExleGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMZXhlciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKExleGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJs
aWM6CiAgICAgICAgIC8vIENoYXJhY3RlciBtYW5pcHVsYXRpb24gZnVuY3Rpb25zLgogICAgICAg
ICBzdGF0aWMgYm9vbCBpc1doaXRlU3BhY2UoaW50IGNoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCmluZGV4IDY5MzBmNjMuLmYzYTNkNGQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2Rlcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xMTMs
NiArMTEzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNsYXNzIFBhcnNlckFy
ZW5hUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkPFBhcnNlckFyZW5hUmVmQ291bnRlZD4g
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByb3RlY3RlZDoKICAgICAg
ICAgUGFyc2VyQXJlbmFSZWZDb3VudGVkKEpTR2xvYmFsRGF0YSopOwogCkBAIC0xMzc0LDcgKzEz
NzUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUGFyYW1ldGVyTm9kZSogbV9uZXh0Owog
ICAgIH07CiAKLSAgICBzdHJ1Y3QgU2NvcGVOb2RlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
IHN0cnVjdCBTY29wZU5vZGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
KyAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNr
IFZhclN0YWNrOwogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0
YWNrIEZ1bmN0aW9uU3RhY2s7CiAKQEAgLTE0NzAsNiArMTQ3Myw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIH07CiAKICAgICBjbGFzcyBGdW5jdGlvblBhcmFtZXRlcnMgOiBwdWJsaWMgVmVjdG9y
PElkZW50aWZpZXI+LCBwdWJsaWMgUmVmQ291bnRlZDxGdW5jdGlvblBhcmFtZXRlcnM+IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEZ1bmN0aW9uUGFyYW1ldGVycz4gY3JlYXRlKFBhcmFtZXRlck5vZGUqIGZp
cnN0UGFyYW1ldGVyKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRnVuY3Rpb25QYXJhbWV0ZXJzKGZp
cnN0UGFyYW1ldGVyKSk7IH0KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDY1NDkwNjcuLmNj
YTk2ZDggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRl
ICJQYXJzZXJBcmVuYS5oIgogI2luY2x1ZGUgIlNvdXJjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00NSw4ICs0NCwxMCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFy
c2VyQXJlbmFEYXRhIDogUGFyc2VyQXJlbmFEZWxldGFibGUgeyBUIGRhdGE7IH07CiAKLSAgICBj
bGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhcnNlciB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgorICAgICAgICBQYXJzZXIoKSB7IH0KICAgICAgICAgdGVtcGxhdGUg
PGNsYXNzIFBhcnNlZE5vZGU+CiAgICAgICAgIFBhc3NSZWZQdHI8UGFyc2VkTm9kZT4gcGFyc2Uo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIERlYnVnZ2VyKiwgRXhlY1N0YXRl
KiwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBGdW5jdGlvblBhcmFtZXRlcnMqLCBKU1BhcnNl
clN0cmljdG5lc3Mgc3RyaWN0bmVzcywgSlNPYmplY3QqKiBleGNlcHRpb24pOwogCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaCBiL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJBcmVuYS5oCmluZGV4IDdjMTgwOWUuLjdjYjU3NTAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJBcmVuYS5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgIGNsYXNzIFBhcnNlckFyZW5hRGVsZXRhYmxlOwogICAgIGNsYXNzIFBhcnNlckFyZW5hUmVm
Q291bnRlZDsKIAotICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBjb25zdCBJZGVu
dGlmaWVyJiBtYWtlSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBjb25zdCBVQ2hhciogY2hhcmFj
dGVycywgc2l6ZV90IGxlbmd0aCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIG1ha2VOdW1l
cmljSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBkb3VibGUgbnVtYmVyKTsKQEAgLTU5LDcgKzYw
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBtX2lkZW50aWZpZXJzLmxhc3Qo
KTsKICAgICB9CiAKLSAgICBjbGFzcyBQYXJzZXJBcmVuYSA6IE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBQYXJzZXJBcmVuYSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlckFy
ZW5hKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhcnNlckFyZW5hKCk7CiAgICAgICAgIH5QYXJz
ZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2V4ZWMuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCmluZGV4IGY0ODk5ZjIuLmRmMTll
NGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAorKysgYi9K
YXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAgdGhlIEph
dmFTY3JpcHQgc3BlY2lmaWNhdGlvbi4gVGhlcmUgYXJlIGFsc28gc29tZSBzdXBwb3J0aW5nIGZ1
bmN0aW9ucy4gKi8KICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDx3dGYvQVNDSUlDVHlw
ZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KIAogI2lm
IFJFR0VYUF9ISVNUT0dSQU0KICNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KQEAgLTExMiw3ICsx
MTMsOSBAQCBzdHJ1Y3QgQnJhY2tldENoYWluTm9kZSB7CiAgICAgY29uc3QgVUNoYXIqIGJyYWNr
ZXRTdGFydDsKIH07CiAKLXN0cnVjdCBNYXRjaEZyYW1lIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgTWF0Y2hGcmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAg
ICBSZXR1cm5Mb2NhdGlvbiByZXR1cm5Mb2NhdGlvbjsKICAgICBzdHJ1Y3QgTWF0Y2hGcmFtZSog
cHJldmlvdXNGcmFtZTsKICAgICAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVy
L0NhbGxJZGVudGlmaWVyLmggYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmll
ci5oCmluZGV4IDc2YzE0NzAuLjI1MTg0ZDMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3By
b2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2Fs
bElkZW50aWZpZXIuaApAQCAtMjgsMTMgKzI4LDE0IEBACiAjZGVmaW5lIENhbGxJZGVudGlmaWVy
X2gKIAogI2luY2x1ZGUgPHJ1bnRpbWUvVVN0cmluZy5oPgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jh
c2UuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBDYWxsSWRlbnRp
ZmllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAgICAg
VVN0cmluZyBtX25hbWU7CiAgICAgICAgIFVTdHJpbmcgbV91cmw7CiAgICAgICAgIHVuc2lnbmVk
IG1fbGluZU51bWJlcjsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGVyLmggYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCmluZGV4IGY5YzJjY2Iu
Ljc1MjU1ZTMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaApAQCAtNDQsNyArNDQsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBVU3RyaW5nOwogICAgIHN0cnVjdCBDYWxsSWRl
bnRpZmllcjsgICAgCiAKLSAgICBjbGFzcyBQcm9maWxlciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICBjbGFzcyBQcm9maWxlciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUHJvZmlsZXIqKiBlbmFibGVkUHJvZmlsZXJS
ZWZlcmVuY2UoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FyZ0xpc3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCmluZGV4IGNkNTYz
YTIuLjU3ZTNjMjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCkBAIC0yNSwxNCArMjUsMTQg
QEAKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJSZWdpc3Rlci5oIgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIE1hcmtTdGFj
azsKIAotICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE1hcmtlZEFyZ3VtZW50QnVmZmVyKTsKICAgICBwcml2YXRlOgogICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSA4OwogICAgICAgICB0eXBlZGVm
IFZlY3RvcjxSZWdpc3RlciwgaW5saW5lQ2FwYWNpdHk+IFZlY3RvclR5cGU7CmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi45Mjk2MDA4IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJndW1lbnRzLmgKQEAgLTMzLDcgKzMzLDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0g
ICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEFyZ3Vt
ZW50c0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcmd1bWVudHNEYXRhKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CisgICAgICAgIEFyZ3VtZW50c0Rh
dGEoKSB7IH0KICAgICAgICAgSlNBY3RpdmF0aW9uKiBhY3RpdmF0aW9uOwogCiAgICAgICAgIHVu
c2lnbmVkIG51bVBhcmFtZXRlcnM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jh
dGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKaW5kZXggNzQwODlhNS4uZGIyZDFkNyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIu
aApAQCAtMjcsMTIgKzI3LDEyIEBACiAjaWZuZGVmIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVy
X2gKICNkZWZpbmUgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXJfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKIAogbmFtZXNwYWNlIEpTQyB7
CiAKLSAgICBjbGFzcyBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcik7CiAgICAgcHVi
bGljOgogICAgICAgICBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcihKU09iamVjdCogb2JqZWN0
KQogICAgICAgICAgICAgOiBtX29iamVjdChvYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0
b3IuaAppbmRleCAyMzdjMTM5Li45M2VkZjA0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvbGxlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9y
LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDx3dGYvRml4ZWRBcnJheS5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9QYWdlQWxsb2NhdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBA
IC04Nyw3ICs4Niw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAgICAgfTsKIAotICAg
IGNsYXNzIEhlYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhlYXAgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIZWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGNs
YXNzIFRocmVhZDsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25J
ZGVudGlmaWVycy5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5o
CmluZGV4IDFlMjJiNmEuLmYxN2UyNDQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgQ29tbW9uSWRlbnRpZmll
cnNfaAogCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAvLyBNYXJrZWRBcmd1bWVudEJ1ZmZlciBvZiBwcm9wZXJ0eSBuYW1lcywgcGFzc2Vk
IHRvIGEgbWFjcm8gc28gd2UgY2FuIGRvIHNldCB0aGVtIHVwIHZhcmlvdXMKIC8vIHdheXMgd2l0
aG91dCByZXBlYXRpbmcgdGhlIGxpc3QuCkBAIC04NCw3ICs4Myw4IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCi0gICAgY2xhc3MgQ29tbW9uSWRlbnRpZmllcnMgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ29tbW9uSWRlbnRpZmllcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHBy
aXZhdGU6CiAgICAgICAgIENvbW1vbklkZW50aWZpZXJzKEpTR2xvYmFsRGF0YSopOwogICAgICAg
ICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKaW5kZXgg
N2Q0OTI5ZC4uNzM2M2FmOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Nl
bGwuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgIk1hcmtTdGFjay5oIgogI2luY2x1
ZGUgIlN0cnVjdHVyZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDcx
NDk5OWYuLjBjNWJiZWQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgK
QEAgLTQ2NSw3ICs0NjUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIG5ldyAo
ZXhlYykgSlNBcnJheShleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJl
KCksIHZhbHVlcyk7CiAgICAgfQogCi0gICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3Bl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEeW5hbWljR2xvYmFsT2JqZWN0U2Nv
cGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEeW5hbWljR2xvYmFsT2JqZWN0U2Nv
cGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbE9iamVjdCogZHluYW1pY0dsb2JhbE9iamVjdCkgCiAg
ICAgICAgICAgICA6IG1fZHluYW1pY0dsb2JhbE9iamVjdFNsb3QoY2FsbEZyYW1lLT5nbG9iYWxE
YXRhKCkuZHluYW1pY0dsb2JhbE9iamVjdCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNMb2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCmluZGV4IDA1
YjM4OGMuLjY0ZDdhNGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2Nr
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaApAQCAtMjIsNyArMjIsNiBA
QAogI2RlZmluZSBKU0xvY2tfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTUzLDcgKzUy
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIEpTTG9ja0JlaGF2aW9yIHsgU2lsZW5j
ZUFzc2VydGlvbnNPbmx5LCBMb2NrRm9yUmVhbCB9OwogCi0gICAgY2xhc3MgSlNMb2NrIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBKU0xvY2sgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShKU0xvY2spOwogICAgIHB1YmxpYzoKICAgICAgICAgSlNMb2NrKEV4ZWNTdGF0
ZSopOwogICAgICAgICBKU0xvY2soSlNHbG9iYWxEYXRhKik7CkBAIC04OSw3ICs4OSw4IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIEpTTG9ja0JlaGF2aW9yIG1fbG9ja0JlaGF2aW9yOwog
Ci0gICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
ICAgIGNsYXNzIERyb3BBbGxMb2NrcyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEcm9wQWxsTG9ja3MpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBEcm9wQWxsTG9j
a3MoRXhlY1N0YXRlKiBleGVjKTsKICAgICAgICAgICAgIERyb3BBbGxMb2NrcyhKU0xvY2tCZWhh
dmlvcik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAppbmRleCBiNTQ3N2ExLi4w
YjcyMmIyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3Bw
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKQEAgLTcwLDcgKzcw
LDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIEpTVmFsdWUgbV92YWx1ZTsKIH07CiAKLWNsYXNz
IFN0cmluZ2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0cmluZ2lmaWVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdpZmllcik7CiBwdWJsaWM6CiAgICAgU3Ry
aW5naWZpZXIoRXhlY1N0YXRlKiwgSlNWYWx1ZSByZXBsYWNlciwgSlNWYWx1ZSBzcGFjZSk7CiAg
ICAgflN0cmluZ2lmaWVyKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAppbmRleCA5YmM4MWQ0Li5h
ZjE5MzhiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBHZXRGdW5j
dGlvbjsKICAgICB0eXBlZGVmIHZvaWQgKCpQdXRGdW5jdGlvbikoRXhlY1N0YXRlKiwgSlNPYmpl
Y3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgdmFsdWUpOwogCi0gICAgY2xhc3MgSGFzaEVudHJ5IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hFbnRyeSB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGluaXRpYWxp
emUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFyIGF0dHJpYnV0ZXMsIGludHB0cl90IHYx
LCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hcmtTdGFjay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2su
aAppbmRleCBjNTUxYmFjLi4xMDE4ZTVlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL01hcmtTdGFjay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgK
QEAgLTI3LDcgKzI3LDggQEAKICNkZWZpbmUgTWFya1N0YWNrX2gKIAogI2luY2x1ZGUgIkpTVmFs
dWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworI2luY2x1ZGUgPHN0cmluZy5o
PgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzYsNyArMzcsOCBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAKICAgICBlbnVtIE1hcmtTZXRQcm9wZXJ0aWVzIHsgTWF5Q29udGFpbk51bGxWYWx1ZXMs
IE5vTnVsbFZhbHVlcyB9OwogICAgIAotICAgIGNsYXNzIE1hcmtTdGFjayA6IE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBNYXJrU3RhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShN
YXJrU3RhY2spOwogICAgIHB1YmxpYzoKICAgICAgICAgTWFya1N0YWNrKHZvaWQqIGpzQXJyYXlW
UHRyKQogICAgICAgICAgICAgOiBtX2pzQXJyYXlWUHRyKGpzQXJyYXlWUHRyKQpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IDU4YWJkZTUuLmQ1NmFiN2Qg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKQEAgLTMxLDcg
KzMxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUmVnRXhwUHJvdG90eXBlOwogICAg
IHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGU7CiAKLSAgICBzdHJ1Y3QgUmVnRXhwQ29u
c3RydWN0b3JQcml2YXRlIDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFJlZ0V4cENvbnN0
cnVjdG9yUHJpdmF0ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgcHVi
bGljOgogICAgICAgICAvLyBHbG9iYWwgc2VhcmNoIGNhY2hlIC8gc2V0dGluZ3MKICAgICAgICAg
UmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKCkKICAgICAgICAgICAgIDogbGFzdE51bVN1YlBhdHRl
cm5zKDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAppbmRleCAxOWRlOTI5Li45
MWZjZjJhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTYwLDcgKzYw
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdmlydHVhbCBDYWxsVHlwZSBnZXRDYWxs
RGF0YShDYWxsRGF0YSYpOwogCi0gICAgICAgIHN0cnVjdCBSZWdFeHBPYmplY3REYXRhIDogRmFz
dEFsbG9jQmFzZSB7CisgICAgICAgIHN0cnVjdCBSZWdFeHBPYmplY3REYXRhIHsKKyAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgUmVnRXhwT2JqZWN0RGF0YShOb25OdWxsUGFzc1JlZlB0cjxS
ZWdFeHA+IHJlZ0V4cCwgZG91YmxlIGxhc3RJbmRleCkKICAgICAgICAgICAgICAgICA6IHJlZ0V4
cChyZWdFeHApCiAgICAgICAgICAgICAgICAgLCBsYXN0SW5kZXgobGFzdEluZGV4KQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmggYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAwYjE1YjY3Li42OTIzOWE5IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Njb3BlQ2hhaW4uaApAQCAtMjEsOCArMjEsNiBAQAogI2lmbmRlZiBTY29wZUNo
YWluX2gKICNkZWZpbmUgU2NvcGVDaGFpbl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgi
Ci0KIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgSlNHbG9iYWxEYXRhOwpAQCAtMzEsNyAr
MjksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3Mg
U2NvcGVDaGFpbkl0ZXJhdG9yOwogICAgIAotICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNjb3BlQ2hhaW5O
b2RlKFNjb3BlQ2hhaW5Ob2RlKiBuZXh0LCBKU09iamVjdCogb2JqZWN0LCBKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBnbG9i
YWxUaGlzKQogICAgICAgICAgICAgOiBuZXh0KG5leHQpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKaW5kZXggZjM1ODcyNy4uYzMzNWRjMiAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNH
bG9iYWxPYmplY3QuaCIKICNpbmNsdWRlICJKU1N0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewpAQCAtNDAsNyArMzksOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNNYXJrZWQoSlNTdHJpbmcq
IHN0cmluZykKICAgICByZXR1cm4gc3RyaW5nICYmIEhlYXA6OmlzQ2VsbE1hcmtlZChzdHJpbmcp
OwogfQogCi1jbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNt
YWxsU3RyaW5nc1N0b3JhZ2UpOwogcHVibGljOgogICAgIFNtYWxsU3RyaW5nc1N0b3JhZ2UoKTsK
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaCBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKaW5kZXggZDFlYmZiMTMuLmI0NzJj
ZjcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaApAQCAtMzcsNyArMzcsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU21hbGxT
dHJpbmdzU3RvcmFnZTsKIAotICAgIGNsYXNzIFNtYWxsU3RyaW5ncyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgU21hbGxTdHJpbmdzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU21hbGxTdHJpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CiAgICAgICAgIFNtYWxsU3RyaW5ncygpOwogICAgICAgICB+U21hbGxTdHJpbmdzKCk7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2ZC4uMWFmMmQ2MyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYgKzEyMiw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFN5bWJvbFRh
YmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJbXBs
PiA+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9sVGFibGU7CiAKICAgICBjbGFz
cyBTaGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJsZSwgcHVibGljIFJlZkNvdW50
ZWQ8U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
ICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZFN5bWJvbFRhYmxl
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU2hhcmVkU3ltYm9sVGFibGUpOyB9CiAg
ICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFw
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCmluZGV4IDM5YTkxYzUuLjMw
YmVmYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaApAQCAtMzUsNyArMzUsOCBAQCBj
bGFzcyBKU0NlbGw7CiAKIC8vIEEgSGFzaE1hcCB3aG9zZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5z
IGVtcHR5VmFsdWUoKSBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPgotY2xhc3MgV2Vha0dDTWFwIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgV2Vha0dDTWFwIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogICAgIC8qCiAgICAgSW52YXJpYW50czoKICAgICAgICAgKiBBIHZhbHVl
IGVudGVycyB0aGUgV2Vha0dDTWFwIG1hcmtlZC4gKEd1YXJhbnRlZWQgYnkgc2V0KCkuKQpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaCBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKaW5kZXggYWM3N2NmMy4uNjdmMTFjMyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtHQ1B0ci5oCkBAIC0yOCwxMiArMjgsMTIgQEAKIAogI2luY2x1ZGUgIkNv
bGxlY3Rvci5oIgogI2luY2x1ZGUgIkdDSGFuZGxlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAvLyBBIHNtYXJ0IHBvaW50ZXIgd2hvc2UgZ2V0
KCkgZnVuY3Rpb24gcmV0dXJucyAwIGZvciBjZWxscyBhd2FpdGluZyBkZXN0cnVjdGlvbi4KLXRl
bXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgOiBOb25jb3B5YWJsZSB7Cit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXZWFrR0NQdHIpOwogcHVibGljOgogICAgIFdlYWtHQ1B0cigpCiAgICAgICAgIDogbV9w
dHIoMCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50
ZWQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaAppbmRleCAw
YzBlOTk3Li44YjY1OTc3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJl
YWRSZWZDb3VudGVkLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8vIHdpdGggcmVz
cGVjdCB0byB0aGUgb3JpZ2luYWwgYW5kIGFueSBvdGhlciBjb3BpZXMuICBUaGUgdW5kZXJseWlu
ZyBtX2RhdGEgaXMgam9pbnRseQogICAgIC8vIG93bmVkIGJ5IHRoZSBvcmlnaW5hbCBpbnN0YW5j
ZSBhbmQgYWxsIGNvcGllcy4KICAgICB0ZW1wbGF0ZTxjbGFzcyBUPgotICAgIGNsYXNzIENyb3Nz
VGhyZWFkUmVmQ291bnRlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NU
aHJlYWRSZWZDb3VudGVkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJl
YWRSZWZDb3VudGVkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENy
b3NzVGhyZWFkUmVmQ291bnRlZDxUPiA+IGNyZWF0ZShUKiBkYXRhKQogICAgICAgICB7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9EYXRlTWF0aC5oCmluZGV4IGJlNTE5NDcuLjQxMjNlYmQgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9EYXRlTWF0aC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5o
CkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8dGltZS5o
PgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKQEAg
LTEwOSw3ICsxMDgsOSBAQCBkb3VibGUgcGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVkQ2hhcmFj
dGVycyhFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBkYXRlU3RyaW5nKQogCiAvLyBJbnRlbnRpb25h
bGx5IG92ZXJyaWRkaW5nIHRoZSBkZWZhdWx0IHRtIG9mIHRoZSBzeXN0ZW0uCiAvLyBUaGUgbWVt
YmVycyBvZiB0bSBkaWZmZXIgb24gdmFyaW91cyBvcGVyYXRpbmcgc3lzdGVtcy4KLXN0cnVjdCBH
cmVnb3JpYW5EYXRlVGltZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBHcmVnb3JpYW5EYXRlVGlt
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JlZ29yaWFuRGF0ZVRpbWUpOworcHVibGlj
OgogICAgIEdyZWdvcmlhbkRhdGVUaW1lKCkKICAgICAgICAgOiBzZWNvbmQoMCkKICAgICAgICAg
LCBtaW51dGUoMCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKaW5kZXggNzQ1ZTBiNi4uZWViNWU0MyAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Rl
cXVlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgRGVxdWUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yPFQ+IGl0ZXJhdG9yOwogICAgICAg
ICB0eXBlZGVmIERlcXVlQ29uc3RJdGVyYXRvcjxUPiBjb25zdF9pdGVyYXRvcjsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93
dGYvRmFzdEFsbG9jQmFzZS5oCmluZGV4IGJiMTgyNWUuLmI2YTUzNDYgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0Zhc3RBbGxvY0Jhc2UuaApAQCAtMzIsOCArMzIsOCBAQAogLy8gUHJvdmlkZXMgY3VzdG9taXph
YmxlIG92ZXJyaWRlcyBvZiBmYXN0TWFsbG9jL2Zhc3RGcmVlIGFuZCBvcGVyYXRvciBuZXcvZGVs
ZXRlCiAvLwogLy8gUHJvdmlkZWQgZnVuY3Rpb25hbGl0eToKKy8vICAgIE1hY3JvOiBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogLy8gICAgbmFtZXNwYWNlIFdURiB7Ci0vLyAgICAgICAgY2xhc3Mg
RmFzdEFsbG9jQmFzZTsKIC8vCiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxUPigpOwogLy8gICAg
ICAgIFQqICAgIGZhc3ROZXc8VD4oYXJnKTsKQEAgLTQ4LDcgKzQ4LDEwIEBACiAvLyBGYXN0RGVs
ZXRlIGFzc3VtZXMgdGhhdCB0aGUgdW5kZXJseWluZwogLy8KIC8vIEV4YW1wbGUgdXNhZ2U6Ci0v
LyAgICBjbGFzcyBXaWRnZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7IC4uLiB9OworLy8gICAg
Y2xhc3MgV2lkZ2V0IHsKKy8vICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorLy8gICAg
Li4uCisvLyAgICB9OwogLy8KIC8vICAgIGNoYXIqIGNoYXJQdHIgPSBmYXN0TmV3PGNoYXI+KCk7
CiAvLyAgICBmYXN0RGVsZXRlKGNoYXJQdHIpOwpAQCAtODUsNDIgKzg4LDYgQEAKIAogbmFtZXNw
YWNlIFdURiB7CiAKLSNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAotcHVibGljOiBc
Ci0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBc
Ci0gICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9
IFwKLSAgICBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBcCi0gICAgeyBc
Ci0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAotICAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6
QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCi0gICAgICAgIHJldHVybiBwOyBcCi0gICAgfSBcCi0gICAg
XAotICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApIFwKLSAgICB7IFwKLSAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFs
bG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKLSAgICB9
IFwKLSAgICBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90IHNpemUpIFwKLSAgICB7
IFwKLSAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCi0gICAgICAg
IDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6
OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCi0gICAgICAgIHJldHVybiBwOyBcCi0gICAgfSBc
Ci0gICAgXAotICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkgXAotICAgIHsgXAot
ICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCi0gICAgICAgICA6OldURjo6ZmFzdEZy
ZWUocCk7IFwKLSAgICB9IFwKLXByaXZhdGU6Ci0KLWNsYXNzIEZhc3RBbGxvY0Jhc2UgewotICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEICAKLX07Ci0KICAgICAvLyBmYXN0TmV3IC8gZmFzdERl
bGV0ZQogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CkBAIC00MTAsNyArMzc3LDYgQEAgY2xh
c3MgRmFzdEFsbG9jQmFzZSB7CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi11c2luZyBXVEY6OkZh
c3RBbGxvY0Jhc2U7CiB1c2luZyBXVEY6OmZhc3REZWxldGVTa2lwcGluZ0Rlc3RydWN0b3I7CiAK
ICNlbmRpZiAvLyBGYXN0QWxsb2NCYXNlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9IYXNoQ291bnRlZFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmgK
aW5kZXggNGVkNzVjNS4uN2FiMjllNCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0hh
c2hDb3VudGVkU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmgK
QEAgLTIyLDE0ICsyMiwxNCBAQAogI2RlZmluZSBXVEZfSGFzaENvdW50ZWRTZXRfaAogCiAjaW5j
bHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRl
ICJIYXNoTWFwLmgiCiAjaW5jbHVkZSAiVmVjdG9yLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMgPSB0eXBl
bmFtZSBEZWZhdWx0SGFzaDxWYWx1ZT46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRyYWl0cyA9
IEhhc2hUcmFpdHM8VmFsdWU+ID4gY2xhc3MgSGFzaENvdW50ZWRTZXQgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CisgICAgICAgIHR5cGVuYW1lIFRyYWl0cyA9IEhhc2hUcmFpdHM8VmFsdWU+ID4g
Y2xhc3MgSGFzaENvdW50ZWRTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
ICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxWYWx1ZSwgdW5zaWduZWQsIEhh
c2hGdW5jdGlvbnMsIFRyYWl0cz4gSW1wbFR5cGU7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFw
LmgKaW5kZXggMDkwOTRkMS4uNDk1YjcyYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCkBAIC0yOSw3ICsy
OSw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0
eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFz
aDxLZXlBcmc+OjpIYXNoLAogICAgICAgICB0eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJh
aXRzPEtleUFyZz4sIHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFwcGVk
QXJnPiA+Ci0gICAgY2xhc3MgSGFzaE1hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBj
bGFzcyBIYXNoTWFwIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAgICAgICAgIHR5
cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoU2V0LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCmluZGV4
IDY2NjM5ZTQuLmJlYWU0ZmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApAQCAtMzUsNyArMzUsOCBAQCBu
YW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSWRlbnRpdHlF
eHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgdHlwZW5hbWUgSGFz
aEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaCwKLSAgICAgICAgdHlw
ZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHNBcmcgPSBIYXNo
VHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaEFyZyBIYXNoRnVu
Y3Rpb25zOwogICAgICAgICB0eXBlZGVmIFRyYWl0c0FyZyBWYWx1ZVRyYWl0czsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0xpc3RIYXNoU2V0LmgKaW5kZXggZTE0YWM0NS4uYWY3MzVhOSAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RI
YXNoU2V0LmgKQEAgLTUyLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4gc3RydWN0IExpc3RIYXNo
U2V0Tm9kZUFsbG9jYXRvcjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90
IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBIYXNoQXJnPiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2Rl
SGFzaEZ1bmN0aW9uczsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3Qg
aW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0
SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0IDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1
ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZTxW
YWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGU7CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hT
ZXROb2RlQWxsb2NhdG9yPFZhbHVlQXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZUFsbG9jYXRvcjsK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaCBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Mb2NrZXIuaAppbmRleCA0MTgxM2QzLi43ZGRjMTRkIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS93dGYvTG9ja2VyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCkBA
IC0yOCwxMSArMjgsMTEgQEAKICNpZm5kZWYgTG9ja2VyX2gKICNkZWZpbmUgTG9ja2VyX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMb2NrZXIpOwogcHVibGljOgogICAgIExvY2tlcihUJiBsb2NrYWJsZSkgOiBtX2xvY2thYmxl
KGxvY2thYmxlKSB7IG1fbG9ja2FibGUubG9jaygpOyB9CiAgICAgfkxvY2tlcigpIHsgbV9sb2Nr
YWJsZS51bmxvY2soKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCmluZGV4IDNjYWE4MTAuLjVmZTUwYjUgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1
LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgV1RGX01ENV9oCiAKICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvTWVzc2FnZVF1ZXVlLmgKaW5kZXggMTQxMDBjOS4uZDdkNTcxMiAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9NZXNzYWdlUXVldWUuaApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgPGxpbWl0cz4KICNp
bmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFt
ZXNwYWNlIFdURiB7CkBAIC00OCw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8vIHdo
ZW4gbWVzc2FnZXMgYXJlIGZldGNoZWQgZnJvbSB0aGUgcXVldWUuCiAgICAgLy8gRXNzZW50aWFs
bHksIE1lc3NhZ2VRdWV1ZSBhY3RzIGFzIGEgcXVldWUgb2YgT3duUHRyPERhdGFUeXBlPi4KICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRhVHlwZT4KLSAgICBjbGFzcyBNZXNzYWdlUXVldWUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VRdWV1ZSk7CiAgICAgcHVibGljOgogICAgICAgICBN
ZXNzYWdlUXVldWUoKSA6IG1fa2lsbGVkKGZhbHNlKSB7IH0KICAgICAgICAgfk1lc3NhZ2VRdWV1
ZSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmggYi9KYXZh
U2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMjg1ZWQyZS4uMDAwMDAwMAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUu
aAorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChDKSAy
MDA2LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
ICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0gKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
ICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0gKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0K
LSNpZm5kZWYgV1RGX05vbmNvcHlhYmxlX2gKLSNkZWZpbmUgV1RGX05vbmNvcHlhYmxlX2gKLQot
I2lmbmRlZiBfX2hhc19mZWF0dXJlCi0gICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKLSNl
bmRpZgotCi0jaWYgX19oYXNfZmVhdHVyZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCi0gICAgI2Rl
ZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKLSAgICAgICAgX1ByYWdtYSgi
Y2xhbmcgZGlhZ25vc3RpYyBwdXNoIikgXAotICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9z
dGljIGlnbm9yZWQgXCItV3Vua25vd24tcHJhZ21hc1wiIikgXAotICAgICAgICBfUHJhZ21hKCJj
bGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKLSAgICAg
ICAgcHJpdmF0ZTogXAotICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0g
ZGVsZXRlOyBcCi0gICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05h
bWUmKSA9IGRlbGV0ZTsgXAotICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIp
Ci0jZWxzZQotICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0g
ICAgICAgIHByaXZhdGU6IFwKLSAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUm
KTsgXAotICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikK
LSNlbmRpZgotCi0vLyBXZSBkb24ndCB3YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8g
cHVsbCBpbiBldmVyeXRoaW5nIGZyb20gdGhlIFdURgotLy8gbmFtZXNwYWNlIHdoZW4geW91IHVz
ZSBOb25jb3B5YWJsZSwgc28gcHV0IGl0IGluIGl0cyBvd24gbmFtZXNwYWNlLgotCi0jaW5jbHVk
ZSAiRmFzdEFsbG9jQmFzZS5oIgotCi1uYW1lc3BhY2UgV1RGTm9uY29weWFibGUgewotCi0gICAg
Y2xhc3MgTm9uY29weWFibGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Ci0gICAgICAgIE5vbmNv
cHlhYmxlKGNvbnN0IE5vbmNvcHlhYmxlJik7Ci0gICAgICAgIE5vbmNvcHlhYmxlJiBvcGVyYXRv
cj0oY29uc3QgTm9uY29weWFibGUmKTsKLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIE5vbmNvcHlh
YmxlKCkgeyB9Ci0gICAgICAgIH5Ob25jb3B5YWJsZSgpIHsgfQotICAgIH07Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdURk5vbmNvcHlhYmxlCi0KLXVzaW5nIFdURk5vbmNvcHlhYmxlOjpOb25jb3B5YWJs
ZTsKLQotI2VuZGlmIC8vIFdURl9Ob25jb3B5YWJsZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvT3duQXJyYXlQdHIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5o
CmluZGV4IDY0M2I5MGIuLmNkNjRlZGEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9P
d25BcnJheVB0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCkBAIC0y
Miw3ICsyMiw2IEBACiAjZGVmaW5lIFdURl9Pd25BcnJheVB0cl9oCiAKICNpbmNsdWRlICJBc3Nl
cnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgi
CiAjaW5jbHVkZSAiT3duQXJyYXlQdHJDb21tb24uaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CkBA
IC0zNSw3ICszNCw3IEBAIG5hbWVzcGFjZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xh
c3MgUGFzc093bkFycmF5UHRyOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093bkFycmF5UHRy
PFQ+IGFkb3B0QXJyYXlQdHIoVCopOwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3du
QXJyYXlQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNs
YXNzIE93bkFycmF5UHRyIHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFQqIFB0clR5cGU7CiAKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCmluZGV4IDhiNmNiZjQuLjlkNDg0MWEgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAj
ZGVmaW5lIE93bkZhc3RNYWxsb2NQdHJfaAogCiAjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgotI2lu
Y2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgdGVtcGxhdGU8
Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1hbGxvY1B0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1hbGxvY1B0ciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE93bkZhc3RNYWxsb2NQdHIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgZXhwbGljaXQgT3duRmFzdE1hbGxvY1B0cihUKiBwdHIpIDogbV9wdHIocHRyKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmggYi9KYXZhU2NyaXB0
Q29yZS93dGYvT3duUHRyLmgKaW5kZXggY2RjMjc3Yy4uZmI1OTQzMiAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL093blB0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIu
aApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBXVEZfT3duUHRyX2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIu
aCIKICNpbmNsdWRlICJPd25QdHJDb21tb24uaCIKICNpbmNsdWRlICJUeXBlVHJhaXRzLmgiCkBA
IC0zOSw3ICszOCw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIFBhc3NPd25QdHI7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093blB0cjxU
PiBhZG9wdFB0cihUKik7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93
blB0ciB7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFJlbW92ZVBvaW50
ZXI8VD46OlR5cGUgVmFsdWVUeXBlOwogICAgICAgICB0eXBlZGVmIFZhbHVlVHlwZSogUHRyVHlw
ZTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmgKaW5kZXggMTJjM2UzZC4uMTY5ZDQwNyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgKQEAgLTIsNiArMiw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIw
MDgsIDIwMDkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAo
QykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJj
aCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTExMTgsNCArMTExOSw2MCBAQAogI2luY2x1ZGUgIkdUeXBlZGVmcy5oIgog
I2VuZGlmCiAKKy8qIE5vbmNvcHlhYmxlJ3MgaW1wbGVtZW50YXRpb24gYXMgYSBtYWNybyAqLwor
CisjaWZuZGVmIF9faGFzX2ZlYXR1cmUKKyAgICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAor
I2VuZGlmCisKKyNpZiBfX2hhc19mZWF0dXJlKGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKKyAgICAj
ZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAorICAgICAgICBfUHJhZ21h
KCJjbGFuZyBkaWFnbm9zdGljIHB1c2giKSBcCisgICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdu
b3N0aWMgaWdub3JlZCBcIi1XdW5rbm93bi1wcmFnbWFzXCIiKSBcCisgICAgICAgIF9QcmFnbWEo
ImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAorICAg
ICAgICBwcml2YXRlOiBcCisgICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikg
PSBkZWxldGU7IFwKKyAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNz
TmFtZSYpID0gZGVsZXRlOyBcCisgICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9w
IikKKyNlbHNlCisgICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwK
KyAgICAgICAgcHJpdmF0ZTogXAorICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFt
ZSYpOyBcCisgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUm
KQorI2VuZGlmCisKKy8qIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVycmlkZXMgb2Ygb3BlcmF0
b3IgbmV3L2RlbGV0ZSAqLworCisjZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKK3B1
YmxpYzogXAorICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJu
IHA7IH0gXAorICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1
cm4gcDsgfSBcCisgICAgXAorICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAor
ICAgIHsgXAorICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAg
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAorICAgICAgICByZXR1cm4gcDsgXAorICAgIH0g
XAorICAgIFwKKyAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCisgICAgeyBcCisg
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVy
bmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKKyAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
CisgICAgfSBcCisgICAgXAorICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBc
CisgICAgeyBcCisgICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAor
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6Oklu
dGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAorICAgICAgICByZXR1cm4gcDsgXAor
ICAgIH0gXAorICAgIFwKKyAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKKyAg
ICB7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpX
VEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAorICAgICAgICAgOjpXVEY6
OmZhc3RGcmVlKHApOyBcCisgICAgfSBcCitwcml2YXRlOgorCiAjZW5kaWYgLyogV1RGX1BsYXRm
b3JtX2ggKi8KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmggYi9K
YXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCmluZGV4IDhkOGIzMDIuLmE1NGQxYmYgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaApAQCAtMjIsNyArMjIsNyBAQAogI2RlZmluZSBSZWZDb3Vu
dGVkX2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5o
IgorI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTEz
MSw3ICsxMzEsOCBAQCBpbmxpbmUgdm9pZCBhZG9wdGVkKFJlZkNvdW50ZWRCYXNlKiBvYmplY3Qp
CiAKICNlbmRpZgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVi
bGljIFJlZkNvdW50ZWRCYXNlLCBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkQmFzZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVmQ291bnRlZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgdm9pZCBkZXJlZigpCiAgICAgewpAQCAtMTQwLDYgKzE0MSw3IEBAIHB1Ymxp
YzoKICAgICB9CiAKIHByb3RlY3RlZDoKKyAgICBSZWZDb3VudGVkKCkgeyB9CiAgICAgflJlZkNv
dW50ZWQoKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVm
UHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKaW5kZXggNmFmYTg4Ni4uYzIxZDRm
NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMjMsOSArMjMsOSBAQAogI2lmbmRlZiBXVEZfUmVmUHRy
X2gKICNkZWZpbmUgV1RGX1JlZlB0cl9oCiAKLSNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVk
ZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIuaCIKKyNpbmNsdWRlIDxh
bGdvcml0aG0+CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdU
RiB7CiAKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICBlbnVtIEhhc2hU
YWJsZURlbGV0ZWRWYWx1ZVR5cGUgeyBIYXNoVGFibGVEZWxldGVkVmFsdWUgfTsKIAotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQ
dHIoKSA6IG1fcHRyKDApIHsgfQogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cihUKiBwdHIp
IDogbV9wdHIocHRyKSB7IHJlZklmTm90TnVsbChwdHIpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhh
c2hNYXAuaAppbmRleCA3ZjZlYmZlLi4yMjUxZmQ4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS93dGYvUmVmUHRySGFzaE1hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNo
TWFwLmgKQEAgLTQyLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZywg
dHlwZW5hbWUgS2V5VHJhaXRzQXJnLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmc+Ci0gICAgY2xh
c3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBN
YXBwZWRUcmFpdHNBcmc+IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hN
YXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJh
aXRzQXJnPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHJpdmF0ZToK
ICAgICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVm
IE1hcHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFk
cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRz
LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJl
YWRzX2gKICNkZWZpbmUgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVz
cGFjZSBXVEYgewogCiAvLyBIb2xkcyBUaHJlYWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3Bl
Y2lmaWMgc3RvcmFnZSBhbmQgZW1wbG95cyBwdGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1
Y3Rpb24gdG8gcmVsaWFibHkgcmVtb3ZlCiAvLyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFk
TWFwLiBJdCBhc3N1bWVzIHJlZ3VsYXIgVGhyZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11
bHRpcGxlLXBhc3MgZGVzdHJ1Y3Rpb24uCi1jbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkSWRlbnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5U
aHJlYWRJZGVudGlmaWVyRGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU2FmZVNoYXJlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQu
aAppbmRleCAzM2M2NjEyLi4xMzEyOTAwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU2FmZVNoYXJlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hh
cmVkLmgKQEAgLTYyLDEyICs2MiwxMiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNs
dWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFz
cyBUaHJlYWRTYWZlU2hhcmVkQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJl
YWRTYWZlU2hhcmVkQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU2FmZVNo
YXJlZEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRocmVhZFNh
ZmVTaGFyZWRCYXNlKGludCBpbml0aWFsUmVmQ291bnQgPSAxKQogICAgICAgICA6IG1fcmVmQ291
bnQoaW5pdGlhbFJlZkNvdW50KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVh
ZFNwZWNpZmljLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaAppbmRleCA5
M2VkNDY2Li4xMTM3YmQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3Bl
Y2lmaWMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApAQCAtNDEs
NyArNDEsNiBAQAogI2lmbmRlZiBXVEZfVGhyZWFkU3BlY2lmaWNfaAogI2RlZmluZSBXVEZfVGhy
ZWFkU3BlY2lmaWNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0Uo
UFRIUkVBRFMpCiAjaW5jbHVkZSA8cHRocmVhZC5oPgpAQCAtNjEsNyArNjAsOCBAQCBuYW1lc3Bh
Y2UgV1RGIHsKIHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAotdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9uY29weWFi
bGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBUaHJlYWRT
cGVjaWZpYygpOwogICAgIFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg0LDkgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHN0YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0UoUFRIUkVB
RFMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1MpCi0gICAg
c3RydWN0IERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERhdGEoVCog
dmFsdWUsIFRocmVhZFNwZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93bmVyKG93
bmVyKSB7fQogI2lmIFBMQVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXItPmRlc3Ry
b3kodGhpcyk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Y1dpbi5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCmluZGV4
IGYyYzBjYWQuLmQ3Mjk5NmEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRT
cGVjaWZpY1dpbi5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2lu
LmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAi
VGhyZWFkU3BlY2lmaWMuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFVT
RShQVEhSRUFEUykKICNlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBieSBw
b3J0cyB0aGF0IGRvIG5vdCB1c2UgV2luZG93cyBuYXRpdmUgVGhyZWFkU3BlY2lmaWMgaW1wbGVt
ZW50YXRpb24uCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDQ5ZGU1OWUuLjcyYWU1ZTUg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC0zMCw3ICszMCw5IEBACiAKIG5hbWVzcGFj
ZSBXVEYgewogCi1zdHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2Ugeworc3Ry
dWN0IE5ld1RocmVhZENvbnRleHQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJs
aWM6CiAgICAgTmV3VGhyZWFkQ29udGV4dChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lk
KiBkYXRhLCBjb25zdCBjaGFyKiBuYW1lKQogICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQb2lu
dCkKICAgICAgICAgLCBkYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkaW5nLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKaW5kZXggMDQ0MzY1
Zi4uZGFlYTE4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaApAQCAtNjYsNyArNjYsNiBAQAogI2lu
Y2x1ZGUgPHd0Zi9BdG9taWNzLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2tlci5oPgogI2luY2x1ZGUg
PHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZFNhZmVTaGFyZWQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0
aXZlcy5oPgogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0
aXZlcy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaAppbmRleCBj
MTFhNmNiLi4yY2Q1NzU0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
UHJpbWl0aXZlcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVz
LmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5j
bHVkZSA8d3RmL0xvY2tlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYg
T1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5kb3dzLmg+CkBAIC05Niw3ICs5NSw4IEBAIHR5cGVk
ZWYgdm9pZCogUGxhdGZvcm1SZWFkV3JpdGVMb2NrOwogdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybUNv
bmRpdGlvbjsKICNlbmRpZgogICAgIAotY2xhc3MgTXV0ZXggOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTXV0ZXggeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE11dGV4KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpA
QCAtMTEzLDcgKzExMyw4IEBAIHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRl
eExvY2tlcjsKIAotY2xhc3MgUmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBSZWFkV3JpdGVMb2NrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVM
b2NrKTsKIHB1YmxpYzoKICAgICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2so
KTsKQEAgLTEzMCw3ICsxMzEsOCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9j
ayBtX3JlYWRXcml0ZUxvY2s7CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShUaHJlYWRDb25kaXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRpdGlvbigp
OwogICAgIH5UaHJlYWRDb25kaXRpb24oKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9WZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaAppbmRleCBmNzM3OTNmLi5h
YmM5NjAzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCkBAIC0yMSw4ICsyMSw3IEBACiAjaWZuZGVmIFdURl9W
ZWN0b3JfaAogI2RlZmluZSBXVEZfVmVjdG9yX2gKIAotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2Uu
aCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgorI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKICNp
bmNsdWRlICJOb3RGb3VuZC5oIgogI2luY2x1ZGUgIlN0ZExpYkV4dHJhcy5oIgogI2luY2x1ZGUg
IlZhbHVlQ2hlY2suaCIKQEAgLTI3Nyw3ICsyNzYsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVjdG9yQnVmZmVyQmFzZSk7CiAgICAgcHVibGlj
OgogICAgICAgICB2b2lkIGFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICAg
ICAgewpAQCAtNDg4LDcgKzQ4OCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAwPgotICAgIGNsYXNz
IFZlY3RvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBWZWN0b3IgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVk
ZWYgVmVjdG9yQnVmZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCdWZmZXI7CiAgICAgICAgIHR5cGVk
ZWYgVmVjdG9yVHlwZU9wZXJhdGlvbnM8VD4gVHlwZU9wZXJhdGlvbnM7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1dU
RlRocmVhZERhdGEuaAppbmRleCA1MDE5YzMzLi4yZmFjMzM4IDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZU
aHJlYWREYXRhLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIC8vIFRoaXMgd2FzIEVOQUJMRShX
T1JLRVJTKSBpbiBXZWJDb3JlLCBidXQgdGhpcyBpcyBub3QgZGVmaW5lZCB3aGVuIGNvbXBpbGlu
ZyBKU0MuCkBAIC01MSw3ICs1MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiB0eXBlZGVmIEhhc2hN
YXA8Y29uc3QgY2hhciosIFJlZlB0cjxTdHJpbmdJbXBsPiwgUHRySGFzaDxjb25zdCBjaGFyKj4g
PiBMaXRlcmFsSWRlbnRpZmllclRhYmxlOwogCi1jbGFzcyBJZGVudGlmaWVyVGFibGUgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBJZGVudGlmaWVyVGFibGUgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgfklkZW50aWZpZXJUYWJsZSgpOwogCkBAIC04
NCw3ICs4NCw4IEBAIGNsYXNzIEF0b21pY1N0cmluZ1RhYmxlOwogCiB0eXBlZGVmIHZvaWQgKCpB
dG9taWNTdHJpbmdUYWJsZURlc3RydWN0b3IpKEF0b21pY1N0cmluZ1RhYmxlKik7CiAKLWNsYXNz
IFdURlRocmVhZERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV1RGVGhyZWFkRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV1RGVGhyZWFkRGF0YSk7CiBwdWJsaWM6CiAg
ICAgV1RGVGhyZWFkRGF0YSgpOwogICAgIH5XVEZUaHJlYWREYXRhKCk7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAK
aW5kZXggYzg5YzAzNi4uNWU3ODUwZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2R0
b2EuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcApAQCAtNDE0LDcgKzQxNCwx
MCBAQCBzdGF0aWMgdm9pZCBtdWx0KEJpZ0ludCYgYVJlZiwgY29uc3QgQmlnSW50JiBiUmVmKQog
ICAgIGFSZWYgPSBjOwogfQogCi1zdHJ1Y3QgUDVOb2RlIDogTm9uY29weWFibGUgeworc3RydWN0
IFA1Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUDVOb2RlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKK3B1YmxpYzoKKyAgICBQNU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwog
ICAgIFA1Tm9kZSogbmV4dDsKIH07CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvZ29i
amVjdC9HT3duUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKaW5k
ZXggY2VjM2U0My4uYTM3ZDk4ZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmpl
Y3QvR093blB0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaApA
QCAtMjYsNyArMjYsNiBAQAogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGV4dGVybiAiQyIg
dm9pZCBnX2ZyZWUodm9pZCopOwogCkBAIC00MSw3ICs0MCw4IEBAIHRlbXBsYXRlPD4gdm9pZCBm
cmVlT3duZWRHUHRyPEdQYXR0ZXJuU3BlYz4oR1BhdHRlcm5TcGVjKik7CiB0ZW1wbGF0ZTw+IHZv
aWQgZnJlZU93bmVkR1B0cjxHRGlyPihHRGlyKik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVk
R1B0cjxHRmlsZT4oR0ZpbGUqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdPd25Q
dHIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdP
d25QdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdPd25QdHIpOwogcHVibGljOgogICAg
IGV4cGxpY2l0IEdPd25QdHIoVCogcHRyID0gMCkgOiBtX3B0cihwdHIpIHsgfQogICAgIH5HT3du
UHRyKCkgeyBmcmVlT3duZWRHUHRyKG1fcHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJp
bmdCdWZmZXIuaAppbmRleCBhNTQ2YmYzLi5lNzNkMzhlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4
dC9TdHJpbmdCdWZmZXIuaApAQCAtMzAsMTMgKzMwLDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZl
cl9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1p
dHM+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU3RyaW5nQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdHJpbmdCdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNp
Z25lZCBsZW5ndGgpCiAgICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKaW5kZXggNjU2NzY3Mi4uYjAzOGRmMSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNp
Zm5kZWYgU3RyaW5nSW1wbEJhc2VfaAogI2RlZmluZSBTdHJpbmdJbXBsQmFzZV9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+
CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBTdHJpbmdJbXBsQmFzZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTdHJpbmdJbXBsQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3RyaW5nSW1wbEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IGJvb2wgaXNTdHJpbmdJbXBsKCkgeyByZXR1cm4gKG1fcmVmQ291bnRBbmRGbGFncyAmIHNfcmVm
Q291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbCkgIT0gc19yZWZDb3VudEludmFsaWRGb3JTdHJpbmdJ
bXBsOyB9CiAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0K
QEAgLTQ1LDkgKzQ1LDYgQEAgcHJvdGVjdGVkOgogICAgICAgICBCdWZmZXJTaGFyZWQsCiAgICAg
fTsKIAotICAgIHVzaW5nIE5vbmNvcHlhYmxlOjpvcGVyYXRvciBuZXc7Ci0gICAgdm9pZCogb3Bl
cmF0b3IgbmV3KHNpemVfdCwgdm9pZCogaW5QbGFjZSkgeyBBU1NFUlQoaW5QbGFjZSk7IHJldHVy
biBpblBsYWNlOyB9Ci0KICAgICAvLyBGb3IgU21hbGxTdHJpbmdTdG9yYWdlLCB3aGljaCBhbGxv
Y2F0ZXMgYW4gYXJyYXkgYW5kIHVzZXMgYW4gaW4tcGxhY2UgbmV3LgogICAgIFN0cmluZ0ltcGxC
YXNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxh
dG9yLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCmluZGV4IGZlNmE4
MDkuLjVhYjM0NDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxh
dG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaApAQCAtMjks
NyArMjksNiBAQAogI2lmbmRlZiBXVEZfQ29sbGF0b3JfaAogI2RlZmluZSBXVEZfQ29sbGF0b3Jf
aAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKQEAgLTM5LDcgKzM4LDgg
QEAgc3RydWN0IFVDb2xsYXRvcjsKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBDb2xs
YXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29sbGF0b3IgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb2xsYXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFJlc3VsdCB7IEVxdWFsID0gMCwgR3JlYXRlciA9
IDEsIExlc3MgPSAtMSB9OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4
SW50ZXJwcmV0ZXIuaCBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCmlu
ZGV4IGY3NjFjY2MuLjEzZmQ0NTMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVn
ZXhJbnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRl
ci5oCkBAIC0zMDQsNyArMzA0LDggQEAgc3RydWN0IEJ5dGVUZXJtIHsKICAgICB9CiB9OwogCi1j
bGFzcyBCeXRlRGlzanVuY3Rpb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBCeXRl
RGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
Qnl0ZURpc2p1bmN0aW9uKHVuc2lnbmVkIG51bVN1YnBhdHRlcm5zLCB1bnNpZ25lZCBmcmFtZVNp
emUpCiAgICAgICAgIDogbV9udW1TdWJwYXR0ZXJucyhudW1TdWJwYXR0ZXJucykKQEAgLTMxNyw3
ICszMTgsOSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgbV9mcmFtZVNpemU7CiB9OwogCi1zdHJ1
Y3QgQnl0ZWNvZGVQYXR0ZXJuIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQnl0ZWNvZGVQYXR0
ZXJuIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIEJ5dGVjb2Rl
UGF0dGVybihQYXNzT3duUHRyPEJ5dGVEaXNqdW5jdGlvbj4gYm9keSwgVmVjdG9yPEJ5dGVEaXNq
dW5jdGlvbio+IGFsbFBhcmVudGhlc2VzSW5mbywgUmVnZXhQYXR0ZXJuJiBwYXR0ZXJuLCBCdW1w
UG9pbnRlckFsbG9jYXRvciogYWxsb2NhdG9yKQogICAgICAgICA6IG1fYm9keShib2R5KQogICAg
ICAgICAsIG1faWdub3JlQ2FzZShwYXR0ZXJuLm1faWdub3JlQ2FzZSkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1Jl
Z2V4UGF0dGVybi5oCmluZGV4IDM3YjU0NGYuLjFhYzBmZjEgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgKKysrIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdl
eFBhdHRlcm4uaApAQCAtNjksNyArNjksOSBAQCBwcml2YXRlOgogICAgIH0KIH07CiAKLXN0cnVj
dCBDaGFyYWN0ZXJDbGFzcyA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENoYXJhY3RlckNsYXNz
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIC8vIEFsbCBDaGFy
YWN0ZXJDbGFzcyBpbnN0YW5jZXMgaGF2ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRjaGVz
IGFuZCByYW5nZXMsCiAgICAgLy8gdGhleSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3Ig
ZmFzdGVyIGxvb2t1cHMgKHdoaWNoIG11c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVkIG1h
dGNoZXMgYW5kIHJhbmdlcykKQEAgLTIwMSw3ICsyMDMsOSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0g
ewogICAgIH0KIH07CiAKLXN0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNl
IHsKK3N0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CiAgICAgUGF0dGVybkFsdGVybmF0aXZlKFBhdHRlcm5EaXNqdW5jdGlvbiog
ZGlzanVuY3Rpb24pCiAgICAgICAgIDogbV9wYXJlbnQoZGlzanVuY3Rpb24pCiAgICAgICAgICwg
bV9vbmNlVGhyb3VnaChmYWxzZSkKQEAgLTI0Miw3ICsyNDYsOSBAQCBzdHJ1Y3QgUGF0dGVybkFs
dGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CiAgICAgYm9vbCBtX2NvbnRhaW5zQk9MIDogMTsK
IH07CiAKLXN0cnVjdCBQYXR0ZXJuRGlzanVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBQYXR0ZXJuRGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJs
aWM6CiAgICAgUGF0dGVybkRpc2p1bmN0aW9uKFBhdHRlcm5BbHRlcm5hdGl2ZSogcGFyZW50ID0g
MCkKICAgICAgICAgOiBtX3BhcmVudChwYXJlbnQpCiAgICAgICAgICwgbV9oYXNGaXhlZFNpemUo
ZmFsc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cgYi9KYXZhU2NyaXB0
R2x1ZS9DaGFuZ2VMb2cKaW5kZXggYzdiMmRjZS4uYmMzNjlhOCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdEdsdWUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDEwLTExLTI1ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCBy
aWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAg
SW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRp
bmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kIAor
ICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50
YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNl
LmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFi
bGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMC0yNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJhcnJhY2xvdWdoLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9K
YXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9KYXZhU2NyaXB0
R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBA
IC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MDA3
MjJkLi43ODFjY2UxIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTI1ICBab2x0YW4gSG9ydmF0aCAg
PHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNl
IGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3Vs
dCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2Ug
Tm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVp
ciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNz
YXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFk
ZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTI1ICBIYW5zIFdlbm5i
b3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9y
bG93LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFi
bGUuaCBiL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM1MTI2NzcuLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9G
b3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotI2lmbmRlZiBXZWJDb3JlX0ZXRF9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdlYkNv
cmVfRldEX05vbmNvcHlhYmxlX2gKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJs
ZS5oPgotI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAxOWFh
ZjVjLi5jNTE1NzVlIDEwMDc1NQotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTYz
NTY5LDEwICs2MzU2OSw2IEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x3dGZcTm9uY29weWFibGUuaCIN
Ci0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxGb3J3YXJkaW5nSGVhZGVyc1x3dGZcT3duQXJyYXlQdHIuaCINCiAJCQkJCT4NCiAJCQkJPC9G
aWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgg
Yi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDJlZTU2ZWUuLmIy
YWM4NjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgK
KysrIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtNTcsNyArNTcs
OCBAQCBzdHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBvc3RUeXBlIHsgUG9zdFN5bmNo
cm9ub3VzbHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFzcyBBWE9iamVjdENhY2hlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2FjaGUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIEFYT2JqZWN0Q2FjaGUoKTsKICAgICB+QVhPYmplY3RDYWNoZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCmluZGV4IDgw
OWE0ODguLmQwOTE0MzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlw
dFNvdXJjZVByb3ZpZGVyLmgKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyIDogcHVibGljIFNjcmlwdFNv
dXJjZVByb3ZpZGVyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0ZShDYWNoZWRTY3JpcHQqIGNhY2hl
ZFNjcmlwdCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVy
KGNhY2hlZFNjcmlwdCkpOyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvR0ND
b250cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCmluZGV4IDRj
MjU0MDcuLmQzMmY3NTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9s
bGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaApAQCAtMjYsMTIg
KzI2LDEyIEBACiAjaWZuZGVmIEdDQ29udHJvbGxlcl9oCiAjZGVmaW5lIEdDQ29udHJvbGxlcl9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJUaW1lci5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEdDQ29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdDQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAg
IGZyaWVuZCBHQ0NvbnRyb2xsZXImIGdjQ29udHJvbGxlcigpOwogCiAgICAgcHVibGljOgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01CaW5kaW5nLmgKaW5kZXggNTRlOWNmNi4uNzczYjU3MyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8cnVudGlt
ZS9Mb29rdXAuaD4KICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ01hcC5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dy
YXBwZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5mNDM5NzMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RlYnVnV3JhcHBlclNldC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJKU0RPTVdy
YXBwZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgZGVsZXRlZCB3aXRob3V0IGJl
aW5nIHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGNhY2hl
ZCB0d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNE
ZWJ1Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVhZFNwZWNpZmljPEpT
RGVidWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNEZWJ1Z1dyYXBwZXJTZXQm
IHNoYXJlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgK
aW5kZXggODE5M2Q3Yy4uMzQ5ZGMxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U01haW5UaHJlYWRFeGVjU3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRo
cmVhZEV4ZWNTdGF0ZS5oCkBAIC0zMCwxMSArMzAsMTEgQEAKICNpZm5kZWYgTkRFQlVHCiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNlbmRpZgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTWFpblRocmVhZEV4ZWNTdGF0ZSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIEpTQzo6RXhlY1N0YXRlKiBjdXJyZW50U3RhdGUoKQogICAgIHsgCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2YzlkMGJhLi5jZmNlZWQ0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCisrKyBiL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICogdGltZSBpbnRlcnZhbCwgZWl0aGVyIG9uY2Ugb3IgcmVwZWF0
ZWRseS4gVXNlZCBmb3Igd2luZG93LnNldFRpbWVvdXQoKQogICAgICogYW5kIHdpbmRvdy5zZXRJ
bnRlcnZhbCgpCiAgICAgKi8KLSAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxTY2hlZHVsZWRBY3Rpb24+IGNy
ZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIERPTVdyYXBwZXJXb3JsZCogaXNvbGF0ZWRXb3JsZCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmluZGV4IDE1YzIz
YzUuLjI3ODE0ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRE9N
V2luZG93OwogICAgIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIAotICAgIGNsYXNzIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdENhY2hl
ZEZyYW1lRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHR5cGVkZWYgSGFz
aE1hcDwgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpTQzo6UHJvdGVjdGVkUHRyPEpTRE9NV2lu
ZG93PiA+IEpTRE9NV2luZG93U2V0OwogCiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDMxNzJjNjUuLmQyNTkzZjcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTU2LDcgKzU2LDggQEAgY2xhc3MgUGFnZUdy
b3VwOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIGNsYXNzIEphdmFTY3JpcHRDYWxsRnJh
bWU7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dlciwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVk
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaCBi
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAppbmRleCAwNWU3YTI1Li5kNGRk
NjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCkBAIC0zMiwxMSArMzIsMTEg
QEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlw
dFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBT
dHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9w
KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFN0YXRlLmgKaW5kZXggMGMwODYxMS4uNDk3MTkyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogI2RlZmluZSBTY3JpcHRTdGF0ZV9oCiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGVjU3RhdGU7CkBAIC01Miw3ICs1MSw4IEBAIGNsYXNz
IFBhZ2U7CiAvLyBGb3Igbm93LCB0aGUgc2VwYXJhdGlvbiBpcyBwdXJlbHkgYnkgY29udmVudGlv
bi4KIHR5cGVkZWYgSlNDOjpFeGVjU3RhdGUgU2NyaXB0U3RhdGU7CiAKLWNsYXNzIFNjcmlwdFN0
YXRlUHJvdGVjdGVkUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIo
U2NyaXB0U3RhdGUqKTsKICAgICB+U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNTI4Y2JjOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDE3ICsy
NCwxOCBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRE9NT2Jq
ZWN0SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xv
YmFsRGF0YTo6Q2xpZW50RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVK
U0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGFXb3JsZEl0ZXJhdG9yOwog
ICAgIGZyaWVuZCB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpKU0dsb2JhbERh
dGEqKTsKIAogcHVibGljOgorICAgIFdlYkNvcmVKU0NsaWVudERhdGEoKSB7IH0KICAgICB2aXJ0
dWFsIH5XZWJDb3JlSlNDbGllbnREYXRhKCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3dvcmxk
U2V0LmNvbnRhaW5zKG1fbm9ybWFsV29ybGQuZ2V0KCkpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggYmU3ZGE0ZC4uNzhiN2RkZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKQEAgLTMxLDcgKzMx
LDYgQEAKIAogI2luY2x1ZGUgPHJ1bnRpbWUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQ1LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFNjcmlwdFZhbHVlOwogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7
CiAKLSAgICBjbGFzcyBXb3JrZXJTY3JpcHRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBXb3JrZXJTY3JpcHRDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV29ya2VyU2NyaXB0Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiAgICAgcHVibGljOgogICAgICAgICBXb3JrZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNv
bnRleHQqKTsKICAgICAgICAgfldvcmtlclNjcmlwdENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01E
YXRhLmgKaW5kZXggYzhiNGE0MS4uMDlkNTM0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9ET01EYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKQEAgLTQz
LDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHRocmVhZC4gIFRoZSBET01E
YXRhIGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZSBET01EYXRhIGZvciBjaGlsZCB0aHJlYWRz
CiAgICAgLy8gdXNlIGRpZmZlcmVudCBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9N
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRE9N
RGF0YSgpOwogICAgICAgICB2aXJ0dWFsIH5ET01EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRh
U3RvcmUuaAppbmRleCAzNzU4ZTIzLi44YzZjMDJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGFTdG9yZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0
b3JlLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KQEAgLTE0OSw3ICsxNDgsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gVGhpcyBjbGFzcyBkb2Vzbid0IG1hbmFnZSB0
aGUgbGlmZXRpbWUgb2YgdGhlIHN0b3JlLiAgVGhlIGRhdGEgc3RvcmUKICAgICAvLyBsaWZldGlt
ZSBpcyBtYW5hZ2VkIGJ5IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBET01EYXRhU3Rv
cmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGFTdG9yZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGFTdG9yZSk7CiAgICAgcHVibGljOgogICAg
ICAgICBlbnVtIERPTVdyYXBwZXJNYXBUeXBlIHsKICAgICAgICAgICAgIERPTU5vZGVNYXAsCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxYWExZjYy
Li5mNDJlODExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZy
YW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmgKQEAgLTYwLDE0ICs2MCwxNCBAQCBwdWJsaWM6CiAKICNpbmNsdWRlICJPd25IYW5kbGUuaCIK
ICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZyYW1lOwogY2xhc3MgRE9NV2luZG93OwogCi1jbGFzcyBT
Y3JpcHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlw
dENhY2hlZEZyYW1lRGF0YSAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdENhY2hl
ZEZyYW1lRGF0YSApOwogcHVibGljOgogICAgIFNjcmlwdENhY2hlZEZyYW1lRGF0YShGcmFtZSop
OwogICAgIH5TY3JpcHRDYWNoZWRGcmFtZURhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0RGVidWdTZXJ2ZXIuaAppbmRleCA1YzVkNmM2Li40NDFhYjNkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAiVGlt
ZXIuaCIKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTQ4LDcgKzQ3LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7
CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNjcmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1
Z1NlcnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCmluZGV4IGI3NWEwNTQuLmUwOTY5
ZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKQEAgLTM2LDEzICszNiwxMyBA
QAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNj
cmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5o
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCmluZGV4IDExODEzYjAuLmRjMjQ3
MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2lu
Y2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiBj
bGFzcyBQYWdlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTY3JpcHRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGUp
OwogcHVibGljOgogICAgIGJvb2wgaGFkRXhjZXB0aW9uKCkgeyByZXR1cm4gIW1fZXhjZXB0aW9u
LklzRW1wdHkoKTsgfQogICAgIHZvaWQgc2V0RXhjZXB0aW9uKHY4OjpMb2NhbDx2ODo6VmFsdWU+
IGV4Y2VwdGlvbikKQEAgLTc5LDcgKzc5LDggQEAgcHVibGljOgogICAgIH5FbXB0eVNjcmlwdFN0
YXRlKCkgeyB9CiB9OwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIFNj
cmlwdFN0YXRlUHJvdGVjdGVkUHRyKCkgOiBtX3NjcmlwdFN0YXRlKDApIHsgfQogICAgIFNjcmlw
dFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkgOiBtX3NjcmlwdFN0
YXRlKHNjcmlwdFN0YXRlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0
VmFsdWUuY3BwCmluZGV4IDM2ZmMxZjYuLjJjMjg3ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTEyOCw3ICsxMjgsOCBAQCBwcml2YXRl
OgogCiAvLyBXcml0ZXIgaXMgcmVzcG9uc2libGUgZm9yIHNlcmlhbGl6aW5nIHByaW1pdGl2ZSB0
eXBlcyBhbmQgc3RvcmluZwogLy8gaW5mb3JtYXRpb24gdXNlZCB0byByZWNvbnN0cnVjdCBjb21w
b3NpdGUgdHlwZXMuCi1jbGFzcyBXcml0ZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBXcml0ZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdyaXRlcik7CiBwdWJsaWM6CiAgICAgV3JpdGVy
KCkKICAgICAgICAgOiBtX3Bvc2l0aW9uKDApCkBAIC0zNzcsNyArMzc4LDggQEAgcHVibGljOgog
ICAgIH0KIAogcHJpdmF0ZToKLSAgICBjbGFzcyBTdGF0ZUJhc2UgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFN0YXRlQmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0YXRlQmFzZSk7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5TdGF0ZUJhc2UoKSB7
IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmggYi9XZWJDb3JlL2JyaWRn
ZS9CcmlkZ2UuaAppbmRleCA1MGVmYzY0Li45MTgyMjZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jy
aWRnZS9CcmlkZ2UuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaApAQCAtMjgsMTQgKzI4
LDE1IEBACiAjZGVmaW5lIEJyaWRnZV9oCiAKICNpbmNsdWRlICJCcmlkZ2VKU0MuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyAgewogCiBuYW1lc3BhY2Ug
QmluZGluZ3MgewogCi1jbGFzcyBNZXRob2QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TWV0aG9kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXRob2QpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogcHVibGljOgorICAgIE1ldGhvZCgpIHsgfQogICAgIHZpcnR1YWwgaW50IG51
bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIH5NZXRob2QoKSB7IH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaCBiL1dlYkNvcmUvYnJpZGdl
L0lkZW50aWZpZXJSZXAuaAppbmRleCA5OWJhZTBiLi5jYTQzYWQwIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmll
clJlcC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSWRlbnRpZmllclJlcF9oCiAKICNp
bmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+
CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBJZGVudGlmaWVyUmVwIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclJlcCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGludCk7CiAg
ICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChjb25zdCBjaGFyKik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmggYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdl
SlNDLmgKaW5kZXggOTY5NzRkOS4uODhlYzcyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2Uv
anNjL0JyaWRnZUpTQy5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaApAQCAt
NTksOCArNTksMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkZpZWxkKCkgeyB9CiB9OwogCi1j
bGFzcyBDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDbGFzcyB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgorICAgIENsYXNzKCkgeyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChj
b25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVs
ZCogZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwg
Y29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsx
MjcsOCBAQCBwcml2YXRlOgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVP
YmplY3Q7CiB9OwogCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBB
cnJheSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFy
cmF5KFBhc3NSZWZQdHI8Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaCBiL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfcm9vdC5oCmluZGV4IGJhYmQ3YWQuLjM5ZmIzNTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfcm9vdC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5o
CkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZh
bHVlLmgKaW5kZXggODMzZDdmZS4uNTZiMjgyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMzIsNiAr
MzIsNyBAQCBjbGFzcyBTdHlsZUNhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVJbWFnZTsKIAogY2xh
c3MgQ1NTSW1hZ2VWYWx1ZSA6IHB1YmxpYyBDU1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0ZSBDYWNo
ZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSk7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJ
bWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBDU1NJbWFnZVZhbHVlKHVybCkpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NJbXBv
cnRSdWxlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKaW5kZXggMTBkMzAyNi4uNzNm
MmFjYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU0ltcG9ydFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNoZWRDU1NT
dHlsZVNoZWV0OwogY2xhc3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxlIDogcHVi
bGljIENTU1J1bGUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1wb3J0
UnVsZT4gY3JlYXRlKENTU1N0eWxlU2hlZXQqIHBhcmVudCwgY29uc3QgU3RyaW5nJiBocmVmLCBQ
YXNzUmVmUHRyPE1lZGlhTGlzdD4gbWVkaWEpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvQ1NTTmFtZXNwYWNlLmggYi9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaAppbmRleCA2MjI1
YzM2Li4wNmQ0MDZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaApAQCAtMjYsNyArMjYsOSBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLSAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIDogTm9uY29weWFibGUgewor
ICAgIHN0cnVjdCBDU1NOYW1lc3BhY2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShD
U1NOYW1lc3BhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIHB1YmxpYzoKICAgICAg
ICAgQXRvbWljU3RyaW5nIHByZWZpeDsKICAgICAgICAgQXRvbWljU3RyaW5nIHVyaTsKICAgICAg
ICAgT3duUHRyPENTU05hbWVzcGFjZT4gcGFyZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmggYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCBhY2Y5N2YyLi4wY2U3
NWNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaApAQCAtMzI5LDcgKzMyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBpbnQgY3NzUHJvcGVydHlJRChjb25zdCBTdHJpbmcmKTsKICAgICBpbnQgY3NzVmFsdWVLZXl3
b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJik7CiAKLSAgICBjbGFzcyBTaG9ydGhhbmRTY29w
ZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBTaG9y
dGhhbmRTY29wZShDU1NQYXJzZXIqIHBhcnNlciwgaW50IHByb3BJZCkgOiBtX3BhcnNlcihwYXJz
ZXIpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5o
IGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggOTkzYWUyOC4uNDVmNGE0NiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKKysrIGIvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTU5LDcgKzU5LDggQEAgc3RydWN0IENTU1BhcnNlclZh
bHVlIHsKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjcmVhdGVDU1NWYWx1ZSgpOwogfTsKIAot
Y2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3Mg
Q1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIENTU1BhcnNlclZhbHVlTGlzdCgpCiAgICAgICAgIDogbV9jdXJyZW50KDApCkBAIC04
Myw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPENTU1BhcnNlclZhbHVlLCA0PiBtX3Zh
bHVlczsKIH07CiAKLXN0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiA6IEZhc3RBbGxvY0Jhc2Ugewor
c3RydWN0IENTU1BhcnNlckZ1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAor
cHVibGljOgogICAgIENTU1BhcnNlclN0cmluZyBuYW1lOwogICAgIE93blB0cjxDU1NQYXJzZXJW
YWx1ZUxpc3Q+IGFyZ3M7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHku
aCBiL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKaW5kZXggMTA2MTcxZC4uOWE5ZWM0NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgQ1NTUHJvcGVydHkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQcm9wZXJ0
eSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDU1NQcm9wZXJ0
eShpbnQgcHJvcElELCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQg
PSBmYWxzZSwgaW50IHNob3J0aGFuZElEID0gMCwgYm9vbCBpbXBsaWNpdCA9IGZhbHNlKQogICAg
ICAgICA6IG1faWQocHJvcElEKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
Y3BwIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGZiOGY2OTUuLjQyY2RmNzkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvci5jcHAKQEAgLTM3LDggKzM3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotY2xhc3MgQ1NTU2VsZWN0b3JCYWcgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTU2VsZWN0b3JCYWcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENTU1NlbGVjdG9yQmFnKTsKIHB1YmxpYzoKKyAgICBDU1NTZWxlY3RvckJh
ZygpIHsgfQogICAgIH5DU1NTZWxlY3RvckJhZygpCiAgICAgewogICAgICAgICBBU1NFUlQoaXNF
bXB0eSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDAwZTIzYjkuLjQ2ZjRhYWYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApA
QCAtMjQsNyArMjQsNiBAQAogCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgogI2luY2x1ZGUg
IlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAg
LTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENTU1NlbGVjdG9y
QmFnOwogCiAgICAgLy8gdGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0b3IgZm9yIGEgU3R5
bGVSdWxlCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIENTU1NlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2Vs
ZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ1NT
U2VsZWN0b3IoKQogICAgICAgICAgICAgOiBtX3JlbGF0aW9uKERlc2NlbmRhbnQpCkBAIC0zMDIs
NyArMzAyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBzcGVjaWZp
Y2l0eUZvclBhZ2UoKSBjb25zdDsKICAgICAgICAgdm9pZCBleHRyYWN0UHNldWRvVHlwZSgpIGNv
bnN0OwogCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
c3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJhcmVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgUmFyZURhdGEoUGFzc093blB0cjxDU1NTZWxlY3Rvcj4gdGFnSGlzdG9yeSkKICAgICAgICAg
ICAgICAgICA6IG1fYSgwKQogICAgICAgICAgICAgICAgICwgbV9iKDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlz
dC5oCmluZGV4IDllNDBlZjguLjg1ODQyNzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yTGlzdC5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCkBAIC0yNywx
MSArMjcsMTEgQEAKICNkZWZpbmUgQ1NTU2VsZWN0b3JMaXN0X2gKIAogI2luY2x1ZGUgIkNTU1Nl
bGVjdG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAKLWNsYXNzIENTU1NlbGVjdG9yTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDU1NTZWxlY3Rvckxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1Nl
bGVjdG9yTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ1NTU2Vs
ZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJyYXkoMCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yTGlz
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCAxZmYzYmQ1Li4wNWExYmY1IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzQ5LDcgKzM0OSw4IEBAIGlmIChpZCA9PSBwcm9w
SUQpIHsgXAogICAgIHJldHVybjsgXAogfQogCi1jbGFzcyBDU1NSdWxlU2V0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENTU1J1bGVTZXQpOwogcHVibGljOgogICAgIENTU1J1bGVTZXQoKTsKICAgICB+Q1NTUnVsZVNl
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oIGIvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCmluZGV4IGI3MTg3NTEuLjEzZmM5N2UgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgY2xhc3MgU3R5bGVkRWxlbWVudDsKIGNs
YXNzIFdlYktpdENTU0tleWZyYW1lUnVsZTsKIGNsYXNzIFdlYktpdENTU0tleWZyYW1lc1J1bGU7
CiAKLWNsYXNzIE1lZGlhUXVlcnlSZXN1bHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TWVkaWFRdWVyeVJlc3VsdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeVJl
c3VsdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTWVkaWFRdWVyeVJl
c3VsdChjb25zdCBNZWRpYVF1ZXJ5RXhwJiBleHByLCBib29sIHJlc3VsdCkKICAgICAgICAgOiBt
X2V4cHJlc3Npb24oZXhwcikKQEAgLTgyLDcgKzgzLDggQEAgcHVibGljOgogfTsKIAogICAgIC8v
IFRoaXMgY2xhc3Mgc2VsZWN0cyBhIFJlbmRlclN0eWxlIGZvciBhIGdpdmVuIGVsZW1lbnQgYmFz
ZWQgb24gYSBjb2xsZWN0aW9uIG9mIHN0eWxlc2hlZXRzLgotICAgIGNsYXNzIENTU1N0eWxlU2Vs
ZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3Ig
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTdHlsZVNlbGVjdG9yKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0b3Io
RG9jdW1lbnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0KiBt
YXBwZWRFbGVtZW50U2hlZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVTaGVl
dCogcGFnZVVzZXJTaGVldCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KiBw
YWdlR3JvdXBVc2VyU2hlZXRzLApAQCAtMjA5LDcgKzIxMSw4IEBAIHB1YmxpYzoKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRBdmFpbGFibGUoKSB7
IHJldHVybiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAgY2xhc3MgU2VsZWN0
b3JDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU2VsZWN0b3JD
aGVja2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdG9yQ2hlY2tl
cik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1bWVu
dCosIGJvb2wgc3RyaWN0UGFyc2luZyk7CiAKQEAgLTMxNSw3ICszMTgsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIFZlY3RvcjxNZWRpYVF1ZXJ5UmVzdWx0Kj4gbV92aWV3cG9ydERlcGVuZGVudE1lZGlh
UXVlcnlSZXN1bHRzOwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTUnVsZURhdGEgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDU1NSdWxlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVi
bGljOgogICAgICAgICBDU1NSdWxlRGF0YSh1bnNpZ25lZCBwb3MsIENTU1N0eWxlUnVsZSogciwg
Q1NTU2VsZWN0b3IqIHNlbCwgQ1NTUnVsZURhdGEqIHByZXYgPSAwKQogICAgICAgICAgICAgOiBt
X3Bvc2l0aW9uKHBvcykKQEAgLTM0Myw3ICszNDcsOCBAQCBwdWJsaWM6CiAgICAgICAgIENTU1J1
bGVEYXRhKiBtX25leHQ7CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTUnVsZURhdGFMaXN0IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1J1bGVEYXRhTGlzdCh1bnNpZ25lZCBwb3Ms
IENTU1N0eWxlUnVsZSogcnVsZSwgQ1NTU2VsZWN0b3IqIHNlbCkKICAgICAgICAgICAgIDogbV9m
aXJzdChuZXcgQ1NTUnVsZURhdGEocG9zLCBydWxlLCBzZWwpKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCmluZGV4IDI4MTAw
OWIuLjdkMWZjN2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAorKysgYi9X
ZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKQEAgLTM3LDcgKzM3LDggQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIE1lZGlhUXVlcnlFeHA7CiAKLWNsYXNzIE1lZGlhUXVlcnkgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTWVkaWFRdWVyeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZW51
bSBSZXN0cmljdG9yIHsKICAgICAgICAgT25seSwgTm90LCBOb25lCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZh
bHVhdG9yLmgKaW5kZXggMDBhYzM5NC4uZDhjNTk4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0
b3IuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogICogdGhlIGRldmlj
ZSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5vdCBrbm93bi4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcnVu
ZSB0aGUgbG9hZGluZwogICogb2Ygc3R5bGVzaGVldHMgdG8gb25seSB0aG9zZSB3aGljaCBhcmUg
cHJvYmFibGUgdG8gbWF0Y2guCiAgKi8KLWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciB7CisgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlFdmFsdWF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIC8qKiBDcmVhdGVzIGV2YWx1YXRvciB3aGljaCBldmFsdWF0ZXMg
b25seSBzaW1wbGUgbWVkaWEgcXVlcmllcwogICAgICAqICBFdmFsdWF0b3IgcmV0dXJucyB0cnVl
IGZvciAiYWxsIiwgYW5kIHJldHVybnMgdmFsdWUgb2YgXG1lZGlhRmVhdHVyZVJlc3VsdApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oIGIvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUV4cC5oCmluZGV4IDcyZDNmZmYuLjhlNDI1NWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlFeHAuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4
LDcgKzM4LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENTU1BhcnNlclZhbHVlTGlz
dDsKIAotY2xhc3MgTWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IE1lZGlhUXVlcnlFeHAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFRdWVyeUV4cD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0
cmluZyYgbWVkaWFGZWF0dXJlLCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHZhbHVlcyk7CiAgICAgfk1l
ZGlhUXVlcnlFeHAoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVy
LmNwcCBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcAppbmRleCA3ZjVmMWI2Li40
YThkMjVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKKysr
IGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCkBAIC01Nyw3ICs1Nyw3IEBAIHZv
aWQgQXN5bmNTY3JpcHRSdW5uZXI6OmV4ZWN1dGVTY3JpcHRTb29uKFNjcmlwdEVsZW1lbnQqIGRh
dGEsIENhY2hlZFJlc291cmNlSGFuCiAgICAgQVNTRVJUKGVsZW1lbnQtPmluRG9jdW1lbnQoKSk7
CiAKICAgICBtX2RvY3VtZW50LT5pbmNyZW1lbnRMb2FkRXZlbnREZWxheUNvdW50KCk7Ci0gICAg
bV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBlbmQobWFrZV9wYWlyKGRhdGEsIGNhY2hlZFNjcmlw
dCkpOworICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKHN0ZDo6bWFrZV9wYWlyKGRh
dGEsIGNhY2hlZFNjcmlwdCkpOwogICAgIGVsZW1lbnQtPnJlZigpOyAvLyBCYWxhbmNlZCBieSBk
ZXJlZigpcyBpbiB0aW1lckZpcmVkKCkgYW5kIGR0b3IuCiAgICAgaWYgKCFtX3RpbWVyLmlzQWN0
aXZlKCkpCiAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVu
bmVyLmgKaW5kZXggMWEwNTFhOC4uMjllZTU2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuaAorKysgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCkBA
IC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2lu
Y2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM4LDcgKzM3
LDggQEAgY2xhc3MgQ2FjaGVkU2NyaXB0OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBTY3JpcHRF
bGVtZW50OwogICAgIAotY2xhc3MgQXN5bmNTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQXN5bmNTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEFzeW5jU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxBc3luY1NjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBk
b2N1bWVudCkgeyByZXR1cm4gbmV3IEFzeW5jU2NyaXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAg
IH5Bc3luY1NjcmlwdFJ1bm5lcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRE9NU3RyaW5n
TWFwLmggYi9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAppbmRleCA4NmEyMmIwLi5mNTAzNmU0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAorKysgYi9XZWJDb3JlL2Rv
bS9ET01TdHJpbmdNYXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBET01TdHJpbmdNYXBf
aAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM1LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKIHR5cGVk
ZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIERPTVN0cmluZ01hcCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBET01TdHJpbmdNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERPTVN0cmluZ01hcCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+RE9NU3RyaW5nTWFwKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4M2JhODg1Li44NDFiYjI0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC00NjU1LDcgKzQ2NTUsOSBAQCB2b2lkIERvY3VtZW50OjphZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAog
ICAgICAgICB3aW5kb3ctPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVs
LCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRh
c2tDb250ZXh0IDogTm9uY29weWFibGUgeworc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVyZm9ybVRhc2tDb250ZXh0KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBQZXJmb3JtVGFza0NvbnRleHQoUGFzc1JlZlB0cjxE
b2N1bWVudFdlYWtSZWZlcmVuY2U+IGRvY3VtZW50UmVmZXJlbmNlLCBQYXNzT3duUHRyPFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2spCiAgICAgICAgIDogZG9jdW1lbnRSZWZlcmVu
Y2UoZG9jdW1lbnRSZWZlcmVuY2UpCiAgICAgICAgICwgdGFzayh0YXNrKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggYi9XZWJDb3JlL2RvbS9Eb2N1
bWVudE1hcmtlckNvbnRyb2xsZXIuaAppbmRleCA5NmZiN2YzLi41MGVjODgzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2Rv
bS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaApAQCAtMzgsOCArMzgsMTAgQEAgY2xhc3MgSW50
UmVjdDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIAotY2xhc3MgRG9jdW1lbnRNYXJrZXJD
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50TWFya2VyQ29u
dHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRNYXJrZXJDb250cm9s
bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBEb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXIoKSB7IH0KICAgICB+RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyBkZXRh
Y2goKTsgfQogCiAgICAgdm9pZCBkZXRhY2goKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2
ZW50LmggYi9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGYwNWQzNmMuLmNkNDlkZTggMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAt
MjQsNiArMjQsNyBAQAogI2lmbmRlZiBFdmVudF9oCiAjZGVmaW5lIEV2ZW50X2gKIAorI2luY2x1
ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkRPTVRpbWVTdGFtcC5oIgogI2luY2x1ZGUgIkV2
ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTMxLDggKzMyLDYg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgQ2xpcGJvYXJkOwotCiAgICAg
Y2xhc3MgRXZlbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudD4gewogICAgIHB1YmxpYzoKICAg
ICAgICAgZW51bSBQaGFzZVR5cGUgeyAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA0OTY4MDRlLi43ZTEwZTZmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5oCkBAIC0xNzgsNyArMTc4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFwK
IC8vIGVuZCBvZiBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gKIAotICAgIGNsYXNzIEV2ZW50TmFt
ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TmFtZXMgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudE5hbWVzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKICAgICAgICAgaW50IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBt
YWNybyB3b3JrLgogICAgICAgICAvLyBQcml2YXRlIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxs
IHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5h
bWVzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAppbmRleCBkZGNiNjYzLi5mYTE5MGRjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAg
LTgzLDcgKzgzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJl
Z2lzdGVyZWRFdmVudExpc3RlbmVyLCAxPiBFdmVudExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVk
ZWYgSGFzaE1hcDxBdG9taWNTdHJpbmcsIEV2ZW50TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3Rl
bmVyTWFwOwogCi0gICAgc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgRXZlbnRUYXJnZXREYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RXZlbnRUYXJnZXREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CiAg
ICAgICAgIEV2ZW50VGFyZ2V0RGF0YSgpOwogICAgICAgICB+RXZlbnRUYXJnZXREYXRhKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3Jl
bWVudGVyLmggYi9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1l
bnRlci5oCmluZGV4IDlkMTgzNWEuLjI2ZjdmZDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0ln
bm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKKysrIGIvV2ViQ29yZS9kb20v
SWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaApAQCAtMjcsMTEgKzI3LDEx
IEBACiAjZGVmaW5lIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyX2gKIAog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElnbm9yZURl
c3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBJ
Z25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcihEb2N1bWVudCogZG9jdW1lbnQp
CiAgICAgICAgIDogbV9jb3VudChkb2N1bWVudCA/ICZkb2N1bWVudC0+bV9pZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnQgOiAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRD
aGFubmVsLmggYi9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAppbmRleCBmMzA4YTI5
Li4xNGQ5MGZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAor
KysgYi9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaApAQCAtNTUsNyArNTUsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBNZXNzYWdlUG9ydENoYW5uZWwgaXMgYSBwbGF0
Zm9ybS1pbmRlcGVuZGVudCBpbnRlcmZhY2UgdG8gdGhlIHJlbW90ZSBzaWRlIG9mIGEgbWVzc2Fn
ZSBjaGFubmVsLgogICAgIC8vIEl0IGFjdHMgYXMgYSB3cmFwcGVyIGFyb3VuZCB0aGUgcGxhdGZv
cm0tZGVwZW5kZW50IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsIGltcGxlbWVudGF0aW9uIHdo
aWNoIGVuc3VyZXMgdGhhdCB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IGNsb3NlKCkgbWV0aG9kIGlz
IGludm9rZWQgYmVmb3JlIGRlc3RydWN0aW9uLgotICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5l
bCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2FnZVBvcnRDaGFubmVsKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0
ZUNoYW5uZWwoUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4sIFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+
KTsKIApAQCAtNzgsNyArNzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIFJl
dHVybnMgdHJ1ZSBpZiB0aGUgcHJveHkgY3VycmVudGx5IGNvbnRhaW5zIG1lc3NhZ2VzIGZvciB0
aGlzIHBvcnQuCiAgICAgICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiAKLSAgICAgICAg
Y2xhc3MgRXZlbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXZl
bnREYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50RGF0YSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPEV2ZW50RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlw
dFZhbHVlPiwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0
YS5oCmluZGV4IGFiMjA4ZDIuLmVkYzUwNjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVS
YXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0zNCw3ICszNCw5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDog
Tm9uY29weWFibGUgeworc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShOb2RlTGlzdHNOb2RlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitw
dWJsaWM6CiAgICAgdHlwZWRlZiBIYXNoU2V0PER5bmFtaWNOb2RlTGlzdCo+IE5vZGVMaXN0U2V0
OwogICAgIE5vZGVMaXN0U2V0IG1fbGlzdHNXaXRoQ2FjaGVzOwogICAgIApAQCAtNjcsNyArNjks
OCBAQCBwcml2YXRlOgogICAgIH0KIH07CiAgICAgCi1jbGFzcyBOb2RlUmFyZURhdGEgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTm9kZVJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShOb2RlUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOiAg
ICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAgICA6IG1fdGFiSW5kZXgoMCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5h
bWUuaAppbmRleCAzNGZjMDY5Li4xN2U4NTAwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9RdWFs
aWZpZWROYW1lLmgKKysrIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0zMiw3ICsz
Miw4IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCog
bV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFsaWZpZWROYW1lIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgUXVhbGlmaWVkTmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBjbGFzcyBRdWFsaWZpZWROYW1lSW1wbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFF1YWxpZmllZE5hbWVJbXBsPiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4
IGI2YmViNmUuLjRlOTFiZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQu
aAorKysgYi9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xh
c3MgU2NyaXB0RWxlbWVudDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlw
dEVsZW1lbnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNjcmlwdEVsZW1lbnQoRWxlbWVudCosIGJvb2wg
Y3JlYXRlZEJ5UGFyc2VyLCBib29sIGlzRXZhbHVhdGVkKTsKICAgICB2aXJ0dWFsIH5TY3JpcHRF
bGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmggYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggYjQ2YTBmNC4u
OGNhODJhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
CisrKyBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMTE2LDggKzEx
NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgcmVmKCkgeyByZWZTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCk7IH0KICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCk7IH0KIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGlj
OgorICAgICAgICAgICAgVGFzaygpIHsgfQogICAgICAgICAgICAgdmlydHVhbCB+VGFzaygpOwog
ICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKSA9IDA7CiAgICAgICAgICAgICAvLyBDZXJ0YWluIHRhc2tzIGdldCBtYXJrZWQgc3BlY2lh
bGx5IHNvIHRoYXQgdGhleSBhcmVuJ3QgZGlzY2FyZGVkLCBhbmQgYXJlIGV4ZWN1dGVkLCB3aGVu
IHRoZSBjb250ZXh0IGlzIHNodXR0aW5nIGRvd24gaXRzIG1lc3NhZ2UgcXVldWUuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmggYi9XZWJDb3JlL2RvbS9TcGFjZVNw
bGl0U3RyaW5nLmgKaW5kZXggODI2ZTZiZC4uODM5OWI2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vU3BhY2VTcGxpdFN0cmluZy5oCisrKyBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcu
aApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBT
cGFjZVNwbGl0U3RyaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU3Bh
Y2VTcGxpdFN0cmluZ0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGFjZVNw
bGl0U3RyaW5nRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAg
ICAgICBTcGFjZVNwbGl0U3RyaW5nRGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzaG91
bGRGb2xkQ2FzZSkKICAgICAgICAgICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRGb2xk
Q2FzZShzaG91bGRGb2xkQ2FzZSksIG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291
cmNlLmgKaW5kZXggZjk3YWZjZi4uOTdlYzQ4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVHJh
bnNmb3JtU291cmNlLmgKKysrIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAgLTIz
LDcgKzIzLDYgQEAKICNpZiBFTkFCTEUoWFNMVCkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtMzMsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lk
KiBQbGF0Zm9ybVRyYW5zZm9ybVNvdXJjZTsKICNlbmRpZgogCi0gICAgY2xhc3MgVHJhbnNmb3Jt
U291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2Ug
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1Tb3VyY2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgVHJhbnNmb3JtU291cmNlKGNv
bnN0IFBsYXRmb3JtVHJhbnNmb3JtU291cmNlJiBzb3VyY2UpOwogICAgICAgICB+VHJhbnNmb3Jt
U291cmNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5o
IGIvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAppbmRleCAxN2VhMzE5Li5kZTU3
ZWZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCisrKyBi
L1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNp
Zm5kZWYgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyR2VzdHVyZUluZGljYXRv
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zNiw3ICszNSw4IEBAIGVudW0gUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgewog
ICAgIERlZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUKIH07CiAKLWNsYXNzIFVzZXJH
ZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJHZXN0dXJl
SW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyR2VzdHVyZUluZGljYXRv
cik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgeyBy
ZXR1cm4gc19wcm9jZXNzaW5nVXNlckdlc3R1cmUgPT0gRGVmaW5pdGVseVByb2Nlc3NpbmdVc2Vy
R2VzdHVyZTsgfQogICAgIHN0YXRpYyBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSBnZXRVc2Vy
R2VzdHVyZVN0YXRlKCkgeyByZXR1cm4gc19wcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmggYi9XZWJDb3Jl
L2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCmluZGV4IDZjNzEwNzkuLmJjM2FjZTEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKKysr
IGIvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaApAQCAtMjYsNyArMjYs
NiBAQAogI2lmbmRlZiBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcl9oCiAjZGVmaW5lIFVzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzQsNyAr
MzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiAK
LWNsYXNzIFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJv
b2wgcHJvY2Vzc2luZ1VzZXJUeXBpbmdHZXN0dXJlKCk7CiAgICAgc3RhdGljIE5vZGUqIGZvY3Vz
ZWRFbGVtZW50QXRHZXN0dXJlU3RhcnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1hNTERv
Y3VtZW50UGFyc2VyLmggYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IGUz
ZDNjYzIuLmQ1ZGE5ZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2Vy
LmgKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtNzEsNiArNzEsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAogICAgIGNsYXNzIFhNTERvY3VtZW50UGFy
c2VyIDogcHVibGljIFNjcmlwdGFibGVEb2N1bWVudFBhcnNlciwgcHVibGljIENhY2hlZFJlc291
cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoRG9j
dW1lbnQqIGRvY3VtZW50LCBGcmFtZVZpZXcqIHZpZXcpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAgYi9XZWJDb3JlL2RvbS9Y
TUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCmluZGV4IDdhMzI4NWYuLjZlZGU3ODYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvV2Vi
Q29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUsMTAgQEAg
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5k
aW5nQ2FsbGJhY2tzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFj
a3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVibGlj
OgorICAgIFBlbmRpbmdDYWxsYmFja3MoKSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNrcygpCiAg
ICAgewogICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oIGIvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJTY29wZS5oCmluZGV4IDU4ZThhNmIuLjhmNDE5MzMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxE
b2N1bWVudFBhcnNlclNjb3BlLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgWE1MRG9jdW1l
bnRQYXJzZXJTY29wZV9oCiAjZGVmaW5lIFhNTERvY3VtZW50UGFyc2VyU2NvcGVfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBFTkFCTEUoWFNMVCkKICNpbmNsdWRlIDxs
aWJ4bWwvdHJlZS5oPgpAQCAtMzYsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKIAotICAgIGNsYXNzIFhNTERvY3VtZW50UGFy
c2VyU2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFhNTERvY3VtZW50UGFy
c2VyU2NvcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxEb2N1bWVudFBhcnNl
clNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2NvcGUoQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKTsKICAgICAgICAgflhNTERv
Y3VtZW50UGFyc2VyU2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVC
dXR0b25Db250cm9sbGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxl
ci5oCmluZGV4IDEyODZjMDcuLjg5ZjJjYmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9E
ZWxldGVCdXR0b25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRv
bkNvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERlbGV0ZUJ1
dHRvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVsZXRlQnV0dG9u
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9uQ29udHJv
bGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVsZXRlQnV0dG9u
Q29udHJvbGxlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25D
b21tYW5kLmNwcAppbmRleCBmYjUyZTU2Li4xYzdiNzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Vk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9S
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTU5LDcgKzU5LDggQEAgZW51bSBFRnJhZ21l
bnRUeXBlIHsgRW1wdHlGcmFnbWVudCwgU2luZ2xlVGV4dE5vZGVGcmFnbWVudCwgVHJlZUZyYWdt
ZW50IH07CiAKIC8vIC0tLSBSZXBsYWNlbWVudEZyYWdtZW50IGhlbHBlciBjbGFzcwogCi1jbGFz
cyBSZXBsYWNlbWVudEZyYWdtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlcGxh
Y2VtZW50RnJhZ21lbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxhY2VtZW50RnJh
Z21lbnQpOwogcHVibGljOgogICAgIFJlcGxhY2VtZW50RnJhZ21lbnQoRG9jdW1lbnQqLCBEb2N1
bWVudEZyYWdtZW50KiwgYm9vbCBtYXRjaFN0eWxlLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9X
ZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDhjYzg5ZTQuLjM5Nzhm
NzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKKysr
IGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtMzIsNyArMzIsNiBA
QAogI2luY2x1ZGUgIlNjcm9sbEJlaGF2aW9yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNs
dWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBWaXNpYmxlUG9z
aXRpb247CiAKIGVudW0gRGlyZWN0aW9uYWxpdHlQb2xpY3kgeyBNYWtlTm9uRGlyZWN0aW9uYWxT
ZWxlY3Rpb24sIE1ha2VEaXJlY3Rpb25hbFNlbGVjdGlvbiB9OwogCi1jbGFzcyBTZWxlY3Rpb25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVjdGlvbkNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdGlvbkNvbnRyb2xsZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gRUFsdGVyYXRpb24geyBBbHRl
cmF0aW9uTW92ZSwgQWx0ZXJhdGlvbkV4dGVuZCB9OwogICAgIGVudW0gRURpcmVjdGlvbiB7IERp
cmVjdGlvbkZvcndhcmQsIERpcmVjdGlvbkJhY2t3YXJkLCBEaXJlY3Rpb25SaWdodCwgRGlyZWN0
aW9uTGVmdCB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBl
ci5oIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCmluZGV4IDRkY2VkMDUu
LmRlOWM3NTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIu
aAorKysgYi9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKQEAgLTcyLDcgKzcy
LDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIGludCBtX2NoZWNraW5nTGVuZ3RoOwogfTsKIAot
Y2xhc3MgVGV4dENoZWNraW5nSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRl
eHRDaGVja2luZ0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENoZWNraW5n
SGVscGVyKTsKIHB1YmxpYzoKICAgICBUZXh0Q2hlY2tpbmdIZWxwZXIoRWRpdG9yQ2xpZW50Kiwg
UGFzc1JlZlB0cjxSYW5nZT4pOwogICAgIH5UZXh0Q2hlY2tpbmdIZWxwZXIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRJdGVyYXRvci5jcHAKaW5kZXggYTk2MjY4ZC4uMWZiZTYwZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVy
YXRvci5jcHAKQEAgLTU3LDcgKzU3LDggQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIC8v
IEtlZXBzIGVub3VnaCBvZiB0aGUgcHJldmlvdXMgdGV4dCB0byBiZSBhYmxlIHRvIHNlYXJjaCBp
biB0aGUgZnV0dXJlLCBidXQgbm8gbW9yZS4KIC8vIE5vbi1icmVha2luZyBzcGFjZXMgYXJlIGFs
d2F5cyBlcXVhbCB0byBub3JtYWwgc3BhY2VzLgogLy8gQ2FzZSBmb2xkaW5nIGlzIGFsc28gZG9u
ZSBpZiA8aXNDYXNlU2Vuc2l0aXZlPiBpcyBmYWxzZS4KLWNsYXNzIFNlYXJjaEJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWFyY2hCdWZmZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNlYXJjaEJ1ZmZlcik7CiBwdWJsaWM6CiAgICAgU2VhcmNoQnVmZmVyKGNvbnN0
IFN0cmluZyYgdGFyZ2V0LCBib29sIGlzQ2FzZVNlbnNpdGl2ZSk7CiAgICAgflNlYXJjaEJ1ZmZl
cigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaCBiL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlVGhyZWFkLmgKaW5kZXggZDdhYWJmNy4uNDUyMDVjNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRo
cmVhZC5oCkBAIC01NCw3ICs1NCw4IEBAIHB1YmxpYzoKICAgICBib29sIHN0YXJ0KCk7CiAgICAg
dm9pZCBzdG9wKCk7CiAKLSAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBUYXNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7CiAgICAg
cHVibGljOgogICAgICAgICB2aXJ0dWFsIH5UYXNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBwZXJmb3JtVGFzaygpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZp
bGVTeXN0ZW0uaCBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAppbmRleCBiNzc5
YTVmLi4xMmE3MDEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVt
LmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw4
IEBAIGNsYXNzIEZpbGVTeXN0ZW1DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiAKIC8vIEtlZXBzIHBlci1wcm9jZXNzIGluZm9ybWF0aW9uIGFuZCBwcm92aWRlcyBhbiBl
bnRyeSBwb2ludCB0byBvcGVuIGEgZmlsZSBzeXN0ZW0uCi1jbGFzcyBMb2NhbEZpbGVTeXN0ZW0g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxGaWxlU3lzdGVtIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMb2NhbEZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIC8vIFJldHVy
bnMgYSBwZXItcHJvY2VzcyBpbnN0YW5jZSBvZiBMb2NhbEZpbGVTeXN0ZW0uCiAgICAgLy8gTm90
ZSB0aGF0IExvY2FsRmlsZVN5c3RlbTo6aW5pdGlhbGl6ZUxvY2FsRmlsZVN5c3RlbSBtdXN0IGJl
IGNhbGxlZCBiZWZvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tI
ZWxwZXIuaCBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAppbmRleCAyNWU2
NzM5Li4wMjBhYzQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVs
cGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCkBAIC01OCw3
ICs1OCw4IEBAIGNsYXNzIEZpbGVFbnRyeVN5bmM7CiAKIC8vIEEgaGVscGVyIHRlbXBsYXRlIGZv
ciBGaWxlU3lzdGVtU3luYyBpbXBsZW1lbnRhdGlvbi4KIHRlbXBsYXRlIDx0eXBlbmFtZSBTdWNj
ZXNzQ2FsbGJhY2ssIHR5cGVuYW1lIE9ic2VydmVyVHlwZSwgdHlwZW5hbWUgQ2FsbGJhY2tBcmcs
IHR5cGVuYW1lIFJlc3VsdFR5cGU+Ci1jbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTeW5jQ2FsbGJhY2tIZWxwZXIpOwogcHVibGljOgogICAgIHR5cGVkZWYgU3lu
Y0NhbGxiYWNrSGVscGVyPFN1Y2Nlc3NDYWxsYmFjaywgT2JzZXJ2ZXJUeXBlLCBDYWxsYmFja0Fy
ZywgUmVzdWx0VHlwZT4gSGVscGVyVHlwZTsKICAgICBTeW5jQ2FsbGJhY2tIZWxwZXIoT2JzZXJ2
ZXJUeXBlKiBvYnNlcnZlciA9IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2hpc3RvcnkvQmFja0Zv
cndhcmRDb250cm9sbGVyLmggYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVy
LmgKaW5kZXggZTg5ZTMyYi4uZDY4MDQ3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9oaXN0b3J5L0Jh
Y2tGb3J3YXJkQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENv
bnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCYWNrRm9yd2FyZENvbnRyb2xs
ZXJfaAogI2RlZmluZSBCYWNrRm9yd2FyZENvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CiAKQEAgLTM2LDcgKzM1LDggQEAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OwogY2xhc3Mg
SGlzdG9yeUl0ZW07CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShCYWNrRm9yd2FyZENvbnRyb2xsZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEJhY2tGb3J3YXJkQ29udHJvbGxlcihQYWdlKiwg
UGFzc1JlZlB0cjxCYWNrRm9yd2FyZExpc3Q+KTsKICAgICB+QmFja0ZvcndhcmRDb250cm9sbGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmggYi9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmgKaW5kZXggNzFhZTVhZC4uZDUwYjljZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCisrKyBiL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUu
aApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDcgKzM4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhpc3RvcnlJdGVtOwogICAgIGNsYXNzIFBhZ2U7CiAg
ICAgCi0gICAgY2xhc3MgUGFnZUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBQYWdlQ2FjaGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2FjaGUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VD
YWNoZSogcGFnZUNhY2hlKCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0Nv
bGxlY3Rpb25DYWNoZS5oIGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRm
MWQxZmEuLmRhM2U2ZDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUu
aAorKysgYi9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlv
bkNhY2hlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIENvbGxlY3Rpb25DYWNoZSgpOwog
ICAgIENvbGxlY3Rpb25DYWNoZShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmKTsKICAgICBDb2xsZWN0
aW9uQ2FjaGUmIG9wZXJhdG9yPShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmIG90aGVyKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwv
RE9NU2V0dGFibGVUb2tlbkxpc3QuaAppbmRleCAyYjcxMWI0Li5lMTUwNzMxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwv
RE9NU2V0dGFibGVUb2tlbkxpc3QuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBET01TZXR0YWJsZVRva2VuTGlzdCA6IHB1YmxpYyBET01Ub2tlbkxpc3Qs
IHB1YmxpYyBSZWZDb3VudGVkPERPTVNldHRhYmxlVG9rZW5MaXN0PiB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxET01TZXR0YWJs
ZVRva2VuTGlzdD4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRE9N
VG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKaW5kZXggNWRmMmVkZS4u
ZTBkYmNjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCisrKyBiL1dl
YkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApAQCAtMjcsMTUgKzI3LDE2IEBACiAKICNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLWNsYXNzIERPTVRva2VuTGlz
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01Ub2tlbkxpc3QgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERPTVRva2VuTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CisgICAgRE9NVG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0
KCkge307CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1l
bnQuY3BwCmluZGV4IGZjYjJiZTguLjU2YmFhN2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAKQEAgLTEyMTEsNyArMTIxMSw5IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6c3RvcmVzVmFs
dWVTZXBhcmF0ZUZyb21BdHRyaWJ1dGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAot
c3RydWN0IEV2ZW50SGFuZGxpbmdTdGF0ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEV2ZW50
SGFuZGxpbmdTdGF0ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAg
ICBSZWZQdHI8SFRNTElucHV0RWxlbWVudD4gbV9jdXJyUmFkaW87CiAgICAgYm9vbCBtX2luZGV0
ZXJtaW5hdGU7CiAgICAgYm9vbCBtX2NoZWNrZWQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
SFRNTFBhcnNlclF1aXJrcy5oIGIvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAppbmRl
eCA1MGRlNzEwLi4zYmYyMmE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1
aXJrcy5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKQEAgLTI3LDEzICsy
NywxMyBAQAogI2RlZmluZSBIVE1MUGFyc2VyUXVpcmtzX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgTm9kZTsKIAotY2xhc3MgSFRNTFBhcnNlclF1aXJrcyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2VyUXVpcmtzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MUGFyc2VyUXVpcmtzKTsKIHB1YmxpYzoKICAgICBIVE1MUGFyc2VyUXVpcmtzKCkg
eyB9CiAgICAgdmlydHVhbCB+SFRNTFBhcnNlclF1aXJrcygpIHsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGMx
NDE3ZmEuLmRmMGFhMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUwLDcgKzQ5LDgg
QEAgY2xhc3MgUmVuZGVyU3R5bGU7CiAvLyBBbiBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMg
dGhlIHR5cGUtc3BlY2lmaWMgcGFydCBvZiBhbiBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90
IGV4cG9zZSBpbnN0YW5jZXMgb2YgSW5wdXRUeXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBp
dCB0byBjbGFzc2VzCiAvLyBvdGhlciB0aGFuIEhUTUxJbnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1
dFR5cGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShJbnB1dFR5cGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVs
ZW1lbnQqLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1
dFR5cGU+IGNyZWF0ZVRleHQoSFRNTElucHV0RWxlbWVudCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oIGIvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCmluZGV4IGNlMDQ0
ZWEuLjFmMTY2YmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAorKysgYi9X
ZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKQEAgLTIyLDEzICsyMiwxMyBAQAogI2RlZmluZSBTdGVw
UmFuZ2VfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50
OwogCi1jbGFzcyBTdGVwUmFuZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RlcFJh
bmdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwUmFuZ2UpOwogcHVibGljOgogICAg
IGJvb2wgaGFzU3RlcDsKICAgICBkb3VibGUgc3RlcDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgK
aW5kZXggZmUxOGI2Yi4uZjgzYTVlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlkYXRp
b25NZXNzYWdlLmgKKysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKQEAgLTMy
LDcgKzMyLDYgQEAKICNkZWZpbmUgVmFsaWRhdGlvbk1lc3NhZ2VfaAogCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTQwLDcgKzM5LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OwogCi1j
bGFzcyBWYWxpZGF0aW9uTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxp
ZGF0aW9uTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRhdGlvbk1lc3Nh
Z2UpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFZhbGlkYXRpb25NZXNzYWdlPiBj
cmVhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCopOwogICAgIH5WYWxpZGF0aW9uTWVzc2FnZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBiL1dlYkNvcmUvaHRt
bC9WYWxpZGl0eVN0YXRlLmgKaW5kZXggNTMyZGRiMi4uMjJhNDhiOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0
ZS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVmFs
aWRpdHlTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxpZGl0eVN0YXRlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGl0eVN0YXRlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBj
cmVhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCogY29udHJvbCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGEyNWU4YTEuLjE0ZjVh
MGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dC5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBA
IC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQw
LDggQEAgY2xhc3MgSFRNTFZpZGVvRWxlbWVudDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9i
amVjdDsKIAotY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDYW52YXNSZW5kZXJpbmdDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50Kik7CiAg
ICAgdmlydHVhbCB+Q2FudmFzUmVuZGVyaW5nQ29udGV4dCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9DU1NQcmVsb2FkU2Nhbm5lci5oCmluZGV4IDdhYzI4MmYuLmZhZTk1YTEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENT
U1ByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1ByZWxvYWRT
Y2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBw
dWJsaWM6CiAgICAgQ1NTUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCmluZGV4IDhiMDliZjUuLmZmNjE4NmQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAorKysg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTMwLDcgKzMw
LDYgQEAKICNpbmNsdWRlICJIVE1MRWxlbWVudFN0YWNrLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1h
dHRpbmdFbGVtZW50TGlzdC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgQXRvbWljSFRNTFRv
a2VuOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBIVE1MQ29uc3Ry
dWN0aW9uU2l0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MQ29uc3RydWN0aW9u
U2l0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTENvbnN0cnVjdGlvblNpdGUpOwog
cHVibGljOgogICAgIEhUTUxDb25zdHJ1Y3Rpb25TaXRlKERvY3VtZW50KiwgRnJhZ21lbnRTY3Jp
cHRpbmdQZXJtaXNzaW9uLCBib29sIGlzUGFyc2luZ0ZyYWdtZW50KTsKICAgICB+SFRNTENvbnN0
cnVjdGlvblNpdGUoKTsKQEAgLTg5LDcgKzg5LDggQEAgcHVibGljOgogICAgIEhUTUxGb3JtRWxl
bWVudCogZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9ybS5nZXQoKTsgfQogICAgIFBhc3NSZWZQ
dHI8SFRNTEZvcm1FbGVtZW50PiB0YWtlRm9ybSgpOwogCi0gICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWRpcmVj
dFRvRm9zdGVyUGFyZW50R3VhcmQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWRp
cmVjdFRvRm9zdGVyUGFyZW50R3VhcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKEhUTUxDb25zdHJ1Y3Rpb25TaXRlJiB0cmVlKQogICAgICAgICAg
ICAgOiBtX3RyZWUodHJlZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERv
Y3VtZW50UGFyc2VyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5o
CmluZGV4IDA1MDUzZGYuLmMyMDFjM2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTERvY3VtZW50UGFyc2VyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1l
bnRQYXJzZXIuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBTY3JpcHRDb250cm9sbGVyOwogY2xh
c3MgU2NyaXB0U291cmNlQ29kZTsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyIDogIHB1Ymxp
YyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIEhUTUxTY3JpcHRSdW5uZXJIb3N0LCBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShIVE1MRG9jdW1l
bnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycykKICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTEVsZW1lbnRTdGFjay5oCmluZGV4IDhhOGUxNjAuLjkzNmQ0MTEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCisrKyBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIEhUTUxF
bGVtZW50U3RhY2tfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zOSwxMiArMzgsMTQgQEAg
Y2xhc3MgUXVhbGlmaWVkTmFtZTsKIAogLy8gTk9URTogVGhlIEhUTUw1IHNwZWMgdXNlcyBhIGJh
Y2t3YXJkcyAoZ3Jvd3MgZG93bndhcmQpIHN0YWNrLiAgV2UncmUgdXNpbmcKIC8vIG1vcmUgc3Rh
bmRhcmQgKGdyb3dzIHVwd2FyZHMpIHN0YWNrIHRlcm1pbm9sb2d5IGhlcmUuCi1jbGFzcyBIVE1M
RWxlbWVudFN0YWNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxFbGVtZW50U3Rh
Y2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxFbGVtZW50U3RhY2spOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAgICB+
SFRNTEVsZW1lbnRTdGFjaygpOwogCi0gICAgY2xhc3MgRWxlbWVudFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgRWxlbWVudFJlY29yZCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVsZW1lbnRSZWNvcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgfkVsZW1l
bnRSZWNvcmQoKTsgLy8gUHVibGljIGZvciB+UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1YmIu
LmY3NWZhNTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVt
ZW50TGlzdC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVs
ZW1lbnQ7CiAKIC8vIFRoaXMgbWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNr
LgotY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0
dGluZ0VsZW1lbnRMaXN0KCk7CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCmluZGV4IGE3MDliZDkuLjY0MmU0MzQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9mIHRo
ZSBhZnRlckluc2VydGlvblBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRhdGEg
YXQgdGhlIGVuZCBvZiB0aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0gdG8g
dGhlICJsYXN0IiBzdHJpbmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShIVE1MSW5wdXRTdHJlYW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAgICAg
ICAgIDogbV9sYXN0KCZtX2ZpcnN0KQpAQCAtMTI4LDcgKzEyOSw4IEBAIHByaXZhdGU6CiAgICAg
U2VnbWVudGVkU3RyaW5nKiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJlY29y
ZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGljOgog
ICAgIGV4cGxpY2l0IEluc2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5wdXRT
dHJlYW0pCiAgICAgICAgIDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCmluZGV4IDViZTMzYjAuLmE0Yjc0NjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBi
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCArMjgs
MTQgQEAKIAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiAK
LWNsYXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIgOiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxQYXJzZXJTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJz
ZXJTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEhUTUxQYXJzZXJTY2hlZHVsZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJz
ZXIqIHBhcnNlcikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
cmVsb2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIu
aAppbmRleCA5NGE5MGU2Li44NjA0NTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDU1NQcmVsb2FkU2Nhbm5l
ci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbi5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTFRva2VuaXplcjsK
IGNsYXNzIFNlZ21lbnRlZFN0cmluZzsKIAotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSFRNTFByZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBIVE1MUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaAppbmRleCA2Y2Y3NGQ4Li4xYjdmOTFmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lu
Y2x1ZGUgIlBlbmRpbmdTY3JpcHQuaCIKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00
Miw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgSFRNTFNjcmlwdFJ1bm5lckhvc3Q7CiBj
bGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCi1jbGFzcyBIVE1MU2NyaXB0UnVubmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxTY3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1
bWVudCogZG9jdW1lbnQsIEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmggYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUb2tlbi5oCmluZGV4IDQyY2RkYjguLjhlY2Q4ZGQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VG9rZW4uaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAKICNpbmNs
dWRlICJOYW1lZE5vZGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW4pOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAgICAg
IFVuaW5pdGlhbGl6ZWQsCkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICAvLyB3YW50
IHRvIGVuZCB1cCB3aXRoIGEgY2xlYW5lciBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdHdvIGNsYXNz
ZXMuCiAgICAgZnJpZW5kIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIAotICAgIGNsYXNzIERvY3R5
cGVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEb2N0eXBlRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3R5cGVEYXRhKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIERvY3R5cGVEYXRhKCkKICAgICAgICAgICAgIDogbV9oYXNQdWJsaWNJZGVudGlmaWVy
KGZhbHNlKQpAQCAtMzUyLDcgKzM1Myw4IEBAIHByaXZhdGU6CiAKIC8vIEZJWE1FOiBUaGlzIGNs
YXNzIHNob3VsZCBldmVudHVhbGx5IGJlIG5hbWVkIEhUTUxUb2tlbiBvbmNlIHdlIG1vdmUgdGhl
CiAvLyBleGl0aW5nIEhUTUxUb2tlbiB0byBiZSBpbnRlcm5hbCB0byB0aGUgSFRNTFRva2VuaXpl
ci4KLWNsYXNzIEF0b21pY0hUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBB
dG9taWNIVE1MVG9rZW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY0hUTUxUb2tl
bik7CiBwdWJsaWM6CiAgICAgQXRvbWljSFRNTFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiAgICAg
ICAgIDogbV90eXBlKHRva2VuLnR5cGUoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRva2VuaXplci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgK
aW5kZXggZjE2YjA0OS4uZDU3NzlmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVG9rZW5pemVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgK
QEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSFRNTFRva2VuaXplcl9oCiAKICNpbmNsdWRlICJT
ZWdtZW50ZWRTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KQEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgRWxlbWVudDsK
IGNsYXNzIEZyYW1lOwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBIVE1MVG9rZW5pemVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUb2tlbml6ZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhUTUxUb2tlbml6ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIGVudW0gU3RhdGUgewogICAgICAgICBEYXRhU3RhdGUsCkBAIC0xNzIsNyArMTcy
LDggQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9z
cGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3ByZXByb2Nlc3NpbmctdGhlLWlucHV0LXN0cmVh
bQotICAgIGNsYXNzIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKElucHV0U3RyZWFtUHJlcHJvY2Vzc29yKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yKEhUTUxUb2tlbml6ZXIqIHRva2VuaXplcikKICAg
ICAgICAgICAgIDogbV90b2tlbml6ZXIodG9rZW5pemVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VHJlZUJ1aWxkZXIuY3BwCmluZGV4IDNkMzkxMzEuLjA0MzFjZjkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTI0MCw3ICsyNDAsOCBAQCBIVE1MRm9ybUVsZW1l
bnQqIGNsb3Nlc3RGb3JtQW5jZXN0b3IoRWxlbWVudCogZWxlbWVudCkKIAogfSAvLyBuYW1lc3Bh
Y2UKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxD
aGFyYWN0ZXJUb2tlbkJ1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXh0ZXJuYWxD
aGFyYWN0ZXJUb2tlbkJ1ZmZlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgRXh0ZXJuYWxDaGFy
YWN0ZXJUb2tlbkJ1ZmZlcihBdG9taWNIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6IG1fY3Vy
cmVudCh0b2tlbi5jaGFyYWN0ZXJzKCkuZGF0YSgpKQpAQCAtMjMzNCw3ICsyMzM1LDggQEAgdm9p
ZCBIVE1MVHJlZUJ1aWxkZXI6OnJlcHJvY2Vzc0VuZFRhZyhBdG9taWNIVE1MVG9rZW4mIHRva2Vu
KQogICAgIHByb2Nlc3NFbmRUYWcodG9rZW4pOwogfQogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXI6
OkZha2VJbnNlcnRpb25Nb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVl
QnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZh
a2VJbnNlcnRpb25Nb2RlKTsKIHB1YmxpYzoKICAgICBGYWtlSW5zZXJ0aW9uTW9kZShIVE1MVHJl
ZUJ1aWxkZXIqIHRyZWVCdWlsZGVyLCBJbnNlcnRpb25Nb2RlIG1vZGUpCiAgICAgICAgIDogbV90
cmVlQnVpbGRlcih0cmVlQnVpbGRlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5o
CmluZGV4IDBlNzU5N2MuLjk2OWM3YTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxk
ZXIuaApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5nRWxlbWVudExp
c3QuaCIKICNpbmNsdWRlICJIVE1MVG9rZW5pemVyLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4
dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRN
TERvY3VtZW50OwogY2xhc3MgTm9kZTsKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSFRNTFRyZWVCdWlsZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MVG9r
ZW5pemVyKiB0b2tlbml6ZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJy
b3JzLCBib29sIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwMyw3ICsyMDMs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlN
b2RlQW5kUmVzZXRNb2RlKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRG
b3JlaWduSW5zZXJ0aW9uTW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQp
OwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAg
ICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250
ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVy
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCkBA
IC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGluZ0xl
dmVsSW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xldmVs
SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcih1
bnNpZ25lZCYgbmVzdGluZ0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0aW5n
TGV2ZWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCA0ZTg4YmVjLi45MDJlZGMz
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3Mg
U2NyaXB0Q2FsbEZyYW1lOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFs
dWU7CiAKLWNsYXNzIENvbnNvbGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IENvbnNvbGVNZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2Fn
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQ29uc29sZU1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBt
LCB1bnNpZ25lZCBsaSwgY29uc3QgU3RyaW5nJiB1LCB1bnNpZ25lZCBnKTsKICAgICBDb25zb2xl
TWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBT
dHJpbmcmIG0sIFBhc3NPd25QdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc093blB0cjxTY3JpcHRD
YWxsU3RhY2s+LCB1bnNpZ25lZCBnKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCmluZGV4
IGY4MGNmYjQuLmZmOGQzOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVk
U2NyaXB0LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtMzQs
NyArMzQsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIlNj
cmlwdE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuaAppbmRleCAxMWYxMGNlLi43YjNlOTJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtMjgsNyArMjgsNiBA
QAogI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpCiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3Mg
SW5zcGVjdG9yVmFsdWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBJbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5z
cGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgogICAgIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnNwZWN0b3JDb250
cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyLCBJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQp
OwogICAgIH5JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoKSB7IH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBjYTVhOWQ5Li5mOWMxMDQwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0xMDEsNyArMTAxLDggQEAgY2xh
c3MgV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdDsKIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJl
c3BvbnNlOwogI2VuZGlmCiAKLWNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRhdGFiYXNl
UmVzb3VyY2U+ID4gRGF0YWJhc2VSZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPGlu
dCwgUmVmUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01TdG9yYWdlUmVzb3Vy
Y2VzTWFwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4
IGFkYzkyNWEuLmNjOGQ0ZjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50LmgKQEAgLTUyLDcgKzUyLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50VHlwZSB7CiAgICAg
TmF0aXZlQnJlYWtwb2ludERlYnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVn
TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3du
UHRyPEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKiwg
SW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
LmgKaW5kZXggOWRjYWE1YS4uNGFhODdlOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTQxLDcgKzQwLDggQEAgY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3Rv
ckZyb250ZW5kSG9zdDsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwgOiBwdWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKEluc3BlY3RvckNvbnRyb2xsZXIqLCBQYWdl
Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCmluZGV4IGU2Nzg0OGQuLmMyOThh
ZGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQu
aAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKQEAgLTM1
LDcgKzM1LDYgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00Nyw3ICs0Niw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIFNjcmlw
dEhlYXBTbmFwc2hvdDsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiAKLWNsYXNzIEluc3BlY3RvclBy
b2ZpbGVyQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqKTsK
ICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggYmMxZTAyNy4uYTZiYTNkNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAsNyArNzAsOCBA
QCBlbnVtIFRpbWVsaW5lUmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3RU
aW1lbGluZVJlY29yZFR5cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zcGVjdG9yRnJv
bnRlbmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmggYi9XZWJDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2suaAppbmRleCA1NGM2YmJhLi4xMzFlMTMxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRDYWxsU3RhY2suaAorKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9TY3JpcHRDYWxsU3RhY2suaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIFNjcmlw
dENhbGxTdGFja19oCiAKICNpbmNsdWRlICJTY3JpcHRDYWxsRnJhbWUuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yQXJyYXk7CiAKLWNsYXNzIFNjcmlwdENhbGxTdGFj
ayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRDYWxsU3RhY2sgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdENhbGxTdGFjayk7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IGNvbnN0IHNpemVfdCBtYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlID0gMjAwOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmggYi9X
ZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKaW5kZXggMTAx
NmFlZC4uNWQ4NDliZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRSZXN1bHRDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxp
Z2h0UmVzdWx0Q2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgSFRUUEhlYWRlck1hcDsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0g
ICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVt
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZUl0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0oYm9vbCBjcmVkZW50aWFscykK
ICAgICAgICAgICAgIDogbV9hYnNvbHV0ZUV4cGlyeVRpbWUoMCkKQEAgLTYzLDcgKzY0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBIZWFkZXJzU2V0IG1faGVhZGVyczsKICAgICB9
OwogCi0gICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0
Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJlZCgpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGViZjNhMjUuLjkzZTc0Mzkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisr
KyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC00Nyw2ICs0
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50OwogCiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNv
dW50ZWQ8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIs
IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJj
ZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9j
dW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50V3JpdGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCmlu
ZGV4IDVmYjNkYzEuLmZiOTM2MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
V3JpdGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaApAQCAtMzksNyAr
MzksOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgVGV4dFJl
c291cmNlRGVjb2RlcjsKIAotY2xhc3MgRG9jdW1lbnRXcml0ZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRG9jdW1lbnRXcml0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERv
Y3VtZW50V3JpdGVyKTsKIHB1YmxpYzoKICAgICBEb2N1bWVudFdyaXRlcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCmluZGV4IGExNWNlZTUuLjMxMTk1M2EgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCkBAIC0yMTQsOCArMjE0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgRW1w
dHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVM
b2FkZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RnJhbWVMb2FkZXJD
bGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIEVtcHR5RnJhbWVM
b2FkZXJDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkg
eyAgfQogICAgIHZpcnR1YWwgdm9pZCBmcmFtZUxvYWRlckRlc3Ryb3llZCgpIHsgfQogCkBAIC0z
ODMsOCArMzg1LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWVOZXR3
b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVybiBQYXNzUmVm
UHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KIH07CiAKLWNsYXNzIEVtcHR5RWRpdG9y
Q2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEVtcHR5RWRpdG9yQ2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRW1wdHlFZGl0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
cHVibGljOgorICAgIEVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlF
ZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpIHsgfQog
CkBAIC00OTYsOCArNTAwLDEwIEBAIHB1YmxpYzoKIH07CiAKICNpZiBFTkFCTEUoQ09OVEVYVF9N
RU5VUykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQ29udGV4dE1lbnVD
bGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50
IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShF
bXB0eUNvbnRleHRNZW51Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoK
KyAgICBFbXB0eUNvbnRleHRNZW51Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlDb250
ZXh0TWVudUNsaWVudCgpIHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVEZXN0cm95
ZWQoKSB7IH0KIApAQCAtNTE5LDggKzUyNSwxMCBAQCBwdWJsaWM6CiAjZW5kaWYgLy8gRU5BQkxF
KENPTlRFWFRfTUVOVVMpCiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotY2xhc3MgRW1wdHlE
cmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBFbXB0eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRW1wdHlEcmFnQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKKyAgICBFbXB0eURyYWdDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eURyYWdDbGll
bnQoKSB7fQogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlv
bihEcmFnRGVzdGluYXRpb25BY3Rpb24sIERyYWdEYXRhKikgeyB9CiAgICAgdmlydHVhbCB2b2lk
IHdpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25zdCBJbnRQ
b2ludCYsIENsaXBib2FyZCopIHsgfQpAQCAtNTMyLDggKzU0MCwxMCBAQCBwdWJsaWM6CiB9Owog
I2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKLWNsYXNzIEVtcHR5SW5zcGVjdG9yQ2xp
ZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRW1wdHlJbnNwZWN0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogcHVibGljOgorICAgIEVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAgICAgdmly
dHVhbCB+RW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbnNw
ZWN0b3JEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJt
aXNzaW9uLmggYi9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCmluZGV4IGQ3MjQ4MzUu
LjdmNThmOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaApAQCAtNDcsNyArNDcsOCBAQCBjbGFz
cyBGb3JtU3VibWlzc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPEZvcm1TdWJtaXNzaW9uPiB7CiBw
dWJsaWM6CiAgICAgZW51bSBNZXRob2QgeyBHZXRNZXRob2QsIFBvc3RNZXRob2QgfTsKIAotICAg
IGNsYXNzIEF0dHJpYnV0ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEF0dHJp
YnV0ZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdHRyaWJ1dGVzKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIEF0dHJpYnV0ZXMoKQogICAgICAgICAgICAgOiBtX21ldGhvZChHZXRN
ZXRob2QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA3NmFkOTc3Li42YTc2M2QwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmgKQEAgLTg2LDcgKzg2LDggQEAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogCiBib29s
IGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBlKTsKIAotY2xhc3MgRnJhbWVMb2Fk
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlcihG
cmFtZSosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAgICAgfkZyYW1lTG9hZGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oIGIvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAppbmRleCBjMzQwOGMyLi4xZGRmMmVhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKQEAgLTI5LDEzICsyOSwx
MyBAQAogI2lmbmRlZiBGcmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAjZGVmaW5lIEZyYW1lTG9h
ZGVyU3RhdGVNYWNoaW5lX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRlIG1hY2hpbmUgZm9yIEZy
YW1lTG9hZGVyLiBOb3RlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBGcmFtZVN0YXRlLAog
Ly8gd2hpY2ggc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBsb2FkIHRoYXQgRnJhbWVM
b2FkZXIgaXMgZXhlY3V0aW5nLgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lKTsKIHB1YmxpYzoKICAg
ICBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9IaXN0b3J5Q29udHJvbGxlci5oIGIvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIu
aAppbmRleCAxYmY1MDcyLi40ZmI4NjNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9IaXN0
b3J5Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgK
QEAgLTMyLDcgKzMyLDYgQEAKIAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAs
OCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOwogCi1jbGFzcyBIaXN0b3J5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIaXN0b3J5Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SGlzdG9yeUNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIGVudW0gSGlzdG9yeVVwZGF0ZVR5cGUg
eyBVcGRhdGVBbGwsIFVwZGF0ZUFsbEV4Y2VwdEJhY2tGb3J3YXJkTGlzdCB9OwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5jcHAKaW5kZXggOTRhMjFhNC4uNmE1NGU4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cApAQCAtNTcsNyArNTcsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1ZUNoZWNrPFdlYkNvcmU6
OkltYWdlTG9hZGVyKj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEltYWdlRXZl
bnRTZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VFdmVudFNlbmRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgSW1hZ2VFdmVudFNlbmRlcihjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAK
aW5kZXggMjhmZGE5YS4uMjQ5NWIxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxl
ci5jcHAKQEAgLTUxLDcgKzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBT
Y2hlZHVsZWROYXZpZ2F0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjaGVkdWxl
ZE5hdmlnYXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZE5hdmlnYXRp
b24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNjaGVkdWxlZE5hdmln
YXRpb24oZG91YmxlIGRlbGF5LCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2Fy
ZExpc3QsIGJvb2wgd2FzRHVyaW5nTG9hZCwgYm9vbCBpc0xvY2F0aW9uQ2hhbmdlKQogICAgICAg
ICA6IG1fZGVsYXkoZGVsYXkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKaW5kZXgg
MTQwMGMyNS4uZjE0ZDA1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAt
NDcsNyArNDcsOCBAQCBjbGFzcyBGcmFtZTsKIHN0cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogY2xh
c3MgU2NoZWR1bGVkTmF2aWdhdGlvbjsKIAotY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShOYXZpZ2F0aW9uU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBOYXZp
Z2F0aW9uU2NoZWR1bGVyKEZyYW1lKik7CiAgICAgfk5hdmlnYXRpb25TY2hlZHVsZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Bp
bmdMb2FkZXIuaAppbmRleCBlYjQzMTY2Li45MjY4YjI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9QaW5nTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCkBAIC0z
NCw3ICszNCw2IEBACiAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1
ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiAvLyB0byBhbGxvdyB0aGUgbG9hZCB0byBsaXZlIGxvbmcgZW5v
dWdoIHRvIGVuc3VyZSB0aGUgbWVzc2FnZSB3YXMgYWN0dWFsbHkgc2VudC4KIC8vIFRoZXJlZm9y
ZSwgYXMgc29vbiBhcyBhIGNhbGxiYWNrIGlzIHJlY2VpdmVkIGZyb20gdGhlIFJlc291cmNlSGFu
ZGxlLCB0aGlzIGNsYXNzIAogLy8gd2lsbCBjYW5jZWwgdGhlIGxvYWQgYW5kIGRlbGV0ZSBpdHNl
bGYuCi1jbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFu
ZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQaW5nTG9hZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsb2FkSW1hZ2UoRnJh
bWUqLCBjb25zdCBLVVJMJiB1cmwpOwogICAgIHN0YXRpYyB2b2lkIHNlbmRQaW5nKEZyYW1lKiwg
Y29uc3QgS1VSTCYgcGluZ1VSTCwgY29uc3QgS1VSTCYgZGVzdGluYXRpb25VUkwpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIvUG9s
aWN5Q2hlY2tlci5oCmluZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL1BvbGljeUNoZWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2Vy
LmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKIGNsYXNzIFJlc291
cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBQb2xpY3lDaGVja2Vy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBvbGljeUNoZWNrZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBvbGljeUNoZWNrZXIpOwogcHVibGljOgogICAgIFBvbGljeUNoZWNr
ZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
LmNwcCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggY2QxNTQzMy4u
MWJkMTlhNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAor
KysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01MCw3ICs1MCw5IEBA
IHN0YXRpYyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAgLSBp
bml0aWFsUHJvZ3Jlc3NWYWx1ZQogCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzSXRlbURlZmF1
bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKLXN0cnVjdCBQcm9ncmVzc0l0ZW0gOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQcm9ncmVzc0l0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAg
IFByb2dyZXNzSXRlbShsb25nIGxvbmcgbGVuZ3RoKSAKICAgICAgICAgOiBieXRlc1JlY2VpdmVk
KDApCiAgICAgICAgICwgZXN0aW1hdGVkTGVuZ3RoKGxlbmd0aCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNz
VHJhY2tlci5oCmluZGV4IDVkNWI2YjIuLjhjNGEwZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL1Byb2dyZXNzVHJhY2tlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tl
ci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFByb2dyZXNzVHJhY2tlcl9oCiAKICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzYsNyArMzUsOCBA
QCBjbGFzcyBGcmFtZTsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBzdHJ1Y3QgUHJvZ3Jlc3NJ
dGVtOwogCi1jbGFzcyBQcm9ncmVzc1RyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUHJvZ3Jlc3NUcmFja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc1Ry
YWNrZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFByb2dyZXNzVHJh
Y2tlcigpOwogICAgIH5Qcm9ncmVzc1RyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaCBiL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaAppbmRleCBiNmRlMzEyLi45
NmY3YjFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvUmVxdWVzdC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZTsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRl
cjsKIAotICAgIGNsYXNzIFJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFJlcXVlc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXF1ZXN0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFJlcXVlc3QoQ2FjaGVkUmVz
b3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50YWwsIFNlY3VyaXR5
Q2hlY2tQb2xpY3ksIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyk7CiAgICAgICAgIH5S
ZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmll
ci5oIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAppbmRleCAyZjEwODU2
Li4yNzA0MDZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmll
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKQEAgLTMwLDcg
KzMwLDYgQEAKICNpZm5kZWYgUmVzb3VyY2VMb2FkTm90aWZpZXJfaAogI2RlZmluZSBSZXNvdXJj
ZUxvYWROb3RpZmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0Miw4IEBAIGNsYXNzIFJlc291cmNlTG9hZGVyOwog
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIAotY2xhc3Mg
UmVzb3VyY2VMb2FkTm90aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3Vy
Y2VMb2FkTm90aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlTG9hZE5v
dGlmaWVyKTsKIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWROb3RpZmllcihGcmFtZSopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCBiL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCmluZGV4IDg0Zjg4NDUuLjI5Yzc0ZGQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMs
NyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRl
cjsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50OwogCi1jbGFzcyBSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWRTY2hlZHVsZXIpOwog
cHVibGljOgogICAgIGZyaWVuZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNj
aGVkdWxlcigpOwogCkBAIC02Niw3ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVs
ZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7CiAgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJlZChUaW1l
cjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Kik7CiAKLSAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24g
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RJbmZvcm1hdGlvbik7CiAgICAgcHVibGljOgog
ICAgICAgICBIb3N0SW5mb3JtYXRpb24oY29uc3QgU3RyaW5nJiwgdW5zaWduZWQpOwogICAgICAg
ICB+SG9zdEluZm9ybWF0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFt
ZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAppbmRleCBhNTczMDQ1
Li5kMTFkOWI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCisr
KyBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU0LDcgKzUzLDgg
QEAgY2xhc3MgTm9kZTsKIGNsYXNzIFdpZGdldDsKIAogLy8gVGhpcyBpcyBhIHNsaWdodCBtaXNu
b21lci4gSXQgaGFuZGxlcyB0aGUgaGlnaGVyIGxldmVsIGxvZ2ljIG9mIGxvYWRpbmcgYm90aCBz
dWJmcmFtZXMgYW5kIHBsdWdpbnMuCi1jbGFzcyBTdWJmcmFtZUxvYWRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTdWJmcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3ViZnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIFN1YmZyYW1lTG9hZGVyKEZyYW1lKik7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNv
cmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCBmNDFhNzc0Li5iYzFhM2JhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFRocmVh
ZGFibGVMb2FkZXJfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyX2gKIAotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFk
IChub3QgdGhyZWFkc2FmZSwgCiAgICAgLy8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90
aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFkKS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3Qg
VGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKQEAgLTc1LDYgKzc1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlRocmVhZGFibGVMb2FkZXIoKTsg
fQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAg
ICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lk
IHJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRo
cmVhZGFibGVMb2FkZXIoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50
LmgKaW5kZXggYmNmNjhiZS4uOGU1Mjc0MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXJDbGllbnQuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJD
bGllbnRfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKIAotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBSZXNv
dXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFk
YWJsZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIC8qYnl0
ZXNTZW50Ki8sIHVuc2lnbmVkIGxvbmcgbG9uZyAvKnRvdGFsQnl0ZXNUb0JlU2VudCovKSB7IH0K
IApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DYW5jZWxsYXRpb24oY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYpIHsgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50KCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXJDbGllbnQoKSB7
IH0KICAgICB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
Q2xpZW50V3JhcHBlci5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdy
YXBwZXIuaAppbmRleCBkM2MxYTlmLi5kNGZlYWNlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Ro
cmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUg
VGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXJfaAogCiAjaW5jbHVkZSAiVGhyZWFkYWJsZUxv
YWRlckNsaWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggODFkYTJlMC4uZTg5MTNlMyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaApAQCAtNTQsNiArNTQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0
YTsKIAogICAgIGNsYXNzIFdvcmtlclRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXb3JrZXJUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShXb3JrZXJDb250ZXh0KiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVM
b2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVhZGFi
bGVMb2FkZXI+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlv
bnMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
R3JvdXAuaCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5o
CmluZGV4IDI5ZDA3NDkuLmQwZGYxMGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAtNTMsNyArNTIsOCBAQCBlbnVtIEFwcGxpY2F0aW9uQ2Fj
aGVVcGRhdGVPcHRpb24gewogICAgIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVXaXRob3V0QnJvd3Np
bmdDb250ZXh0CiB9OwogCi1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMgTm9u
Y29weWFibGUsIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cCA6IFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
cHBsaWNhdGlvbkNhY2hlR3JvdXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIEFwcGxpY2F0aW9uQ2FjaGVHcm91cChjb25zdCBLVVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBp
c0NvcHkgPSBmYWxzZSk7ICAgIAogICAgIH5BcHBsaWNhdGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCmluZGV4IDhhYzUz
NTcuLjY1YzNhOGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVIb3N0LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUhvc3QuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xh
c3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIEFwcGxpY2F0
aW9uQ2FjaGVIb3N0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBcHBsaWNhdGlv
bkNhY2hlSG9zdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2Fj
aGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8v
IFRoZSBTdGF0dXMgbnVtZXJpYyB2YWx1ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUgSFRNTDUgc3Bl
Yy4KICAgICAgICAgZW51bSBTdGF0dXMgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKaW5kZXggN2RiMzRlNi4uMDBiMjljODUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgK
KysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaApA
QCAtNDQsNyArNDQsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVD4KIGNsYXNzIFN0b3JhZ2VJREpvdXJu
YWw7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3Jh
Z2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBlbnVtIEZhaWx1cmVSZWFzb24gewog
ICAgICAgICBPcmlnaW5RdW90YVJlYWNoZWQsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9h
cmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCBiL1dlYkNvcmUvbG9hZGVyL2FyY2hp
dmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oCmluZGV4IDlkNjMwZDEuLjY2ZmI5YTggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlv
bi5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlv
bi5oCkBAIC0zOSw3ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcmNo
aXZlUmVzb3VyY2VDb2xsZWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcmNoaXZl
UmVzb3VyY2VDb2xsZWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZS5oCmluZGV4IGVkNjBmODQuLjBiYmQ1OWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBSZXF1ZXN0OwogLy8gQSByZXNv
dXJjZSB0aGF0IGlzIGhlbGQgaW4gdGhlIGNhY2hlLiBDbGFzc2VzIHdobyB3YW50IHRvIHVzZSB0
aGlzIG9iamVjdCBzaG91bGQgZGVyaXZlCiAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xpZW50LCB0
byBnZXQgdGhlIGZ1bmN0aW9uIGNhbGxzIGluIGNhc2UgdGhlIHJlcXVlc3RlZCBkYXRhIGhhcyBh
cnJpdmVkLgogLy8gVGhpcyBjbGFzcyBhbHNvIGRvZXMgdGhlIGFjdHVhbCBjb21tdW5pY2F0aW9u
IHdpdGggdGhlIGxvYWRlciB0byBvYnRhaW4gdGhlIHJlc291cmNlIGZyb20gdGhlIG5ldHdvcmsu
Ci1jbGFzcyBDYWNoZWRSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNo
ZWRSZXNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAg
ICBmcmllbmQgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2U7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAppbmRleCAyNzVkMzMxLi5mNjAyMWY0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKQEAgLTI1LDcgKzI1
LDYgQEAKICNpZm5kZWYgQ2FjaGVkUmVzb3VyY2VDbGllbnRfaAogI2RlZmluZSBDYWNoZWRSZXNv
dXJjZUNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAqIGluaGVyaXQgZnJvbSB0aGlzIGNsYXNzIGFuZCBv
dmVybG9hZCBvbmUgb2YgdGhlIDMgZnVuY3Rpb25zCiAgICAgICoKICAgICAgKi8KLSAgICBjbGFz
cyBDYWNoZWRSZXNvdXJjZUNsaWVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlCi0gICAgeworICAg
IGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkNhY2hlZFJlc291cmNlQ2xpZW50
KCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmlu
ZGV4IGYzNzFhMGUuLjczNDlhMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuaApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBJbWFnZUxvYWRlcjsKIGNsYXNz
IEtVUkw7CiAKIC8vIFRoZSBDYWNoZWRSZXNvdXJjZUxvYWRlciBtYW5hZ2VzIHRoZSBsb2FkaW5n
IG9mIHNjcmlwdHMvaW1hZ2VzL3N0eWxlc2hlZXRzIGZvciBhIHNpbmdsZSBkb2N1bWVudC4KLWNs
YXNzIENhY2hlZFJlc291cmNlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENh
Y2hlZFJlc291cmNlTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNv
dXJjZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBmcmllbmQgY2xhc3MgTWVtb3J5
Q2FjaGU7CiBmcmllbmQgY2xhc3MgSW1hZ2VMb2FkZXI7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5oCmluZGV4IDE1Y2U5ZGEuLmVhNDkyMWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2Fj
aGUuaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgImxvYWRlci5oIgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSGFzaC5oPgogCkBAIC03MSw3ICs3MCw4IEBAIGNsYXNzIEtVUkw7CiAvLyBpdHMgbWVt
YmVyIHZhcmlhYmxlcykgYXJlIGFsbG9jYXRlZCBpbiBub24tcHVyZ2VhYmxlIFRDLW1hbGxvYydk
IG1lbW9yeSBzbyB3ZSB3b3VsZCBzZWUgc2xpZ2h0bHkKIC8vIG1vcmUgbWVtb3J5IHVzZSBkdWUg
dG8gdGhpcy4KIAotY2xhc3MgTWVtb3J5Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgTWVtb3J5Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lbW9yeUNhY2hlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBmcmllbmQgTWVtb3J5Q2FjaGUq
IGNhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNl
LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCmluZGV4IDYxNDZhYTYuLmFj
MGE1N2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaApAQCAtMzAsNyArMzAsNiBAQAog
I2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3
dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTYyLDgg
KzYxLDggQEAgZW51bSBJY29uTG9hZERlY2lzaW9uIHsKICAgICBJY29uTG9hZFVua25vd24KIH07
CiAKLWNsYXNzIEljb25EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Ci0KK2NsYXNzIElj
b25EYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKIC8vICoqKiBNYWluIFRocmVhZCBPbmx5ICoqKgogcHVibGlj
OgogICAgIHZvaWQgc2V0Q2xpZW50KEljb25EYXRhYmFzZUNsaWVudCopOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKaW5kZXggYzIxMGQ3ZC4uOTFmYWM2YiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCkBAIC0zMCwxNSArMzAsMTYgQEAK
ICNkZWZpbmUgSWNvbkRhdGFiYXNlQ2xpZW50X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIEFsbCBvZiB0aGVzZSBjbGllbnQg
bWV0aG9kcyB3aWxsIGJlIGNhbGxlZCBmcm9tIGEgbm9uLW1haW4gdGhyZWFkCiAvLyBUYWtlIGFw
cHJvcHJpYXRlIG1lYXN1cmVzCiAgCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEljb25E
YXRhYmFzZUNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJY29uRGF0YWJhc2VD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZUNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgSWNvbkRhdGFiYXNlQ2xpZW50KCkg
eyB9CiAgICAgdmlydHVhbCB+SWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCBi
b29sIHBlcmZvcm1JbXBvcnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoRGlkUmVtb3ZlQWxsSWNvbnMoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKaW5k
ZXggMWViYWM0OC4uZDIyMjg5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
TG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3LDcgKzM2LDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBLVVJMOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1jbGFzcyBJ
Y29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uTG9hZGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJY29uTG9hZGVyPiBj
cmVhdGUoRnJhbWUqKTsKICAgICB+SWNvbkxvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmggYi9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxS
ZWNvcmQuaAppbmRleCBmN2NjYjhmLi40YjljZTM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9pY29uL1BhZ2VVUkxSZWNvcmQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxS
ZWNvcmQuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTEsNyArNTAsOCBAQCBwdWJsaWM6CiAgICAgU3Ry
aW5nIGljb25VUkw7CiB9OwogCi1jbGFzcyBQYWdlVVJMUmVjb3JkIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFBhZ2VVUkxSZWNvcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBh
Z2VVUkxSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFBhZ2VV
UkxSZWNvcmQoY29uc3QgU3RyaW5nJiBwYWdlVVJMKTsKICAgICB+UGFnZVVSTFJlY29yZCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9sb2Fk
ZXIuaAppbmRleCA4MThmNTZmLi4yMzIwNDM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9s
b2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9sb2FkZXIuaApAQCAtMjYsNyArMjYsNiBAQAog
I2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2Fk
ZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMzUsOCArMzQsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENhY2hl
ZFJlc291cmNlTG9hZGVyOwogICAgIGNsYXNzIFJlcXVlc3Q7CiAKLSAgICBjbGFzcyBMb2FkZXIg
OiBwdWJsaWMgTm9uY29weWFibGUsIHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgewor
ICAgIGNsYXNzIExvYWRlciA6IFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTG9hZGVyKTsKICAgICBwdWJsaWM6CisgICAgICAgIExvYWRlcigp
IHsgfQogICAgICAgICB+TG9hZGVyKCk7CiAKICAgICAgICAgdm9pZCBsb2FkKENhY2hlZFJlc291
cmNlTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsID0gdHJ1ZSwgU2Vj
dXJpdHlDaGVja1BvbGljeSA9IERvU2VjdXJpdHlDaGVjaywgYm9vbCBzZW5kUmVzb3VyY2VMb2Fk
Q2FsbGJhY2tzID0gdHJ1ZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmggYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXgg
ZjE0YTMwMi4uMzExMDEwOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5oCisrKyBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaApAQCAt
NTksNiArNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4
dDsKIAogICAgIGNsYXNzIE5vdGlmaWNhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNh
dGlvbj4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LCBwdWJsaWMgRXZlbnRUYXJnZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBj
cmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBF
eGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVy
KTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3Qg
Tm90aWZpY2F0aW9uQ29udGVudHMmIGNvbnRlbnRzLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+
IHByb3ZpZGVyKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xs
ZXIuaCBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAppbmRleCA4MzNiOTA5
Li5iNTg1NGIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmgKKysrIGIvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCkBAIC0yNiw3ICsy
Niw2IEBACiAjaWZuZGVmIENvbnRleHRNZW51Q29udHJvbGxlcl9oCiAjZGVmaW5lIENvbnRleHRN
ZW51Q29udHJvbGxlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBFdmVudDsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVDb250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRy
b2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudUNvbnRyb2xs
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4
dE1lbnVDb250cm9sbGVyKFBhZ2UqLCBDb250ZXh0TWVudUNsaWVudCopOwogICAgICAgICB+Q29u
dGV4dE1lbnVDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRy
b2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDBlOTBhNTIuLmM1
OWRhNDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBSYW5nZTsKICAgICBjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVy
OwogICAgIAotICAgIGNsYXNzIERyYWdDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBEcmFnQ29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERyYWdDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIERyYWdDb250cm9sbGVyKFBhZ2UqLCBEcmFnQ2xpZW50Kik7CiAgICAgICAgIH5EcmFn
Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGNhMTlhMGMuLjk0MGMyNWUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRXZl
bnRIYW5kbGVyLmgKQEAgLTgwLDcgKzgwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBHZW5lcmFsRHJh
Z0h5c3RlcmVzaXM7CiAKIGVudW0gSGl0VGVzdFNjcm9sbGJhcnMgeyBTaG91bGRIaXRUZXN0U2Ny
b2xsYmFycywgRG9udEhpdFRlc3RTY3JvbGxiYXJzIH07CiAKLWNsYXNzIEV2ZW50SGFuZGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFdmVudEhhbmRsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlcik7CiBwdWJsaWM6CiAgICAgRXZlbnRIYW5kbGVyKEZy
YW1lKik7CiAgICAgfkV2ZW50SGFuZGxlcigpOwpAQCAtMjIyLDcgKzIyMywxMCBAQCBwcml2YXRl
OgogICAgICAgICBQZXJmb3JtRHJhZ0FuZERyb3AKICAgICB9OwogCi0gICAgc3RydWN0IEV2ZW50
SGFuZGxlckRyYWdTdGF0ZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVy
RHJhZ1N0YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRIYW5kbGVyRHJh
Z1N0YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CisgICAgICAgIEV2
ZW50SGFuZGxlckRyYWdTdGF0ZSgpIHsgfQogICAgICAgICBSZWZQdHI8Tm9kZT4gbV9kcmFnU3Jj
OyAvLyBlbGVtZW50IHRoYXQgbWF5IGJlIGEgZHJhZyBzb3VyY2UsIGZvciB0aGUgY3VycmVudCBt
b3VzZSBnZXN0dXJlCiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNMaW5rOwogICAgICAgICBib29s
IG1fZHJhZ1NyY0lzSW1hZ2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aCBiL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IGZmZWQ1OTIuLjViZWViMmIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5oCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiAgICAgY2xhc3MgRXZlbnRTb3VyY2UgOiBwdWJsaWMg
UmVmQ291bnRlZDxFdmVudFNvdXJjZT4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEV2ZW50U291cmNlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgIHZpcnR1YWwgfkV2ZW50U291cmNl
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmggYi9XZWJDb3Jl
L3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKaW5kZXggYmU1MWM3Ny4uMmU4ODk0YSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1
c0NvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9u
LmgiCiAjaW5jbHVkZSAiU3BhdGlhbE5hdmlnYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBLZXlib2Fy
ZEV2ZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEZvY3VzQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb2N1c0NvbnRyb2xsZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvY3VzQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgRm9jdXNDb250cm9sbGVyKFBhZ2UqKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCmluZGV4
IDk0YjhkMTYuLmJhYzU0NzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAor
KysgYi9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKQEAgLTI2LDcgKzI2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgY2xhc3MgRnJhbWU7CiAKLSAgICBjbGFzcyBGcmFtZVRyZWUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYW1lVHJlZSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZyYW1lVHJlZSk7CiAgICAgcHVibGljOgogICAgICAgICBGcmFtZVRy
ZWUoRnJhbWUqIHRoaXNGcmFtZSwgRnJhbWUqIHBhcmVudEZyYW1lKSAKICAgICAgICAgICAgIDog
bV90aGlzRnJhbWUodGhpc0ZyYW1lKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA3NzAyMjViLi5jYTg2MWQ2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcApAQCAtMTA2LDcgKzEwNiwxMCBAQCBkb3VibGUgRnJhbWVWaWV3Ojpz
X2RlZmVycmVkUmVwYWludERlbGF5SW5jcmVtZW50RHVyaW5nTG9hZGluZyA9IDA7CiAvLyBUaGUg
bWF4aW11bSBudW1iZXIgb2YgdXBkYXRlV2lkZ2V0cyBpdGVyYXRpb25zIHRoYXQgc2hvdWxkIGJl
IGRvbmUgYmVmb3JlIHJldHVybmluZy4KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhVcGRhdGVX
aWRnZXRzSXRlcmF0aW9ucyA9IDI7CiAKLXN0cnVjdCBTY2hlZHVsZWRFdmVudCA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBTY2hlZHVsZWRFdmVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U2NoZWR1bGVkRXZlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgorICAgIFNj
aGVkdWxlZEV2ZW50KCkgeyB9CiAgICAgUmVmUHRyPEV2ZW50PiBtX2V2ZW50OwogICAgIFJlZlB0
cjxOb2RlPiBtX2V2ZW50VGFyZ2V0OwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9HZW9s
b2NhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIu
aAppbmRleCAyZDgxMDZkLi4xNmM3ZWM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvR2VvbG9j
YXRpb25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxl
ci5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBA
IGNsYXNzIEdlb2xvY2F0aW9uRXJyb3I7CiBjbGFzcyBHZW9sb2NhdGlvblBvc2l0aW9uOwogY2xh
c3MgUGFnZTsKIAotY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR2VvbG9jYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBHZW9sb2NhdGlvbkNv
bnRyb2xsZXIoUGFnZSosIEdlb2xvY2F0aW9uQ2xpZW50Kik7CiAgICAgfkdlb2xvY2F0aW9uQ29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaCBiL1dl
YkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKaW5kZXggZmI2ZjZiNS4uOGE1NTM1OSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaAorKysgYi9XZWJDb3JlL3BhZ2UvR3Jv
dXBTZXR0aW5ncy5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgUGFnZUdyb3VwOwogCi1jbGFzcyBHcm91cFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEdyb3VwU2V0dGluZ3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyb3Vw
U2V0dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1BhZ2UuaCBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggZTA3NDgxNC4uNmE2
OGE1YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAi
U2NoZWR1bGVQYWlyLmgiCkBAIC04OSwxMiArODgsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgZW51bSBGaW5kRGlyZWN0aW9uIHsgRmluZERpcmVjdGlvbkZvcndhcmQsIEZpbmREaXJl
Y3Rpb25CYWNrd2FyZCB9OwogCi0gICAgY2xhc3MgUGFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUGFnZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2UpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgc2NoZWR1bGVGb3JjZWRTdHlsZVJlY2Fs
Y0ZvckFsbFBhZ2VzKCk7CiAKICAgICAgICAgLy8gSXQgaXMgdXAgdG8gdGhlIHBsYXRmb3JtIHRv
IGVuc3VyZSB0aGF0IG5vbi1udWxsIGNsaWVudHMgYXJlIHByb3ZpZGVkIHdoZXJlIHJlcXVpcmVk
LgotICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0
cnVjdCBQYWdlQ2xpZW50cyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdl
Q2xpZW50cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgICAgIHB1YmxpYzoKICAgICAg
ICAgICAgIFBhZ2VDbGllbnRzKCk7CiAgICAgICAgICAgICB+UGFnZUNsaWVudHMoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cC5oCmluZGV4IGNjNDdmYmEuLjE0ZGI0OTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdl
R3JvdXAuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKQEAgLTI3LDcgKzI3LDYgQEAK
ICNkZWZpbmUgUGFnZUdyb3VwX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiTGlua0hhc2guaCIKICNpbmNsdWRlICJV
c2VyU2NyaXB0LmgiCiAjaW5jbHVkZSAiVXNlclN0eWxlU2hlZXQuaCIKQEAgLTQxLDcgKzQwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xhc3MgU3RvcmFn
ZU5hbWVzcGFjZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUGFnZUdyb3VwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFn
ZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBh
Z2VHcm91cChjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgICAgICBQYWdlR3JvdXAoUGFnZSopOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oIGIvV2ViQ29y
ZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCmluZGV4IGQ0NDNlYmQuLmY3OTU2YzQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAorKysgYi9XZWJD
b3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKQEAgLTI4LDcgKzI4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIFBhZ2U7CiAKLSAgICBj
bGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBhZ2VHcm91cExvYWREZWZlcnJlcik7CiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3JvdXBM
b2FkRGVmZXJyZXIoUGFnZSosIGJvb2wgZGVmZXJTZWxmKTsKICAgICAgICAgflBhZ2VHcm91cExv
YWREZWZlcnJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oIGIv
V2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCmluZGV4IGFmOGIzMWUuLjViNzA3MjMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGx1
Z2luSGFsdGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBIYWx0YWJsZVBsdWdpbjsKIAotY2xhc3MgUGx1Z2luSGFsdGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFBsdWdpbkhhbHRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1
Z2luSGFsdGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBQbHVnaW5I
YWx0ZXIoUGx1Z2luSGFsdGVyQ2xpZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggYzY1M2FkZC4uOTc5OGU5
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAotICAgIGNsYXNz
IFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTZXR0aW5ncyB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmggYi9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQu
aAppbmRleCA0NTMyZDQ5Li44NTNjMGFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU3BlZWNo
SW5wdXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaApAQCAtMzYsNyArMzYsNiBA
QAogI2luY2x1ZGUgIlNwZWVjaElucHV0TGlzdGVuZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBTcGVl
Y2hJbnB1dExpc3RlbmVyOwogLy8gVGhpcyBjbGFzcyBjb25uZWN0cyB0aGUgaW5wdXQgZWxlbWVu
dHMgcmVxdWlyaW5nIHNwZWVjaCBpbnB1dCB3aXRoIHRoZSBwbGF0Zm9ybSBzcGVjaWZpYwogLy8g
c3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZS4gSXQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgdGhlIGlu
cHV0IGVsZW1lbnRzIHRvIGFjdGl2YXRlIHNwZWVjaAogLy8gcmVjb2duaXRpb24gYW5kIG1ldGhv
ZHMgZm9yIHRoZSBzcGVlY2ggcmVjb2duaXRpb24gZW5naW5lIHRvIHJldHVybiBiYWNrIHRoZSBy
ZXN1bHRzLgotY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBT
cGVlY2hJbnB1dExpc3RlbmVyIHsKK2NsYXNzIFNwZWVjaElucHV0IDogcHVibGljIFNwZWVjaElu
cHV0TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwZWVjaElucHV0KTsKIHB1
YmxpYzoKICAgICBTcGVlY2hJbnB1dChTcGVlY2hJbnB1dENsaWVudCopOwogICAgIHZpcnR1YWwg
flNwZWVjaElucHV0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oIGIv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAppbmRleCAwNjUyNDM5Li5jZDNkMGY1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCisrKyBiL1dlYkNvcmUvcGFnZS9Vc2VyU2Ny
aXB0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBV
c2VyU2NyaXB0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTY3JpcHQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTY3JpcHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0
ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaCBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVT
aGVldC5oCmluZGV4IGZhNDJlMmMuLjI0Nzk4NGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9V
c2VyU3R5bGVTaGVldC5oCisrKyBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCkBAIC0z
NSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclN0eWxlU2hl
ZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclN0eWxlU2hlZXQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTdHlsZVNoZWV0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICBVc2VyU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29u
c3QgS1VSTCYgdXJsLAogICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmlu
Zz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oIGIvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaAppbmRleCAyYjc4MWYxLi40OTA3MWQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
WFNTQXVkaXRvci5oCisrKyBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAgLTY5LDcgKzY5
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICogSFRNTERvY3VtZW50UGFyc2VyOjpz
aG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4dGVybmFsIEph
dmFTY3JpcHQgc2NyaXB0cy4KICAgICAvLyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0
IC0gdXNlZCB0byBsb2FkIDxvYmplY3Q+LzxlbWJlZD4gZWxlbWVudHMuCiAgICAgLy8KLSAgICBj
bGFzcyBYU1NBdWRpdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYU1NBdWRp
dG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBYU1NBdWRpdG9yKEZyYW1lKik7
CiAgICAgICAgIH5YU1NBdWRpdG9yKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25C
YXNlLmNwcAppbmRleCA2NjE3MmY3Li41MTI2NTBiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQmFzZS5jcHAKQEAgLTIxOSw3ICsyMTksOCBAQCBjbGFzcyBQcm9wZXJ0eVdyYXBw
ZXJCYXNlOwogc3RhdGljIHZvaWQgYWRkU2hvcnRoYW5kUHJvcGVydGllcygpOwogc3RhdGljIFBy
b3BlcnR5V3JhcHBlckJhc2UqIHdyYXBwZXJGb3JQcm9wZXJ0eShpbnQgcHJvcGVydHlJRCk7CiAK
LWNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvcGVydHlX
cmFwcGVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgUHJvcGVy
dHlXcmFwcGVyQmFzZShpbnQgcHJvcCkKICAgICAgICAgOiBtX3Byb3AocHJvcCkKQEAgLTQzOCw3
ICs0MzksOCBAQCBwdWJsaWM6CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNzIEZp
bGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdy
YXBwZXJCYXNlLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRmlsbExheWVyUHJvcGVydHlX
cmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcik7CiBw
dWJsaWM6CiAgICAgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKFQgKEZpbGxMYXllcjo6
KmdldHRlcikoKSBjb25zdCkKICAgICAgICAgOiBtX2dldHRlcihnZXR0ZXIpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggYi9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKaW5kZXgg
ODkzYzcxNy4uZWE3OGNjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBOb2RlOwog
Y2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKLWNsYXNzIEFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlv
bkNvbnRyb2xsZXJQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUqKTsKICAgICB+QW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlv
bi5oCmluZGV4IDI0OWY0YzMuLjBkMGJiMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9D
b21wb3NpdGVBbmltYXRpb24uaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkltcGxpY2l0
QW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVBbmltYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1dlYkNvcmUvcGFnZS9tYWMv
RXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IDJkYjcxM2YuLmI5OGJjYjIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGFnZS9tYWMv
RXZlbnRIYW5kbGVyTWFjLm1tCkBAIC03Nyw3ICs3Nyw4IEBAIE5TRXZlbnQgKkV2ZW50SGFuZGxl
cjo6Y3VycmVudE5TRXZlbnQoKQogICAgIHJldHVybiBjdXJyZW50TlNFdmVudFNsb3QoKS5nZXQo
KTsKIH0KIAotY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgeworICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDdXJy
ZW50RXZlbnRTY29wZSk7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUoTlNFdmVudCAq
KTsKICAgICB+Q3VycmVudEV2ZW50U2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXN5bmNGaWxlU3lzdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5o
CmluZGV4IGQ5NmMxYWQuLmMzNGE2NDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5
bmNGaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaApA
QCAtNDQsNyArNDQsOCBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7CiBjbGFzcyBB
c3luY0ZpbGVXcml0ZXJDbGllbnQ7CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMgYXN5bmMgaW50
ZXJmYWNlIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi4g
IE5vdGUgdGhhdCBhbGwgdGhlIG1ldGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4KLWNsYXNzIEFz
eW5jRmlsZVN5c3RlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0
ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+QXN5bmNGaWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCmluZGV4IDI5MGE2NjkuLmNlZThkOTAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAtNDEsOCArNDEs
MTEgQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyOwogc3Ry
dWN0IEZpbGVNZXRhZGF0YTsKIAotY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKTsKIHB1YmxpYzoK
KyAgICBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MoKSB7IH0gICAgCisKICAgICAvLyBDYWxsZWQg
d2hlbiBhIHJlcXVlc3RlZCBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2VlZCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQ
b29sLmgKaW5kZXggZDQ0ZWUxZS4uZDY1NTQzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9BdXRvZHJhaW5lZFBvb2wuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9v
bC5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWZuZGVmIEF1dG9kcmFpbmVkUG9vbF9oCiAjZGVmaW5l
IEF1dG9kcmFpbmVkUG9vbF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lm
ZGVmIF9fT0JKQ19fCiBAY2xhc3MgTlNBdXRvcmVsZWFzZVBvb2w7CkBAIC0zOSw3ICszOCw4IEBA
IGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEF1dG9kcmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdXRvZHJhaW5l
ZFBvb2wgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1dG9kcmFpbmVkUG9vbCk7CiBwdWJs
aWM6CiAgICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEpOwogICAgIH5B
dXRvZHJhaW5lZFBvb2woKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1l
bnUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaAppbmRleCA1MzIxZWQ2Li5kNjY0
OTk5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENv
bnRleHRNZW51X2gKICNkZWZpbmUgQ29udGV4dE1lbnVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpbmNsdWRlICJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJIaXRU
ZXN0UmVzdWx0LmgiCkBAIC00NSw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBDb250ZXh0TWVudUNsaWVudEVmbDsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1l
bnUgOiBwdWJsaWMgTm9uY29weWFibGUKLSAgICB7CisgICAgY2xhc3MgQ29udGV4dE1lbnUgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0
UmVzdWx0Jik7CiAgICAgICAgIENvbnRleHRNZW51KGNvbnN0IEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBQbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L0NvbnRleHRNZW51SXRlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApp
bmRleCBlNzAyOTIxLi4xMTI2NTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRl
eHRNZW51SXRlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKQEAg
LTI1Miw3ICsyNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQ
bGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb247CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRN
ZW51SXRlbSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAg
ICAgQ29udGV4dE1lbnVJdGVtKFBsYXRmb3JtTWVudUl0ZW1EZXNjcmlwdGlvbik7CiAgICAgICAg
IENvbnRleHRNZW51SXRlbShDb250ZXh0TWVudSogc3ViTWVudSA9IDApOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9E
ZXByZWNhdGVkUHRyTGlzdC5oCmluZGV4IDQ3Y2Q1MzguLjFlOTk0OTIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L0RlcHJlY2F0ZWRQdHJMaXN0LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBEZXByZWNh
dGVkUHRyTGlzdF9oCiAKICNpbmNsdWRlICJEZXByZWNhdGVkUHRyTGlzdEltcGwuaCIKLSNpbmNs
dWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBs
YXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yOwogCi10ZW1wbGF0
ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZFB0ckxpc3QoKSA6
IGltcGwoZGVsZXRlRnVuYyksIGRlbF9pdGVtKGZhbHNlKSB7IH0KICAgICB+RGVwcmVjYXRlZFB0
ckxpc3QoKSB7IGltcGwuY2xlYXIoZGVsX2l0ZW0pOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJl
Y2F0ZWRQdHJMaXN0SW1wbC5jcHAKaW5kZXggOTZmZDUxMy4uM2E5OTFmOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcApAQCAtMjksMTIgKzI5LDExIEBACiAj
aW5jbHVkZSA8Y3N0ZGRlZj4KICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUK
LXsKK2NsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGVwcmVjYXRlZExpc3ROb2RlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBEZXByZWNhdGVkTGlzdE5vZGUodm9pZCAqZCkgOiBkYXRhKGQpLCBuZXh0KDApLCBwcmV2KDAp
IHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9FdmVudExvb3AuaAppbmRleCBiMDUwN2Y3Li44ZjY0NzQ4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRXZl
bnRMb29wLmgKQEAgLTI2LDExICsyNiwxMSBAQAogI2lmbmRlZiBFdmVudExvb3BfaAogI2RlZmlu
ZSBFdmVudExvb3BfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEV2ZW50TG9vcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgRXZlbnRMb29wIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZl
bnRMb29wKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEV2ZW50TG9vcCgpCiAgICAgICAgICAgICA6
IG1fZW5kZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9u
U2VydmljZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAppbmRleCAx
NTg1ZjY1Li5kNjBhZTZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9u
U2VydmljZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKQEAg
LTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgR2VvbG9jYXRpb25TZXJ2aWNlX2gKICNkZWZpbmUgR2Vv
bG9jYXRpb25TZXJ2aWNlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1
ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQy
LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZW9sb2NhdGlvblNlcnZpY2VFcnJvck9j
Y3VycmVkKEdlb2xvY2F0aW9uU2VydmljZSopID0gMDsKIH07CiAKLWNsYXNzIEdlb2xvY2F0aW9u
U2VydmljZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2NhdGlvblNlcnZpY2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uU2VydmljZSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIEdlb2xvY2F0aW9uU2VydmljZSogY3JlYXRlKEdlb2xvY2F0aW9uU2Vydmlj
ZUNsaWVudCopOwogICAgIHZpcnR1YWwgfkdlb2xvY2F0aW9uU2VydmljZSgpIHsgfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmggYi9XZWJDb3JlL3BsYXRmb3JtL0hv
c3RXaW5kb3cuaAppbmRleCA3ODgyZDQ4Li43OGE0NDVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL0hvc3RXaW5kb3cuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaApA
QCAtMjYsMTUgKzI2LDE2IEBACiAjaWZuZGVmIEhvc3RXaW5kb3dfaAogI2RlZmluZSBIb3N0V2lu
ZG93X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIldpZGdldC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEN1cnNvcjsKIAotY2xhc3MgSG9zdFdp
bmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShIb3N0V2luZG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKKyAgICBIb3N0V2luZG93KCkgeyB9CiAgICAgdmlydHVhbCB+SG9zdFdpbmRvdygpIHsg
fQogCiAgICAgLy8gUmVxdWVzdHMgdGhlIGhvc3QgaW52YWxpZGF0ZSB0aGUgd2luZG93LCBub3Qg
dGhlIGNvbnRlbnRzLiAgSWYgaW1tZWRpYXRlIGlzIHRydWUgZG8gc28gc3luY2hyb25vdXNseSwg
b3RoZXJ3aXNlIGFzeW5jLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCmluZGV4IDhlMjczNTAuLmI4ODNmZjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL0tpbGxSaW5nLmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgS2lsbFJpbmcgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwcmVwZW5kKGNvbnN0IFN0
cmluZyYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaCBiL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXggN2RkODc1ZS4uYzQyOWE2OSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9MZW5ndGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIExlbmd0aF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0zNSw3ICszNCw5IEBA
IGNvbnN0IGludCBpbnRNaW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFs
dWUgZm9yIGEgMjgtYml0IGludAogCiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwg
UGVyY2VudCwgRml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKIAotc3Ry
dWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBMZW5ndGgoKQogICAgICAgICA6IG1fdmFs
dWUoMCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IDdjNTA3MzcuLjQ5NmZiYjMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vUGFzdGVib2FyZC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpA
QCAtODEsNyArODAsOCBAQCBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiBjbGFzcyBBcmNoaXZl
UmVzb3VyY2U7CiAgICAgCi1jbGFzcyBQYXN0ZWJvYXJkIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFBhc3RlYm9hcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhc3RlYm9hcmQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICAvL0hlbHBlciBmdW5jdGlvbnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNoYXJlIGNvZGUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmggYi9XZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCmluZGV4IGJjMjhlODQuLjZhMzYz
MTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaApAQCAtNzUsNyAr
NzUsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHVpbnQzMjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFR5cGUgewog
ICAgICAgICAgICAgLy8gS2V5RG93biBpcyBzZW50IGJ5IHBsYXRmb3JtcyBzdWNoIGFzIE1hYyBP
UyBYLCBndGsgYW5kIFF0LCBhbmQgaGFzIGluZm9ybWF0aW9uIGFib3V0IGJvdGggcGh5c2ljYWwg
cHJlc3NlZCBrZXksIGFuZCBpdHMgdHJhbnNsYXRpb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZm
ZXIuaAppbmRleCA5YmRhMmQ1Li40NDEzNmMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L1B1cmdlYWJsZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVy
LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBQdXJnZWFibGVCdWZmZXJfaAogCiAjaW5j
bHVkZSAiUHVyZ2VQcmlvcml0eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQdXJnZWFibGVCdWZmZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFBhc3NPd25QdHI8UHVyZ2VhYmxlQnVmZmVyPiBjcmVhdGUoY29uc3QgY2hhciogZGF0
YSwgc2l6ZV90KTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxv
b3BUaW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAppbmRleCA2NWYyNTNl
Li5mOGM1MjlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKQEAgLTMwLDE1ICszMCwxNiBAQAog
I2RlZmluZSBSdW5Mb29wVGltZXJfaAogCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRpbWUgaW50ZXJ2YWxzIGFyZSBhbGwgaW4gc2Vjb25k
cy4KIAotY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSdW5Mb29wVGltZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29wVGlt
ZXJCYXNlKTsKIHB1YmxpYzoKKyAgICBSdW5Mb29wVGltZXJCYXNlKCkgeyB9CiAgICAgdmlydHVh
bCB+UnVuTG9vcFRpbWVyQmFzZSgpOwogCiAgICAgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hlZHVs
ZVBhaXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCAwZWZhZjdhLi5iM2Q4ODk2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBjbGFzcyBQ
bGF0Zm9ybU1vdXNlRXZlbnQ7CiBjbGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3JvbGxWaWV3Owog
Ci1jbGFzcyBTY3JvbGxiYXJUaGVtZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3Jv
bGxiYXJUaGVtZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFyVGhlbWUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIFNjcm9sbGJhclRoZW1lKCkgeyB9
CiAgICAgdmlydHVhbCB+U2Nyb2xsYmFyVGhlbWUoKSB7fTsKIAogICAgIHZpcnR1YWwgYm9vbCBw
YWludChTY3JvbGxiYXIqLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JiAvKmRhbWFn
ZVJlY3QqLykgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
U2hhcmVkVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAppbmRleCA1YjVj
ZDE0Li4xMmRkNmRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCkBAIC0yNiwxNSArMjYsMTYgQEAK
ICNpZm5kZWYgU2hhcmVkVGltZXJfaAogI2RlZmluZSBTaGFyZWRUaW1lcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gRWFj
aCB0aHJlYWQgaGFzIGl0cyBvd24gc2luZ2xlIGluc3RhbmNlIG9mIHNoYXJlZCB0aW1lciwgd2hp
Y2ggaW1wbGVtZW50cyB0aGlzIGludGVyZmFjZS4KICAgICAvLyBUaGlzIGluc3RhbmNlIGlzIHNo
YXJlZCBieSBhbGwgdGltZXJzIGluIHRoZSB0aHJlYWQuCiAgICAgLy8gTm90IGludGVuZGVkIHRv
IGJlIHVzZWQgZGlyZWN0bHk7IHVzZSB0aGUgVGltZXIgY2xhc3MgaW5zdGVhZC4KLSAgICBjbGFz
cyBTaGFyZWRUaW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2hhcmVkVGlt
ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTaGFyZWRUaW1lcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgorICAgICAgICBTaGFyZWRUaW1lcigpIHsgfQog
ICAgICAgICB2aXJ0dWFsIH5TaGFyZWRUaW1lcigpIHt9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBz
ZXRGaXJlZEZ1bmN0aW9uKHZvaWQgKCopKCkpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2Jh
bERhdGEuaAppbmRleCA5ZjU3ZjAwLi5lODQyYjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL1RocmVhZEdsb2JhbERhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2Jh
bERhdGEuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogI2lmIEVOQUJMRShXT1JLRVJTKQpAQCAt
NDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IFRFQ0NvbnZlcnRl
cldyYXBwZXI7CiAgICAgY2xhc3MgVGhyZWFkVGltZXJzOwogCi0gICAgY2xhc3MgVGhyZWFkR2xv
YmFsRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkR2xvYmFsRGF0
YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZEdsb2JhbERhdGEpOwogICAg
IHB1YmxpYzoKICAgICAgICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAgICAgICB+VGhyZWFkR2xv
YmFsRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggYWI0MjU5OC4uMzVlZDAxZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCkBAIC0yNyw3ICsyNyw2IEBACiAjaWZuZGVmIFRocmVh
ZFRpbWVyc19oCiAjZGVmaW5lIFRocmVhZFRpbWVyc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIApAQCAtMzcsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGlt
ZXJCYXNlOwogCiAgICAgLy8gQSBjb2xsZWN0aW9uIG9mIHRpbWVycyBwZXIgdGhyZWFkLiBLZXB0
IGluIFRocmVhZEdsb2JhbERhdGEuCi0gICAgY2xhc3MgVGhyZWFkVGltZXJzIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRUaW1lcnMgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRUaW1lcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1
YmxpYzoKICAgICAgICAgVGhyZWFkVGltZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBjNDQ0M2RhLi4w
ODEwNDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFRpbWVyX2gKICNk
ZWZpbmUgVGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3ICszNCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xhc3Mg
VGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbWVyQmFzZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBUaW1lckJhc2UoKTsKICAgICB2aXJ0dWFsIH5UaW1lckJhc2UoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9UcmVlU2hhcmVkLmgKaW5kZXggOWQ5YWMxZi4uYjg3MmFkZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVk
LmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgVHJlZVNoYXJlZF9oCiAKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzIsNyArMzEsOCBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkOwogdGVtcGxhdGU8dHlwZW5h
bWUgVD4gdm9pZCBhZG9wdGVkKFRyZWVTaGFyZWQ8VD4qKTsKICNlbmRpZgogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBs
YXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRyZWVTaGFyZWQpOwogcHVibGljOgogICAgIFRyZWVTaGFyZWQoKQogICAgICAgICA6IG1f
cmVmQ291bnQoMSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1h
dGlvbkxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApp
bmRleCA5YTMzNGNhLi5jODgxMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1h
dGlvbi9BbmltYXRpb25MaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5p
bWF0aW9uTGlzdC5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgQW5pbWF0aW9uTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFuaW1h
dGlvbkxpc3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQW5p
bWF0aW9uTGlzdCgpIHsgfQogICAgIEFuaW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0aW9uTGlzdCYp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQzMThiODEuLjM5OGUxMjcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgQXVkaW9C
dXNfaAogCiAjaW5jbHVkZSAiQXVkaW9DaGFubmVsLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKQEAgLTM5LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gQW4gQXVkaW9C
dXMgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2Ygb25lIG9yIG1vcmUgQXVkaW9DaGFubmVscy4K
IC8vIFRoZSBkYXRhIGxheW91dCBpcyAicGxhbmFyIiBhcyBvcHBvc2VkIHRvICJpbnRlcmxlYXZl
ZCIuCiAvLyBBbiBBdWRpb0J1cyB3aXRoIG9uZSBjaGFubmVsIGlzIG1vbm8sIGFuIEF1ZGlvQnVz
IHdpdGggdHdvIGNoYW5uZWxzIGlzIHN0ZXJlbywgZXRjLgotY2xhc3MgQXVkaW9CdXMgIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQnVzICB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQXVkaW9CdXMgKTsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAgICAgQ2hhbm5lbExl
ZnQgPSAwLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggNjgxNjgzMC4u
NzMyNWU5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCkBAIC0zMCwxNCAr
MzAsMTQgQEAKICNkZWZpbmUgQXVkaW9DaGFubmVsX2gKIAogI2luY2x1ZGUgIkF1ZGlvQXJyYXku
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuIEF1ZGlvQ2hhbm5lbCByZXByZXNl
bnRzIGEgYnVmZmVyIG9mIG5vbi1pbnRlcmxlYXZlZCBmbG9hdGluZy1wb2ludCBhdWRpbyBzYW1w
bGVzLgogLy8gVGhlIFBDTSBzYW1wbGVzIGFyZSBub3JtYWxseSBhc3N1bWVkIHRvIGJlIGluIGEg
bm9taW5hbCByYW5nZSAtMS4wIC0+ICsxLjAKLWNsYXNzIEF1ZGlvQ2hhbm5lbCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0NoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEF1ZGlvQ2hhbm5lbCk7CiBwdWJsaWM6CiAgICAgLy8gTWVtb3J5IGNhbiBiZSBleHRlcm5h
bGx5IHJlZmVyZW5jZWQsIG9yIGNhbiBiZSBpbnRlcm5hbGx5IGFsbG9jYXRlZCB3aXRoIGFuIEF1
ZGlvRmxvYXRBcnJheS4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RGF0YWJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKaW5kZXgg
YzMzYjM4Zi4uMzUxNDY5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RGF0YWJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCkBA
IC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlICJIUlRGRWxldmF0aW9uLmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
SFJURktlcm5lbDsKIAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhSVEZEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFJURkRhdGFi
YXNlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIUlRGRGF0YWJhc2U+IGNyZWF0
ZShkb3VibGUgc2FtcGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vSFJURkVsZXZhdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9u
LmgKaW5kZXggYjM4OGIzNC4uZjQ0NDQ0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9IUlRGRWxldmF0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxl
dmF0aW9uLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSFJURkVsZXZhdGlvbl9oCiAKICNp
bmNsdWRlICJIUlRGS2VybmVsLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAvLyBIUlRGRWxldmF0aW9uIGNvbnRhaW5zIGFsbCBvZiB0aGUgSFJURktlcm5lbHMgKG9u
ZSBsZWZ0IGVhciBhbmQgb25lIHJpZ2h0IGVhciBwZXIgYXppbXV0aCBhbmdsZSkgZm9yIGEgcGFy
dGljdWxhciBlbGV2YXRpb24uCiAKLWNsYXNzIEhSVEZFbGV2YXRpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFJURkVsZXZhdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFJURkVsZXZhdGlvbik7CiBwdWJsaWM6CiAgICAgLy8gTG9hZHMgYW5kIHJldHVybnMgYW4gSFJU
RkVsZXZhdGlvbiB3aXRoIHRoZSBnaXZlbiBIUlRGIGRhdGFiYXNlIHN1YmplY3QgbmFtZSBhbmQg
ZWxldmF0aW9uIGZyb20gYnJvd3NlciAob3IgV2ViS2l0LmZyYW1ld29yaykgcmVzb3VyY2VzLgog
ICAgIC8vIE5vcm1hbGx5LCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBzaW5nbGUgSFJURiBkYXRhYmFz
ZSBzZXQsIGJ1dCB0aGlzIEFQSSBzdXBwb3J0cyB0aGUgcG9zc2liaWxpdHkgb2YgbXVsdGlwbGUg
b25lcyB3aXRoIGRpZmZlcmVudCBuYW1lcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
Q2xpcGJvYXJkQ2hyb21pdW0uaAppbmRleCAxZDY5OTIxLi44ZDZmYTIxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCkBAIC00Miw2ICs0Miw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBJbnRQb2ludDsKIAogICAgIGNsYXNzIENs
aXBib2FyZENocm9taXVtIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNl
Q2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAg
ICAgICAgIH5DbGlwYm9hcmRDaHJvbWl1bSgpIHt9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuaAppbmRleCA1YTU0OTYzLi5lOTY3OGMxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC02OCw3ICs2OCw5IEBAIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBjbGFzcyBUaW1lcjsKIC8vIEZyYW1lRGF0YSBDbGFzcwogLy8gPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLXN0cnVjdCBGcmFtZURhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgRnJhbWVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGcmFtZURhdGEpOworcHVibGljOgogICAgIEZyYW1lRGF0YSgpCiAgICAgICAgIDogbV9mcmFt
ZSgwKQogICAgICAgICAsIG1faGF2ZU1ldGFkYXRhKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b2xvci5oCmluZGV4IDJlNGU5NjIuLjZkODkyYTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9y
LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29sb3JfaAogI2RlZmluZSBDb2xvcl9oCiAK
LSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC03NSw3ICs3NCw4IEBAIGlu
bGluZSBpbnQgZ3JlZW5DaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDgp
ICYgMHhGRjsgfQogaW5saW5lIGludCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJu
IGNvbG9yICYgMHhGRjsgfQogaW5saW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7
IHJldHVybiAoY29sb3IgPj4gMjQpICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAogcHVibGljOgogICAgIENvbG9yKCkgOiBtX2NvbG9yKDApLCBtX3ZhbGlkKGZhbHNlKSB7IH0K
ICAgICBDb2xvcihSR0JBMzIgY29sKSA6IG1fY29sb3IoY29sKSwgbV92YWxpZCh0cnVlKSB7IH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCmluZGV4IDg3YTFj
NWMuLjA3MjVhOTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4
dFNoYWRvdy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93
LmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkNvbnRleHRTaGFkb3cuaCIKIAogI2lu
Y2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IHVzaW5nIFdURjo6bWluOwogdXNpbmcgV1RGOjptYXg7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5jcHAKaW5kZXggMTQ5ZWE3OS4uZjVkZDhiYSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmNwcApAQCAtNTMsNyArNTMsOSBAQCBGb250Q2FjaGU6OkZvbnRD
YWNoZSgpCiB7CiB9CiAKLXN0cnVjdCBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkgOiBGYXN0QWxs
b2NCYXNlIHsKK3N0cnVjdCBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5KGNv
bnN0IEF0b21pY1N0cmluZyYgZmFtaWx5ID0gQXRvbWljU3RyaW5nKCksIHVuc2lnbmVkIHNpemUg
PSAwLCB1bnNpZ25lZCB3ZWlnaHQgPSAwLCBib29sIGl0YWxpYyA9IGZhbHNlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBib29sIGlzUHJpbnRlckZvbnQgPSBmYWxzZSwgRm9udFJlbmRl
cmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRlcmluZ01vZGUsIEZvbnRPcmllbnRh
dGlvbiBvcmllbnRhdGlvbiA9IEhvcml6b250YWwpCiAgICAgICAgIDogbV9zaXplKHNpemUpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRleCBlNjg0NWQ5Li40ZmE3NDE0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xh
c3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3MgRm9udFNlbGVjdG9yOwogY2xhc3MgU2ltcGxlRm9u
dERhdGE7CiAKLWNsYXNzIEZvbnRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBG
b250Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDYWNoZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgZnJpZW5kIEZvbnRDYWNoZSogZm9udENhY2hl
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAppbmRleCBlZTk0YTk4Li4wZWI2
Njg1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCkBAIC0yNywxNCArMjcsMTQg
QEAKICNkZWZpbmUgRm9udERhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNz
IEZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnREYXRhIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGb250RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgRm9udERhdGEoKQogICAgICAgICA6IG1fbWF4R2x5cGhQYWdlVHJlZUxldmVs
KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01h
cC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAppbmRleCBm
YTg1YmNjLi4zZTEzZmJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ds
eXBoTWV0cmljc01hcC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRy
aWNzTWFwLmgKQEAgLTQwLDcgKzQwLDggQEAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHbHlwaDsK
IAogY29uc3QgZmxvYXQgY0dseXBoU2l6ZVVua25vd24gPSAtMTsKIAotdGVtcGxhdGU8Y2xhc3Mg
VD4gY2xhc3MgR2x5cGhNZXRyaWNzTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRl
PGNsYXNzIFQ+IGNsYXNzIEdseXBoTWV0cmljc01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoR2x5cGhNZXRyaWNzTWFwKTsKIHB1YmxpYzoKICAgICBHbHlwaE1ldHJpY3NNYXAoKSA6IG1f
ZmlsbGVkUHJpbWFyeVBhZ2UoZmFsc2UpIHsgfQogICAgIH5HbHlwaE1ldHJpY3NNYXAoKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggNmFkYzkwYi4u
YmE3ODliNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5o
CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlBhdGgu
aCIKICNpbmNsdWRlICJUZXh0RGlyZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogI2lmIFBMQVRGT1JNKENHKQpAQCAt
MTUzLDcgKzE1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSW50ZXJwb2xhdGlv
bkhpZ2gKICAgICB9OwogCi0gICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHcmFwaGljc0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAg
IHB1YmxpYzoKICAgICAgICAgR3JhcGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0
Kik7CiAgICAgICAgIH5HcmFwaGljc0NvbnRleHQoKTsKQEAgLTM1Niw3ICszNTYsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93
cyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7
CiAKLSAgICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV2luZG93c0JpdG1hcCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFdpbmRv
d3NCaXRtYXAoSERDLCBJbnRTaXplKTsKICAgICAgICAgICAgIH5XaW5kb3dzQml0bWFwKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggYzJk
NWMyNC4uN2MwN2JlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQzRC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogLy8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZs
aWN0aW9uIGZvciBOT19FUlJPUi4KICNpZiAoKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhXSU5E
T1dTKSkgfHwgUExBVEZPUk0oV0lOKSB8fCAoUExBVEZPUk0oUVQpICYmIE9TKFdJTkRPV1MpKSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJp
dmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRl
LmgKaW5kZXggOTg1Y2FkOS4uMTljNjA2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKQEAgLTg0LDcgKzg0LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogI2VuZGlmCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4
dFByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4
dFByaXZhdGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQ
cml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIEdy
YXBoaWNzQ29udGV4dFByaXZhdGUoKQogICAgICAgICAgICAgOiBtX3VwZGF0aW5nQ29udHJvbFRp
bnRzKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRl
eCA5OTFjYTMyLi5lNWRkY2I5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaApAQCAtMTA0LDcgKzEwNCw4IEBAIGNsYXNzIFRpbWluZ0Z1bmN0aW9uOwogLy8gQmFz
ZSBjbGFzcyBmb3IgYW5pbWF0aW9uIHZhbHVlcyAoYWxzbyB1c2VkIGZvciB0cmFuc2l0aW9ucyku
IEhlcmUgdG8KIC8vIHJlcHJlc2VudCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgYmVpbmcgYW5pbWF0
ZWQgdmlhIHRoZSBHcmFwaGljc0xheWVyLAogLy8gd2l0aG91dCBwdWxsaW5nIGluIHN0eWxlLXJl
bGF0ZWQgZGF0YSBmcm9tIG91dHNpZGUgb2YgdGhlIHBsYXRmb3JtIGRpcmVjdG9yeS4KLWNsYXNz
IEFuaW1hdGlvblZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlvblZh
bHVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25WYWx1ZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uVmFsdWUoZmxvYXQga2V5VGlt
ZSwgUGFzc1JlZlB0cjxUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24gPSAwKQogICAgICAg
ICA6IG1fa2V5VGltZShrZXlUaW1lKQpAQCAtMTU2LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAKIC8v
IFVzZWQgdG8gc3RvcmUgYSBzZXJpZXMgb2YgdmFsdWVzIGluIGEga2V5ZnJhbWUgbGlzdC4gVmFs
dWVzIHdpbGwgYWxsIGJlIG9mIHRoZSBzYW1lIHR5cGUsCiAvLyB3aGljaCBjYW4gYmUgaW5mZXJy
ZWQgZnJvbSB0aGUgcHJvcGVydHkuCi1jbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoS2V5ZnJhbWVWYWx1ZUxpc3QpOwogcHVibGljOgogCiAgICAgS2V5ZnJhbWVWYWx1
ZUxpc3QoQW5pbWF0ZWRQcm9wZXJ0eUlEIHByb3BlcnR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZUJ1ZmZlci5oCmluZGV4IDgyMmEwZmYuLmQ1NGUwMDkgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBVbm11bHRpcGxpZWQKICAgICB9OwogCi0gICAgY2xhc3MgSW1hZ2VCdWZm
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEltYWdlQnVmZmVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgLy8gV2lsbCByZXR1cm4gYSBudWxsIHBvaW50ZXIg
b24gYWxsb2NhdGlvbiBmYWlsdXJlLgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxJbWFnZUJ1
ZmZlcj4gY3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9
IENvbG9yU3BhY2VEZXZpY2VSR0IpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ltYWdlU291cmNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNl
LmgKaW5kZXggYWViMTU2MS4uOTFjZWU1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuaApAQCAtMjgsNyArMjgsNiBAQAogI2RlZmluZSBJbWFnZVNvdXJjZV9oCiAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFBMQVRGT1JNKFdYKQpAQCAtMTE3LDcgKzExNiw4
IEBAIGNvbnN0IGludCBjQW5pbWF0aW9uTG9vcE9uY2UgPSAwOwogY29uc3QgaW50IGNBbmltYXRp
b25Mb29wSW5maW5pdGUgPSAtMTsKIGNvbnN0IGludCBjQW5pbWF0aW9uTm9uZSA9IC0yOwogCi1j
bGFzcyBJbWFnZVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVNvdXJj
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VTb3VyY2UpOwogcHVibGljOgogICAg
IEltYWdlU291cmNlKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSA9IHRydWUsIGJvb2wgaWdub3JlR2Ft
bWFBbmRDb2xvclByb2ZpbGUgPSBmYWxzZSk7CiAgICAgfkltYWdlU291cmNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IGU4N2M1M2MuLjMxNjU0Nzgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyAr
MTQ3LDkgQEAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlTnVsbE1l
ZGlhUGxheWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAKIC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0
cnVjdCBNZWRpYVBsYXllckZhY3RvcnkgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5
ZXJGYWN0b3J5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllckZhY3Rvcnkp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorcHVibGljOgogICAgIE1lZGlhUGxheWVyRmFjdG9y
eShDcmVhdGVNZWRpYUVuZ2luZVBsYXllciBjb25zdHJ1Y3RvciwgTWVkaWFFbmdpbmVTdXBwb3J0
ZWRUeXBlcyBnZXRTdXBwb3J0ZWRUeXBlcywgTWVkaWFFbmdpbmVTdXBwb3J0c1R5cGUgc3VwcG9y
dHNUeXBlQW5kQ29kZWNzKSAKICAgICAgICAgOiBjb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikKICAg
ICAgICAgLCBnZXRTdXBwb3J0ZWRUeXBlcyhnZXRTdXBwb3J0ZWRUeXBlcykKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBjOWMwNDJiLi43MWM5OWQ5IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0zNyw3ICszNyw2IEBACiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAt
MTQ2LDcgKzE0NSw4IEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgTWVkaWFQbGF5ZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKE1lZGlhUGxheWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyPiBjcmVhdGUoTWVkaWFQbGF5
ZXJDbGllbnQqIGNsaWVudCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXJQcml2YXRlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oCmluZGV4IGQ5NTYyODYuLjY2OTgxOWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMzYsOCArMzYsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW50UmVjdDsKIGNsYXNzIEludFNpemU7CiAKLWNsYXNz
IE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CisgICAgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAgICAgdmlydHVh
bCB+TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
bG9hZChjb25zdCBTdHJpbmcmIHVybCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9QYXRoLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRl
eCBiYTI1ZGMyLi41Njc3ODRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1BhdGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMjgsNyAr
MjgsNiBAQAogI2lmbmRlZiBQYXRoX2gKICNkZWZpbmUgUGF0aF9oCiAKLSNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKICNpZiBQTEFURk9S
TShDRykKQEAgLTEwMCw3ICs5OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVk
ZWYgdm9pZCAoKlBhdGhBcHBsaWVyRnVuY3Rpb24pKHZvaWQqIGluZm8sIGNvbnN0IFBhdGhFbGVt
ZW50Kik7CiAKLSAgICBjbGFzcyBQYXRoIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNs
YXNzIFBhdGggeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoK
ICAgICAgICAgUGF0aCgpOwogICAgICAgICB+UGF0aCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDU4NDc3ZGIuLjhlM2EwNDEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKQEAgLTM2LDcg
KzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xh
c3MgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQ7CiAKLWNsYXNzIFRpbGVkQmFja2luZ1N0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGVkQmFja2luZ1N0b3JlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUaWxlZEJhY2tpbmdTdG9yZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgVGlsZWRCYWNraW5nU3RvcmUoVGlsZWRCYWNraW5nU3RvcmVDbGll
bnQqKTsKICAgICB+VGlsZWRCYWNraW5nU3RvcmUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZGFj
MzFmOC4uNGYzOTRmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNs
dWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IHR5cGVkZWYgc3RydWN0IEZUX0ZhY2VSZWNfKiAgRlRfRmFjZTsKIHR5cGVkZWYgc3RydWN0IF9j
YWlyb19mb250X2ZhY2UgY2Fpcm9fZm9udF9mYWNlX3Q7CkBAIC0zNSw3ICszNCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZm
ZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOwogcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEoRlRfRmFjZSwgU2hhcmVkQnVmZmVyKik7CiAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJD
YW52YXMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMu
aAppbmRleCA2ZmMxYTBlLi44MTlmOTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAi
VGV4dHVyZS5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgR3JhcGhpY3NDb250
ZXh0M0Q7CiBjbGFzcyBTaGFyZWRHcmFwaGljc0NvbnRleHQzRDsKIAotY2xhc3MgR0xFUzJDYW52
YXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR0xFUzJDYW52YXMgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEdMRVMyQ2FudmFzKTsKIHB1YmxpYzoKICAgICBHTEVTMkNhbnZhcyhT
aGFyZWRHcmFwaGljc0NvbnRleHQzRCosIERyYXdpbmdCdWZmZXIqLCBjb25zdCBJbnRTaXplJik7
CiAgICAgfkdMRVMyQ2FudmFzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAppbmRleCBjMGU2MTBhLi42
ODNjYWQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKQEAgLTQzLDcgKzQzLDYgQEAKICNpbmNsdWRl
ICJTa0JpdG1hcC5oIgogI2luY2x1ZGUgIlZpZGVvTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyVGV4dHVyZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclRleHR1cmUuaAppbmRleCAzMTJhZGZhLi45YjA3YzUzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVyZS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlLmgKQEAgLTM3LDcg
KzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBj
bGFzcyBUZXh0dXJlTWFuYWdlcjsKIAotY2xhc3MgTGF5ZXJUZXh0dXJlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIExheWVyVGV4dHVyZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TGF5ZXJUZXh0dXJlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxMYXllclRleHR1
cmU+IGNyZWF0ZShHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgVGV4dHVyZU1hbmFnZXIqIG1h
bmFnZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggYTkzMjE4Zi4uZGRjOWNkYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJm
YWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSW50UmVj
dC5oIgogI2luY2x1ZGUgIlRleHR1cmVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRp
b25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIExheWVyQ2hyb21pdW07CiBjbGFzcyBM
YXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllclRleHR1cmU7CiAKLWNsYXNzIFJlbmRl
clN1cmZhY2VDaHJvbWl1bSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTdXJm
YWNlQ2hyb21pdW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlclN1cmZhY2VDaHJv
bWl1bSk7CiAgICAgZnJpZW5kIGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBSZW5kZXJTdXJmYWNlQ2hyb21pdW0oTGF5ZXJDaHJvbWl1bSopOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdl
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5o
CmluZGV4IDFlODUwY2QuLjFjNmRiM2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmgKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIGludCBUZXh0dXJlVG9rZW47CiAKLWNsYXNzIFRleHR1
cmVNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRleHR1cmVNYW5hZ2VyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0dXJlTWFuYWdlcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8VGV4dHVyZU1hbmFnZXI+IGNyZWF0ZShHcmFwaGljc0NvbnRleHQz
RCogY29udGV4dCwgc2l6ZV90IG1lbW9yeUxpbWl0Qnl0ZXMsIGludCBtYXhUZXh0dXJlU2l6ZSkK
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Ry
YW5zcGFyZW5jeVdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFu
c3BhcmVuY3lXaW4uaAppbmRleCBiNmJlZjkxLi4yNzUxMjU4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKQEAgLTM1LDcg
KzM1LDYgQEAKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkltYWdl
QnVmZmVyLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJ3dGYvT3duUHRy
LmgiCiAKIGNsYXNzIFNrQml0bWFwOwpAQCAtNTQsNyArNTMsOCBAQCBjbGFzcyBUcmFuc3BhcmVu
Y3lXaW5fT3BhcXVlQ29tcG9zaXRlTGF5ZXJfVGVzdDsKIC8vIHRoYXQgaXMgY29tcG9zaXRlZCBs
YXRlciBtYW51YWxseS4gVGhpcyBpcyB0byBnZXQgYXJvdW5kIFdpbmRvd3MnIGluYWJpbGl0eQog
Ly8gdG8gaGFuZGxlIHRoZSBhbHBoYSBjaGFubmVsLCBzZW1pdHJhbnNwYXJlbnQgdGV4dCwgYW5k
IHRyYW5zZm9ybWVkIGZvcm0KIC8vIGNvbnRyb2xzLgotY2xhc3MgVHJhbnNwYXJlbmN5V2luIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW5jeVdpbiB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbmN5V2luKTsKIHB1YmxpYzoKICAgICBlbnVtIExheWVy
TW9kZSB7CiAgICAgICAgIC8vIE5vIGV4dHJhIGxheWVyIGlzIGNyZWF0ZWQuIERyYXdpbmcgd2ls
bCBoYXBwZW4gdG8gdGhlIHNvdXJjZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0RyYXdpbmdCdWZmZXIuaAppbmRleCA5Zjc5ODg5Li5lMzU2NTkyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC0zNSw3ICszNSw2IEBACiAj
aW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTc3LDggKzc2LDEwIEBA
IHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgY2xhc3MgV2ls
bFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2lsbFB1
Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQdWJsaXNo
Q2FsbGJhY2spOwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hDYWxsYmFjaygpIHsg
fQogICAgICAgICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9CiAgICAgICAgIAog
ICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0
NC4uMWJkNjdiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9v
cEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlubkNsYXNzaWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlu
bkNsYXNzaWZpZXJfaAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0
UG9pbnQ7CiAKIC8vIENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMu
Ci1jbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IExvb3BCbGlubkNsYXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlu
bkNsYXNzaWZpZXIpOwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMu
CiAgICAgZW51bSBDdXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4u
ZDAxZTZjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNs
dWRlICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNp
bmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3Vs
YXRpb24gb2YgdGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIg
Y29udHJvbCBwb2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xh
c3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGlj
ZXMgdGhhdCB0aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAog
ICAgIC8vIHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0
dXJlCiAgICAgLy8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShWZXJ0ZXgpOwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNv
b3Jkcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNv
b3Jkcy5oCmluZGV4IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMw
LDYgQEAKICNpbmNsdWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJs
aW5uQ29uc3RhbnRzLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9QT0RBcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaApp
bmRleCBmNjhiYWVmLi41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
REFyZW5hLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3
ICsxNTcsOCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBt
ZW1vcnkgYW5kIGluZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENo
dW5rIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9j
YXRlcyBhIGJsb2NrIG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQK
ICAgICAgICAgLy8gQWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9QT0RJbnRlcnZhbFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAs
NiBAQAogI2luY2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVl
LmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQ0LDggKzQzLDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2ll
bnQgKE8obGcgbikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVy
dmFscyBpbiB0aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9p
ZCo+Ci1jbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVz
ZXJEYXRhPiA+IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1Ry
ZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBPREludGVydmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlw
aW5nIHdoZW4gZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlz
IHRyZWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRC
bGFja1RyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJl
ZS5oCmluZGV4IDZkNTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRl
ICJQT0RBcmVuYS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAg
IC8vIFRoZSBiYXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2Rl
cyBhcmUgb25seQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVl
IGRlYWwgb25seSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBj
bGFzcyBOb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBD
b25zdHJ1Y3Rvci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAg
IGV4cGxpY2l0IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRl
OgogICAgIC8vIEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hp
Y2ggc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xh
c3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENvdW50ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAg
ICA6IG1fY291bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9TaGFkZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmlu
ZGV4IGU1YmQ4ZGUuLmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L1NoYWRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRl
ci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmlu
ZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNs
YXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBo
aWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThh
YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMx
LDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRpbGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRl
eHR1cmVTaXplLCBpbnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVy
VGV4ZWxzKTsKICAgICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRl
eHR1cmVTaXplOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZm
Li5iZjYwYWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0
LDYgQEAKICNpbmNsdWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1
ZGUgIk5ldHdvcmtpbmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNs
dWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3Ry
ZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3Ry
ZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdD
bGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5o
IgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAK
LSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCmluZGV4IDc3MDI0NTcuLmU4MDI4ZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1
LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENv
cmVGb3VuZGF0aW9uL0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVm
OwogdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJl
ZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQVRTRm9udFJlZiBhdHNGb250
LCBDR0ZvbnRSZWYgY2dGb250KQogICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKSwgbV9h
dHNGb250KGF0c0ZvbnQpLCBtX2NnRm9udChjZ0ZvbnQpCiAgICAge30KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCBlNGM2Njg4Li44
NDg5OTNiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWlu
dGVyT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRl
ck9wZW5WRy5oCkBAIC0yNSw3ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZH
OwogCiBzdHJ1Y3QgUGxhdGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNz
IFN1cmZhY2VPcGVuVkc7CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVu
VkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaApp
bmRleCA0NmQxNjQ2Li5lZTcyMDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWds
Lmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRl
ZnMgYW5kIHNob3VsZCBtYWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRl
eHQKICAqIGltcGxlbWVudGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5W
RyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VD
dXJyZW50TW9kZSB7CiAgICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAppbmRleCA2YzQxZDQ3Li4wYTRjMTBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1
LDE2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRl
cmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURh
dGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAg
ICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250
RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIw
MWYxOC4uOWM2NjJhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9G
b250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250
UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Rm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIEZvbnRQbGF0Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpA
QCAtNjIsOCArNjMsMTAgQEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsg
fQogICAgIEZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlx
dWUpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAg
ICBGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0
cmluZyYgZmFtaWx5TmFtZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcg
PSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3ND
b250ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRl
eHRRdC5jcHAKaW5kZXggYWRhNTM4Yy4uNGU4YmE0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE3Nyw3ICsxNzcsOCBA
QCBzdGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkK
ICAgICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250
ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0Nv
bnRleHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xv
ciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJl
bmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5
ZXIuaAppbmRleCA2YmRmYjM5Li4wZDIwYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECitwdWJsaWM6CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNv
bnN0IFFSZWN0ICZyZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAg
ICAgIDogcGl4bWFwKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFj
aXR5KG9wYWNpdHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li4wODNlNThjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIK
ICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1
ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC00OSw3ICs0OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVj
dCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEpOworcHVibGljOgogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAg
ICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZS5oCmluZGV4IDVlMTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGVfaAogI2RlZmluZSBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8g
YSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQp
CiAgICAgICAgIDogbV9jb250ZXh0KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAx
MTAwODVkLi5kNjgzYWFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxh
dGZvcm1Db250ZXh0U2tpYV9oCiAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNs
dWRlICJOb25jb3B5YWJsZS5oIgogCiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2lu
Y2x1ZGUgIlNrRHJhd0xvb3Blci5oIgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwog
Ly8gcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBz
dG9yZSBpbiBzZXBhcmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVz
IHRoZSBhZGFwdG9yIHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVz
aGVkIGFuZCBwb3BwZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250
ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lh
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1Ymxp
YzoKICAgICAvLyBGb3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBj
YW52YXMgY2FuIGJlIE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5
b3UgY2FuIGFsc28gY2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEw
Mi4uMTBmYjA0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL0FmZmluZVRyYW5zZm9ybS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRy
YW5zZm9ybWF0aW9uTWF0cml4LmgiCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNw
eQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNp
bmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDgg
QEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25N
YXRyaXg7CiAKLWNsYXNzIEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIEFmZmluZVRyYW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9u
cy5oCmluZGV4IGMwZGEzNzcuLjA4ZjI3NjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEs
NyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJh
dGlvbnMgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25z
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFRyYW5zZm9ybU9w
ZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXgu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1h
dHJpeC5oCmluZGV4IDk2YjRiYWEuLjUyYmEyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBA
IC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBv
aW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhp
Y3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2lu
dDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0
aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHR5
cGVkZWYgZG91YmxlIE1hdHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4x
NjI4ZWViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3Ry
dWN0IENHRm9udCogQ0dGb250UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExF
IGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZl
cmVuY2UoZm9udFJlZmVyZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWly
by5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0
YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4uMDY5OTFjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgK
QEAgLTI0LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNs
dWRlIDxjYWlyby5oPgogCkBAIC0zMyw3ICszMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNl
X3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4
dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5o
CmluZGV4IGMyMTYxNDAuLjU5NTFlNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsV2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExvY2FsV2luZG93c0NvbnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2luZG93
c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3Qm
IHJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1h
cCA9IHRydWUpCiAgICAgICAgIDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5m
ZTYwYzhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmll
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAt
MzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21w
b25lbnRzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBz
dGQ7CkBAIC02Myw3ICs2Miw4IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZT
dHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVW
ZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUs
IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1Ymxp
YyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVBy
aXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2
YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmll
R1dvcmxkLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQu
Y3BwCmluZGV4IGUxM2Y3MzIuLjI2ODYxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8
UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBA
CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsK
ICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVz
aGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZs
dXNoZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgogCkBAIC0zNiw3ICszNSw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdL
Q0FDRkNvbnRleHRGbHVzaGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZl
ODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVy
UmVuZGVyZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXll
clJlbmRlcmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1
ZGUgIldLQ0FDRkxheWVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYs
NyArNTUsOCBAQCBwdWJsaWM6CiAvLyBGSVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNG
TGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBXZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBD
QVJlbmRlck9HTENvbnRleHQgYW5kIERpcmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2ll
bnQuCiAvLyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQot
Y2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBX
S0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXll
clJlbmRlcmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJl
bmRlcmVyPiBjcmVhdGUoV0tDQUNGTGF5ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZM
YXllclJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0
aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTM3LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIHZvaWQgdW5yZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwog
ICAgIH07CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxl
IHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAg
ICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAg
ICA6IG1fbmFtZShuYW1lKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0
YS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5j
bHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+
CiAKIHR5cGVkZWYgc3RydWN0IHRhZ1RFWFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNw
cCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0Uu
Y3BwCmluZGV4IDA4MDI4MjYuLjgyNDU1OTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00NDAsNyAr
NDQwLDggQEAgc3RhdGljIHZvaWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwg
Y29uc3QgU2hhcmVkQml0bWFwKiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1
bnNpZ25lZCwgZmFsc2U+KGRlc3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xh
c3MgVHJhbnNwYXJlbnRMYXllckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRM
YXllckRDIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwog
cHVibGljOgogICAgIFRyYW5zcGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUqIGRhdGEsIEludFJlY3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3Jl
VHJhbnNmb3JtID0gMCwgaW50IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7
CiAgICAgflRyYW5zcGFyZW50TGF5ZXJEQygpOwpAQCAtNTYwLDcgKzU2MSw4IEBAIHZvaWQgVHJh
bnNwYXJlbnRMYXllckRDOjpmaWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNj
b3BlRENQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBTY29wZURDUHJvdmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBk
YXRhKQogICAgICAgICA6IG1fZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5
OWIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1
ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCmluZGV4IGUxNGE1ODMuLjRj
MTljZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCkBAIC0zOSw2ICszOSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3Mg
ZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgLy8gQ3JlYXRlZCBm
cm9tIHRoZSBFdmVudEhhbmRsZXJHdGsgdG8gYmUgdXNlZCBieSB0aGUgZG9tCiAgICAgY2xhc3Mg
Q2xpcGJvYXJkR3RrIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENsaXBib2FyZEd0az4gY3JlYXRlKENsaXBib2FyZEFjY2Vz
c1BvbGljeSBwb2xpY3ksIEd0a0NsaXBib2FyZCogY2xpcGJvYXJkLCBGcmFtZSogZnJhbWUpCiAg
ICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1h
Z2VEZWNvZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rl
ci5oCmluZGV4IDVhMDRiZWUuLjFkN2I5ZjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaApAQCAtMjIxLDcgKzIyMSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAvLyBzZXRNYXhOdW1QaXhlbHMoKSB0byBzcGVjaWZ5IHRoZSBiaWdnZXN0
IHNpemUgdGhhdCBkZWNvZGVkIGltYWdlcyBjYW4KICAgICAvLyBoYXZlLiBJbWFnZSBkZWNvZGVy
cyB3aWxsIGRlZmxhdGUgdGhvc2UgaW1hZ2VzIHRoYXQgYXJlIGJpZ2dlciB0aGFuCiAgICAgLy8g
bV9tYXhOdW1QaXhlbHMuIChOb3Qgc3VwcG9ydGVkIGJ5IGFsbCBpbWFnZSBkZWNvZGVycyB5ZXQp
Ci0gICAgY2xhc3MgSW1hZ2VEZWNvZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBJbWFnZURlY29kZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZURlY29k
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgSW1hZ2VE
ZWNvZGVyKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgYm9vbCBpZ25vcmVHYW1tYUFuZENvbG9yUHJv
ZmlsZSkKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBi
b2FyZE1hYy5oCmluZGV4IDcxODdlY2YuLjg5ZjgzM2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBi
b2FyZE1hYy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgRmlsZUxpc3Q7
CiAKIGNsYXNzIENsaXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRNYWM+IGNyZWF0ZShDbGlwYm9hcmRUeXBlIGNs
aXBib2FyZFR5cGUsIE5TUGFzdGVib2FyZCAqcGFzdGVib2FyZCwgQ2xpcGJvYXJkQWNjZXNzUG9s
aWN5IHBvbGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmgKaW5kZXggOTBiZWI0MC4uYjk5MGQ3
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0LmgKQEAgLTE3LDcgKzE3LDYgQEAKICAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgogICovCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmZGVmIF9fT0JKQ19f
CiBAY2xhc3MgTlNHcmFwaGljc0NvbnRleHQ7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIEdyYXBo
aWNzQ29udGV4dDsKICAgICAKIC8vIFRoaXMgY2xhc3MgYXV0b21hdGljYWxseSBzYXZlcyBhbmQg
cmVzdG9yZXMgdGhlIGN1cnJlbnQgTlNHcmFwaGljc0NvbnRleHQgZm9yCiAvLyBmdW5jdGlvbnMg
d2hpY2ggY2FsbCBvdXQgaW50byBBcHBLaXQgYW5kIHJlbHkgb24gdGhlIGN1cnJlbnRDb250ZXh0
IGJlaW5nIHNldAotY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KTsKIHB1YmxpYzoK
ICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGlj
c0NvbnRleHQpOwogICAgIH5Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tIGIvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KaW5kZXggY2M5ZmYxNy4uNDQ2YmRhYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KQEAgLTI5LDcgKzI5LDYgQEAKICNpbXBv
cnQgPElPS2l0L0lPTWVzc2FnZS5oPgogI2ltcG9ydCA8SU9LaXQvcHdyX21ndC9JT1BNTGliLmg+
CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgotI2ltcG9ydCA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1VudXNlZFBhcmFtLmg+
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKaW5kZXggMWZmNjM0NC4uNmVmMjI0MCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKQEAgLTE0NSw2ICsxNDUsNyBAQCBwcml2
YXRlOgogdHlwZWRlZiBWZWN0b3I8QmxvYkRhdGFJdGVtPiBCbG9iRGF0YUl0ZW1MaXN0OwogCiBj
bGFzcyBCbG9iRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxCbG9iRGF0YT4gY3JlYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAppbmRleCA4N2QwZWYzLi4xMTJlMzE1IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCkBAIC0yMywxNCArMjMs
MTQgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9ybURh
dGFCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvcm1EYXRhQnVpbGRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9ybURhdGFCdWlsZGVyKTsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgVGV4dEVuY29kaW5nIGVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQoY29uc3QgU3Ry
aW5nJiBhY2NlcHRDaGFyc2V0LCBEb2N1bWVudCogZG9jdW1lbnQpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCmluZGV4IGQxZjJkYjQuLjM5
OTc4MGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVO
b3RpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3Rp
Zmllci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gK
ICNkZWZpbmUgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgTmV0d29ya1N0YXRlTm90aWZpZXJQcml2YXRlOwogI2VuZGlmCiAK
LWNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE5ldHdvcmtTdGF0ZU5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXR3b3Jr
U3RhdGVOb3RpZmllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgTmV0
d29ya1N0YXRlTm90aWZpZXIoKTsKICAgICB2b2lkIHNldE5ldHdvcmtTdGF0ZUNoYW5nZWRGdW5j
dGlvbih2b2lkICgqKSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZUludGVybmFsLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDljY2NlY2QuLjBmMmJlMjQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaApAQCAtODAsNyAr
ODAsOCBAQCBjbGFzcyBOU1VSTENvbm5lY3Rpb247CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgUmVzb3VyY2VIYW5kbGVDbGllbnQ7CiAKLSAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUlu
dGVybmFsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUlu
dGVybmFsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBSZXNv
dXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2FkZXIsIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGMsIGJvb2wgZGVmZXJzTG9h
ZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAgICAgICA6IG1fY2xpZW50KGMp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAppbmRl
eCAzM2ExODRlLi4yYjc0MTczIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICAvLyBEbyBu
b3QgdXNlIHRoaXMgdHlwZSBkaXJlY3RseS4gIFVzZSBSZXNvdXJjZVJlcXVlc3QgaW5zdGVhZC4K
LSAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIHR5cGUgb2YgdGhpcyBSZXNvdXJj
ZVJlcXVlc3QsIGJhc2VkIG9uIGhvdyB0aGUgcmVzb3VyY2Ugd2lsbCBiZSB1c2VkLgogICAgICAg
ICBlbnVtIFRhcmdldFR5cGUgewpAQCAtMjA1LDcgKzIwNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGEs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6
Y29tcGFyZShhLCBiKTsgfQogICAgIGlubGluZSBib29sIG9wZXJhdG9yIT0oUmVzb3VyY2VSZXF1
ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQog
Ci0gICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgOiBOb25jb3B5
YWJsZSB7CisgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2Ugewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERh
dGFCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6CisgICAgICAgIENy
b3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UoKSB7IH0KICAgICAgICAgS1VSTCBtX3Vy
bDsKIAogICAgICAgICBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBtX2NhY2hlUG9saWN5Owpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRl
eCA5YzU0YmFiLi5jYjhhNTFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXNwb25zZUJhc2UuaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlOwogc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGE7CiAKIC8vIERvIG5v
dCB1c2UgdGhpcyBjbGFzcyBkaXJlY3RseSwgdXNlIHRoZSBjbGFzcyBSZXNwb25zZVJlc3BvbnNl
IGluc3RlYWQKLWNsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2UgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8UmVzb3VyY2VSZXNwb25zZT4g
YWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhPik7CiAKQEAg
LTE3NSw3ICsxNzYsMTAgQEAgcHJpdmF0ZToKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYikgeyByZXR1cm4g
UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbXBhcmUoYSwgYik7IH0KIGlubGluZSBib29sIG9wZXJh
dG9yIT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
YikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLXN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVz
cG9uc2VEYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDcm9zc1RocmVhZFJlc291cmNl
UmVzcG9uc2VEYXRhQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UpOworcHVibGljOgorICAgIENyb3NzVGhyZWFkUmVzb3Vy
Y2VSZXNwb25zZURhdGFCYXNlKCkgeyB9CiAgICAgS1VSTCBtX3VybDsKICAgICBTdHJpbmcgbV9t
aW1lVHlwZTsKICAgICBsb25nIGxvbmcgbV9leHBlY3RlZENvbnRlbnRMZW5ndGg7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApp
bmRleCBlNTc4YThkLi5hNzA4ZGNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTYwLDcgKzYwLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJWkUgODE5MgogCi1jbGFzcyBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJs
aWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlICYsIFZlY3RvcjxjaGFyPiYpOwog
ICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKaW5kZXggMzhkOWNkMS4uZjUwNTQw
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5jcHAKQEAgLTc2LDcgKzc2LDggQEAgc3RhdGljIFN0cmluZyBxdWVyeUhUVFBIZWFkZXIo
SElOVEVSTkVUIHJlcXVlc3RIYW5kbGUsIERXT1JEIGluZm9MZXZlbCkKIH0KIAogCi1jbGFzcyBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJs
aWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNoYXI+JiwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAppbmRleCA1YWNhMWE2Li4xZWVjOGFkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcg
YW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICBjbGFzcyBDbGlwYm9hcmRRdCA6IHB1YmxpYyBD
bGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
bGlwYm9hcmRRdD4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIGNvbnN0IFFN
aW1lRGF0YSogcmVhZGFibGVDbGlwYm9hcmQpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVEYXRhYmFzZS5oCmluZGV4IGMzMjkyNzMuLmRhNTNhY2MgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlRGF0YWJhc2UuaApAQCAtNTAsNyArNTAsOCBAQCBleHRlcm4gY29uc3QgaW50IFNR
TFJlc3VsdFNjaGVtYTsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0RnVsbDsKIGV4dGVybiBj
b25zdCBpbnQgU1FMUmVzdWx0SW50ZXJydXB0OwogCi1jbGFzcyBTUUxpdGVEYXRhYmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxpdGVEYXRhYmFzZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1FMaXRlRGF0YWJhc2UpOwogICAgIGZyaWVuZCBjbGFzcyBTUUxpdGVUcmFu
c2FjdGlvbjsKIHB1YmxpYzoKICAgICBTUUxpdGVEYXRhYmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVTdGF0ZW1lbnQuaAppbmRleCAxNDQ0ZjBlLi4xZWUzYmUzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFNRTFZhbHVlOwogCi1jbGFzcyBTUUxpdGVTdGF0ZW1lbnQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlU3RhdGVtZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTUUxpdGVTdGF0ZW1lbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVi
bGljOgogICAgIFNRTGl0ZVN0YXRlbWVudChTUUxpdGVEYXRhYmFzZSYsIGNvbnN0IFN0cmluZyYp
OwogICAgIH5TUUxpdGVTdGF0ZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFu
c2FjdGlvbi5oCmluZGV4IDkyNDI0MWYuLjQyN2IyOTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlVHJhbnNhY3Rpb24uaApAQCAtMjYsMTQgKzI2LDEzIEBACiAjaWZuZGVmIFNRTGl0ZVRy
YW5zYWN0aW9uX2gKICNkZWZpbmUgU1FMaXRlVHJhbnNhY3Rpb25faAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1FMaXRlRGF0
YWJhc2U7CiAKLWNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlCi17
CitjbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FM
aXRlVHJhbnNhY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFNR
TGl0ZVRyYW5zYWN0aW9uKFNRTGl0ZURhdGFiYXNlJiBkYiwgYm9vbCByZWFkT25seSA9IGZhbHNl
KTsKICAgICB+U1FMaXRlVHJhbnNhY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2
ZXIuaAppbmRleCAxZjg3MTE1Li4wNTZlZDcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvQmlkaVJlc29sdmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNv
bHZlci5oCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIEJpZGlSZXNvbHZlcl9oCiAKICNpbmNs
dWRlICJCaWRpQ29udGV4dC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0xMjYs
NyArMTI1LDggQEAgc3RydWN0IEJpZGlDaGFyYWN0ZXJSdW4gewogICAgIEJpZGlDaGFyYWN0ZXJS
dW4qIG1fbmV4dDsKIH07CiAKLXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBj
bGFzcyBCaWRpUmVzb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPGNsYXNz
IEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQmlkaVJlc29sdmVyKTsKIHB1YmxpYyA6CiAgICAgQmlkaVJlc29sdmVyKCkK
ICAgICAgICAgOiBtX2RpcmVjdGlvbihXVEY6OlVuaWNvZGU6Ok90aGVyTmV1dHJhbCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKaW5kZXggZjE2MTFlNS4uMTJkMDUy
MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKQEAgLTMwLDcg
KzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWd1bGFyRXhwcmVzc2lv
biA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlZ3VsYXJFeHByZXNzaW9uIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIFJlZ3VsYXJFeHByZXNzaW9u
KGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkpOwogICAgIH5SZWd1bGFyRXhwcmVz
c2lvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCmluZGV4IGM2YWYzOGEuLjE4YjVkOGIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1
ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTU3LDggKzU2LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgY2hhciBVbmVuY29kYWJsZVJl
cGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAgY2xhc3MgVGV4dENvZGVjIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29kZWMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKKyAg
ICAgICAgVGV4dENvZGVjKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRleHRDb2RlYygpOwogCiAg
ICAgICAgIFN0cmluZyBkZWNvZGUoY29uc3QgY2hhciogc3RyLCBzaXplX3QgbGVuZ3RoLCBib29s
IGZsdXNoID0gZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNj
b2Rlci9Gb250VHJhbnNjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIv
Rm9udFRyYW5zY29kZXIuaAppbmRleCA2N2RiOTc3Li44ODQ2Y2RkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKQEAgLTMyLDcgKzMy
LDYgQEAKICNkZWZpbmUgRm9udFRyYW5zY29kZXJfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9t
aWNTdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3MgVGV4dEVu
Y29kaW5nOwogCi1jbGFzcyBGb250VHJhbnNjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBGb250VHJhbnNjb2RlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFRyYW5z
Y29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZvaWQgY29udmVy
dChTdHJpbmcmIHRleHQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGlu
ZyogPSAwKSBjb25zdDsKICAgICBib29sIG5lZWRzVHJhbnNjb2RpbmcoY29uc3QgRm9udERlc2Ny
aXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9D
bGlwYm9hcmRXaW4uaAppbmRleCBjZTY0Yjg1Li4yZDE0NGIwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9D
bGlwYm9hcmRXaW4uaApAQCAtNDEsNiArNDEsNyBAQCBjbGFzcyBXQ0RhdGFPYmplY3Q7CiAKIC8v
IFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcgYW5kIGRyb3AgYW5k
IGNvcHkvcGFzdGUKIGNsYXNzIENsaXBib2FyZFdpbiA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1Ymxp
YyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0ZShDbGlwYm9h
cmRUeXBlIGNsaXBib2FyZFR5cGUsIElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBDbGlwYm9hcmRB
Y2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1NmU3Li5kMzZj
MjMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRj
YXN0ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0
ZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0ZW5lcjsKIAot
ICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyB2b2lkIGFkZExpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VMaXN0ZW5lciop
OwogICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdl
TGlzdGVuZXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5o
IGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKaW5kZXggYjE0NjA1Zi4uOTMyYTFk
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKKysrIGIvV2Vi
Q29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5QYWNrYWdlPiwg
UGx1Z2luUGFja2FnZUhhc2g+IFBsdWdpblNldDsKIAotICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpbkRhdGFiYXNlKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmggYi9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCmluZGV4IDYxMGU4OWMuLmUy
ZTA4MDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1
bGVyLmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaApA
QCAtMzYsNyArMzYsOCBAQCB0eXBlZGVmIE5QUF90KiBOUFA7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQKIHB1YmxpYzoKICAgICB0eXBlZGVmIHZvaWQgTWFpblRocmVhZEZ1bmN0aW9uKHZvaWQqKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggZGVhZWM5OS4uNWYwZjZjYiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAorKysgYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5oCkBAIC05Myw3ICs5Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUGx1Z2lu
U3RhdHVzTG9hZGVkU3VjY2Vzc2Z1bGx5CiAgICAgfTsKIAotICAgIGNsYXNzIFBsdWdpblJlcXVl
c3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBsdWdpblJlcXVlc3QgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5SZXF1ZXN0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpblJlcXVlc3QoY29uc3QgRnJhbWVM
b2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lk
KiBub3RpZnlEYXRhLCBib29sIHNob3VsZEFsbG93UG9wdXBzKQogICAgICAgICAgICAgOiBtX2Zy
YW1lTG9hZFJlcXVlc3QoZnJhbWVMb2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL0NvbHVtbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaAppbmRl
eCA1ZTZmNjE5Li5kYjk0NzhjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5J
bmZvLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0zMSw3ICszMSw4
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDb2x1bW5JbmZvKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDb2x1
bW5JbmZvKCkKICAgICAgICAgOiBtX2Rlc2lyZWRDb2x1bW5XaWR0aCgwKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50
ZXJOb2RlLmgKaW5kZXggNTI5ZDQwOS4uNTU1ZTgxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvQ291bnRlck5vZGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5o
CkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIENvdW50ZXJOb2RlX2gKIAogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KIAogLy8gVGhpcyBpbXBsZW1lbnRzIGEgY291bnRlciB0cmVlIHRoYXQg
aXMgdXNlZCBmb3IgZmluZGluZyBwYXJlbnRzIGluIGNvdW50ZXJzKCkgbG9va3VwLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L0xheW91dFN0YXRlLmgKaW5kZXggY2NhM2U0Mi4uYmJhNjAxZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRT
dGF0ZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVk
ZSAiSW50U2l6ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgY2xhc3MgUmVuZGVyQXJlbmE7CiBjbGFzcyBS
ZW5kZXJCb3g7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIExheW91dFN0YXRlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMYXlvdXRTdGF0ZSk7CiBwdWJsaWM6CiAgICAgTGF5b3V0U3RhdGUoKQogICAgICAg
ICA6IG1fY2xpcHBlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckFyZW5hLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCmluZGV4IDMyMTM5ZmIu
LjNiNWNmMDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaApAQCAtMzYsMTMgKzM2LDEzIEBACiAj
ZGVmaW5lIFJlbmRlckFyZW5hX2gKIAogI2luY2x1ZGUgIkFyZW5hLmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IHNp
emVfdCBnTWF4UmVjeWNsZWRTaXplID0gNDAwOwogCi1jbGFzcyBSZW5kZXJBcmVuYSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJBcmVuYSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVuZGVyQXJlbmEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IFJlbmRlckFyZW5hKHVuc2lnbmVkIGFyZW5hU2l6ZSA9IDQwOTYpOwogICAgIH5SZW5kZXJBcmVu
YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggNTE1MzIxOC4uZGNlZjA0YyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCkBAIC0zNTQsNyArMzU0LDkgQEAgcHJpdmF0ZToKICAgICAgICAg
Ym9vbCBldmVySGFkTGF5b3V0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3Qg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRmxvYXRpbmdPYmplY3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RAorICAgIHB1YmxpYzoKICAgICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBiaXRzIHNvIHlv
dSBjYW4gdXNlIEZsb2F0Qm90aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGggbGVmdCBhbmQg
cmlnaHQuCiAgICAgICAgIGVudW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0UmlnaHQgPSAy
LCBGbG9hdEJvdGggPSAzIH07CiAKQEAgLTY4MSw3ICs2ODMsOSBAQCBwcml2YXRlOgogICAgIFJl
bmRlckJveE1vZGVsT2JqZWN0KiBtX2NvbnRpbnVhdGlvbjsKICAgICAKICAgICAvLyBBbGxvY2F0
ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVz
Ci0gICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IFJlbmRlckJsb2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZW5kZXJCbG9ja1JhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICBwdWJsaWM6
CiAgICAgICAgIFJlbmRlckJsb2NrUmFyZURhdGEoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrKSAK
ICAgICAgICAgICAgIDogbV9tYXJnaW5zKHBvc2l0aXZlTWFyZ2luQmVmb3JlRGVmYXVsdChibG9j
ayksIG5lZ2F0aXZlTWFyZ2luQmVmb3JlRGVmYXVsdChibG9jayksIHBvc2l0aXZlTWFyZ2luQWZ0
ZXJEZWZhdWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5BZnRlckRlZmF1bHQoYmxvY2spKQogICAg
ICAgICAgICAgLCBtX3BhZ2luYXRpb25TdHJ1dCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94TW9kZWxPYmplY3QuY3BwCmluZGV4IDE0M2M3MmMuLjRlNWY2ZjggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTUzLDcgKzUzLDggQEAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsgLy8gNTAwIG1z
CiB0eXBlZGVmIHBhaXI8UmVuZGVyQm94TW9kZWxPYmplY3QqLCBjb25zdCB2b2lkKj4gTGFzdFBh
aW50U2l6ZU1hcEtleTsKIHR5cGVkZWYgSGFzaE1hcDxMYXN0UGFpbnRTaXplTWFwS2V5LCBJbnRT
aXplPiBMYXN0UGFpbnRTaXplTWFwOwogCi1jbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlUXVhbGl0eUNvbnRyb2xsZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIoKTsKICAg
ICBib29sIHNob3VsZFBhaW50QXRMb3dRdWFsaXR5KEdyYXBoaWNzQ29udGV4dCosIFJlbmRlckJv
eE1vZGVsT2JqZWN0KiwgSW1hZ2UqLCBjb25zdCB2b2lkKiBsYXllciwgY29uc3QgSW50U2l6ZSYp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKaW5kZXggZDBhYjM0Ni4uMWU1MTFkMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03Myw3ICs3Myw4IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1NwbGl0ID0gLTE7CiAKLSAgICBjbGFzcyBH
cmlkQXhpcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JpZEF4aXMgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmlkQXhpcyk7CiAgICAgcHVibGljOgogICAgICAg
ICBHcmlkQXhpcygpOwogICAgICAgICB2b2lkIHJlc2l6ZShpbnQpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2VSZXNvdXJjZS5oCmluZGV4IDIzNDY3MTIuLmU1OGNkOWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKQEAgLTI5LDEzICsyOSwxMyBAQAogI2luY2x1
ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJTdHlsZUltYWdlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBSZW5kZXJJ
bWFnZVJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckltYWdlUmVz
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckltYWdlUmVzb3VyY2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRlckltYWdl
UmVzb3VyY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCBm
YjNhYjY3Li5jYWQ4NDU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApA
QCAtNTMsNyArNTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8vIAogLy8gVGhl
cmUgaXMgb25lIFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXllciB0aGF0IGlz
IGNvbXBvc2l0ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGlj
c0xheWVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTGF5ZXJCYWNr
aW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlbmRlckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgUmVuZGVyTGF5ZXJCYWNraW5nKFJlbmRlckxheWVyKik7CiAgICAgflJlbmRlckxheWVy
QmFja2luZygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCmluZGV4IDc5OTk4ZWQuLjNiNWVi
MzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyTGF5ZXI7CiAKIC8vIFRoaXMgY2xhc3MgaGFuZGxl
cyB0aGUgYXV0by1zY3JvbGxpbmcgb2YgbGF5ZXJzIHdpdGggb3ZlcmZsb3c6IG1hcnF1ZWUuCi1j
bGFzcyBSZW5kZXJNYXJxdWVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck1h
cnF1ZWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck1hcnF1ZWUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlck1hcnF1ZWUoUmVu
ZGVyTGF5ZXIqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJNYXJxdWVlKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT3ZlcmZsb3cuaAppbmRleCAyNTNhNjcyLi4zMWUwMWU3IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck92ZXJmbG93LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUKIC8vIEV4YW1w
bGVzIG9mIHZpc3VhbCBvdmVyZmxvdyBhcmUgc2hhZG93cywgdGV4dCBzdHJva2UgKGFuZCBldmVu
dHVhbGx5IG91dGxpbmUgYW5kIGJvcmRlci1pbWFnZSkuCiAKIC8vIFRoaXMgb2JqZWN0IGlzIGFs
bG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMgaGF2ZSBub24tZGVmYXVsdCB2
YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCi1jbGFzcyBSZW5kZXJPdmVyZmxvdyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJPdmVyZmxvdyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVuZGVyT3ZlcmZsb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgog
ICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGRlZmF1bHRSZWN0ID0gSW50UmVjdCgp
KSAKICAgICAgICAgOiBtX3RvcExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0LnkoKSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKaW5kZXggMjAxNTNlOS4u
NDM1ZmVjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VD
bGlwcGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVy
LmgKQEAgLTM2LDcgKzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQ2xp
cHBlckRhdGEgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDbGlwcGVyRGF0YSB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKK3B1YmxpYzoKICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGNs
aXBNYXNrSW1hZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
ZWxlY3Rpb25JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgK
aW5kZXggYTA5ZmMxYS4uMjNiNWU2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2VsZWN0aW9uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlv
bkluZm8uaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJl
bmRlclNlbGVjdGlvbkluZm9CYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJT
ZWxlY3Rpb25JbmZvQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAg
UmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQogICAgICAgICA6IG1fb2JqZWN0KDApCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmgKaW5kZXggMDdmOTMzZi4uMTMzZWI3OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
aApAQCAtMjU0LDcgKzI1NCw4IEBAIHZvaWQgdG9SZW5kZXJWaWV3KGNvbnN0IFJlbmRlclZpZXcq
KTsKIAogCiAvLyBTdGFjay1iYXNlZCBjbGFzcyB0byBhc3Npc3Qgd2l0aCBMYXlvdXRTdGF0ZSBw
dXNoL3BvcAotY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTGF5b3V0U3RhdGVNYWludGFpbmVyKTsKIHB1YmxpYzoKICAgICAvLyBjdG9yIHRvIHB1c2gg
bm93CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcqIHZpZXcsIFJlbmRlckJv
eCogcm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFsc2UsIGludCBw
YWdlSGVpZ2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBDb2x1bW5JbmZv
KiBjb2xJbmZvID0gMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dFByb3RlY3Rvci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgK
aW5kZXggNzg4MzA0Yy4uOGJmNmFjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0
UHJvdGVjdG9yLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgOiBwcml2YXRlIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlbmRlcldpZGdldFByb3RlY3RvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVy
V2lkZ2V0UHJvdGVjdG9yKTsKIHB1YmxpYzoKICAgICBSZW5kZXJXaWRnZXRQcm90ZWN0b3IoUmVu
ZGVyV2lkZ2V0KiBvYmplY3QpCiAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCmluZGV4IDliY2M3YTQuLjkyMjU4MDUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAog
I2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMiw3ICszMSw4IEBA
IGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFJlbmRlck9i
amVjdDsKIAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdJbWFnZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjcmVhdGVJbWFn
ZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlVGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRS
ZWN0JiBjbGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0LCBPd25QdHI8SW1hZ2VCdWZmZXI+JiwgQ29s
b3JTcGFjZSk7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3VidHJlZVRvSW1hZ2VCdWZmZXIoSW1h
Z2VCdWZmZXIqLCBSZW5kZXJPYmplY3QqLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAppbmRleCA4ZjU5NzAzNS4uMDcyYjRiYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaApAQCAtMjMsNyArMjMsNiBA
QAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAi
U1ZHTWFya2VyRGF0YS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgc3RydWN0IE1hcmtlckxheW91dCB7CiAg
ICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKIH07CiAKLWNsYXNzIFNWR01hcmtlckxheW91dElu
Zm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHTWFya2VyTGF5b3V0SW5mbyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHTWFya2VyTGF5b3V0SW5mbyk7CiBwdWJsaWM6CiAg
ICAgU1ZHTWFya2VyTGF5b3V0SW5mbygpOwogICAgIH5TVkdNYXJrZXJMYXlvdXRJbmZvKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlcy5oCmluZGV4IDQ5NTkxY2YuLjY1OTkxYWQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR1Jlc291cmNlcy5oCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTM4
LDcgKzM3LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI7CiBjbGFzcyBTVkdSZW5k
ZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2YgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBh
IFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3VyY2VzIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3Vy
Y2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXMo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKaW5kZXggNGE2MTU3MC4uODI3
YWMwMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0zMSw3ICszMSw4
IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7
CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBw
dWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGUoKTsKICAgICB+U1ZHUmVzb3VyY2VzQ2FjaGUo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVy
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCmluZGV4IGU2
M2VlNjMuLjM0MTI1OGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNl
c0N5Y2xlU29sdmVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVT
b2x2ZXIuaApAQCAtMjksNyArMjksOCBAQCBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5k
ZXJTVkdSZXNvdXJjZUNvbnRhaW5lcjsKIGNsYXNzIFNWR1Jlc291cmNlczsKIAotY2xhc3MgU1ZH
UmVzb3VyY2VzQ3ljbGVTb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVz
b3VyY2VzQ3ljbGVTb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNl
c0N5Y2xlU29sdmVyKTsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcihSZW5k
ZXJPYmplY3QqLCBTVkdSZXNvdXJjZXMqKTsKICAgICB+U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9UYWJsZUxheW91dC5oCmluZGV4IGUwZmE4ZWUuLmQ5ZWQxOTggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvVGFibGVMYXlvdXQuaApAQCAtMjEsMTMgKzIxLDEzIEBACiAjaWZuZGVmIFRhYmxlTGF5b3V0
X2gKICNkZWZpbmUgVGFibGVMYXlvdXRfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyVGFibGU7CiAKLWNsYXNzIFRh
YmxlTGF5b3V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRhYmxlTGF5b3V0IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYWJsZUxheW91dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVECiBwdWJsaWM6CiAgICAgVGFibGVMYXlvdXQoUmVuZGVyVGFibGUqIHRhYmxlKQogICAgICAg
ICA6IG1fdGFibGUodGFibGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zv
cm1TdGF0ZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAppbmRleCAwYjRj
YTQ2Li4zNmZjNmVjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0
ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKQEAgLTMxLDE0ICsz
MSwxNCBAQAogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKICNp
bmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgVHJhbnNmb3JtU3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNm
b3JtU3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zZm9ybVN0YXRlKTsKIHB1
YmxpYzoKICAgICBlbnVtIFRyYW5zZm9ybURpcmVjdGlvbiB7IEFwcGx5VHJhbnNmb3JtRGlyZWN0
aW9uLCBVbmFwcGx5SW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiB9OwogICAgIGVudW0gVHJhbnNm
b3JtQWNjdW11bGF0aW9uIHsgRmxhdHRlblRyYW5zZm9ybSwgQWNjdW11bGF0ZVRyYW5zZm9ybSB9
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAppbmRleCA0ZGVhZWY1
Li5iMjViMmY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9u
Q2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaApA
QCAtMzgsNyArMzgsOCBAQCBjb25zdCBpbnQgUG9zaXRpb25Ub3AgPSAtMHg3ZmZmZmZmZjsKIGNv
bnN0IGludCBQb3NpdGlvbkJvdHRvbSA9IDB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25V
bmRlZmluZWQgPSAweDgwMDAwMDAwOwogCi1jbGFzcyBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUpOwogcHVibGljOgogICAg
IFZlcnRpY2FsUG9zaXRpb25DYWNoZSgpCiAgICAgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29u
dGVudERhdGEuaAppbmRleCA0Zjk2NGEyLi5mMjNlNzA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0NvbnRlbnREYXRhLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBTdHlsZUltYWdlOwogCi1zdHJ1Y3QgQ29udGVudERhdGEgOiBOb25jb3B5YWJsZSB7Citz
dHJ1Y3QgQ29udGVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRlbnREYXRh
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBDb250ZW50RGF0YSgpCiAg
ICAgICAgIDogbV90eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3Vu
dGVyQ29udGVudC5oCmluZGV4IDUyNzU3YWQuLmRkZjliMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQ291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
Y2xhc3MgQ291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJs
aWM6CiAgICAgQ291bnRlckNvbnRlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBpZGVudGlmaWVyLCBF
TGlzdFN0eWxlVHlwZSBzdHlsZSwgY29uc3QgQXRvbWljU3RyaW5nJiBzZXBhcmF0b3IpCiAgICAg
ICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9GaWxsTGF5ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXll
ci5oCmluZGV4IDQ5ZmIyOTQuLmM2ZWU1MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0ZpbGxMYXllci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXll
ci5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBGaWxsU2l6ZSB7CiAgICAgTGVuZ3RoU2l6ZSBz
aXplOwogfTsKIAotY2xhc3MgRmlsbExheWVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xh
c3MgRmlsbExheWVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAg
IEZpbGxMYXllcihFRmlsbExheWVyVHlwZSk7CiAgICAgfkZpbGxMYXllcigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU2hhZG93RGF0YS5oCmluZGV4IGNhODNhZjAuLjUwY2YwYmUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNkZWZpbmUgU2hhZG93
RGF0YV9oCiAKICNpbmNsdWRlICJDb2xvci5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBlbnVtIFNoYWRv
d1N0eWxlIHsgTm9ybWFsLCBJbnNldCB9OwogCiAvLyBUaGlzIHN0cnVjdCBob2xkcyBpbmZvcm1h
dGlvbiBhYm91dCBzaGFkb3dzIGZvciB0aGUgdGV4dC1zaGFkb3cgYW5kIGJveC1zaGFkb3cgcHJv
cGVydGllcy4KIAotY2xhc3MgU2hhZG93RGF0YSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIFNoYWRvd0RhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAg
ICAgU2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRDaHVua0J1aWxkZXIuaAppbmRleCAzNjM0MmU3Li4zMjFmMzkxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDggQEAg
c3RydWN0IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQgdGhlIGFjdHVh
bCBwZXItY2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9y
IGVhY2ggY2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0cyAo
U1ZHVGV4dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBtb2RpZmljYXRp
b25zIHRoYXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0ZXh0IGNodW5r
ICh0ZXh0LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVibGljOgogICAg
IFNWR1RleHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCmluZGV4IGYyOWFjNjQuLmM2ODE4
NWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0
dHJpYnV0ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHVGV4dDsK
IC8vIHRvIGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUgYmFzZWQgb24gdGV4dCBjaHVuayBib3Vu
ZGFyaWVzICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRoZSBzZWNvbmQgbGF5b3V0IHBoYXNlIGlz
IGNhcnJpZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUuCiAKLWNsYXNzIFNWR1RleHRMYXlv
dXRBdHRyaWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0
TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Rl
eHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEF0
dHJpYnV0ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWlsZExheW91dEF0dHJpYnV0ZXNGb3JUZXh0
U3VidHJlZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHVGV4dExheW91dEVuZ2luZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmUuaAppbmRleCBhZDA1OGQ4Li42MzFlNGNkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgU1ZH
UmVuZGVyU3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVUZXh0IHJlbmRlcmVycyB0byBjb21wdXRl
IHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyCiAvLyB3aGljaCBhcmUgc3Rv
cmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMuCiAKLWNsYXNzIFNWR1RleHRMYXlv
dXRFbmdpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2lu
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2luZSk7CiBwdWJs
aWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwogICAgIFNWR1RleHRDaHVua0J1aWxkZXIm
IGNodW5rTGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1fY2h1bmtMYXlvdXRCdWlsZGVyOyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
LmgKaW5kZXggZDc1M2IzOS4uYWMzOTNlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApAQCAtMjIsNyArMjIsNiBAQAogCiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMyw3ICsz
Miw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHVGV4dE1ldHJpY3M7CiAKIC8v
IEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdhbGln
bm1lbnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2VsaW5lJyBhbmQgJ2Jhc2VsaW5lLXNoaWZ0
Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSk7CiBwdWJsaWM6CiAgICAgU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZvbnQmKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAppbmRleCAwYTZkNzM2
Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91
dEVuZ2luZVNwYWNpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91
dEVuZ2luZVNwYWNpbmcuaApAQCAtMzAsNyArMzAsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsK
IGNsYXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlv
dXRFbmdpbmUgdG8gaGFuZGxlICdrZXJuaW5nJyAvICdsZXR0ZXItc3BhY2luZycgYW5kICd3b3Jk
LXNwYWNpbmcnLgotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nKTsKIHB1YmxpYzoKICAg
ICBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyhjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFz
ZVRhc2suaAppbmRleCBiNjFlNDY1Li5jZTBiYTRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCkBA
IC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ2FuIGJlIHVzZWQgdG8g
d2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVkLgogLy8gSGFzIHRvIGJlIHBhc3Nl
ZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFz
ay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJsaWM6CiAgICAgRGF0YWJhc2VUYXNr
U3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAgcHJpdmF0ZToKICNlbmRpZgogfTsK
IAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFi
YXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNrKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5EYXRhYmFzZVRhc2soKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oIGIvV2ViQ29y
ZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCmluZGV4IDcxNDVlNmIuLmE2MWQ5ZWIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAorKysgYi9XZWJDb3JlL3N0
b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKQEAgLTU2LDcgKzU2LDggQEAgY2xhc3MgRGF0YWJhc2VU
cmFja2VyQ2xpZW50Owogc3RydWN0IFNlY3VyaXR5T3JpZ2luVHJhaXRzOwogI2VuZGlmIC8vICFQ
TEFURk9STShDSFJPTUlVTSkKIAotY2xhc3MgRGF0YWJhc2VUcmFja2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRGF0YWJhc2VUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgdm9pZCBpbml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlUGF0
aCk7CiAgICAgc3RhdGljIERhdGFiYXNlVHJhY2tlciYgdHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCBiL1dlYkNvcmUv
c3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKaW5kZXggNzgzYTczMS4uNGZj
YzIzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1v
bml0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRv
ci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQsNyArNDMsOCBAQCBjbGFzcyBJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbnRlcmZhY2U7CiAvLyBGSVhNRTogbW92ZSB0aGUgdmVjdG9yIG9mIHRyYW5zYWN0
aW9ucyB0byBUTFMuIEtlZXBpbmcgaXQgc3RhdGljCiAvLyB3aWxsIG5vdCB3b3JrIG9uY2Ugd2Ug
YWRkIHN1cHBvcnQgZm9yIHdvcmtlcnMuIEFub3RoZXIgcG9zc2libGUKIC8vIHNvbHV0aW9uIGlz
IHRvIGtlZXAgdGhlIHZlY3RvciBpbiB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KLWNsYXNz
IElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZv
aWQgYWRkUGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSop
OwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbnRlcmZhY2UqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0
b3JhZ2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCmluZGV4IGEy
ZTM1ZWEuLjQ2NzIwNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VU
YXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaApAQCAtMzcsNyAr
MzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFk
OwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIGNsYXNzIHRvIFN0b3JhZ2VUYXNrCi0gICAg
Y2xhc3MgTG9jYWxTdG9yYWdlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
TG9jYWxTdG9yYWdlVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsU3Rv
cmFnZVRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5bmMsIERlbGV0ZUVtcHR5RGF0YWJhc2UsIFRl
cm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9y
YWdlVGhyZWFkLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKaW5kZXgg
NmYwNTkxMS4uMjRmZTE5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFn
ZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaApAQCAt
NDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdl
VGFzazsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGhyZWFk
Ci0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMb2NhbFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGhyZWFkPiBjcmVhdGUo
KTsKICAgICAgICAgfkxvY2FsU3RvcmFnZVRocmVhZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9z
dG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3Rh
TWFuYWdlci5oCmluZGV4IGVjOTYyMGMuLmFjMjhhNzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Rv
cmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVv
dGFNYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
QWJzdHJhY3REYXRhYmFzZTsKIGNsYXNzIE9yaWdpblVzYWdlUmVjb3JkOwogCi1jbGFzcyBPcmln
aW5RdW90YU1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgT3JpZ2luUXVvdGFN
YW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5RdW90YU1hbmFnZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIE9yaWdpblF1b3RhTWFuYWdlcigp
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaCBiL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCmluZGV4IGE4MzBlNjguLmQ2YWU1OTgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCisrKyBiL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogLy8gT2JqZWN0cyBvZiB0aGlzIGNsYXNzIGNhbiBiZSB1c2VkIGZy
b20gbXVsdGlwbGUgdGhyZWFkcyB3aXRoIGV4dGVybmFsIHN5bmNocm9uaXphdGlvbi4KIC8vIFN0
cmluZyBhcmd1bWVudHMgYXJlIGFsc28gc3VwcG9zZWQgdG8gYmUgZGVlcGx5IGNvcGllZCBieSB0
aGUgY2FsbGVyIHdoZW4gbmVjZXNzYXJ5LgotY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKE9yaWdpblVzYWdlUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
IHB1YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJlY29yZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFu
c2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2NTcuLmQ1NjdhNGYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpZiBFTkFCTEUoREFU
QUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC00MSw4ICs0MCwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogCiAvLyBB
IGNsaWVudCB0byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxUcmFuc2FjdGlv
biB0byBub3RpZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4gdGhpbmdzIGhh
dmUgaGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CisgICAgU1FMVHJhbnNhY3Rpb25DbGllbnQoKSB7IH0KICAg
ICB2b2lkIGRpZENvbW1pdFdyaXRlVHJhbnNhY3Rpb24oQWJzdHJhY3REYXRhYmFzZSopOwogICAg
IHZvaWQgZGlkRXhlY3V0ZVN0YXRlbWVudChBYnN0cmFjdERhdGFiYXNlKik7CiAgICAgYm9vbCBk
aWRFeGNlZWRRdW90YShBYnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0
b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIGIvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IuaAppbmRleCA5NDM2MGMwLi4zNDI1NjY0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCisrKyBiL1dlYkNv
cmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKQEAgLTQzLDggKzQzLDEwIEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uOwogCi0gICAg
Y2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogICAgIHB1YmxpYzoKKyAgICAgICAgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcigpIHsg
fQogICAgICAgICB2b2lkIGFjcXVpcmVMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZv
aWQgcmVsZWFzZUxvY2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCBzaHV0ZG93bigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmggYi9XZWJD
b3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAppbmRleCBhMGNmMmJiLi4xNTVkMGExIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAorKysgYi9XZWJD
b3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaApAQCAtMzgsNyArMzgsOCBAQCBjbGFzcyBT
VkdTdHlsZWRFbGVtZW50OwogY2xhc3MgU1ZHU01JTEVsZW1lbnQ7CiBjbGFzcyBTVkdTVkdFbGVt
ZW50OwogCi1jbGFzcyBTVkdEb2N1bWVudEV4dGVuc2lvbnMgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdEb2N1bWVudEV4dGVuc2lvbnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8U1ZHU3R5bGVkRWxlbWVudD4gPiBTVkdQZW5k
aW5nRWxlbWVudHM7CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKERvY3VtZW50Kik7CkBAIC02
OCw5ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFNWR1BlbmRp
bmdFbGVtZW50cyo+IG1fcGVuZGluZ1Jlc291cmNlczsKICAgICBPd25QdHI8U1ZHUmVzb3VyY2Vz
Q2FjaGU+IG1fcmVzb3VyY2VzQ2FjaGU7CiAKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoY29u
c3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJiBv
cGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0KIHB1YmxpYzoKICAgICAv
LyBUaGlzIEhhc2hNYXAgY29udGFpbnMgYSBsaXN0IG9mIHBlbmRpbmcgcmVzb3VyY2VzLiBQZW5k
aW5nIHJlc291cmNlcywgYXJlIHN1Y2gKICAgICAvLyB3aGljaCBhcmUgcmVmZXJlbmNlZCBieSBh
bnkgb2JqZWN0IGluIHRoZSBTVkcgZG9jdW1lbnQsIGJ1dCBkbyBOT1QgZXhpc3QgeWV0LgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmggYi9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50UmFyZURhdGEuaAppbmRleCA0Mjc2YzRhLi43NWJkNDNiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50UmFyZURhdGEuaApAQCAtMjEsNyArMjEsNiBAQAogI2RlZmluZSBTVkdFbGVtZW50UmFyZURh
dGFfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTMxLDcgKzMwLDggQEAgY2xhc3MgU1ZHQ3Vyc29yRWxlbWVudDsKIGNsYXNzIFNWR0Vs
ZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CiAKLWNsYXNzIFNWR0VsZW1lbnRSYXJl
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0VsZW1lbnRSYXJlRGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHRWxlbWVudFJhcmVEYXRhKCkKICAgICAgICAg
OiBtX2N1cnNvckVsZW1lbnQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRh
LmggYi9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCmluZGV4IGU4OTdhNTkuLjI5NDFhOWUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZH
Rm9udERhdGEuaApAQCAtMjUsNyArMjUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR0ZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ZvbnREYXRh
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdGb250RGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiBwdWJsaWM6CiAgICAgU1ZHRm9udERhdGEoU1ZHRm9udEZhY2VFbGVtZW50Kik7
CiAgICAgdmlydHVhbCB+U1ZHRm9udERhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Zn
L1NWR1BhdGhCbGVuZGVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCmluZGV4IGMw
YWU3ZjMuLjcyOWVkNTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgK
KysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJT
VkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aEJsZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHUGF0aEJsZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Bh
dGhCbGVuZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBTVkdQYXRo
QmxlbmRlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5o
IGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAppbmRleCBiODg4MmI2Li5jYWJmYjJk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCisrKyBiL1dlYkNv
cmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZH
UGF0aEJ5dGVTdHJlYW1faAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIApAQCAtNDMsNyArNDIsOCBAQCB0eXBlZGVmIHVuaW9uIHsKICAgICB1bnNpZ25lZCBj
aGFyIGJ5dGVzW3NpemVvZih1bnNpZ25lZCBzaG9ydCldOwogfSBVbnNpZ25lZFNob3J0Qnl0ZTsK
IAotY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U1ZHUGF0aEJ5dGVTdHJlYW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCeXRl
U3RyZWFtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1l
ci5oCmluZGV4IGI3YzVlNzMuLjRkNTdlNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhDb25zdW1lci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1lci5oCkBAIC0yNiw3
ICsyNiw2IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00
MCw4ICszOSwxMCBAQCBlbnVtIFBhdGhQYXJzaW5nTW9kZSB7CiAgICAgVW5hbHRlcmVkUGFyc2lu
ZwogfTsKIAotY2xhc3MgU1ZHUGF0aENvbnN1bWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR1BhdGhDb25zdW1lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aENv
bnN1bWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKKyAgICBTVkdQYXRoQ29u
c3VtZXIoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgaW5jcmVtZW50UGF0aFNlZ21lbnRDb3VudCgp
ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgY29udGludWVDb25zdW1pbmcoKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGNsZWFudXAoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRo
UGFyc2VyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKaW5kZXggNzY3OWE5NS4uYzQ4
YjIxNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCisrKyBiL1dlYkNv
cmUvc3ZnL1NWR1BhdGhQYXJzZXIuaApAQCAtMjksMTIgKzI5LDEyIEBACiAjaW5jbHVkZSAiU1ZH
UGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNlZy5oIgogI2luY2x1ZGUgIlNWR1Bh
dGhTb3VyY2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhQYXJz
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aFBhcnNlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiBwdWJsaWM6CiAgICAgU1ZHUGF0aFBhcnNlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU291cmNlLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKaW5kZXggZDFh
NjE0OS4uY2Y0Y2QwMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCisr
KyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaApAQCAtMjUsOCArMjUsMTAgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoU291cmNlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR1BhdGhTb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1BhdGhTb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogcHVibGljOgorICAgIFNWR1Bh
dGhTb3VyY2UoKSB7IH0KICAgICB2aXJ0dWFsIH5TVkdQYXRoU291cmNlKCkgeyB9CiAKICAgICB2
aXJ0dWFsIGJvb2wgaGFzTW9yZURhdGEoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N2Zy9TVkdWaWV3U3BlYy5oIGIvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAppbmRleCBkZDQ2
NmVmLi4wZjBjY2JjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCisrKyBi
L1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKQEAgLTM0LDggKzM0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFNWR1RyYW5zZm9ybUxpc3Q7CiAKICAgICBjbGFzcyBTVkdWaWV3
U3BlYyA6IHB1YmxpYyBTVkdGaXRUb1ZpZXdCb3gsCi0gICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgU1ZHWm9vbUFuZFBhbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1ZpZXdTcGVjKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQq
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvV2Vi
Q29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IGM5ODA0YWUuLjkxNjI2YzQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9XZWJDb3Jl
L3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKQEAgLTU1LDcgKzU1LDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNo
cm9tZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ltYWdlQ2hyb21lQ2xp
ZW50IDogcHVibGljIEVtcHR5Q2hyb21lQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdJbWFnZUNocm9tZUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgU1ZHSW1hZ2VDaHJvbWVDbGllbnQoU1ZHSW1hZ2UqIGltYWdlKQogICAgICAgICA6IG1f
aW1hZ2UoaW1hZ2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlz
ZXIuaCBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCmluZGV4IDY4NmMxN2Mu
LmNjNzkxZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5o
CisrKyBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCkBAIC0zOSw3ICszOSw4
IEBAIGNsYXNzIEZsb2F0MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7CiAjZW5kaWYKIAotY2xh
c3MgUmVhbHRpbWVBbmFseXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFsdGlt
ZUFuYWx5c2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFsdGltZUFuYWx5c2VyKTsK
IHB1YmxpYzoKICAgICBSZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmlydHVhbCB+UmVhbHRpbWVB
bmFseXNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuaAppbmRleCAwNWIzNzY3Li44ZjNmMTU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNv
Y2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tl
dHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtMzQsNyArMzQsNiBAQAogI2lmIEVO
QUJMRShXRUJfU09DS0VUUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDMsOCArNDIsMTAgQEAgY2xhc3MgS1VSTDsKIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCi1jbGFz
cyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwpOwogcHVibGljOgorICAgIFRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsKCkgeyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViU29ja2V0Q2hh
bm5lbENsaWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKTsKIAogICAg
IHZpcnR1YWwgdm9pZCBjb25uZWN0KCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmgKaW5kZXggOWM1MjM3Ny4uMTk3MzljOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbCA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgU29ja2V0U3RyZWFt
SGFuZGxlQ2xpZW50LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8V2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVudCwgY29uc3QgS1VSTCYgdXJs
LCBjb25zdCBTdHJpbmcmIHByb3RvY29sKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViU29ja2V0
Q2hhbm5lbChjb250ZXh0LCBjbGllbnQsIHVybCwgcHJvdG9jb2wpKTsgfQogICAgICAgICB2aXJ0
dWFsIH5XZWJTb2NrZXRDaGFubmVsKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMv
V2ViU29ja2V0SGFuZHNoYWtlLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNo
YWtlLmgKaW5kZXggYTViNDI2MC4uMzcxZDg1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRIYW5kc2hha2UuaApAQCAtMzcsMTMgKzM3LDEzIEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAi
V2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIAotICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV2ViU29ja2V0SGFuZHNoYWtlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0g
TW9kZSB7CiAgICAgICAgICAgICBJbmNvbXBsZXRlLCBOb3JtYWwsIEZhaWxlZCwgQ29ubmVjdGVk
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbC5oCmluZGV4IDM2NmU0ZmEuLmFjODNlOGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vi
c29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1dlYkNvcmUv
d2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC01Miw2ICs1
Miw3IEBAIGNsYXNzIFdvcmtlckxvYWRlclByb3h5OwogY2xhc3MgV29ya2VyUnVuTG9vcDsKIAog
Y2xhc3MgV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4sIHB1YmxpYyBUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFdv
cmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVu
dCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcm
IHByb3RvY29sKQogICAgIHsKQEAgLTc3LDcgKzc4LDggQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToK
ICAgICAvLyBHZW5lcmF0ZWQgYnkgdGhlIGJyaWRnZS4gIFRoZSBQZWVyIGFuZCBpdHMgYnJpZGdl
IHNob3VsZCBoYXZlIGlkZW50aWNhbAogICAgIC8vIGxpZmV0aW1lcy4KLSAgICBjbGFzcyBQZWVy
IDogcHVibGljIFdlYlNvY2tldENoYW5uZWxDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGVlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgUGVlciogY3JlYXRlKFJlZlB0cjxUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbENsaWVudFdyYXBwZXI+IGNsaWVudFdyYXBwZXIsIFdvcmtlckxvYWRlclBy
b3h5JiBsb2FkZXJQcm94eSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3Qg
U3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29s
KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdv
cmtlclJlcG9zaXRvcnkuaCBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5oCmluZGV4IDIxZTE0YTEuLjY4Zjk2MjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29y
a2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCisrKyBiL1dlYkNvcmUvd29ya2Vy
cy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTMsNyArNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgU2hhcmVkV29ya2VyUHJveHk7CiAKICAgICAvLyBQbGF0Zm9ybS1zcGVjaWZpYyBp
bXBsZW1lbnRhdGlvbiBvZiB0aGUgU2hhcmVkV29ya2VyUmVwb3NpdG9yeSBzdGF0aWMgaW50ZXJm
YWNlLgotICAgIGNsYXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEludm9r
ZWQgb25jZSB0aGUgd29ya2VyIHNjcmlwdCBoYXMgYmVlbiBsb2FkZWQgdG8gZmlyZSB1cCB0aGUg
d29ya2VyIHRocmVhZC4KICAgICAgICAgdm9pZCB3b3JrZXJTY3JpcHRMb2FkZWQoU2hhcmVkV29y
a2VyUHJveHkmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiB3b3JrZXJT
Y3JpcHQsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsPik7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRl
eHQuaAppbmRleCA1ZDE1ZDk0Li4wODQ2NDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKQEAg
LTE0NSw3ICsxNDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgaXNDbG9z
aW5nKCkgeyByZXR1cm4gbV9jbG9zaW5nOyB9CiAKICAgICAgICAgLy8gQW4gb2JzZXJ2ZXIgaW50
ZXJmYWNlIHRvIGJlIG5vdGlmaWVkIHdoZW4gdGhlIHdvcmtlciB0aHJlYWQgaXMgZ2V0dGluZyBz
dG9wcGVkLgotICAgICAgICBjbGFzcyBPYnNlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIE9ic2VydmVyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE9ic2VydmVyKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgT2JzZXJ2ZXIoV29ya2Vy
Q29udGV4dCopOwogICAgICAgICAgICAgdmlydHVhbCB+T2JzZXJ2ZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggMzM5MzdjZS4uYTJlYzQ1ZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRl
ICJXb3JrZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlck9iamVjdFByb3h5LmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDYsNyArNDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAgICBjbGFzcyBXb3JrZXI7
CiAKLSAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0
UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5
LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5IDog
cHVibGljIFdvcmtlckNvbnRleHRQcm94eSwgcHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJs
aWMgV29ya2VyTG9hZGVyUHJveHkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3Jr
ZXJNZXNzYWdpbmdQcm94eSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgcHVibGljOgog
ICAgICAgICBXb3JrZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1
bkxvb3AuY3BwCmluZGV4IDgzZjI0M2YuLjdiMzE0OWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9v
cC5jcHAKQEAgLTEwNCw3ICsxMDQsOCBAQCBTdHJpbmcgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1v
ZGUoKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotY2xhc3MgUnVuTG9vcFNldHVwIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJ1bkxvb3BTZXR1cCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUnVuTG9vcFNldHVwKTsKIHB1YmxpYzoKICAgICBSdW5Mb29wU2V0dXAoV29ya2Vy
UnVuTG9vcCYgcnVuTG9vcCkKICAgICAgICAgOiBtX3J1bkxvb3AocnVuTG9vcCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmggYi9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyUnVuTG9vcC5oCmluZGV4IDlkNGVkZmQuLmZhMWJjZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxv
b3AuaApAQCAtNjUsNyArNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3Rh
dGljIFN0cmluZyBkZWZhdWx0TW9kZSgpOwogCi0gICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxUYXNrPiBjcmVhdGUoUGFzc093blB0
cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrLCBjb25zdCBTdHJpbmcmIG1vZGUp
OwogICAgICAgICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXgg
ZjYxMTIwZS4uNGFhOWY4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTM4LDcgKzM4
LDYgQEAKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgiCiAKICNpbmNsdWRlIDx1dGlsaXR5
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQog
I2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgpAQCAtNjEsNyArNjAsOCBAQCB1bnNpZ25lZCBXb3Jr
ZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkKICAgICByZXR1cm4gbV90aHJlYWRDb3VudDsK
IH0KIAotc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIDogTm9uY29weWFibGUgeworc3Ry
dWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
b3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+IGNyZWF0ZShj
b25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDYxMDM3MDMu
LjY5MmMwZDhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysr
IGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC02NSw3ICs2NSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciB4bWxIdHRw
UmVxdWVzdENvdW50ZXIoIlhNTEh0dHBSZXF1ZXN0Iik7CiAjZW5kaWYKIAotc3RydWN0IFhNTEh0
dHBSZXF1ZXN0U3RhdGljRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBYTUxIdHRwUmVxdWVz
dFN0YXRpY0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTEh0dHBSZXF1ZXN0U3Rh
dGljRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECitwdWJsaWM6CiAgICAgWE1MSHR0cFJl
cXVlc3RTdGF0aWNEYXRhKCk7CiAgICAgU3RyaW5nIG1fcHJveHlIZWFkZXJQcmVmaXg7CiAgICAg
U3RyaW5nIG1fc2VjSGVhZGVyUHJlZml4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuaCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggMDk4ZTE5Zi4u
OWIxZDI2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9X
ZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIFRleHRS
ZXNvdXJjZURlY29kZXI7CiBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiBjbGFzcyBYTUxIdHRw
UmVxdWVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFhNTEh0dHBSZXF1ZXN0PiwgcHVibGljIEV2ZW50
VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01P
YmplY3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgWE1MSHR0cFJlcXVlc3QoY29udGV4dCkp
OyB9CiAgICAgflhNTEh0dHBSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0
aEV4cHJlc3Npb25Ob2RlLmggYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKaW5k
ZXggYzA0ZDQ1Yi4uNmE3M2I4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNz
aW9uTm9kZS5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaApAQCAtMzks
NyArMzksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewog
ICAgICAgICAKLSAgICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250ZXh0IDogRmFzdEFsbG9jQmFz
ZSB7CisgICAgICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCB7CisgICAgICAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVmUHRy
PE5vZGU+IG5vZGU7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemU7CiAgICAgICAgICAg
ICB1bnNpZ25lZCBsb25nIHBvc2l0aW9uOwpAQCAtNTMsNyArNTUsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIH5QYXJzZU5vZGUoKSB7IH0KICAgICAgICAgfTsK
IAotICAgICAgICBjbGFzcyBFeHByZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSwgcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUg
eworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXhwcmVzc2lvbik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVECiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBFdmFs
dWF0aW9uQ29udGV4dCYgZXZhbHVhdGlvbkNvbnRleHQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS94bWwvWFBhdGhOb2RlU2V0LmggYi9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAppbmRleCBk
NWM0N2JlLi5kODk3ZGE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAor
KysgYi9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogCi0gICAgICAgIGNsYXNzIE5v
ZGVTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIGNsYXNzIE5vZGVTZXQgewor
ICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgTm9kZVNldCgpIDogbV9pc1NvcnRlZCh0cnVlKSwgbV9zdWJ0cmVlc0FyZURpc2pv
aW50KGZhbHNlKSB7IH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBh
dGhQYXJzZXIuaCBiL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKaW5kZXggNDRhOGU0OC4uNDBi
NzNkYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAorKysgYi9XZWJDb3Jl
L3htbC9YUGF0aFBhcnNlci5oCkBAIC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgICAgIFRva2VuKGludCB0LCBFcVRlc3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBl
cW9wKHYpIHt9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBhcnNlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFBhcnNl
cigpOwogICAgICAgICAgICAgflBhcnNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBh
dGhQcmVkaWNhdGUuaCBiL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKaW5kZXggNWYyNDgy
YS4uZTdlMWJjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAorKysg
Yi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCkBAIC0xMDUsNyArMTA1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBl
KCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogICAgICAgICB9OwogCi0g
ICAgICAgIGNsYXNzIFByZWRpY2F0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIFByZWRpY2F0ZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVkaWNh
dGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBQcmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAgICAgICAgICAgflByZWRpY2F0ZSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmggYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAu
aAppbmRleCBlYzAyMmIzLi5mNzcwZDk4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFN0
ZXAuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaApAQCAtMzksNyArMzksOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgY2xhc3MgUHJlZGljYXRlOwogICAgICAgICAKLSAg
ICAgICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFN0ZXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogICAgICAg
ICBwdWJsaWM6CiAgICAgICAgICAgICBlbnVtIEF4aXMgewogICAgICAgICAgICAgICAgIEFuY2Vz
dG9yQXhpcywgQW5jZXN0b3JPclNlbGZBeGlzLCBBdHRyaWJ1dGVBeGlzLApAQCAtNDksNyArNTAs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAgICAgU2VsZkF4aXMKICAgICAg
ICAgICAgIH07CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICAgICAgY2xhc3MgTm9kZVRlc3QgeworICAgICAg
ICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAgICAgICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICAgICAgZW51bSBLaW5kIHsKICAgICAgICAgICAgICAgICAgICAgVGV4dE5vZGVU
ZXN0LCBDb21tZW50Tm9kZVRlc3QsIFByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBBbnlO
b2RlVGVzdCwgTmFtZVRlc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUu
aCBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAppbmRleCBmM2E5MzE4Li4xZmVhNWJhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKKysrIGIvV2ViQ29yZS94bWwv
WFNMSW1wb3J0UnVsZS5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENhY2hlZFhTTFN0eWxlU2hlZXQ7CiAKIGNsYXNzIFhTTEltcG9ydFJ1bGUgOiBwdWJsaWMg
U3R5bGVCYXNlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhTTEltcG9ydFJ1
bGU+IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVm
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGI2ZWJhMjEuLjM3ZGRkZTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTI1ICBab2x0YW4g
SG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGlu
ZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5k
IHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4ICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAqIFN0cmluZ3NOb3RUb0Jl
TG9jYWxpemVkLnR4dDogVXBkYXRlZCBmb3IgcmVjZW50IGNoYW5nZXMuCmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Jv
dW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4uNDNkYjc5ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRP
YmplY3QuaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIEJvdW5kT2JqZWN0X2gKIAogI2lu
Y2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiAvLyBCb3VuZE9iamVjdCBpcyBhIGhlbHBlciBjbGFzcyB0aGF0IGxldHMgeW91
IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxscwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBj
YWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3llZCBvbmNlIEpTIG9iamVjdCBpcwogLy8gYnVpbHQu
Ci1jbGFzcyBCb3VuZE9iamVjdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBCb3VuZE9i
amVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQm91bmRPYmplY3QpOwogcHVibGljOgog
ICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQsIHZvaWQqIHY4
VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFtZSk7CiAgICAgdmlydHVhbCB+Qm91bmRPYmplY3Qo
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIu
Y3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKaW5kZXgg
MDg2MGNiMS4uNTljMjE3NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50
TWFuYWdlci5jcHAKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIK
ICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0
ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01NSw3ICs1NCw4IEBAIGJvb2wgRGVi
dWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhwb3NlVjhEZWJ1Z2dlclByb3RvY29sID0gZmFsc2U7CiAK
IG5hbWVzcGFjZSB7CiAKLWNsYXNzIENhbGxlcklkV3JhcHBlciA6IHB1YmxpYyB2ODo6RGVidWc6
OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWxsZXJJZFdyYXBwZXIg
OiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDYWxsZXJJZFdyYXBwZXIpOwogcHVibGljOgogICAgIENhbGxlcklkV3JhcHBlcigpIDogbV9j
YWxsZXJJc01hbmFuYWdlcih0cnVlKSwgbV9jYWxsZXJJZCgwKSB7IH0KICAgICBleHBsaWNpdCBD
YWxsZXJJZFdyYXBwZXIoaW50IGNhbGxlcklkKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5oCmluZGV4IDY2YmQ3MTQuLmI3ODU2Y2YgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAorKysgYi9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRl
IDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYzLDcgKzYyLDggQEAgY2xhc3MgV2Vi
Vmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qgc29tZSBhY3Rpb25zIGZyb20gdGhlIGhhbmRsZXIu
IElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRlCiAvLyBkZWJ1Z2dlciBhZ2VudCB0byBoYW5kbGUg
c3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3aWxsIHBlcmZvcm0gdGhlIGFjdGlvbgogLy8gaXRz
ZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcgd2FpdGluZyBmb3IgdGhlIGFjdGlvbi4KLWNsYXNz
IERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlYnVn
Z2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWJ1Z2dlckFnZW50
TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVidWdBdHRhY2goRGVidWdnZXJB
Z2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwogICAgIHN0YXRpYyB2b2lkIGRlYnVnRGV0YWNoKERl
YnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0v
c3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4IGZjMjFmM2UuLjA1OTZjYWQg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJ
bXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGxfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0OwpAQCAtNDQsOCArNDMsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1w
bDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6
Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsKK2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKTsKIHB1YmxpYzoK
ICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoV2ViQ29yZTo6UGFnZSosIFdlYkRldlRv
b2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCopOwogICAgIHZpcnR1
YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAppbmRleCA4ODBhZGI0Li4wMjI2ZWYzIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApAQCAtNTgsNyArNTgs
NiBAQAogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5o
IgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogdXNpbmcgV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRl
bmRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgK
aW5kZXggODY2YTFjYi4uYjA4NTMzOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2
VG9vbHNGcm9udGVuZEltcGwuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNTUsOCArNTQsOCBA
QCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogdXNpbmcgV1RGOjpTdHJpbmc7CiAK
LWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9v
bHNGcm9udGVuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpX
ZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJEZXZUb29s
c0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAgICAgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwoCiAg
ICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwqIHdlYlZpZXdJbXBsLApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCmluZGV4IDQ0MjJlMWIuLjI2Yjk2YmMgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI4MCw3ICsyODAsOCBAQCBXZWJQbHVnaW5Db250YWluZXJJ
bXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNvbnRhaW5lckZyb21GcmFtZShGcmFtZSogZnJhbWUp
CiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVycmlkZSBzb21lIG9mIFByaW50Q29udGV4dCBiZWhh
dmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwogLy8gbWFkZSB2aXJ0dWFsIHNvIHRoYXQgdGhleSBj
YW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBsdWdpblByaW50Q29udGV4dC4KLWNsYXNzIENocm9t
ZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmludENvbnRleHQsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQcmludENvbnRleHQpOwogcHVibGljOgogICAgIENo
cm9tZVByaW50Q29udGV4dChGcmFtZSogZnJhbWUpCiAgICAgICAgIDogUHJpbnRDb250ZXh0KGZy
YW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAppbmRleCAyMjFiYTAzLi40
ZmQ0MmE2IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwu
aAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaApAQCAtNTYsNiAr
NTYsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIGNsYXNzIFdlYlBvcHVwTWVudUltcGwgOiBwdWJsaWMg
V2ViUG9wdXBNZW51LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBXZWJDb3JlOjpG
cmFtZWxlc3NTY3JvbGxWaWV3Q2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudUltcGw+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRAogcHVibGljOgogICAgIC8vIFdlYldpZGdldAogICAgIHZpcnR1YWwgdm9pZCBjbG9zZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyRWZsLmggYi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXJFZmwuaAppbmRleCA0YmJhZTI1Li42N2M0NjA4IDEwMDY0NAotLS0gYS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwuaAorKysg
Yi9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwu
aApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcik7CiBwdWJs
aWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAgIHZpcnR1YWwgfkZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggZDRiYmVhMi4uM2ZiOGIxNiAx
MDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyLmgKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50
LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0
dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3du
bG9hZC5jcHAKaW5kZXggMThiNjRhYi4uZTI2YTVjNCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRv
d25sb2FkLmNwcApAQCAtMjIsNyArMjIsNiBAQAogCiAjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIu
aD4KICNpbmNsdWRlICJHUmVmUHRyLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNs
dWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtNTQsNyArNTMsOCBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAqIG91dCB3aGF0IGlzIHRvIGJlIGRvd25sb2FkZWQs
IGFuZCBkbyBpdCBpdHNlbGYuCiAgKi8KIAotY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMg
Tm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBEb3dubG9h
ZENsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRG93bmxvYWRDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgRG93bmxvYWRD
bGllbnQoV2ViS2l0RG93bmxvYWQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9Gb3J3YXJk
aW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRl
cnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1MDgw
MjQuLjAwMDAwMDAKLS0tIGEvV2ViS2l0L21hYy9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbXBvcnQgPEphdmFTY3JpcHRD
b3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oIGIvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAppbmRleCBmNzg0YWRlLi40ZjJjNTY2IDEw
MDY0NAotLS0gYS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFu
Y2VQcm94eS5oCisrKyBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5LmgKQEAgLTMxMyw3ICszMTMsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgZGVt
YXJzaGFsVmFsdWVGcm9tQXJyYXkoSlNDOjpFeGVjU3RhdGUqLCBOU0FycmF5ICphcnJheSwgTlNV
SW50ZWdlciYgaW5kZXgsIEpTQzo6SlNWYWx1ZSYgcmVzdWx0KTsKICAgICB2b2lkIGRlbWFyc2hh
bFZhbHVlcyhKU0M6OkV4ZWNTdGF0ZSosIGRhdGFfdCB2YWx1ZXNEYXRhLCBtYWNoX21zZ190eXBl
X251bWJlcl90IHZhbHVlc0xlbmd0aCwgSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciYgcmVzdWx0
KTsKIAotICAgIGNsYXNzIExvY2FsT2JqZWN0TWFwIDogTm9uY29weWFibGUgeworICAgIGNsYXNz
IExvY2FsT2JqZWN0TWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxPYmpl
Y3RNYXApOwogICAgIHB1YmxpYzoKICAgICAgICAgTG9jYWxPYmplY3RNYXAoKTsKICAgICAgICAg
fkxvY2FsT2JqZWN0TWFwKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0
YWJhc2VUcmFja2VyQ2xpZW50Lm1tIGIvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJh
Y2tlckNsaWVudC5tbQppbmRleCAyOTEzNzM5Li42NWFiYTQzIDEwMDY0NAotLS0gYS9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCisrKyBiL1dlYktpdC9tYWMv
U3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KQEAgLTUyLDcgKzUyLDggQEAgV2Vi
RGF0YWJhc2VUcmFja2VyQ2xpZW50Ojp+V2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KCkKIHsKIH0K
IAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEaWRNb2Rp
ZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFRvTWFpblRo
cmVhZChXZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQqIGNsaWVudCwgU2VjdXJpdHlPcmlnaW4qIG9y
aWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oIGIvV2ViS2l0
L3F0L1dlYktpdF9wY2guaAppbmRleCAxZGQ0ZDUyLi5lMDk1ZWY0IDEwMDY0NAotLS0gYS9XZWJL
aXQvcXQvV2ViS2l0X3BjaC5oCisrKyBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKQEAgLTcyLDcg
KzcyLDYgQEAKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9UQ1N5
c3RlbUFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L1VudXNlZFBhcmFtLmg+CiAjaW5jbHVkZSA8d3RmL0Fsd2F5c0lubGluZS5oPgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oIGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFu
dC5oCmluZGV4IGE5M2EzYzIuLjY3MjUxMDcgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ09NRW51
bVZhcmlhbnQuaAorKysgYi9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKQEAgLTI5LDEyICsy
OSwxMiBAQAogI2RlZmluZSBOT01JTk1BWAogI2luY2x1ZGUgPHVua253bi5oPgogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlICJDT01WYXJpYW50U2V0dGVyLmgiCiAK
IHRlbXBsYXRlPHR5cGVuYW1lIENvbnRhaW5lclR5cGU+Ci1jbGFzcyBDT01FbnVtVmFyaWFudCA6
IHB1YmxpYyBJRW51bVZBUklBTlQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDT01FbnVt
VmFyaWFudCA6IHB1YmxpYyBJRW51bVZBUklBTlQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENPTUVudW1WYXJpYW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09NRW51bVZhcmlhbnQqIGFk
b3B0KENvbnRhaW5lclR5cGUmKTsKICAgICBzdGF0aWMgQ09NRW51bVZhcmlhbnQqIGNyZWF0ZUlu
c3RhbmNlKGNvbnN0IENvbnRhaW5lclR5cGUmKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09N
UHJvcGVydHlCYWcuaCBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaAppbmRleCA2MTBjMzY3
Li4yYjU3YTY3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKKysrIGIv
V2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNkZWZpbmUg
Tk9NSU5NQVgNCiAjaW5jbHVkZSA8dW5rbnduLmg+DQogDQotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPg0KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPg0KIA0KICNpbmNsdWRlICJDT01WYXJp
YW50U2V0dGVyLmgiDQogDQogdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZSBL
ZXlUeXBlID0gdHlwZW5hbWUgV1RGOjpTdHJpbmcsIHR5cGVuYW1lIEhhc2hUeXBlID0gdHlwZW5h
bWUgV1RGOjpTdHJpbmdIYXNoPg0KLWNsYXNzIENPTVByb3BlcnR5QmFnIDogcHVibGljIElQcm9w
ZXJ0eUJhZywgcHVibGljIElQcm9wZXJ0eUJhZzIsIE5vbmNvcHlhYmxlIHsNCitjbGFzcyBDT01Q
cm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyIHsN
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ09NUHJvcGVydHlCYWcpOw0KIHB1YmxpYzoNCiAg
ICAgdHlwZWRlZiBIYXNoTWFwPEtleVR5cGUsIFZhbHVlVHlwZSwgSGFzaFR5cGU+IEhhc2hNYXBU
eXBlOw0KIA0KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ci5oIGIvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggOWFjOGM2
OS4uNzUzMTg4OCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyLmgKKysrIGIvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKQEAgLTEw
Miw3ICsxMDIsOCBAQCBwcml2YXRlOgogICAgIGludCBtX2RyYWdTdGFydE9mZnNldDsKIH07CiAK
LWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVGdWxsc2NyZWVuQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUZ1bGxzY3Jl
ZW5DbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2
aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
d2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAgYi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdl
ci5jcHAKaW5kZXggYmRjYjU0OS4uZTJiODFlMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJE
YXRhYmFzZU1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNw
cApAQCAtNTIsNyArNTIsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNFcXVhbChMUENXU1RSIHMx
LCBMUENXU1RSIHMyKQogICAgIHJldHVybiAhd2NzY21wKHMxLCBzMik7CiB9CiAKLWNsYXNzIERh
dGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnIDogcHVibGljIElQ
cm9wZXJ0eUJhZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VEZXRhaWxzUHJv
cGVydHlCYWcpOwogcHVibGljOgogICAgIHN0YXRpYyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJh
ZyogY3JlYXRlSW5zdGFuY2UoY29uc3QgRGF0YWJhc2VEZXRhaWxzJik7CiAKQEAgLTMyOCw3ICsz
MjksOCBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkRhdGFiYXNlTWFuYWdlcjo6ZGVs
ZXRlRGF0YWJhc2UoCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdp
bkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VNYW5hZ2Vy
KiBkYXRhYmFzZU1hbmFnZXIsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaCBiL1dlYktpdC93aW4vV2ViSW5zcGVjdG9y
LmgKaW5kZXggMDUzYTU5My4uY2QzMjRhOCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJJbnNw
ZWN0b3IuaAorKysgYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCkBAIC0zMCwxMSArMzAsMTEg
QEAKICNkZWZpbmUgV2ViSW5zcGVjdG9yX2gKIAogI2luY2x1ZGUgIldlYktpdC5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBjbGFzcyBXZWJWaWV3OwogCi1jbGFzcyBXZWJJbnNw
ZWN0b3IgOiBwdWJsaWMgSVdlYkluc3BlY3RvciwgcHVibGljIElXZWJJbnNwZWN0b3JQcml2YXRl
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJ
bnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV2ViSW5zcGVjdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViSW5zcGVjdG9y
KiBjcmVhdGVJbnN0YW5jZShXZWJWaWV3Kik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2Vi
TG9jYWxpemFibGVTdHJpbmdzLmNwcCBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdz
LmNwcAppbmRleCBkYTZiMjIxLi5lOWI5OWFkIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkxv
Y2FsaXphYmxlU3RyaW5ncy5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmlu
Z3MuY3BwCkBAIC03Miw3ICs3Miw4IEBAIHN0YXRpYyBMb2NhbGl6ZWRTdHJpbmdNYXAgZnJhbWV3
b3JrTG9jU3RyaW5ncygpCiAgICAgcmV0dXJuIG1hcDsKIH0KIAotY2xhc3MgTG9jYWxpemVkU3Ry
aW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsaXplZFN0cmluZyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxpemVkU3RyaW5nKTsKIHB1YmxpYzoKICAgICBMb2Nh
bGl6ZWRTdHJpbmcoQ0ZTdHJpbmdSZWYgc3RyaW5nKQogICAgICAgICA6IG1fY2ZTdHJpbmcoc3Ry
aW5nKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oIGIvV2ViS2l0L3dp
bi9XZWJTY3JpcHRXb3JsZC5oCmluZGV4IGYwODhhNzIuLjAxNTExZGUgMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAorKysgYi9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxk
LmgKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdy
YXBwZXJXb3JsZDsKIH0KIAotY2xhc3MgV2ViU2NyaXB0V29ybGQgOiBwdWJsaWMgTm9uY29weWFi
bGUsIHB1YmxpYyBJV2ViU2NyaXB0V29ybGQgeworY2xhc3MgV2ViU2NyaXB0V29ybGQgOiBwdWJs
aWMgSVdlYlNjcmlwdFdvcmxkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJTY3JpcHRX
b3JsZCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlNjcmlwdFdvcmxkKiBzdGFuZGFyZFdvcmxk
KCk7CiAgICAgc3RhdGljIENPTVB0cjxXZWJTY3JpcHRXb3JsZD4gY3JlYXRlSW5zdGFuY2UoKTsK
ZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaCBiL1dlYktpdC93
aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaAppbmRleCBhMmQ2ZDU2Li42ZTM3NDdkIDEwMDY0NAot
LS0gYS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKKysrIGIvV2ViS2l0L3dpbi9X
ZWJTZXJpYWxpemVkSlNWYWx1ZS5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiB9CiAKLWNsYXNzIFdlYlNlcmlh
bGl6ZWRKU1ZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRK
U1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CitjbGFzcyBXZWJT
ZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWUsIHB1YmxpYyBJ
V2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
ZWJTZXJpYWxpemVkSlNWYWx1ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTVB0cjxXZWJTZXJp
YWxpemVkSlNWYWx1ZT4gY3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dp
bi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBiL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmgKaW5kZXggZThmNmI2Ny4uNDI4NTRiNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dp
bi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAorKysgYi9XZWJLaXQvd2luL1dlYlVzZXJDb250
ZW50VVJMUGF0dGVybi5oCkBAIC0zMiw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBVc2VyQ29udGVudFVSTFBhdHRlcm47CiB9CiAKLWNsYXNzIFdlYlVzZXJDb250ZW50
VVJMUGF0dGVybiA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJVc2VyQ29udGVudFVS
TFBhdHRlcm4geworY2xhc3MgV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIDogcHVibGljIElXZWJV
c2VyQ29udGVudFVSTFBhdHRlcm4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlVzZXJD
b250ZW50VVJMUGF0dGVybik7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTVB0cjxXZWJVc2VyQ29u
dGVudFVSTFBhdHRlcm4+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIv
Q2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWY0YzkyYS4uN2NkMTQwNSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMC0xMS0yNSAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQg
cmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAg
IEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0
aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAor
ICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50
YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNl
LmggaW5jbHVkZXMuCisKIDIwMTAtMTEtMjQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGltcGxpY2l0bHkgYnkgSm9obiBTdWxsaXZhbi4KZGlm
ZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaCBiL1dl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaAppbmRleCA4MTEzMjM2Li44
ZWZmYjBkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBo
b3JlLmgKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEJpbmFyeVNlbWFwaG9yZV9oCiAjZGVmaW5lIEJpbmFy
eVNlbWFwaG9yZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUu
aAppbmRleCAwODI1YmY2Li5lYzFhY2NkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsYXRmb3JtL01v
ZHVsZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgTW9kdWxlX2gKICNkZWZpbmUgTW9kdWxlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgUExBVEZP
Uk0oTUFDKQpAQCAtMzksNyArMzgsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3Mg
TW9kdWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1vZHVsZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTW9kdWxlKTsKIHB1YmxpYzoKICAgICBNb2R1bGUoY29uc3QgU3RyaW5n
JiBwYXRoKTsKICAgICB+TW9kdWxlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL1No
YXJlZE1lbW9yeS5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAppbmRleCAwNWRj
MGRkLi5hODZiOWZkIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5o
CisrKyBiL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKQEAgLTI2LDcgKzI2LDYgQEAK
ICNpZm5kZWYgU2hhcmVkTWVtb3J5X2gKICNkZWZpbmUgU2hhcmVkTWVtb3J5X2gKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApAQCAtNTIsNyArNTEsOCBAQCBwdWJsaWM6CiAgICAg
ICAgIFJlYWRXcml0ZQogICAgIH07CiAKLSAgICBjbGFzcyBIYW5kbGUgOiBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgSGFuZGxlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGFuZGxl
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIEhhbmRsZSgpOwogICAgICAgICB+SGFuZGxlKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lmgg
Yi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKaW5kZXggNjkz
NDMyOS4uMTE1YzExMyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNv
bnRyb2xsZXJQcm94eS5oCisrKyBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9s
bGVyUHJveHkuaApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIlBsdWdpbkNvbnRyb2xsZXIu
aCIKICNpbmNsdWRlICJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuaCBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKaW5kZXgg
NjcwZTFhMy4uZDc1MTBiZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuaAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCkBA
IC0zOSw2ICszOSw3IEBAIGNsYXNzIFdlYlByb2Nlc3NDb25uZWN0aW9uOwogc3RydWN0IFBsdWdp
blByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAgICAgICAgIAogY2xhc3MgUGx1Z2luUHJvY2Vz
cyA6IENoaWxkUHJvY2VzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUHJvY2Vz
cyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3MmIHNoYXJlZCgpOwogCmRpZmYg
LS1naXQgYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaCBiL1dlYktpdDIvU2hhcmVkL0No
aWxkUHJvY2Vzcy5oCmluZGV4IDc4ZmUxZjQuLjhjNWU4ZTMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
U2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisrKyBiL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5o
CkBAIC0yNywxMyArMjcsMTEgQEAKICNkZWZpbmUgQ2hpbGRQcm9jZXNzX2gKIAogI2luY2x1ZGUg
IkNvbm5lY3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIENoaWxkUHJvY2VzcyA6IHByb3RlY3RlZCBDb3JlSVBDOjpDb25u
ZWN0aW9uOjpDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENoaWxkUHJvY2Vzcyk7
Ci0KIHByb3RlY3RlZDoKICAgICBDaGlsZFByb2Nlc3MoKTsKICAgICB+Q2hpbGRQcm9jZXNzKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2Vp
dmVyLmggYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgK
aW5kZXggZDMzNjNmOS4uN2UwZmVmMSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lu
cy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMv
TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaApAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAi
Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0
UHJveHkuaCBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5oCmluZGV4IGU0
YzAwYzUuLjNkYzkyNGIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmpl
Y3RQcm94eS5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5oCkBA
IC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8
V2ViQ29yZS9ucHJ1bnRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRl
bnNpb24uaCBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaAppbmRleCBmNWZiNTc2
Li41MTEyNjU4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgK
KysrIGIvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCkBAIC0yNyw3ICsyNyw2IEBA
CiAjZGVmaW5lIFNhbmRib3hFeHRlbnNpb25faAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL21hYy9GaW5kSW5kaWNhdG9yV2luZG93LmgKaW5kZXggZTg4ODliNi4uM2Y1ZmFkYSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9GaW5kSW5kaWNhdG9yV2luZG93LmgK
KysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9GaW5kSW5kaWNhdG9yV2luZG93LmgKQEAg
LTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgRmluZEluZGljYXRvcldpbmRvd19oCiAjZGVmaW5lIEZp
bmRJbmRpY2F0b3JXaW5kb3dfaAogCi0jaW1wb3J0IDx3dGYvTm9uY29weWFibGUuaD4KICNpbXBv
cnQgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW1wb3J0IDx3dGYvUmVmUHRyLmg+CiAjaW1wb3J0IDx3
dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb2Nlc3NNYW5hZ2VyLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NNYW5hZ2VyLmgKaW5kZXggYzI2NWYyZTIuLjBkYzdhOWMgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaAorKysgYi9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
IAogbmFtZXNwYWNlIENvcmVJUEMgewpAQCAtNDEsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIGNsYXNzIFBsdWdpblByb2Nlc3NQcm94eTsKIGNsYXNzIFdlYlByb2Nlc3NQcm94eTsKIAot
Y2xhc3MgUGx1Z2luUHJvY2Vzc01hbmFnZXIgOiBOb25jb3B5YWJsZSAgeworY2xhc3MgUGx1Z2lu
UHJvY2Vzc01hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3NN
YW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2Vzc01hbmFnZXImIHNoYXJl
ZCgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5J
bmZvU3RvcmVXaW4uY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5m
b1N0b3JlV2luLmNwcAppbmRleCBmZTdkODk2Li45ZTE3NDJlIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCisrKyBiL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKQEAgLTI1Niw3
ICsyNTYsOCBAQCBWZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZvU3RvcmU6OnBsdWdpbnNEaXJlY3Rv
cmllcygpCiAgICAgcmV0dXJuIGRpcmVjdG9yaWVzOwogfQogCi1jbGFzcyBQYXRoV2Fsa2VyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhdGhXYWxrZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBhdGhXYWxrZXIpOwogcHVibGljOgogICAgIFBhdGhXYWxrZXIoY29uc3QgU3Ry
aW5nJiBkaXJlY3RvcnkpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvVmlz
aXRlZExpbmtQcm92aWRlci5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRl
ci5oCmluZGV4IDAxNTUxNWMuLmE0MjhkNWIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNz
L1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1Byb3ZpZGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGlua0hh
c2guaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBXZWJDb250ZXh0OwogICAgIAotY2xhc3MgVmlzaXRlZExpbmtQcm92aWRlciA6IE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFZpc2l0ZWRMaW5rUHJvdmlkZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFZpc2l0
ZWRMaW5rUHJvdmlkZXIoV2ViQ29udGV4dCopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlBy
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkLmgKaW5kZXggMzdmYWNhOC4uOGIwMDMzMyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9E
b3dubG9hZHMvRG93bmxvYWQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiTWVzc2Fn
ZVNlbmRlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogI2lm
IFBMQVRGT1JNKE1BQykKQEAgLTU1LDcgKzU0LDYgQEAgY2xhc3MgV2ViUGFnZTsKIAogY2xhc3Mg
RG93bmxvYWQgOiBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlcjxEb3dubG9hZD4gewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkKTsKLQogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPERvd25sb2FkPiBjcmVhdGUodWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgfkRvd25sb2FkKCk7CmRpZmYgLS1naXQgYS9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAppbmRleCAwMjQ1YmI2Li4yYjRm
ODA0IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFu
YWdlci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2Vy
LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRG93bmxvYWRNYW5hZ2VyX2gKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaCBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaAppbmRleCA2NzM3YmQ0Li4x
YjQzMTQ1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9O
UEpTT2JqZWN0LmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBK
U09iamVjdC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Q
cm90ZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9ucHJ1bnRpbWVfaW50ZXJuYWwuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgSlNH
bG9iYWxPYmplY3Q7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3Mg
TlBSdW50aW1lT2JqZWN0TWFwOwogICAgIAogLy8gTlBKU09iamVjdCBpcyBhbiBOUE9iamVjdCB0
aGF0IHdyYXBzIGEgSlNPYmplY3QuCi1jbGFzcyBOUEpTT2JqZWN0IDogcHVibGljIE5QT2JqZWN0
LCBOb25jb3B5YWJsZSB7CitjbGFzcyBOUEpTT2JqZWN0IDogcHVibGljIE5QT2JqZWN0IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShOUEpTT2JqZWN0KTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
TlBKU09iamVjdCogY3JlYXRlKE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFwLCBKU0M6OkpT
T2JqZWN0KiBqc09iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKaW5kZXggZDdiYTg1My4u
NjhhODBkMCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBF
TkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogLy8gTWFu
YWdlcyBwbHVnLWluIHByb2Nlc3MgY29ubmVjdGlvbnMgZm9yIHRoZSBnaXZlbiB3ZWIgcHJvY2Vz
cy4KQEAgLTM4LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uOwogICAgICAgICAKLWNsYXNzIFBsdWdpblByb2Nlc3NDb25uZWN0aW9u
TWFuYWdlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25N
YW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5h
Z2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RmluZENvbnRyb2xsZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9s
bGVyLmgKaW5kZXggMTRiZmJiMC4uNDMzOTg0YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9GaW5kQ29udHJvbGxlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiRmluZE9w
dGlvbnMuaCIKICNpbmNsdWRlICJQYWdlT3ZlcmxheS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJJbnNwZWN0b3IuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYklu
c3BlY3Rvci5oCmluZGV4IGZiZDA5NDIuLjRhNmU0ZDQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkluc3BlY3Rvci5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJDb25u
ZWN0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA1NWNlZGFlLi5hZjVmMTNh
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTEtMjUgIFpvbHRhbiBIb3J2YXRoICA8em9s
dGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xh
c3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4
OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGlu
IG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25j
b3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1h
Y3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3Nhcnkg
RmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMv
d3RmL05vbmNvcHlhYmxlLmg6IFJlbW92ZWQuCisKIDIwMTAtMTEtMjQgIE5pY29sYXMgRHVmcmVz
bmUgIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYXJ0aW4gUm9iaW5zb24uCkBAIC0xOTY3Myw3ICsxOTY4NSw3IEBACiAKIDIwMTAtMDct
MDcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAotICAgICAgICBDb21t
ZW50IG91dCBhIHBhcnQgb2YgVGVzdE5ldHNjYXBlUGx1Z2luIHRoYXQgY2F1c2VkIHRlc3RzwqB0
byBmYWlsIG9uIFRpZ2VyIGFuZCBMZW9wYXJkLgorICAgICAgICBDb21tZW50IG91dCBhIHBhcnQg
b2YgVGVzdE5ldHNjYXBlUGx1Z2luIHRoYXQgY2F1c2VkIHRlc3RzwiB0byBmYWlsIG9uIFRpZ2Vy
IGFuZCBMZW9wYXJkLgogCiAgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luL21haW4uY3BwOgogICAgICAgICAoTlBQX05ldyk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJs
ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKaW5kZXggNmNiNjM4ZS4uYmQzNmQ1OCAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCisr
KyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaApA
QCAtNDUsNyArNDUsNiBAQAogCiAjaW5jbHVkZSAiQ3BwVmFyaWFudC5oIgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNTgsNyArNTcsOCBAQCB0
eXBlZGVmIFZlY3RvcjxDcHBWYXJpYW50PiBDcHBBcmd1bWVudExpc3Q7CiAKIC8vIENwcEJvdW5k
Q2xhc3MgbGV0cyB5b3UgbWFwIEphdmFzY3JpcHQgbWV0aG9kIGNhbGxzIGFuZCBwcm9wZXJ0eSBh
Y2Nlc3NlcwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscyBhbmQgQ3BwVmFyaWFudCog
dmFyaWFibGUgYWNjZXNzLgotY2xhc3MgQ3BwQm91bmRDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBDcHBCb3VuZENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcHBC
b3VuZENsYXNzKTsKIHB1YmxpYzoKICAgICBjbGFzcyBQcm9wZXJ0eUNhbGxiYWNrIHsKICAgICBw
dWJsaWM6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
UlREZXZUb29sc0FnZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
UlREZXZUb29sc0FnZW50LmgKaW5kZXggZTE0NzhkMC4uMGRhYzRjNyAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaApA
QCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRlICJXZWJEZXZUb29s
c0FnZW50Q2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQ5LDggKzQ4LDggQEAg
c3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIGNsYXNzIERSVERldlRvb2xzQ2xpZW50
OwogCi1jbGFzcyBEUlREZXZUb29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNB
Z2VudENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEUlREZXZUb29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2Vu
dENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNBZ2VudCk7CiBw
dWJsaWM6CiAgICAgRFJURGV2VG9vbHNBZ2VudCgpOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xz
QWdlbnQoKSB7fQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJURGV2VG9vbHNDbGllbnQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVERldlRvb2xzQ2xpZW50LmgKaW5kZXggOWNhMTQwMi4uMDMwZDY4NyAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQu
aAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0Ns
aWVudC5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiRFJURGV2VG9vbHNDYWxsQXJncy5o
IgogI2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4LDggKzQ3LDggQEAgY2xhc3MgV2ViVmlldzsK
IAogY2xhc3MgRFJURGV2VG9vbHNBZ2VudDsKIAotY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBw
dWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29sc0NsaWVudCA6
IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERSVERldlRvb2xzQ2xpZW50KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29s
c0NsaWVudChEUlREZXZUb29sc0FnZW50KiwgV2ViS2l0OjpXZWJWaWV3Kik7CiAgICAgdmlydHVh
bCB+RFJURGV2VG9vbHNDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKaW5kZXgg
YjY3MTQ4OS4uODUwMmE5NiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKQEAgLTExMSw3
ICsxMTEsOCBAQCBwdWJsaWM6CiAKIC8vIFRlc3Qgc2hlbGwncyBOYXZpZ2F0aW9uQ29udHJvbGxl
ci4gVGhlIGdvYWwgaXMgdG8gYmUgYXMgY2xvc2UgdG8gdGhlIENocm9tZQogLy8gdmVyc2lvbiBh
cyBwb3NzaWJsZS4KLWNsYXNzIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcjogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBUZXN0
TmF2aWdhdGlvbkNvbnRyb2xsZXIoTmF2aWdhdGlvbkhvc3QqKTsKICAgICB+VGVzdE5hdmlnYXRp
b25Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCmluZGV4IDM4ODMxZDkuLjk2MThkYzQgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29u
dHJvbERSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRo
ZW1lQ29udHJvbERSVC5oCkBAIC00MSwxMiArNDEsMTIgQEAKIAogI2luY2x1ZGUgInNraWEvZXh0
L3BsYXRmb3JtX2NhbnZhcy5oIgogI2luY2x1ZGUgInRoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9j
b3JlL1NrQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gU2tpYSBm
b3J3YXJkIGRlY2xhcmF0aW9ucwogc3RydWN0IFNrSVJlY3Q7CiAKLWNsYXNzIFdlYlRoZW1lQ29u
dHJvbERSVCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRoZW1lQ29udHJvbERSVCk7CiBwdWJsaWM6
CiAgICAgLy8gVGhpcyBsaXN0IG9mIHN0YXRlcyBtb3N0bHkgbWlycm9ycyB0aGUgbGlzdCBpbiBX
ZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAogICAgIC8vIGJ1dCBpcyBtYWludGFpbmVkIHNl
cGFyYXRlbHkgc2luY2UgdGhhdCBpc24ndCBwdWJsaWMgYW5kIGFsc28gdG8gbWluaW1pemUKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5n
aW5lRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVu
Z2luZURSVC5oCmluZGV4IGU1MDg4NmIuLjUzNjJmYjMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaApAQCAtNDgs
OSArNDgsOSBAQAogI2RlZmluZSBXZWJUaGVtZUVuZ2luZURSVF9oCiAKICNpbmNsdWRlICJ3aW4v
V2ViVGhlbWVFbmdpbmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAotY2xhc3Mg
V2ViVGhlbWVFbmdpbmVEUlQgOiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6
V2ViVGhlbWVFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRoZW1lRW5naW5l
RFJUKTsKIHB1YmxpYzoKICAgICBXZWJUaGVtZUVuZ2luZURSVCgpIHt9CiAKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oIGIvV2ViS2l0VG9vbHMvV2Vi
S2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKaW5kZXggYTI3MzRlZC4uYzE3MTgxMyAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKKysrIGIvV2ViS2l0VG9v
bHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKQEAgLTI2LDExICsyNiwxMCBAQAogI2RlZmlu
ZSBIb3N0V2luZG93X2gKIAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCi1jbGFzcyBIb3N0V2lu
ZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgewogcHVibGljOgog
ICAgIEhvc3RXaW5kb3coKTsKICAgICB+SG9zdFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL1dlYktp
dEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKaW5kZXggMTFiNDU3ZC4uYmRjYzQ1NSAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaAorKysgYi9X
ZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCkBAIC0yOCwxMyArMjgs
MTMgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCiBjbGFzcyBUZXN0OwogCi1jbGFzcyBUZXN0c0NvbnRy
b2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGVzdHNDb250cm9sbGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0c0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIHN0
YXRpYyBUZXN0c0NvbnRyb2xsZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmggYi9XZWJLaXRUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKaW5kZXggZmVjMWY3YS4uMjM2Y2MxYyAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBi
L1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApAQCAtMjcsMTEg
KzI3LDEwIEBACiAjZGVmaW5lIFRlc3RJbnZvY2F0aW9uX2gKIAogI2luY2x1ZGUgPFdlYktpdDIv
V0tSZXRhaW5QdHIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdUUiB7CiAKLWNsYXNzIFRlc3RJbnZvY2F0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFRlc3RJbnZvY2F0aW9uIHsKIHB1YmxpYzoKICAgICBUZXN0SW52b2NhdGlvbihjb25zdCBj
aGFyKik7CiAgICAgflRlc3RJbnZvY2F0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74926</attachid>
            <date>2010-11-26 05:53:35 -0800</date>
            <delta_ts>2010-11-30 01:29:29 -0800</delta_ts>
            <desc>updated rc</desc>
            <filename>pentek5.patch</filename>
            <type>text/plain</type>
            <size>329522</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjA5NzE3MDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBTdGF0aWNWYWx1ZUVudHJ5KEpTT2Jq
ZWN0R2V0UHJvcGVydHlDYWxsYmFjayBfZ2V0UHJvcGVydHksIEpTT2JqZWN0U2V0UHJvcGVydHlD
YWxsYmFjayBfc2V0UHJvcGVydHksIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQog
ICAgICAgICA6IGdldFByb3BlcnR5KF9nZXRQcm9wZXJ0eSksIHNldFByb3BlcnR5KF9zZXRQcm9w
ZXJ0eSksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNDUsNyArNDcsOSBAQCBz
dHJ1Y3QgU3RhdGljVmFsdWVFbnRyeSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiB9OwogCi1zdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFN0YXRpY0Z1bmN0aW9uRW50cnkoSlNP
YmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrIF9jYWxsQXNGdW5jdGlvbiwgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAgICAgICAgIDogY2FsbEFzRnVuY3Rpb24oX2NhbGxBc0Z1
bmN0aW9uKSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC02Miw3ICs2Niw5IEBA
IHN0cnVjdCBPcGFxdWVKU0NsYXNzOwogCiAvLyBBbiBPcGFxdWVKU0NsYXNzIChKU0NsYXNzKSBp
cyBjcmVhdGVkIHdpdGhvdXQgYSBjb250ZXh0LCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGFueSBj
b250ZXh0LCBldmVuIGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KIC8vIFRoaXMgc3RydWN0dXJlIGhv
bGRzIGRhdGEgbWVtYmVycyB0aGF0IHZhcnkgYWNyb3NzIGNvbnRleHQgZ3JvdXBzLgotc3RydWN0
IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBPcGFxdWVK
U0NsYXNzQ29udGV4dERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE9w
YXF1ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4
Y2E4Li5kNmRlNDI2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0
ODAsOSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJl
ZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LXN0cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEpCiAgICAgICAgIDogcmVmQ291bnQoMCkKICAgICAgICAgLCBnbG9iYWxEYXRh
KGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggNzlmZGVkZi4uYzZmYjczOCAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEwLTExLTI2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAg
ICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3Rz
IGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUg
YW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IE1vdmUg
RmFzdEFsbG9jQmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIFBsYXRmb3JtLmgKKyAgICAg
ICAgKiB3dGYvTm9uY29weWFibGUuaCA6IFJlbW92ZWQuIE5vbmNvcHlhYmxlJ3MgbWFjcm8gaW1w
bGVtZW50YXRpb24ncyBtb3ZlZCB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6IEFkZCBOb25jb3B5YWJsZSdzIGFuZCBGYXN0QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50
YXRpb24uCisKIDIwMTAtMTEtMjQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtl
ZmlsZS5hbQppbmRleCBmNzgwNmI0Li5kMzU0OWYwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9HTlVtYWtlZmlsZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAt
NDY3LDcgKzQ2Nyw2IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRD
b3JlL3d0Zi9NRDUuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlK
YXZhU2NyaXB0Q29yZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3Rm
L05vbmNvcHlhYmxlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZh
U2NyaXB0Q29yZS93dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaCBcCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCBkZWIzNmZiLi5hZDk5NzUw
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAg
ICAgICAgICAgJ3d0Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVl
dWUuaCcsCiAgICAgICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAg
J3d0Zi9Ob25jb3B5YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAg
ICAgICAgICAnd3RmL093bkFycmF5UHRyLmgnLAogICAgICAgICAgICAgJ3d0Zi9Pd25GYXN0TWFs
bG9jUHRyLmgnLApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNw
cm9qL1dURi9XVEYudmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9q
L1dURi9XVEYudmNwcm9qCmluZGV4IDM2MDk5MzkuLjEwOGViZWYgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1NCwx
MCArNjU0LDYgQEAKIAkJCT4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRo
PSIuLlwuLlx3dGZcTm9uY29weWFibGUuaCINCi0JCQk+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0K
IAkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiDQogCQkJPg0KIAkJ
PC9GaWxlPg0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI0MGQ3NGUuLmJlN2UzZGUgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNDQ0LDcgKzQ0NCw2IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBN
YXRoT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNjkyQTg2QjAyNTU1OTdEMDFGRjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIz
NDQ2MCAvKiBNZXNzYWdlUXVldWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxRUU3OThCMEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQz
RjBFMTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0Qw
MEIzNDQ2MCAvKiBOb25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTMwM0Y1NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0
NDEwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIg
LyogTnVtYmVyQ29uc3RydWN0b3IuaCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYw
IC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMyNjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0
cnVjdG9yLmx1dC5oICovOyB9OwogCQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVy
T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NjkyQTg3MTAyNTU1OTdEMDFGRjYwRjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3OSw3ICs4NzgsNiBAQAogCQk5
MDVCMDJBRDBFMjg2NDBGMDA2REY4ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJF
RSAvKiBSZWZDb3VudGVkTGVha0NvdW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUmVmQ291bnRlZExlYWtDb3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkzMDNGNTY3MDk5MTE4RkEwMEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gT3duUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTkzMDNGNTY5MDk5MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBOb25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFy
ZW5hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTIyLDcgKzE1MjAsNiBAQAog
CQkJCTUxMUZDNENBMTE3RUUyQTgwMDQyNTI3MiAvKiBNRDUuaCAqLywKIAkJCQlFMUVFNzk4QjBE
NkNBNTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi8sCiAJCQkJNjVFMUEyRjQxMjJCODgw
RDAwQjI2MDk3IC8qIE5vbkNvcHlpbmdTb3J0LmggKi8sCi0JCQkJOTMwM0Y1NjkwOTkxMTkwMDAw
QUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi8sCiAJCQkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1
IC8qIE5vdEZvdW5kLmggKi8sCiAJCQkJOTMzRjVDREIxMjY5MjI2OTAwNDkxOTFFIC8qIE51bGxQ
dHIuaCAqLywKIAkJCQk5MzAzRjVBNDA5OTExQTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAq
LywKQEAgLTIyMTEsNyArMjIwOCw2IEBACiAJCQkJN0VGRjAwNjQwRUMwNUE5QTAwQUE3QzkzIC8q
IE5vZGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAg
LyogTm9kZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIyQjg5NDUwMEIyNjA5NyAv
KiBOb25Db3B5aW5nU29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMxOEM0NDAwRTE2RjVDRDAw
QjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEEyNzI2MzBFNTBB
MDYzMDBFOTZFMTUgLyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQxMEUx
NkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oIGluIEhl
YWRlcnMgKi8sCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RN
YWNyb0Fzc2VtYmxlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9B
c3NlbWJsZXIuaAppbmRleCAxZmE1ZWM3Li40NDI3OTU3IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAK
IAogI2luY2x1ZGUgIkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQ29k
ZVJlZi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVz
ZWRQYXJhbS5oPgogCiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TGlua0J1ZmZlci5oCmluZGV4IGUxZGNhMGIuLjQ5MjQ5NDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0xpbmtCdWZmZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBEVU1QX0NPREUgMAog
CiAjaW5jbHVkZSA8TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgbmFtZXNwYWNlIEpTQyB7
CiAvLyAgICogVGhlIGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1h
eSBiZSByZXNvbHZlZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJl
bCBtYXkgYmUgc2V0LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTGlua0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZl
cik7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBl
ZGVmIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3Nl
bWJsZXI6OkxhYmVsIExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L1JlcGF0Y2hCdWZmZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVy
LmgKaW5kZXggNzJjZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVw
YXRjaEJ1ZmZlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKIAog
I2luY2x1ZGUgPE1hY3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4
IDdlY2E3MmEuLjFmNWNjMTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCkBAIC0y
NDIsNyArMjQyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2VuZGlmCiAKLSAgICBjbGFz
cyBDb2RlQmxvY2sgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29kZUJsb2Nr
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGZyaWVuZCBjbGFz
cyBKSVQ7CiAgICAgcHJvdGVjdGVkOgogICAgICAgICBDb2RlQmxvY2soU2NyaXB0RXhlY3V0YWJs
ZSogb3duZXJFeGVjdXRhYmxlLCBDb2RlVHlwZSwgSlNHbG9iYWxPYmplY3QqLCBQYXNzUmVmUHRy
PFNvdXJjZVByb3ZpZGVyPiwgdW5zaWduZWQgc291cmNlT2Zmc2V0LCBTeW1ib2xUYWJsZSogc3lt
Ym9sVGFibGUsIGJvb2wgaXNDb25zdHJ1Y3Rvcik7CkBAIC01NzgsNyArNTc5LDEwIEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgICAgIFN5bWJvbFRhYmxlKiBtX3N5bWJvbFRhYmxlOwogCi0gICAg
ICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgc3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBWZWN0b3I8SGFuZGxlckluZm8+IG1fZXhj
ZXB0aW9uSGFuZGxlcnM7CiAKICAgICAgICAgICAgIC8vIFJhcmUgQ29uc3RhbnRzCkBAIC01OTks
NiArNjAzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBWZWN0b3I8Q2FsbFJldHVy
bk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQ+IG1fY2FsbFJldHVybkluZGV4VmVjdG9yOwogI2VuZGlm
CiAgICAgICAgIH07CisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRyPFJhcmVEYXRhPiBtX3Jh
cmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0lu
c3RydWN0aW9uLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCmluZGV4
IGM2NDY4YTUuLmYwNzdjYmYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0lu
c3RydWN0aW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApA
QCAtNTQsNyArNTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBTdHJ1Y3R1cmVDaGFp
bjsKIAogICAgIC8vIFN0cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9pZF9zZWxmX2xpc3QgYW5k
IG9wX2dldF9ieV9pZF9wcm90b19saXN0IGluc3RydWN0aW9uIHRvIGhvbGQgZGF0YSBvZmYgdGhl
IG1haW4gb3Bjb2RlIHN0cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1
cmVMaXN0IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3Ry
dWN0dXJlTGlzdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1Ymxp
YzoKICAgICAgICAgc3RydWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9v
bCBpc0NoYWluOwogICAgICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1
YlJvdXRpbmVUeXBlIHN0dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU2FtcGxpbmdUb29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rv
b2wuaAppbmRleCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9TYW1wbGluZ1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1w
bGluZ1Rvb2wuaApAQCAtMTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBm
cmllbmQgY2xhc3MgSG9zdENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lmIEVOQUJMRShPUENPREVf
U0FNUExJTkcpCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENhbGxSZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVj
b3JkKFNhbXBsaW5nVG9vbCogc2FtcGxpbmdUb29sKQogICAgICAgICAgICAgICAgIDogbV9zYW1w
bGluZ1Rvb2woc2FtcGxpbmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICAgICAgfQogICAgICAgICB9OwogI2Vsc2UKLSAgICAgICAgY2xhc3MgQ2FsbFJl
Y29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKikKICAgICAgICAgICAg
IHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgK
aW5kZXggYTkwZjc1Ni4uMWQyYmQwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1i
b2xUYWJsZS5oIgogI2luY2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNp
bmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTg1LDcgKzg0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdp
c3RlcklEPiBwcm9wZXJ0eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdl
bmVyYXRvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVy
YXRvciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAg
ICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFj
azsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgg
Yi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCmluZGV4IDM1MzJhZDgu
Ljc4ZDQ5ZDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3Rl
cklELmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaApAQCAt
MzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgUmVnaXN0ZXJJ
RCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJJRCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1YmxpYzoKICAgICAgICAg
UmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaCBiL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBkZmJlNjU4Li43NDAwMDFkIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCkBAIC0zMiw3ICszMiw4IEBACiAjaW5jbHVk
ZSAiSW50ZXJwcmV0ZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7Ci0gICAgY2xhc3MgQ2FjaGVkQ2Fs
bCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2FjaGVkQ2FsbCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZENhbGwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIENhY2hlZENhbGwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUs
IEpTRnVuY3Rpb24qIGZ1bmN0aW9uLCBpbnQgYXJnQ291bnQpCiAgICAgICAgICAgICA6IG1fdmFs
aWQoZmFsc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRleCA0
Nzc5MGNmLi43NTNkOTBlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9J
bnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJfaAogCiAjaW5jbHVkZSAi
QXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlICJKU0NlbGwu
aCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKQEAgLTY1LDcg
KzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4TGFyZ2VUaHJlYWRSZWVu
dHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRoID0gMzIgfTsKIAotICAg
IGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIElu
dGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGZy
aWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAgIHB1
YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oCmluZGV4IDM4ZDE2NDcuLjM5
NDQ2NDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEs
NiBAQAogCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJh
aXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgIHR5cGVkZWYgRXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lz
dGVyIDogcHVibGljIFdURjo6RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJl
Z2lzdGVyKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lz
dGVyRmlsZS5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKaW5k
ZXggZDlmNmEyYi4uNjgyMjAzNSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0
ZXJGaWxlLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJSZWdpc3Rlci5oIgogI2luY2x1
ZGUgIldlYWtHQ1B0ci5oIgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlvbi5oPgogI2luY2x1ZGUgPHd0
Zi9WTVRhZ3MuaD4KIApAQCAtODksNyArODgsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNs
YXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJGaWxlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwogICAg
IHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRyeSB7CmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5oCmluZGV4IDRkMjUxM2QuLjcyNTQ3ZWIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9MZXhlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC0z
Nyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgUmVnRXhwOwogCi0gICAg
Y2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExleGVyIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGV4ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIENoYXJhY3RlciBtYW5pcHVsYXRpb24gZnVuY3Rp
b25zLgogICAgICAgICBzdGF0aWMgYm9vbCBpc1doaXRlU3BhY2UoaW50IGNoYXJhY3Rlcik7CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2Rlcy5oCmluZGV4IDY5MzBmNjMuLmY0MTgwNzMgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCkBAIC0xMTMsNiArMTEzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNs
YXNzIFBhcnNlckFyZW5hUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkPFBhcnNlckFyZW5h
UmVmQ291bnRlZD4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcm90
ZWN0ZWQ6CiAgICAgICAgIFBhcnNlckFyZW5hUmVmQ291bnRlZChKU0dsb2JhbERhdGEqKTsKIApA
QCAtMTM3NCw3ICsxMzc1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFtZXRlck5v
ZGUqIG1fbmV4dDsKICAgICB9OwogCi0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxs
b2NCYXNlIHsKKyAgICBzdHJ1Y3QgU2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0
YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFj
a3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKIApAQCAtMTQ3MCw2ICsxNDczLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNsYXNzIEZ1bmN0aW9uUGFyYW1ldGVycyA6
IHB1YmxpYyBWZWN0b3I8SWRlbnRpZmllcj4sIHB1YmxpYyBSZWZDb3VudGVkPEZ1bmN0aW9uUGFy
YW1ldGVycz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZ1bmN0aW9uUGFyYW1ldGVycz4gY3JlYXRlKFBh
cmFtZXRlck5vZGUqIGZpcnN0UGFyYW1ldGVyKSB7IHJldHVybiBhZG9wdFJlZihuZXcgRnVuY3Rp
b25QYXJhbWV0ZXJzKGZpcnN0UGFyYW1ldGVyKSk7IH0KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmlu
ZGV4IDY1NDkwNjcuLjQ1MmEzZTEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTMyLDcgKzMy
LDYgQEAKICNpbmNsdWRlICJQYXJzZXJBcmVuYS5oIgogI2luY2x1ZGUgIlNvdXJjZVByb3ZpZGVy
LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBA
IC00NSw4ICs0NCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBzdHJ1Y3QgUGFyc2VyQXJlbmFEYXRhIDogUGFyc2VyQXJlbmFEZWxldGFibGUgeyBUIGRh
dGE7IH07CiAKLSAgICBjbGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFBhcnNlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAg
ICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQYXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBh
cnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1
Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJh
bWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3RuZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0
aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgg
Yi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi44MmZi
ODA4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaApAQCAtMzQsNyArMzQsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKICAgICBjbGFz
cyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7CiAKLSAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBBTFdBWVNf
SU5MSU5FIGNvbnN0IElkZW50aWZpZXImIG1ha2VJZGVudGlmaWVyKEpTR2xvYmFsRGF0YSosIGNv
bnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoKTsKICAgICAgICAgY29uc3QgSWRl
bnRpZmllciYgbWFrZU51bWVyaWNJZGVudGlmaWVyKEpTR2xvYmFsRGF0YSosIGRvdWJsZSBudW1i
ZXIpOwpAQCAtNTksNyArNjAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIG1f
aWRlbnRpZmllcnMubGFzdCgpOwogICAgIH0KIAotICAgIGNsYXNzIFBhcnNlckFyZW5hIDogTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFBhcnNlckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUGFyc2VyQXJlbmEpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFyc2VyQXJlbmEo
KTsKICAgICAgICAgflBhcnNlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9w
Y3JlL3BjcmVfZXhlYy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKaW5k
ZXggZjQ4OTlmMi4uMmJiY2MxMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3Jl
X2V4ZWMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcApAQCAtNDgs
NiArNDgsNyBAQCB0aGUgSmF2YVNjcmlwdCBzcGVjaWZpY2F0aW9uLiBUaGVyZSBhcmUgYWxzbyBz
b21lIHN1cHBvcnRpbmcgZnVuY3Rpb25zLiAqLwogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1
ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUg
PHN0cmluZy5oPgogCiAjaWYgUkVHRVhQX0hJU1RPR1JBTQogI2luY2x1ZGUgPHd0Zi9EYXRlTWF0
aC5oPgpAQCAtMTEyLDcgKzExMyw5IEBAIHN0cnVjdCBCcmFja2V0Q2hhaW5Ob2RlIHsKICAgICBj
b25zdCBVQ2hhciogYnJhY2tldFN0YXJ0OwogfTsKIAotc3RydWN0IE1hdGNoRnJhbWUgOiBGYXN0
QWxsb2NCYXNlIHsKK3N0cnVjdCBNYXRjaEZyYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKICAgICBSZXR1cm5Mb2NhdGlvbiByZXR1cm5Mb2NhdGlvbjsKICAgICBz
dHJ1Y3QgTWF0Y2hGcmFtZSogcHJldmlvdXNGcmFtZTsKICAgICAKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmggYi9KYXZhU2NyaXB0Q29yZS9wcm9m
aWxlci9DYWxsSWRlbnRpZmllci5oCmluZGV4IDc2YzE0NzAuLmE5ODI3YzAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaApAQCAtMjgsMTMgKzI4LDE0IEBACiAjZGVm
aW5lIENhbGxJZGVudGlmaWVyX2gKIAogI2luY2x1ZGUgPHJ1bnRpbWUvVVN0cmluZy5oPgotI2lu
Y2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAg
IHN0cnVjdCBDYWxsSWRlbnRpZmllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1
Y3QgQ2FsbElkZW50aWZpZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAg
ICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcgbV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJs
OwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVOdW1iZXI7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmls
ZXIuaAppbmRleCBmOWMyY2NiLi5mODg3NDZkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9w
cm9maWxlci9Qcm9maWxlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVy
LmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgVVN0cmluZzsK
ICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7ICAgIAogCi0gICAgY2xhc3MgUHJvZmlsZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUHJvZmlsZXIgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQcm9maWxl
cioqIGVuYWJsZWRQcm9maWxlclJlZmVyZW5jZSgpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cmdMaXN0LmgKaW5kZXggY2Q1NjNhMi4uNTdlM2MyMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9BcmdMaXN0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0
LmgKQEAgLTI1LDE0ICsyNSwxNCBAQAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUg
IlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0Mgewog
CiAgICAgY2xhc3MgTWFya1N0YWNrOwogCi0gICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFya2VkQXJndW1lbnRCdWZmZXIpOwogICAg
IHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9
IDg7CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyLCBpbmxpbmVDYXBhY2l0eT4gVmVj
dG9yVHlwZTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgg
Yi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCmluZGV4IDcxNWEyYWMuLmZlOTAw
YTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaApAQCAtMzMsNyArMzMsMTAgQEAKIAog
bmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSA6IE5vbmNvcHlhYmxl
IHsKKyAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEFyZ3VtZW50c0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6
CisgICAgICAgIEFyZ3VtZW50c0RhdGEoKSB7IH0KICAgICAgICAgSlNBY3RpdmF0aW9uKiBhY3Rp
dmF0aW9uOwogCiAgICAgICAgIHVuc2lnbmVkIG51bVBhcmFtZXRlcnM7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmggYi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKaW5kZXggNzQw
ODlhNS4uZGIyZDFkNyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVk
VHJhbnNpdGlvbk9wdGltaXplci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIuaApAQCAtMjcsMTIgKzI3LDEyIEBACiAjaWZuZGVmIEJhdGNo
ZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKICNkZWZpbmUgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6
ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiSlNPYmplY3Qu
aCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFzcyBCYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25P
cHRpbWl6ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCYXRjaGVkVHJhbnNpdGlv
bk9wdGltaXplcik7CiAgICAgcHVibGljOgogICAgICAgICBCYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplcihKU09iamVjdCogb2JqZWN0KQogICAgICAgICAgICAgOiBtX29iamVjdChvYmplY3QpCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAppbmRleCAyMzdjMTM5Li45M2VkZjA0IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDx3dGYv
Rml4ZWRBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoQ291bnRlZFNldC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYWdlQWxsb2NhdGlvbi5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CkBAIC04Nyw3ICs4Niw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB9CiAgICAgfTsKIAotICAgIGNsYXNzIEhlYXAgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEhlYXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIZWFwKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIGNsYXNzIFRocmVhZDsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDFlMjJiNmEuLmI1M2FlNDMgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNk
ZWZpbmUgQ29tbW9uSWRlbnRpZmllcnNfaAogCiAjaW5jbHVkZSAiSWRlbnRpZmllci5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBNYXJrZWRBcmd1bWVudEJ1ZmZlciBvZiBw
cm9wZXJ0eSBuYW1lcywgcGFzc2VkIHRvIGEgbWFjcm8gc28gd2UgY2FuIGRvIHNldCB0aGVtIHVw
IHZhcmlvdXMKIC8vIHdheXMgd2l0aG91dCByZXBlYXRpbmcgdGhlIGxpc3QuCkBAIC04NCw3ICs4
Myw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQ29tbW9uSWRlbnRpZmllcnMg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29tbW9uSWRlbnRpZmllcnMpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICBDb21tb25JZGVudGlmaWVycyhK
U0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQuLjczNjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRl
ICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1Y3R1cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4wYzViYmVkIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUsNyArNDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJyYXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9i
amVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1ZXMpOwogICAgIH0KIAotICAgIGNsYXNzIER5
bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIER5bmFtaWNH
bG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5
bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAgICAgOiBtX2R5bmFtaWNHbG9iYWxPYmplY3RT
bG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5bmFtaWNHbG9iYWxPYmplY3QpCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42NGQ3YTRjIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNM
b2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgSlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBK
U0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRpb25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAot
ICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2Nr
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAgICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSop
OwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhh
dmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgeworICAgICAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFsbExvY2tzKTsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNTdGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBE
cm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVj
dC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05P
YmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVl
IG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZp
ZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFj
ZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJpbmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9v
a3VwLmgKaW5kZXggOWJjODFkNC4uMGQ2ZDk4ZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBA
IC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHR5cGVkZWYgUHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAgICAgdHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rp
b24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAot
ICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBI
YXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHZvaWQgaW5pdGlhbGl6ZShTdHJpbmdJbXBsKiBrZXksIHVuc2lnbmVkIGNoYXIg
YXR0cmlidXRlcywgaW50cHRyX3QgdjEsIGludHB0cl90IHYyCiAjaWYgRU5BQkxFKEpJVCkKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmggYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCmluZGV4IGM1NTFiYWMuLjEwMThlNWUgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9NYXJrU3RhY2suaApAQCAtMjcsNyArMjcsOCBAQAogI2RlZmluZSBNYXJrU3Rh
Y2tfaAogCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgorCisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0zNiw3ICsz
Nyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIAogICAgIGVudW0gTWFya1NldFByb3BlcnRpZXMg
eyBNYXlDb250YWluTnVsbFZhbHVlcywgTm9OdWxsVmFsdWVzIH07CiAgICAgCi0gICAgY2xhc3Mg
TWFya1N0YWNrIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIE1hcmtTdGFjayB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtTdGFjayk7CiAgICAgcHVibGljOgogICAgICAgICBN
YXJrU3RhY2sodm9pZCoganNBcnJheVZQdHIpCiAgICAgICAgICAgICA6IG1fanNBcnJheVZQdHIo
anNBcnJheVZQdHIpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENv
bnN0cnVjdG9yLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgK
aW5kZXggNThhYmRlNS4uMTcxNGJkMyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuaApAQCAtMzEsNyArMzEsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBSZWdFeHBQcm90b3R5cGU7CiAgICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZTsK
IAotICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUgOiBGYXN0QWxsb2NCYXNlIHsK
KyAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICAvLyBHbG9iYWwgc2VhcmNoIGNh
Y2hlIC8gc2V0dGluZ3MKICAgICAgICAgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlKCkKICAgICAg
ICAgICAgIDogbGFzdE51bVN1YlBhdHRlcm5zKDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBP
YmplY3QuaAppbmRleCAxOWRlOTI5Li45MWZjZjJhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVn
RXhwT2JqZWN0LmgKQEAgLTYwLDcgKzYwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAg
dmlydHVhbCBDYWxsVHlwZSBnZXRDYWxsRGF0YShDYWxsRGF0YSYpOwogCi0gICAgICAgIHN0cnVj
dCBSZWdFeHBPYmplY3REYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHN0cnVjdCBSZWdF
eHBPYmplY3REYXRhIHsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVnRXhwT2JqZWN0
RGF0YShOb25OdWxsUGFzc1JlZlB0cjxSZWdFeHA+IHJlZ0V4cCwgZG91YmxlIGxhc3RJbmRleCkK
ICAgICAgICAgICAgICAgICA6IHJlZ0V4cChyZWdFeHApCiAgICAgICAgICAgICAgICAgLCBsYXN0
SW5kZXgobGFzdEluZGV4KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29w
ZUNoYWluLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAwYjE1
YjY3Li42MzYyODJiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hh
aW4uaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaApAQCAtMjEsOCAr
MjEsNiBAQAogI2lmbmRlZiBTY29wZUNoYWluX2gKICNkZWZpbmUgU2NvcGVDaGFpbl9oCiAKLSNp
bmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3Mg
SlNHbG9iYWxEYXRhOwpAQCAtMzEsNyArMjksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU2NvcGVDaGFpbkl0ZXJhdG9yOwogICAgIAotICAgIGNs
YXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNj
b3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWluTm9kZSogbmV4dCwgSlNPYmpl
Y3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAgICAgICAgIDogbmV4dChuZXh0
KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4IGYzNTg3MjcuLmMz
MzVkYzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNw
cAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTI4LDcg
KzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNTdHJp
bmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDcgKzM5LDggQEAgc3RhdGljIGlubGlu
ZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZyAmJiBI
ZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJpbmdzU3RvcmFn
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsKIHB1YmxpYzoKICAg
ICBTbWFsbFN0cmluZ3NTdG9yYWdlKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5n
cy5oCmluZGV4IGQxZWJmYjEzLi5hYzg0ZmU4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxT
dHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFy
a1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFs
bFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU21hbGxTdHJpbmdzKCk7CiAgICAg
ICAgIH5TbWFsbFN0cmluZ3MoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3ltYm9sVGFibGUuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRl
eCAxYjE2MzZkLi4yNjM1NTAxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5
bWJvbFRhYmxlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCkBA
IC0xMjIsNiArMTIyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJl
ZlB0cjxTdHJpbmdJbXBsPiwgU3ltYm9sVGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhh
c2hUcmFpdHM8UmVmUHRyPFN0cmluZ0ltcGw+ID4sIFN5bWJvbFRhYmxlSW5kZXhIYXNoVHJhaXRz
PiBTeW1ib2xUYWJsZTsKIAogICAgIGNsYXNzIFNoYXJlZFN5bWJvbFRhYmxlIDogcHVibGljIFN5
bWJvbFRhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxTaGFyZWRTeW1ib2xUYWJsZT4geworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFNoYXJlZFN5bWJvbFRhYmxlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgU2hhcmVkU3ltYm9sVGFibGUpOyB9CiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dl
YWtHQ01hcC5oCmluZGV4IDM5YTkxYzUuLjI2ODNkMTMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFr
R0NNYXAuaApAQCAtMzUsNyArMzUsOCBAQCBjbGFzcyBKU0NlbGw7CiAKIC8vIEEgSGFzaE1hcCB3
aG9zZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5zIGVtcHR5VmFsdWUoKSBmb3IgY2VsbHMgYXdhaXRp
bmcgZGVzdHJ1Y3Rpb24uCiB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBw
ZWRUeXBlPgotY2xhc3MgV2Vha0dDTWFwIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3Mg
V2Vha0dDTWFwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAvKgogICAgIElu
dmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMgdGhlIFdlYWtHQ01hcCBtYXJrZWQu
IChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha0dDUHRyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCmluZGV4
IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a0dDUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaApAQCAtMjgs
MTIgKzI4LDEyIEBACiAKICNpbmNsdWRlICJDb2xsZWN0b3IuaCIKICNpbmNsdWRlICJHQ0hhbmRs
ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAog
Ly8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMgMCBmb3IgY2Vs
bHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vh
a0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtH
Q1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vha0dDUHRyKTsKIHB1YmxpYzoKICAg
ICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRyKDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jv
c3NUaHJlYWRSZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApAQCAtNTEsNyArNTEsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFsIGFuZCBhbnkg
b3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkKICAgICAvLyBv
d25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAgICAgdGVtcGxh
dGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291bnRlZCk7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVhZFJlZkNvdW50ZWQ8VD4gPiBjcmVh
dGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Rh
dGVNYXRoLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCBiZTUxOTQ3Li40
MTIzZWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApAQCAtNDYsNyArNDYsNiBAQAogI2luY2x1ZGUg
PHN0cmluZy5oPgogI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFy
YW0uaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMDksNyArMTA4LDkgQEAgZG91YmxlIHBhcnNl
RGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhlY1N0YXRlKiwgY29uc3QgY2hhciog
ZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVycmlkZGluZyB0aGUgZGVmYXVsdCB0
bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2YgdG0gZGlmZmVyIG9uIHZhcmlvdXMg
b3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBOb25jb3B5YWJs
ZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBHcmVnb3JpYW5EYXRlVGltZSgpCiAg
ICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRlKDApCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCmluZGV4
IDc0NWUwYjYuLjFiMTZhZmMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIERlcXVlQ29uc3RSZXZl
cnNlSXRlcmF0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIERlcXVl
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIERlcXVlIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERlcXVl
SXRlcmF0b3I8VD4gaXRlcmF0b3I7CiAgICAgICAgIHR5cGVkZWYgRGVxdWVDb25zdEl0ZXJhdG9y
PFQ+IGNvbnN0X2l0ZXJhdG9yOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RB
bGxvY0Jhc2UuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKaW5kZXggYmIx
ODI1ZS4uYjZhNTM0NiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jh
c2UuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCkBAIC0zMiw4ICsz
Miw4IEBACiAvLyBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIGZhc3RNYWxsb2Mv
ZmFzdEZyZWUgYW5kIG9wZXJhdG9yIG5ldy9kZWxldGUKIC8vCiAvLyBQcm92aWRlZCBmdW5jdGlv
bmFsaXR5OgorLy8gICAgTWFjcm86IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAvLyAgICBuYW1l
c3BhY2UgV1RGIHsKLS8vICAgICAgICBjbGFzcyBGYXN0QWxsb2NCYXNlOwogLy8KIC8vICAgICAg
ICBUKiAgICBmYXN0TmV3PFQ+KCk7CiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxUPihhcmcpOwpA
QCAtNDgsNyArNDgsMTAgQEAKIC8vIEZhc3REZWxldGUgYXNzdW1lcyB0aGF0IHRoZSB1bmRlcmx5
aW5nCiAvLwogLy8gRXhhbXBsZSB1c2FnZToKLS8vICAgIGNsYXNzIFdpZGdldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsgLi4uIH07CisvLyAgICBjbGFzcyBXaWRnZXQgeworLy8gICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVECisvLyAgICAuLi4KKy8vICAgIH07CiAvLwogLy8gICAgY2hh
ciogY2hhclB0ciA9IGZhc3ROZXc8Y2hhcj4oKTsKIC8vICAgIGZhc3REZWxldGUoY2hhclB0cik7
CkBAIC04NSw0MiArODgsNiBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotI2RlZmluZSBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRCBcCi1wdWJsaWM6IFwKLSAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6
ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKLSAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShz
aXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAotICAgIFwKLSAgICB2b2lkKiBvcGVyYXRv
ciBuZXcoc2l6ZV90IHNpemUpIFwKLSAgICB7IFwKLSAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpm
YXN0TWFsbG9jKHNpemUpOyBcCi0gICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRh
dGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKLSAgICAg
ICAgcmV0dXJuIHA7IFwKLSAgICB9IFwKLSAgICBcCi0gICAgdm9pZCBvcGVyYXRvciBkZWxldGUo
dm9pZCogcCkgXAotICAgIHsgXAotICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRh
dGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCi0gICAgICAg
IDo6V1RGOjpmYXN0RnJlZShwKTsgXAotICAgIH0gXAotICAgIFwKLSAgICB2b2lkKiBvcGVyYXRv
ciBuZXdbXShzaXplX3Qgc2l6ZSkgXAotICAgIHsgXAotICAgICAgICB2b2lkKiBwID0gOjpXVEY6
OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlk
YXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwK
LSAgICAgICAgcmV0dXJuIHA7IFwKLSAgICB9IFwKLSAgICBcCi0gICAgdm9pZCBvcGVyYXRvciBk
ZWxldGVbXSh2b2lkKiBwKSBcCi0gICAgeyBcCi0gICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01h
dGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJh
eSk7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAotICAgIH0gXAotcHJpdmF0ZToK
LQotY2xhc3MgRmFzdEFsbG9jQmFzZSB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgIAot
fTsKLQogICAgIC8vIGZhc3ROZXcgLyBmYXN0RGVsZXRlCiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4KQEAgLTQxMCw3ICszNzcsNiBAQCBjbGFzcyBGYXN0QWxsb2NCYXNlIHsKIAogfSAvLyBu
YW1lc3BhY2UgV1RGCiAKLXVzaW5nIFdURjo6RmFzdEFsbG9jQmFzZTsKIHVzaW5nIFdURjo6ZmFz
dERlbGV0ZVNraXBwaW5nRGVzdHJ1Y3RvcjsKIAogI2VuZGlmIC8vIEZhc3RBbGxvY0Jhc2VfaApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaAppbmRleCA0ZWQ3NWM1Li5iOTdkOGM4IDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjZGVmaW5l
IFdURl9IYXNoQ291bnRlZFNldF9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVk
ZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIkhhc2hNYXAuaCIKICNpbmNsdWRlICJWZWN0
b3IuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZSwg
dHlwZW5hbWUgSGFzaEZ1bmN0aW9ucyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlPjo6SGFz
aCwKLSAgICAgICAgdHlwZW5hbWUgVHJhaXRzID0gSGFzaFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBI
YXNoQ291bnRlZFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUg
VHJhaXRzID0gSGFzaFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNldCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVk
ZWYgSGFzaE1hcDxWYWx1ZSwgdW5zaWduZWQsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cz4gSW1wbFR5
cGU7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAu
aCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKaW5kZXggMDkwOTRkMS4uNzczMTU0NiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS93dGYvSGFzaE1hcC5oCkBAIC0yOSw3ICsyOSw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1l
IEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxLZXlBcmc+OjpIYXNoLAogICAgICAgICB0
eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPEtleUFyZz4sIHR5cGVuYW1lIE1hcHBl
ZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFwcGVkQXJnPiA+Ci0gICAgY2xhc3MgSGFzaE1hcCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlU
cmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBw
ZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0Li5iZTZiOTNkIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9yOwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFz
aDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRyYWl0c0FyZyA9IEhhc2hUcmFp
dHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBI
YXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToK
ICAgICAgICAgdHlwZWRlZiBIYXNoQXJnIEhhc2hGdW5jdGlvbnM7CiAgICAgICAgIHR5cGVkZWYg
VHJhaXRzQXJnIFZhbHVlVHJhaXRzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0xp
c3RIYXNoU2V0LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaAppbmRleCBlMTRh
YzQ1Li5lOTE2ZWYyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaApAQCAtNTIsNyArNTIsOCBA
QCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90
IGlubGluZUNhcGFjaXR5PiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2RlQWxsb2NhdG9yOwogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1l
IEhhc2hBcmc+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVIYXNoRnVuY3Rpb25zOwogCi0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDI1NiwgdHlw
ZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaD4gY2xh
c3MgTGlzdEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDI1NiwgdHlwZW5hbWUgSGFz
aEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaD4gY2xhc3MgTGlzdEhh
c2hTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgog
ICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZTxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+
IE5vZGU7CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hTZXROb2RlQWxsb2NhdG9yPFZhbHVlQXJn
LCBpbmxpbmVDYXBhY2l0eT4gTm9kZUFsbG9jYXRvcjsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9Mb2NrZXIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAppbmRleCA0MTgx
M2QzLi43ZGRjMTRkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCkBAIC0yOCwxMSArMjgsMTEgQEAKICNpZm5k
ZWYgTG9ja2VyX2gKICNkZWZpbmUgTG9ja2VyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExv
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3Mg
TG9ja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NrZXIpOwogcHVibGljOgogICAg
IExvY2tlcihUJiBsb2NrYWJsZSkgOiBtX2xvY2thYmxlKGxvY2thYmxlKSB7IG1fbG9ja2FibGUu
bG9jaygpOyB9CiAgICAgfkxvY2tlcigpIHsgbV9sb2NrYWJsZS51bmxvY2soKTsgfQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5o
CmluZGV4IDNjYWE4MTAuLjVmZTUwYjUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9N
RDUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNk
ZWZpbmUgV1RGX01ENV9oCiAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8c3Rk
aW50Lmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvTWVzc2FnZVF1ZXVlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKaW5k
ZXggMTQxMDBjOS4uZDdkNTcxMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL01lc3Nh
Z2VRdWV1ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaApAQCAtMzMs
NyArMzMsNiBAQAogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CkBAIC00OCw3ICs0
Nyw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8vIHdoZW4gbWVzc2FnZXMgYXJlIGZldGNoZWQg
ZnJvbSB0aGUgcXVldWUuCiAgICAgLy8gRXNzZW50aWFsbHksIE1lc3NhZ2VRdWV1ZSBhY3RzIGFz
IGEgcXVldWUgb2YgT3duUHRyPERhdGFUeXBlPi4KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRh
VHlwZT4KLSAgICBjbGFzcyBNZXNzYWdlUXVldWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIE1lc3NhZ2VRdWV1ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3Nh
Z2VRdWV1ZSk7CiAgICAgcHVibGljOgogICAgICAgICBNZXNzYWdlUXVldWUoKSA6IG1fa2lsbGVk
KGZhbHNlKSB7IH0KICAgICAgICAgfk1lc3NhZ2VRdWV1ZSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFi
bGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjg1ZWQyZS4uMDAwMDAwMAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDYz
ICswLDAgQEAKLS8qCi0gKiAgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiAgQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgV1RGX05vbmNvcHlhYmxl
X2gKLSNkZWZpbmUgV1RGX05vbmNvcHlhYmxlX2gKLQotI2lmbmRlZiBfX2hhc19mZWF0dXJlCi0g
ICAgI2RlZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKLSNlbmRpZgotCi0jaWYgX19oYXNfZmVhdHVy
ZShjeHhfZGVsZXRlZF9mdW5jdGlvbnMpCi0gICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJM
RShDbGFzc05hbWUpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwdXNoIikg
XAotICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV3Vua25vd24t
cHJhZ21hc1wiIikgXAotICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQg
XCItV2MrKzB4LWV4dGVuc2lvbnNcIiIpIFwKLSAgICAgICAgcHJpdmF0ZTogXAotICAgICAgICAg
ICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRlOyBcCi0gICAgICAgICAgICBD
bGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAotICAgICAg
ICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCi0jZWxzZQotICAgICNkZWZpbmUgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCi0gICAgICAgIHByaXZhdGU6IFwKLSAgICAg
ICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAotICAgICAgICAgICAgQ2xhc3NO
YW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKLSNlbmRpZgotCi0vLyBXZSBkb24ndCB3
YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8gcHVsbCBpbiBldmVyeXRoaW5nIGZyb20g
dGhlIFdURgotLy8gbmFtZXNwYWNlIHdoZW4geW91IHVzZSBOb25jb3B5YWJsZSwgc28gcHV0IGl0
IGluIGl0cyBvd24gbmFtZXNwYWNlLgotCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCi1u
YW1lc3BhY2UgV1RGTm9uY29weWFibGUgewotCi0gICAgY2xhc3MgTm9uY29weWFibGUgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7Ci0gICAgICAgIE5vbmNvcHlhYmxlKGNvbnN0IE5vbmNvcHlhYmxl
Jik7Ci0gICAgICAgIE5vbmNvcHlhYmxlJiBvcGVyYXRvcj0oY29uc3QgTm9uY29weWFibGUmKTsK
LSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIE5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgICAgIH5Ob25j
b3B5YWJsZSgpIHsgfQotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlCi0K
LXVzaW5nIFdURk5vbmNvcHlhYmxlOjpOb25jb3B5YWJsZTsKLQotI2VuZGlmIC8vIFdURl9Ob25j
b3B5YWJsZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCmluZGV4IDY0M2I5MGIuLmNkNjRlZGEg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFdU
Rl9Pd25BcnJheVB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9u
Y29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5jbHVkZSAiT3duQXJyYXlQdHJD
b21tb24uaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CkBAIC0zNSw3ICszNCw3IEBAIG5hbWVzcGFj
ZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093bkFycmF5UHRyOwogdGVt
cGxhdGU8dHlwZW5hbWUgVD4gUGFzc093bkFycmF5UHRyPFQ+IGFkb3B0QXJyYXlQdHIoVCopOwog
Ci10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIHsKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIFQqIFB0clR5cGU7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxv
Y1B0ci5oCmluZGV4IDhiNmNiZjQuLjlkNDg0MWEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RN
YWxsb2NQdHIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAjZGVmaW5lIE93bkZhc3RNYWxsb2NQdHJf
aAogCiAjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAK
IG5hbWVzcGFjZSBXVEYgewogCi0gICAgdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1h
bGxvY1B0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gY2xh
c3MgT3duRmFzdE1hbGxvY1B0ciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE93bkZh
c3RNYWxsb2NQdHIpOwogICAgIHB1YmxpYzoKICAgICAgICAgZXhwbGljaXQgT3duRmFzdE1hbGxv
Y1B0cihUKiBwdHIpIDogbV9wdHIocHRyKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKaW5kZXgg
Y2RjMjc3Yy4uZmI1OTQzMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaApAQCAtMjIsNyArMjIsNiBAQAogI2Rl
ZmluZSBXVEZfT3duUHRyX2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJO
b25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIuaCIKICNpbmNsdWRlICJPd25QdHJDb21t
b24uaCIKICNpbmNsdWRlICJUeXBlVHJhaXRzLmgiCkBAIC0zOSw3ICszOCw3IEBAIG5hbWVzcGFj
ZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NPd25QdHI7CiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093blB0cjxUPiBhZG9wdFB0cihUKik7CiAKLSAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0ciB7CiAgICAgcHVibGljOgogICAg
ICAgICB0eXBlZGVmIHR5cGVuYW1lIFJlbW92ZVBvaW50ZXI8VD46OlR5cGUgVmFsdWVUeXBlOwog
ICAgICAgICB0eXBlZGVmIFZhbHVlVHlwZSogUHRyVHlwZTsKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKaW5k
ZXggMTJjM2UzZC4uZGRjOGEwZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTIsNiArMiw3IEBA
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmls
ZSwgSW5jLgogICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEw
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwIFVuaXZlcnNpdHkg
b2YgU3plZ2VkCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTExMTgsNCArMTEx
OSw2MSBAQAogI2luY2x1ZGUgIkdUeXBlZGVmcy5oIgogI2VuZGlmCiAKKy8qIE5vbmNvcHlhYmxl
J3MgaW1wbGVtZW50YXRpb24gYXMgYSBtYWNybyAqLworCisjaWZuZGVmIF9faGFzX2ZlYXR1cmUK
KyAgICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAorI2VuZGlmCisKKyNpZiBfX2hhc19mZWF0
dXJlKGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKKyAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlB
QkxFKENsYXNzTmFtZSkgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIHB1c2gi
KSBcCisgICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XdW5rbm93
bi1wcmFnbWFzXCIiKSBcCisgICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgaWdub3Jl
ZCBcIi1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAorICAgICAgICBwcml2YXRlOiBcCisgICAgICAg
ICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxldGU7IFwKKyAgICAgICAgICAg
IENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRlOyBcCisgICAg
ICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9wIikKKyNlbHNlCisgICAgI2RlZmluZSBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKKyAgICAgICAgcHJpdmF0ZTogXAorICAg
ICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpOyBcCisgICAgICAgICAgICBDbGFz
c05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKQorI2VuZGlmCisKKy8qIFByb3ZpZGVz
IGN1c3RvbWl6YWJsZSBvdmVycmlkZXMgb2Ygb3BlcmF0b3IgbmV3L2RlbGV0ZSAqLworCisjZGVm
aW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKK3B1YmxpYzogXAorICAgIHZvaWQqIG9wZXJh
dG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAorICAgIHZvaWQqIG9wZXJh
dG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCisgICAgXAorICAgIHZv
aWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAorICAgIHsgXAorICAgICAgICB2b2lkKiBw
ID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9j
TWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3
KTsgXAorICAgICAgICByZXR1cm4gcDsgXAorICAgIH0gXAorICAgIFwKKyAgICB2b2lkIG9wZXJh
dG9yIGRlbGV0ZSh2b2lkKiBwKSBcCisgICAgeyBcCisgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9j
TWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7
IFwKKyAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCisgICAgfSBcCisgICAgXAorICAgIHZv
aWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCisgICAgeyBcCisgICAgICAgIHZvaWQq
IHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAorICAgICAgICA6OldURjo6ZmFzdE1hbGxv
Y01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05l
d0FycmF5KTsgXAorICAgICAgICByZXR1cm4gcDsgXAorICAgIH0gXAorICAgIFwKKyAgICB2b2lk
IG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKKyAgICB7IFwKKyAgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ld0FycmF5KTsgXAorICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCisgICAgfSBc
Citwcml2YXRlOiBcCit0eXBlZGVmIGludCBUaGlzSXNIZXJlVG9Gb3JjZUFTZW1pY29sb25BZnRl
clRoaXNNYWNybworCiAjZW5kaWYgLyogV1RGX1BsYXRmb3JtX2ggKi8KZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291
bnRlZC5oCmluZGV4IDhkOGIzMDIuLmUwNjIyOTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9SZWZDb3VudGVkLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaApA
QCAtMjIsNyArMjIsNyBAQAogI2RlZmluZSBSZWZDb3VudGVkX2gKIAogI2luY2x1ZGUgIkFzc2Vy
dGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgorI2luY2x1ZGUgIkZhc3RBbGxvY0Jh
c2UuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTEzMSw3ICsxMzEsOCBAQCBpbmxpbmUgdm9p
ZCBhZG9wdGVkKFJlZkNvdW50ZWRCYXNlKiBvYmplY3QpCiAKICNlbmRpZgogCi10ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGljIFJlZkNvdW50ZWRCYXNlLCBwdWJs
aWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6
IHB1YmxpYyBSZWZDb3VudGVkQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVmQ291
bnRlZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZvaWQgZGVyZWYo
KQogICAgIHsKQEAgLTE0MCw2ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcm90ZWN0ZWQ6
CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3VudGVkKCkKICAgICB7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ci5oCmluZGV4IDZhZmE4ODYuLmIwN2I4OTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKQEAg
LTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVmaW5lIFdURl9SZWZQdHJf
aAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNp
bmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0zNiw3ICszNiw4IEBA
IG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlIHsg
SGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFz
cyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cigpIDogbV9wdHIoMCkgeyB9CiAg
ICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpIHsgcmVmSWZO
b3ROdWxsKHB0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNo
TWFwLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCmluZGV4IDdmNmViZmUu
LjNjMDc2Y2UgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaApAQCAtNDIsNyArNDIsOCBA
QCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnLCB0eXBlbmFtZSBLZXlUcmFpdHNBcmcs
IHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZz4KLSAgICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwg
TWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4gOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFy
ZywgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlU
cmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBw
ZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmll
ckRhdGFQdGhyZWFkcy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRh
UHRocmVhZHMuaAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICszMSwxNCBA
QAogI2lmbmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUgVGhyZWFk
SWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAvLyBIb2xk
cyBUaHJlYWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBhbmQgZW1w
bG95cyBwdGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFibHkgcmVt
b3ZlCiAvLyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVzIHJlZ3Vs
YXIgVGhyZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVzdHJ1Y3Rp
b24uCi1jbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhy
ZWFkSWRlbnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVyRGF0YSgp
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAppbmRleCAzM2M2NjEyLi5hNmEx
Y2YyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKQEAgLTYyLDEyICs2Miwx
MiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmlt
aXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFz
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU2FmZVNoYXJlZEJhc2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5p
dGlhbFJlZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oIGIvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uMTEzN2JkMiAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYgQEAKICNpZm5kZWYg
V1RGX1RocmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNpZmljX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURTKQogI2luY2x1ZGUg
PHB0aHJlYWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIFRocmVh
ZFNwZWNpZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFRocmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVu
YW1lIFQ+IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
aHJlYWRTcGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMoKTsKICAgICBUKiBv
cGVyYXRvci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGF0aWMg
ZGVzdHJveSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQTEFURk9STShRVCkg
fHwgUExBVEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBEYXRhIDogTm9uY29w
eWFibGUgeworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBUaHJlYWRTcGVjaWZp
YzxUPiogb3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30KICNpZiBQTEFURk9S
TShRVCkKICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMpOyB9CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2FkLi5kNzI5OTZhIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3Ig
VGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNl
IFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkaW5nLmNwcAppbmRleCA0OWRlNTllLi5mMmUwNTY1IDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFk
aW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RydWN0IE5l
d1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdUaHJlYWRDb250ZXh0
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBOZXdUaHJlYWRD
b250ZXh0KFRocmVhZEZ1bmN0aW9uIGVudHJ5UG9pbnQsIHZvaWQqIGRhdGEsIGNvbnN0IGNoYXIq
IG5hbWUpCiAgICAgICAgIDogZW50cnlQb2ludChlbnRyeVBvaW50KQogICAgICAgICAsIGRhdGEo
ZGF0YSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaAppbmRleCAwNDQzNjVmLi5kYWVhMThlIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZGluZy5oCkBAIC02Niw3ICs2Niw2IEBACiAjaW5jbHVkZSA8d3RmL0F0b21pY3Mu
aD4KICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVNo
YXJlZC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmggYi9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCmluZGV4IGMxMWE2Y2IuLjA2M2RlYzIgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaApAQCAtMzUsNyArMzUsNiBA
QAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1
ZGUgPHdpbmRvd3MuaD4KQEAgLTk2LDcgKzk1LDggQEAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVJl
YWRXcml0ZUxvY2s7CiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtQ29uZGl0aW9uOwogI2VuZGlmCiAg
ICAgCi1jbGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNdXRleCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTXV0ZXgpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpAQCAtMTEzLDcgKzExMyw4IEBA
IHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRleExvY2tlcjsKIAotY2xhc3Mg
UmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFkV3JpdGVMb2Nr
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVMb2NrKTsKIHB1YmxpYzoKICAg
ICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2soKTsKQEAgLTEzMCw3ICsxMzEs
OCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9jayBtX3JlYWRXcml0ZUxvY2s7
CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRDb25k
aXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRpdGlvbigpOwogICAgIH5UaHJlYWRDb25k
aXRpb24oKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9WZWN0b3IuaAppbmRleCBmNzM3OTNmLi42OWUzZjg2IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Zl
Y3Rvci5oCkBAIC0yMSw4ICsyMSw3IEBACiAjaWZuZGVmIFdURl9WZWN0b3JfaAogI2RlZmluZSBX
VEZfVmVjdG9yX2gKIAotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKLSNpbmNsdWRlICJOb25j
b3B5YWJsZS5oIgorI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKICNpbmNsdWRlICJOb3RGb3VuZC5o
IgogI2luY2x1ZGUgIlN0ZExpYkV4dHJhcy5oIgogI2luY2x1ZGUgIlZhbHVlQ2hlY2suaCIKQEAg
LTI3Nyw3ICsyNzYsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4KLSAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVmVjdG9yQnVmZmVyQmFzZSk7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGFs
bG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICAgICAgewpAQCAtNDg4LDcgKzQ4
OCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
LCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAwPgotICAgIGNsYXNzIFZlY3RvciA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBWZWN0b3IgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3RvckJ1ZmZlcjxU
LCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3RvclR5cGVPcGVy
YXRpb25zPFQ+IFR5cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L1dURlRocmVhZERhdGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKaW5k
ZXggNTAxOWMzMy4uZDkyMDEwYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRo
cmVhZERhdGEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCkBAIC0y
OSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykgaW4gV2ViQ29y
ZSwgYnV0IHRoaXMgaXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpAQCAtNTEsNyAr
NTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBS
ZWZQdHI8U3RyaW5nSW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJhbElkZW50aWZp
ZXJUYWJsZTsKIAotY2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworY2xhc3MgSWRlbnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICB+SWRlbnRpZmllclRhYmxlKCk7CiAKQEAgLTg0LDcgKzg0LDggQEAgY2xh
c3MgQXRvbWljU3RyaW5nVGFibGU7CiAKIHR5cGVkZWYgdm9pZCAoKkF0b21pY1N0cmluZ1RhYmxl
RGVzdHJ1Y3RvcikoQXRvbWljU3RyaW5nVGFibGUqKTsKIAotY2xhc3MgV1RGVGhyZWFkRGF0YSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXVEZUaHJlYWREYXRhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXVEZUaHJlYWREYXRhKTsKIHB1YmxpYzoKICAgICBXVEZUaHJlYWREYXRh
KCk7CiAgICAgfldURlRocmVhZERhdGEoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9kdG9hLmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAppbmRleCBjODljMDM2Li5i
NWIxMjYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCkBAIC00MTQsNyArNDE0LDEwIEBAIHN0YXRpYyB2b2lk
IG11bHQoQmlnSW50JiBhUmVmLCBjb25zdCBCaWdJbnQmIGJSZWYpCiAgICAgYVJlZiA9IGM7CiB9
CiAKLXN0cnVjdCBQNU5vZGUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUDVOb2RlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQNU5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKKyAgICBQNU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwogICAgIFA1Tm9kZSogbmV4
dDsKIH07CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKaW5kZXggY2VjM2U0My4uYTM3
ZDk4ZiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaApAQCAtMjYsNyArMjYsNiBA
QAogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGV4dGVybiAiQyIgdm9pZCBnX2ZyZWUodm9p
ZCopOwogCkBAIC00MSw3ICs0MCw4IEBAIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRHUHRyPEdQ
YXR0ZXJuU3BlYz4oR1BhdHRlcm5TcGVjKik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0
cjxHRGlyPihHRGlyKik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHRmlsZT4oR0Zp
bGUqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdPd25QdHIgOiBwdWJsaWMgTm9u
Y29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdPd25QdHIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEdPd25QdHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEdPd25Q
dHIoVCogcHRyID0gMCkgOiBtX3B0cihwdHIpIHsgfQogICAgIH5HT3duUHRyKCkgeyBmcmVlT3du
ZWRHUHRyKG1fcHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3Ry
aW5nQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAppbmRl
eCBhNTQ2YmYzLi5lNzNkMzhlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9T
dHJpbmdCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIu
aApAQCAtMzAsMTMgKzMwLDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAKIG5hbWVzcGFj
ZSBXVEYgewogCi1jbGFzcyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU3RyaW5nQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdCdWZmZXIp
OwogcHVibGljOgogICAgIGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNpZ25lZCBsZW5ndGgpCiAg
ICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvU3RyaW5nSW1wbEJhc2UuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0lt
cGxCYXNlLmgKaW5kZXggNjU2NzY3Mi4uMjZiYzFkOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4
dC9TdHJpbmdJbXBsQmFzZS5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5kZWYgU3RyaW5nSW1w
bEJhc2VfaAogI2RlZmluZSBTdHJpbmdJbXBsQmFzZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewogCi1jbGFzcyBTdHJpbmdJbXBsQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTdHJpbmdJbXBsQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5nSW1wbEJh
c2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBib29sIGlzU3RyaW5n
SW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52YWxpZEZv
clN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQogICAgIHVu
c2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5ICs0NSw2
IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAgICB1c2lu
ZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXpl
X3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFjZTsgfQot
CiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFuIGFycmF5
IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsgfQogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIvSmF2YVNj
cmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li5hOGJjZTEyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNp
Zm5kZWYgV1RGX0NvbGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVjdCBVQ29s
bGF0b3I7CiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ29sbGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIGVudW0gUmVzdWx0IHsgRXF1YWwgPSAwLCBHcmVhdGVyID0gMSwgTGVzcyA9IC0x
IH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5o
IGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVyLmgKaW5kZXggZjc2MWNjYy4u
ZTExZTQzMyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVy
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVyLmgKQEAgLTMwNCw3
ICszMDQsOCBAQCBzdHJ1Y3QgQnl0ZVRlcm0gewogICAgIH0KIH07CiAKLWNsYXNzIEJ5dGVEaXNq
dW5jdGlvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEJ5dGVEaXNqdW5jdGlvbiB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQnl0ZURpc2p1bmN0
aW9uKHVuc2lnbmVkIG51bVN1YnBhdHRlcm5zLCB1bnNpZ25lZCBmcmFtZVNpemUpCiAgICAgICAg
IDogbV9udW1TdWJwYXR0ZXJucyhudW1TdWJwYXR0ZXJucykKQEAgLTMxNyw3ICszMTgsOSBAQCBw
dWJsaWM6CiAgICAgdW5zaWduZWQgbV9mcmFtZVNpemU7CiB9OwogCi1zdHJ1Y3QgQnl0ZWNvZGVQ
YXR0ZXJuIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQnl0ZWNvZGVQYXR0ZXJuIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4oUGFz
c093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24qPiBh
bGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJBbGxv
Y2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBtX2ln
bm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS95YXJyL1JlZ2V4UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4u
aAppbmRleCAzN2I1NDRmLi5kZDU3NTFjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJy
L1JlZ2V4UGF0dGVybi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgK
QEAgLTY5LDcgKzY5LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFjdGVy
Q2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgLy8gQWxsIENoYXJhY3RlckNsYXNz
IGluc3RhbmNlcyBoYXZlIHRvIGhhdmUgdGhlIGZ1bGwgc2V0IG9mIG1hdGNoZXMgYW5kIHJhbmdl
cywKICAgICAvLyB0aGV5IG1heSBoYXZlIGFuIG9wdGlvbmFsIHRhYmxlIGZvciBmYXN0ZXIgbG9v
a3VwcyAod2hpY2ggbXVzdCBtYXRjaCB0aGUKICAgICAvLyBzcGVjaWZpZWQgbWF0Y2hlcyBhbmQg
cmFuZ2VzKQpAQCAtMjAxLDcgKzIwMyw5IEBAIHN0cnVjdCBQYXR0ZXJuVGVybSB7CiAgICAgfQog
fTsKIAotc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0
IFBhdHRlcm5BbHRlcm5hdGl2ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJs
aWM6CiAgICAgUGF0dGVybkFsdGVybmF0aXZlKFBhdHRlcm5EaXNqdW5jdGlvbiogZGlzanVuY3Rp
b24pCiAgICAgICAgIDogbV9wYXJlbnQoZGlzanVuY3Rpb24pCiAgICAgICAgICwgbV9vbmNlVGhy
b3VnaChmYWxzZSkKQEAgLTI0Miw3ICsyNDYsOSBAQCBzdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZl
IDogRmFzdEFsbG9jQmFzZSB7CiAgICAgYm9vbCBtX2NvbnRhaW5zQk9MIDogMTsKIH07CiAKLXN0
cnVjdCBQYXR0ZXJuRGlzanVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0ZXJu
RGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAg
IFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAg
ICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hh
bmdlTG9nCmluZGV4IGM3YjJkY2UuLmEzOTUyNGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVl
L0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMC0xMS0yNiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRo
ZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRp
bmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdl
ciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAg
RmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBS
ZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1
ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJl
bW92ZWQuCisKIDIwMTAtMTAtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHYXZpbiBCYXJyYWNsb3VnaC4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRHbHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlw
dEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDdjNWU3Mi4uOGRk
ODg1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yNiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5Nwor
CisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2Jq
ZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlh
YmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8g
aW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0
QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYv
Tm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0yNSAgS2VuaWNoaSBJc2hpYmFzaGkg
IDxiYXNoaUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBi
L1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGM1MTI2NzcuLjAwMDAwMDAKLS0tIGEvV2ViQ29yZS9Gb3J3YXJk
aW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotI2lmbmRlZiBXZWJDb3JlX0ZXRF9Ob25jb3B5YWJsZV9oCi0jZGVmaW5lIFdlYkNvcmVfRldE
X05vbmNvcHlhYmxlX2gKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgot
I2VuZGlmCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAxOWFhZjVjLi5j
NTE1NzVlIDEwMDc1NQotLS0gYS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTYzNTY5LDEw
ICs2MzU2OSw2IEBACiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x3dGZcTm9uY29weWFibGUuaCINCi0JCQkJ
CT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxGb3J3
YXJkaW5nSGVhZGVyc1x3dGZcT3duQXJyYXlQdHIuaCINCiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDJlZTU2ZWUuLjBjM2YwODcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtNTcsNyArNTcsOCBAQCBz
dHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBvc3RUeXBlIHsgUG9zdFN5bmNocm9ub3Vz
bHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFzcyBBWE9iamVjdENhY2hlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5iNjk3NmFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
YWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcj4gY3JlYXRlKENhY2hlZFNjcmlwdCogY2FjaGVkU2Ny
aXB0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIoY2Fj
aGVkU2NyaXB0KSk7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRy
b2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKaW5kZXggNGMyNTQw
Ny4uOTFmMWU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIu
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCkBAIC0yNiwxMiArMjYs
MTIgQEAKICNpZm5kZWYgR0NDb250cm9sbGVyX2gKICNkZWZpbmUgR0NDb250cm9sbGVyX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgR0NDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR0NDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGZy
aWVuZCBHQ0NvbnRyb2xsZXImIGdjQ29udHJvbGxlcigpOwogCiAgICAgcHVibGljOgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmgKaW5kZXggNTRlOWNmNi4uNzczYjU3MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8cnVudGltZS9M
b29rdXAuaD4KICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ01hcC5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBw
ZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5mNDM5NzMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rl
YnVnV3JhcHBlclNldC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJKU0RPTVdyYXBw
ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgZGVsZXRlZCB3aXRob3V0IGJlaW5n
IHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGNhY2hlZCB0
d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNEZWJ1
Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVhZFNwZWNpZmljPEpTRGVi
dWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNEZWJ1Z1dyYXBwZXJTZXQmIHNo
YXJlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVj
U3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKaW5k
ZXggODE5M2Q3Yy4uMzQ5ZGMxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01h
aW5UaHJlYWRFeGVjU3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVh
ZEV4ZWNTdGF0ZS5oCkBAIC0zMCwxMSArMzAsMTEgQEAKICNpZm5kZWYgTkRFQlVHCiAjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KICNlbmRpZgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTWFpblRocmVhZEV4ZWNTdGF0ZSk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIEpTQzo6RXhlY1N0YXRlKiBjdXJyZW50U3RhdGUoKQogICAgIHsgCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2YzlkMGJhLi41OWFkNmZjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICogdGltZSBpbnRlcnZhbCwgZWl0aGVyIG9uY2Ugb3IgcmVwZWF0ZWRs
eS4gVXNlZCBmb3Igd2luZG93LnNldFRpbWVvdXQoKQogICAgICogYW5kIHdpbmRvdy5zZXRJbnRl
cnZhbCgpCiAgICAgKi8KLSAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVh
dGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1
Li41ZjY5MWQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZy
YW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdp
bmRvdzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRG
cmFtZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgdHlwZWRlZiBIYXNo
TWFwPCBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgSlNDOjpQcm90ZWN0ZWRQdHI8SlNET01XaW5k
b3c+ID4gSlNET01XaW5kb3dTZXQ7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdERlYnVnU2VydmVyLmgKaW5kZXggMzE3MmM2NS4uMzAwMGFiZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBQYWdlR3Jv
dXA7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogY2xhc3MgSmF2YVNjcmlwdENhbGxGcmFt
ZTsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1NlcnZlcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVk
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaCBi
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAppbmRleCAwNWU3YTI1Li5kNGRk
NjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCkBAIC0zMiwxMSArMzIsMTEg
QEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlw
dFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBT
dHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9w
KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFN0YXRlLmgKaW5kZXggMGMwODYxMS4uNDk3MTkyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogI2RlZmluZSBTY3JpcHRTdGF0ZV9oCiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGVjU3RhdGU7CkBAIC01Miw3ICs1MSw4IEBAIGNsYXNz
IFBhZ2U7CiAvLyBGb3Igbm93LCB0aGUgc2VwYXJhdGlvbiBpcyBwdXJlbHkgYnkgY29udmVudGlv
bi4KIHR5cGVkZWYgSlNDOjpFeGVjU3RhdGUgU2NyaXB0U3RhdGU7CiAKLWNsYXNzIFNjcmlwdFN0
YXRlUHJvdGVjdGVkUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIo
U2NyaXB0U3RhdGUqKTsKICAgICB+U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNmUyZDdiZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDE3ICsy
NCwxOCBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRE9NT2Jq
ZWN0SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xv
YmFsRGF0YTo6Q2xpZW50RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVK
U0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsK
ICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxE
YXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmly
dHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3Js
ZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjQ1Nzg5MTMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0
OwogCi0gICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2Vy
Q29udGV4dCopOwogICAgICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGEuaAppbmRleCBjOGI0YTQxLi4wOWQ1MzQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApAQCAt
NDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gdGhyZWFkLiAgVGhlIERP
TURhdGEgZm9yIHRoZSBtYWluIHRocmVhZCBhbmQgdGhlIERPTURhdGEgZm9yIGNoaWxkIHRocmVh
ZHMKICAgICAvLyB1c2UgZGlmZmVyZW50IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBE
T01EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBE
T01EYXRhKCk7CiAgICAgICAgIHZpcnR1YWwgfkRPTURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURh
dGFTdG9yZS5oCmluZGV4IDM3NThlMjMuLjhjNmMwMmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRh
U3RvcmUuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtMTQ5LDcgKzE0OCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRvZXNuJ3QgbWFuYWdl
IHRoZSBsaWZldGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogICAgIC8vIGxpZmV0
aW1lIGlzIG1hbmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGFT
dG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YVN0b3JlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGVudW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAgICAgRE9NTm9kZU1hcCwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmluZGV4IDFhYTFm
NjIuLmY0MmU4MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaApAQCAtNjAsMTQgKzYwLDE0IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93bkhhbmRsZS5o
IgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7CiAKLWNsYXNz
IFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Ny
aXB0Q2FjaGVkRnJhbWVEYXRhICB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhICk7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKEZyYW1l
Kik7CiAgICAgflNjcmlwdENhY2hlZEZyYW1lRGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDVjNWQ2YzYuLjQ0MWFiM2QgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHY4LWRlYnVnLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNDgsNyArNDcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5l
cjsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU2NyaXB0RGVidWdTZXJ2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERl
YnVnU2VydmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJl
ZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggYjc1YTA1NC4uZTA5
NjllMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzYsMTMgKzM2LDEz
IEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiAKLWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQo
U2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3Ry
aW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRl
LmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKaW5kZXggMTE4MTNiMC4uZGMy
NDcxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogCiAj
aW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsK
IGNsYXNzIFBhZ2U7CiAKLWNsYXNzIFNjcmlwdFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNjcmlwdFN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0
ZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYWRFeGNlcHRpb24oKSB7IHJldHVybiAhbV9leGNlcHRp
b24uSXNFbXB0eSgpOyB9CiAgICAgdm9pZCBzZXRFeGNlcHRpb24odjg6OkxvY2FsPHY4OjpWYWx1
ZT4gZXhjZXB0aW9uKQpAQCAtNzksNyArNzksOCBAQCBwdWJsaWM6CiAgICAgfkVtcHR5U2NyaXB0
U3RhdGUoKSB7IH0KIH07CiAKLWNsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cik7CiBwdWJsaWM6CiAgICAg
U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKSA6IG1fc2NyaXB0U3RhdGUoMCkgeyB9CiAgICAgU2Ny
aXB0U3RhdGVQcm90ZWN0ZWRQdHIoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKSA6IG1fc2NyaXB0
U3RhdGUoc2NyaXB0U3RhdGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAKaW5kZXggMzZmYzFmNi4uMmMyODc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTI4LDcgKzEyOCw4IEBAIHByaXZh
dGU6CiAKIC8vIFdyaXRlciBpcyByZXNwb25zaWJsZSBmb3Igc2VyaWFsaXppbmcgcHJpbWl0aXZl
IHR5cGVzIGFuZCBzdG9yaW5nCiAvLyBpbmZvcm1hdGlvbiB1c2VkIHRvIHJlY29uc3RydWN0IGNv
bXBvc2l0ZSB0eXBlcy4KLWNsYXNzIFdyaXRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdyaXRl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV3JpdGVyKTsKIHB1YmxpYzoKICAgICBXcml0
ZXIoKQogICAgICAgICA6IG1fcG9zaXRpb24oMCkKQEAgLTM3Nyw3ICszNzgsOCBAQCBwdWJsaWM6
CiAgICAgfQogCiBwcml2YXRlOgotICAgIGNsYXNzIFN0YXRlQmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgU3RhdGVCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3RhdGVCYXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflN0YXRlQmFzZSgp
IHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1dlYkNvcmUvYnJp
ZGdlL0JyaWRnZS5oCmluZGV4IDUwZWZjNjQuLjAwZDZmMzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YnJpZGdlL0JyaWRnZS5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCkBAIC0yOCwxNCAr
MjgsMTUgQEAKICNkZWZpbmUgQnJpZGdlX2gKIAogI2luY2x1ZGUgIkJyaWRnZUpTQy5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDICB7CiAKIG5hbWVzcGFj
ZSBCaW5kaW5ncyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBNZXRob2QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1ldGhvZCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1ldGhvZCgpIHsgfQogICAgIHZpcnR1YWwgaW50
IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIH5NZXRob2QoKSB7IH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaCBiL1dlYkNvcmUvYnJp
ZGdlL0lkZW50aWZpZXJSZXAuaAppbmRleCA5OWJhZTBiLi41ZTE1N2MwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRp
ZmllclJlcC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSWRlbnRpZmllclJlcF9oCiAK
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNl
Lmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBJZGVudGlmaWVyUmVwIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclJlcCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQp
OwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0Jy
aWRnZUpTQy5oCmluZGV4IDk2OTc0ZDkuLmViY2ZhYWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJp
ZGdlL2pzYy9CcmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgK
QEAgLTU5LDggKzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsK
IAotY2xhc3MgQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CisgICAgQ2xhc3MoKSB7IH0KICAgICB2aXJ0dWFsIE1ldGhvZExpc3QgbWV0aG9kc05h
bWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IEZpZWxkKiBmaWVsZE5hbWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0g
MDsKICAgICB2aXJ0dWFsIEpTVmFsdWUgZmFsbGJhY2tPYmplY3QoRXhlY1N0YXRlKiwgSW5zdGFu
Y2UqLCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4ganNVbmRlZmluZWQoKTsgfQpAQCAtMTI1
LDcgKzEyNyw4IEBAIHByaXZhdGU6CiAgICAgV2Vha0dDUHRyPFJ1bnRpbWVPYmplY3Q+IG1fcnVu
dGltZU9iamVjdDsKIH07CiAKLWNsYXNzIEFycmF5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEFycmF5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcnJheSk7CiBwdWJsaWM6CiAg
ICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7CiAgICAgdmlydHVhbCB+QXJyYXkoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oIGIvV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9yb290LmgKaW5kZXggYmFiZDdhZC4uMzlmYjM1NyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9yb290LmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9y
b290LmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaCBiL1dlYkNvcmUvY3NzL0NTU0lt
YWdlVmFsdWUuaAppbmRleCA4MzNkN2ZlLi4xNzRmMWVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCkBAIC0z
Miw2ICszMiw3IEBAIGNsYXNzIFN0eWxlQ2FjaGVkSW1hZ2U7CiBjbGFzcyBTdHlsZUltYWdlOwog
CiBjbGFzcyBDU1NJbWFnZVZhbHVlIDogcHVibGljIENTU1ByaW1pdGl2ZVZhbHVlLCBwcml2YXRl
IENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoKSB7IHJl
dHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSk7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDU1NJbWFnZVZhbHVlKHVybCkpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NJbXBvcnRSdWxlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKaW5kZXggMTBkMzAy
Ni4uYWQ0ZTk3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBi
L1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNo
ZWRDU1NTdHlsZVNoZWV0OwogY2xhc3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxl
IDogcHVibGljIENTU1J1bGUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENT
U0ltcG9ydFJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYg
aHJlZiwgUGFzc1JlZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5k
ZXggNjIyNWMzNi4uOTI2MzhmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNl
LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTTmFtZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgogICAgICAgICBBdG9taWNTdHJpbmcgcHJlZml4OwogICAgICAgICBBdG9taWNTdHJpbmcgdXJp
OwogICAgICAgICBPd25QdHI8Q1NTTmFtZXNwYWNlPiBwYXJlbnQ7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGFjZjk3
ZjIuLjA2ZTBhMzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0zMjksNyArMzI5LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGludCBjc3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYpOwogICAgIGludCBjc3NW
YWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJzZXJTdHJpbmcmKTsKIAotICAgIGNsYXNzIFNob3J0
aGFuZFNjb3BlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNob3J0aGFuZFNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBTaG9ydGhhbmRTY29wZShDU1NQYXJzZXIqIHBhcnNlciwgaW50IHByb3BJZCkgOiBtX3Bh
cnNlcihwYXJzZXIpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggOTkzYWUyOC4u
OTk2ZTc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKKysrIGIv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTU5LDcgKzU5LDggQEAgc3RydWN0IENT
U1BhcnNlclZhbHVlIHsKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjcmVhdGVDU1NWYWx1ZSgp
OwogfTsKIAotY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVu
dCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1
ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxs
b2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ1NTUGFyc2VyU3RyaW5nIG5hbWU7CiAgICAgT3duUHRy
PENTU1BhcnNlclZhbHVlTGlzdD4gYXJnczsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5oIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAppbmRleCAxMDYxNzFkLi4x
MGU1OTNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5LmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBDU1NQcm9wZXJ0eSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IENTU1Byb3BlcnR5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBDU1NQcm9wZXJ0eShpbnQgcHJvcElELCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9v
bCBpbXBvcnRhbnQgPSBmYWxzZSwgaW50IHNob3J0aGFuZElEID0gMCwgYm9vbCBpbXBsaWNpdCA9
IGZhbHNlKQogICAgICAgICA6IG1faWQocHJvcElEKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGZiOGY2
OTUuLjQyY2RmNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTM3LDggKzM3LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotY2xhc3MgQ1NTU2Vs
ZWN0b3JCYWcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTU2VsZWN0b3JCYWcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yQmFnKTsKIHB1YmxpYzoKKyAgICBD
U1NTZWxlY3RvckJhZygpIHsgfQogICAgIH5DU1NTZWxlY3RvckJhZygpCiAgICAgewogICAgICAg
ICBBU1NFUlQoaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDAwZTIzYjkuLmRkYzBhYTAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuaApAQCAtMjQsNyArMjQsNiBAQAogCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5o
IgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IENTU1NlbGVjdG9yQmFnOwogCiAgICAgLy8gdGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0
b3IgZm9yIGEgU3R5bGVSdWxlCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1NlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIENTU1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5k
YW50KQpAQCAtMzAyLDcgKzMwMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5z
aWduZWQgc3BlY2lmaWNpdHlGb3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBz
ZXVkb1R5cGUoKSBjb25zdDsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJs
ZSB7CisgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBSYXJlRGF0YShQYXNzT3duUHRyPENTU1NlbGVjdG9yPiB0YWdIaXN0
b3J5KQogICAgICAgICAgICAgICAgIDogbV9hKDApCiAgICAgICAgICAgICAgICAgLCBtX2IoMCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3JMaXN0LmgKaW5kZXggOWU0MGVmOC4uNzFjZWE2ZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JM
aXN0LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBDU1NTZWxlY3Rvckxpc3RfaAogCiAj
aW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJyYXkoMCkgeyB9CiAgICAg
fkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCAxZmYzYmQ1
Li4wNWExYmY1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAor
KysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzQ5LDcgKzM0OSw4IEBA
IGlmIChpZCA9PSBwcm9wSUQpIHsgXAogICAgIHJldHVybjsgXAogfQogCi1jbGFzcyBDU1NSdWxl
U2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVTZXQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwogcHVibGljOgogICAgIENTU1J1bGVTZXQoKTsK
ICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCmluZGV4IGI3MTg3NTEuLjNl
MmViNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgY2xhc3MgU3R5
bGVkRWxlbWVudDsKIGNsYXNzIFdlYktpdENTU0tleWZyYW1lUnVsZTsKIGNsYXNzIFdlYktpdENT
U0tleWZyYW1lc1J1bGU7CiAKLWNsYXNzIE1lZGlhUXVlcnlSZXN1bHQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgTWVkaWFRdWVyeVJlc3VsdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTWVkaWFRdWVyeVJlc3VsdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIE1lZGlhUXVlcnlSZXN1bHQoY29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1
bHQpCiAgICAgICAgIDogbV9leHByZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1Ymxp
YzoKIH07CiAKICAgICAvLyBUaGlzIGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBn
aXZlbiBlbGVtZW50IGJhc2VkIG9uIGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBj
bGFzcyBDU1NTdHlsZVNlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
U1NTdHlsZVNlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVT
ZWxlY3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
Q1NTU3R5bGVTZWxlY3RvcihEb2N1bWVudCosIFN0eWxlU2hlZXRMaXN0KiBhdXRob3JTaGVldHMs
IENTU1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVldCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBDU1NTdHlsZVNoZWV0KiBwYWdlVXNlclNoZWV0LCBjb25zdCBWZWN0b3I8UmVmUHRyPENT
U1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91cFVzZXJTaGVldHMsCkBAIC0yMDksNyArMjExLDggQEAg
cHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFJlbmRlclN0eWxlKiBzdHlsZU5v
dFlldEF2YWlsYWJsZSgpIHsgcmV0dXJuIHNfc3R5bGVOb3RZZXRBdmFpbGFibGU7IH0KIAotICAg
ICAgICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2VsZWN0b3JDaGVja2VyKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgU2VsZWN0
b3JDaGVja2VyKERvY3VtZW50KiwgYm9vbCBzdHJpY3RQYXJzaW5nKTsKIApAQCAtMzE1LDcgKzMx
OCw4IEBAIHB1YmxpYzoKICAgICAgICAgVmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQqPiBtX3ZpZXdw
b3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHM7CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1
bGVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NSdWxlRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YSh1bnNpZ25lZCBwb3Ms
IENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNlbCwgQ1NTUnVsZURhdGEqIHByZXYgPSAw
KQogICAgICAgICAgICAgOiBtX3Bvc2l0aW9uKHBvcykKQEAgLTM0Myw3ICszNDcsOCBAQCBwdWJs
aWM6CiAgICAgICAgIENTU1J1bGVEYXRhKiBtX25leHQ7CiAgICAgfTsKIAotICAgIGNsYXNzIENT
U1J1bGVEYXRhTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTUnVsZURh
dGFMaXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YUxpc3QodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwp
CiAgICAgICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnkuaAppbmRleCAyODEwMDliLi5hNjM4YWM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBN
ZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBlbnVtIFJlc3RyaWN0b3IgewogICAgICAgICBPbmx5LCBOb3QsIE5v
bmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaCBiL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRleCAwMGFjMzk0Li4wN2M0ZDBkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE1lZGlhUXVl
cnlFeHA7CiAgKiB0aGUgZGV2aWNlIGNoYXJhY3RlcmlzdGljcyBhcmUgbm90IGtub3duLiBUaGlz
IGNhbiBiZSB1c2VkIHRvIHBydW5lIHRoZSBsb2FkaW5nCiAgKiBvZiBzdHlsZXNoZWV0cyB0byBv
bmx5IHRob3NlIHdoaWNoIGFyZSBwcm9iYWJsZSB0byBtYXRjaC4KICAqLwotY2xhc3MgTWVkaWFR
dWVyeUV2YWx1YXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeUV2YWx1YXRvcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIC8qKiBDcmVhdGVzIGV2YWx1
YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBzaW1wbGUgbWVkaWEgcXVlcmllcwogICAgICAqICBF
dmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciAiYWxsIiwgYW5kIHJldHVybnMgdmFsdWUgb2YgXG1l
ZGlhRmVhdHVyZVJlc3VsdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5o
IGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCmluZGV4IDcyZDNmZmYuLjdlNGQ0NzcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAorKysgYi9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3MgTWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlFeHAgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVM
aXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5l
ci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNw
cApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFzeW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0
U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBDYWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChl
bGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAgICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2
ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2Vf
cGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKKyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFw
cGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5y
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYoKXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgog
ICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJD
b3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCmluZGV4IDFhMDUxYTguLjNmNzFkZjMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20v
QXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERv
Y3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVudDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVu
bmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEFzeW5jU2NyaXB0UnVu
bmVyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KSB7IHJldHVybiBuZXcgQXN5bmNTY3JpcHRS
dW5uZXIoZG9jdW1lbnQpOyB9CiAgICAgfkFzeW5jU2NyaXB0UnVubmVyKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaCBiL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
CmluZGV4IDg2YTIyYjAuLjc1MTRhYjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RPTVN0cmlu
Z01hcC5oCisrKyBiL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCkBAIC0yNyw3ICsyNyw2IEBA
CiAjZGVmaW5lIERPTVN0cmluZ01hcF9oCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBFbGVtZW50OwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAotY2xhc3MgRE9N
U3RyaW5nTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVN0cmluZ01hcCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NU3RyaW5nTWFwKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NU3RyaW5nTWFwKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApp
bmRleCA4M2JhODg1Li5iOWRhZGE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00NjU1LDcgKzQ2NTUsOSBAQCB2
b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlw
ZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAogICAgICAgICB3aW5kb3ctPmNvbnNvbGUoKS0+YWRkTWVz
c2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
OwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IDogTm9uY29weWFibGUgeworc3RydWN0
IFBlcmZvcm1UYXNrQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVyZm9ybVRh
c2tDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUGVyZm9y
bVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1lbnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJl
ZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQog
ICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRvY3VtZW50UmVmZXJlbmNlKQogICAgICAgICAs
IHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZm
YjdmMy4uZTEyZjIzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAg
LTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7
CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgorICAgIERvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgfQogICAgIH5Eb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIoKSB7IGRldGFjaCgpOyB9CiAKICAgICB2b2lkIGRldGFjaCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5k
ZXggZjA1ZDM2Yy4uY2Q0OWRlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuaAorKysg
Yi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0yNCw2ICsyNCw3IEBACiAjaWZuZGVmIEV2ZW50X2gK
ICNkZWZpbmUgRXZlbnRfaAogCisjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiRE9N
VGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgpAQCAtMzEsOCArMzIsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAg
ICBjbGFzcyBDbGlwYm9hcmQ7Ci0KICAgICBjbGFzcyBFdmVudCA6IHB1YmxpYyBSZWZDb3VudGVk
PEV2ZW50PiB7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFBoYXNlVHlwZSB7IApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CmluZGV4IDQ5NjgwNGUuLjY4NmQ5YjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE3OCw3ICsxNzgsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1Jf
RUFDSAogCi0gICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRXZlbnROYW1lcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TmFt
ZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgaW50IGR1bW15OyAvLyBOZWVk
ZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgogICAgICAgICAvLyBQcml2YXRl
IHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2
ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5hbWVzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oIGIvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCBkZGNiNjYz
Li44MWVlYjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTgzLDcgKzgzLDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLCAxPiBFdmVu
dExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmcsIEV2ZW50
TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3RlbmVyTWFwOwogCi0gICAgc3RydWN0IEV2ZW50VGFy
Z2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRUYXJnZXREYXRhIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRUYXJnZXREYXRhKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBFdmVudFRhcmdldERhdGEoKTsKICAg
ICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9JZ25v
cmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIGIvV2ViQ29yZS9kb20vSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNy
ZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudElu
Y3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2
ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEln
bm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IG1fY291bnQoZG9jdW1lbnQg
PyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50IDogMCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvV2ViQ29yZS9kb20vTWVzc2Fn
ZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMDc2NjhhNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRD
aGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8g
TWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRv
IHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4KICAgICAvLyBJdCBhY3RzIGFz
IGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQ
b3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIHBsYXRmb3Jt
LWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4K
LSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5lbChQYXNzUmVmUHRyPE1lc3NhZ2VQ
b3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBAIC03OCw3ICs3OSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm94eSBjdXJy
ZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9ydC4KICAgICAgICAgYm9vbCBoYXNQ
ZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBFdmVudERhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERhdGEgeworICAgICAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
ICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEV2ZW50RGF0YT4gY3Jl
YXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc093blB0cjxNZXNzYWdl
UG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IGFiMjA4ZDIuLjczNTBmODAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9t
L05vZGVSYXJlRGF0YS5oCkBAIC0zNCw3ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IE5vZGVM
aXN0c05vZGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlTGlzdHNOb2RlRGF0
YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNl
dDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAgICBOb2RlTGlzdFNldCBtX2xpc3Rz
V2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAgcHJpdmF0ZToKICAgICB9CiB9Owog
ICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5v
ZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZVJhcmVEYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6ICAgIAogICAgIE5vZGVSYXJlRGF0YSgpCiAg
ICAgICAgIDogbV90YWJJbmRleCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IDM0ZmMwNjkuLmNiOTVm
MjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9XZWJDb3Jl
L2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTMyLDcgKzMyLDggQEAgc3RydWN0IFF1YWxpZmllZE5h
bWVDb21wb25lbnRzIHsKICAgICBTdHJpbmdJbXBsKiBtX25hbWVzcGFjZTsKIH07CiAKLWNsYXNz
IFF1YWxpZmllZE5hbWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBRdWFsaWZpZWRO
YW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBjbGFzcyBR
dWFsaWZpZWROYW1lSW1wbCA6IHB1YmxpYyBSZWZDb3VudGVkPFF1YWxpZmllZE5hbWVJbXBsPiB7
CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4IGI2YmViNmUuLjQwMTNjMWMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2NyaXB0RWxlbWVudDsKIGNsYXNz
IFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2YXRlIENhY2hl
ZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBp
c0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjQ1NjZhNjEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9
CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9
CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CisgICAgICAgICAgICBUYXNrKCkg
eyB9CiAgICAgICAgICAgICB2aXJ0dWFsIH5UYXNrKCk7CiAgICAgICAgICAgICB2aXJ0dWFsIHZv
aWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0gMDsKICAgICAgICAgICAg
IC8vIENlcnRhaW4gdGFza3MgZ2V0IG1hcmtlZCBzcGVjaWFsbHkgc28gdGhhdCB0aGV5IGFyZW4n
dCBkaXNjYXJkZWQsIGFuZCBhcmUgZXhlY3V0ZWQsIHdoZW4gdGhlIGNvbnRleHQgaXMgc2h1dHRp
bmcgZG93biBpdHMgbWVzc2FnZSBxdWV1ZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NwYWNl
U3BsaXRTdHJpbmcuaCBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAppbmRleCA4MjZl
NmJkLi42ZWI4OTNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgK
KysrIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCkBAIC0yOCw3ICsyOCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNwYWNlU3BsaXRTdHJpbmdEYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTcGFjZVNwbGl0U3RyaW5nRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwYWNlU3BsaXRTdHJpbmdEYXRhKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTcGFjZVNwbGl0U3RyaW5n
RGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzaG91bGRGb2xkQ2FzZSkKICAgICAgICAg
ICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRGb2xkQ2FzZShzaG91bGRGb2xkQ2FzZSks
IG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKaW5kZXggZjk3YWZjZi4u
NmMwMTRhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKKysrIGIv
V2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFC
TEUoWFNMVCkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVRyYW5zZm9ybVNv
dXJjZTsKICNlbmRpZgogCi0gICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2UgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUcmFuc2Zvcm1Tb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQbGF0Zm9ybVRyYW5zZm9y
bVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJjZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1VzZXJH
ZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJDb3JlL2RvbS9Vc2VyR2Vz
dHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFVzZXJHZXN0dXJlSW5k
aWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzYsNyArMzUsOCBA
QCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBEZWZpbml0ZWx5Tm90UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0
YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KICAgICBzdGF0
aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1cmVTdGF0ZSgpIHsgcmV0
dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9V
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1
cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dlYkNvcmUvZG9tL1VzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgVXNlclR5
cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRv
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBVc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclR5cGluZ0dlc3R1
cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyVHlw
aW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxlbWVudEF0R2VzdHVyZVN0
YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oIGIvV2Vi
Q29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2MyLi5lZTgxZDc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvZG9t
L1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6IHB1YmxpYyBTY3JpcHRh
YmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8WE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZy
YW1lVmlldyogdmlldykKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGli
eG1sMi5jcHAKaW5kZXggN2EzMjg1Zi4uNmVkZTc4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlckxpYnhtbDIuY3BwCkBAIC03NSw4ICs3NSwxMCBAQCB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBlbmRpbmdDYWxsYmFja3MgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAgUGVuZGluZ0NhbGxi
YWNrcygpIHsgfQogICAgIH5QZW5kaW5nQ2FsbGJhY2tzKCkKICAgICB7CiAgICAgICAgIGRlbGV0
ZUFsbFZhbHVlcyhtX2NhbGxiYWNrcyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1
bWVudFBhcnNlclNjb3BlLmggYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgK
aW5kZXggNThlOGE2Yi4uOGY0MTkzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKICNk
ZWZpbmUgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogI2lmIEVOQUJMRShYU0xUKQogI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CkBAIC0z
Niw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENhY2hlZFJlc291
cmNlTG9hZGVyOwogCi0gICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTERvY3VtZW50UGFyc2VyU2NvcGUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZShDYWNoZWRSZXNvdXJjZUxvYWRlciog
Y2FjaGVkUmVzb3VyY2VMb2FkZXIpOwogICAgICAgICB+WE1MRG9jdW1lbnRQYXJzZXJTY29wZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKaW5kZXggMTI4NmMwNy4u
NGQ5MjhjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXIuaAorKysgYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCkBAIC0z
Niw3ICszNiw4IEBAIGNsYXNzIEhUTUxFbGVtZW50OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xh
c3MgVmlzaWJsZVNlbGVjdGlvbjsKIAotY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWxldGVCdXR0b25Db250cm9sbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEZWxldGVCdXR0b25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlcihGcmFtZSop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQu
Y3BwIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAppbmRleCBm
YjUyZTU2Li4xYzdiNzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZC5jcHAKQEAgLTU5LDcgKzU5LDggQEAgZW51bSBFRnJhZ21lbnRUeXBlIHsgRW1wdHlGcmFn
bWVudCwgU2luZ2xlVGV4dE5vZGVGcmFnbWVudCwgVHJlZUZyYWdtZW50IH07CiAKIC8vIC0tLSBS
ZXBsYWNlbWVudEZyYWdtZW50IGhlbHBlciBjbGFzcwogCi1jbGFzcyBSZXBsYWNlbWVudEZyYWdt
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxhY2VtZW50RnJhZ21lbnQpOwogcHVibGljOgog
ICAgIFJlcGxhY2VtZW50RnJhZ21lbnQoRG9jdW1lbnQqLCBEb2N1bWVudEZyYWdtZW50KiwgYm9v
bCBtYXRjaFN0eWxlLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvU2Vs
ZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDhjYzg5ZTQuLmQ1NTYwZjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5n
L1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlNjcm9s
bEJlaGF2aW9yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJWaXNpYmxlU2VsZWN0
aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAKIGVudW0gRGly
ZWN0aW9uYWxpdHlQb2xpY3kgeyBNYWtlTm9uRGlyZWN0aW9uYWxTZWxlY3Rpb24sIE1ha2VEaXJl
Y3Rpb25hbFNlbGVjdGlvbiB9OwogCi1jbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNlbGVjdGlvbkNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlvbk1vdmUsIEFsdGVy
YXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rpb25Gb3J3YXJkLCBE
aXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxlZnQgfTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBiL1dlYkNvcmUvZWRp
dGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCA0ZGNlZDA1Li5kZTljNzU1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysrIGIvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAg
ICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNzIFRleHRDaGVja2lu
Z0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBlcik7CiBwdWJsaWM6
CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NSZWZQdHI8UmFuZ2U+
KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmlu
ZGV4IDJlYTE2ZmIuLjFmMDUxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC01Nyw3
ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBLZWVwcyBlbm91Z2ggb2Yg
dGhlIHByZXZpb3VzIHRleHQgdG8gYmUgYWJsZSB0byBzZWFyY2ggaW4gdGhlIGZ1dHVyZSwgYnV0
IG5vIG1vcmUuCiAvLyBOb24tYnJlYWtpbmcgc3BhY2VzIGFyZSBhbHdheXMgZXF1YWwgdG8gbm9y
bWFsIHNwYWNlcy4KIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUgaWYgPGlzQ2FzZVNlbnNp
dGl2ZT4gaXMgZmFsc2UuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWFyY2hC
dWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJpbmcmIHRhcmdldCwg
Ym9vbCBpc0Nhc2VTZW5zaXRpdmUpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVh
ZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9G
aWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApAQCAtNTQsNyAr
NTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQgc3RvcCgpOwogCi0g
ICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGFzayB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoKICAgICAgICAg
dmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soKSA9
IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmggYi9XZWJD
b3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4uMTJhNzAxMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUv
ZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBGaWxlU3lz
dGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAvLyBLZWVwcyBw
ZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9pbnQgdG8gb3Bl
biBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVyLXByb2Nlc3Mg
aW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBMb2NhbEZpbGVT
eXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQgYmVmb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmggYi9XZWJDb3Jl
L2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIwYWM0OSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisrKyBiL1dlYkNv
cmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgsOCBAQCBjbGFzcyBG
aWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmlsZVN5c3RlbVN5bmMg
aW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0NhbGxiYWNrLCB0eXBl
bmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBlbmFtZSBSZXN1bHRU
eXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3luY0Nh
bGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxsYmFja0hlbHBlcjxT
dWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJlc3VsdFR5cGU+IEhl
bHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlwZSogb2JzZXJ2ZXIg
PSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5o
IGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmluZGV4IGU4OWUzMmIu
Ljk3ZWQ2YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xs
ZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKQEAgLTI2
LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKICNkZWZpbmUgQmFj
a0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC0zNiw3
ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xh
c3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgQmFja0ZvcndhcmRDb250cm9sbGVyKFBhZ2UqLCBQYXNzUmVmUHRyPEJhY2tG
b3J3YXJkTGlzdD4pOwogICAgIH5CYWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaCBiL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUu
aAppbmRleCA3MWFlNWFkLi5jZjJhMGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2hpc3RvcnkvUGFn
ZUNhY2hlLmgKKysrIGIvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAgY2xhc3MgUGFnZTsKICAgICAKLSAgICBjbGFzcyBQ
YWdlQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VDYWNoZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSogcGFnZUNhY2hl
KCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5o
IGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEuLjhlNGEwNjYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3Jl
L2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBDb2xsZWN0aW9u
Q2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNhY2hlJiBvcGVy
YXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9r
ZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uOGY2ZmQ0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9r
ZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
RE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJsaWMgUmVmQ291
bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVNldHRhYmxlVG9rZW5MaXN0PiBj
cmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBi
L1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAppbmRleCA1ZGYyZWRlLi4wYjc1YjY2IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RP
TVRva2VuTGlzdC5oCkBAIC0yNywxNSArMjcsMTYgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgRE9NVG9rZW5MaXN0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIERPTVRva2VuTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRE9NVG9rZW5MaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAg
RE9NVG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0KCkge307CiAKICAg
ICB2aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4
IGZjYjJiZTguLmVhYmVhMzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTEyMTEs
NyArMTIxMSw5IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVTZXBhcmF0ZUZy
b21BdHRyaWJ1dGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RydWN0IEV2ZW50
SGFuZGxpbmdTdGF0ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEV2ZW50SGFuZGxpbmdTdGF0
ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUmVmUHRyPEhU
TUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWluYXRlOwog
ICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJR
dWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBkZTcxMC4u
M2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNk
ZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBh
cnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQogICAgIHZp
cnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9J
bnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBjMTQxN2ZhLi5hNDA4
MTFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9o
dG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25D
b2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJl
bmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0eXBlLXNw
ZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBvc2UgaW5z
dGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8gY2xhc3Nl
cwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCosIGNv
bnN0IEF0b21pY1N0cmluZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3Jl
YXRlVGV4dChIVE1MSW5wdXRFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvU3Rl
cFJhbmdlLmggYi9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggY2UwNDRlYS4uMWYxNjZi
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaApAQCAtMjIsMTMgKzIyLDEzIEBACiAjZGVmaW5lIFN0ZXBSYW5nZV9oCiAK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAKLWNsYXNz
IFN0ZXBSYW5nZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFuZ2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYXNT
dGVwOwogICAgIGRvdWJsZSBzdGVwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkYXRp
b25NZXNzYWdlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAppbmRleCBmZTE4
YjZiLi5mODNhNWU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2Uu
aAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaApAQCAtMzIsNyArMzIsNiBA
QAogI2RlZmluZSBWYWxpZGF0aW9uTWVzc2FnZV9oCiAKICNpbmNsdWRlICJUaW1lci5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ7CiAKLWNsYXNzIFZhbGlk
YXRpb25NZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkYXRpb25NZXNz
YWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGF0aW9uTWVzc2FnZSk7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRhdGlvbk1lc3NhZ2U+IGNyZWF0ZShIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50Kik7CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5
U3RhdGUuaAppbmRleCA1MzJkZGIyLi5jM2ZjZGZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
VmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKQEAgLTI5
LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBWYWxpZGl0eVN0YXRl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkaXR5U3RhdGUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBjcmVhdGUoSFRN
TEZvcm1Db250cm9sRWxlbWVudCogY29udHJvbCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGEyNWU4YTEuLjE1OTQ1NDYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCisrKyBi
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yOSw3ICsy
OSw2IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAgY2xh
c3MgSFRNTFZpZGVvRWxlbWVudDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9iamVjdDsKIAot
Y2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYW52
YXNSZW5kZXJpbmdDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZpcnR1
YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJl
bG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2Fk
U2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGljOgog
ICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBACiAj
aW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5nRWxl
bWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlvblNp
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1YmxpYzoK
ICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5nUGVy
bWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rpb25T
aXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQqIGZv
cm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhUTUxG
b3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQYXJl
bnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3Rl
clBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDogbV90
cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBh
cnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCAw
NTA1M2RmLi41YTU2MDJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1
bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2Vy
LmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNjcmlw
dFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2NyaXB0
YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1bWVudCogZG9j
dW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxl
bWVudFN0YWNrLmgKaW5kZXggOGE4ZTE2MC4uYTMyZWZhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRWxlbWVudFN0YWNrLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSFRNTEVsZW1lbnRT
dGFja19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM5LDEyICszOCwxNCBAQCBjbGFzcyBR
dWFsaWZpZWROYW1lOwogCiAvLyBOT1RFOiBUaGUgSFRNTDUgc3BlYyB1c2VzIGEgYmFja3dhcmRz
IChncm93cyBkb3dud2FyZCkgc3RhY2suICBXZSdyZSB1c2luZwogLy8gbW9yZSBzdGFuZGFyZCAo
Z3Jvd3MgdXB3YXJkcykgc3RhY2sgdGVybWlub2xvZ3kgaGVyZS4KLWNsYXNzIEhUTUxFbGVtZW50
U3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTEVsZW1lbnRTdGFjayB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEVsZW1lbnRTdGFjayk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAgICB+SFRNTEVs
ZW1lbnRTdGFjaygpOwogCi0gICAgY2xhc3MgRWxlbWVudFJlY29yZCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgRWxlbWVudFJlY29yZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVsZW1lbnRSZWNvcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgfkVsZW1lbnRSZWNv
cmQoKTsgLy8gUHVibGljIGZvciB+UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1YmIuLmY3NWZh
NTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50
TGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlz
dC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7
CiAKIC8vIFRoaXMgbWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNrLgotY2xh
c3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
VE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0dGluZ0Vs
ZW1lbnRMaXN0KCk7CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCmluZGV4IGE3MDliZDkuLjY0MmU0MzQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9mIHRoZSBhZnRl
ckluc2VydGlvblBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRhdGEgYXQgdGhl
IGVuZCBvZiB0aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0gdG8gdGhlICJs
YXN0IiBzdHJpbmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1M
SW5wdXRTdHJlYW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAgICAgICAgIDog
bV9sYXN0KCZtX2ZpcnN0KQpAQCAtMTI4LDcgKzEyOSw4IEBAIHByaXZhdGU6CiAgICAgU2VnbWVu
dGVkU3RyaW5nKiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGljOgogICAgIGV4
cGxpY2l0IEluc2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5wdXRTdHJlYW0p
CiAgICAgICAgIDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCmluZGV4IDViZTMzYjAuLjY0NzYwMjIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCArMjgsMTQgQEAK
IAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiAKLWNsYXNz
IEhUTUxQYXJzZXJTY2hlZHVsZXIgOiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQ
YXJzZXJTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJzZXJTY2hl
ZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBw
YXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5k
ZXggOTRhOTBlNi4uYmVkNzdmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nh
bm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
OSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFz
cyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIEhUTUxQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCmluZGV4IDZjZjc0ZDguLjk4NmY3YmQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVk
ZSAiUGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcg
KzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9zdDsKIGNsYXNz
IFNjcmlwdFNvdXJjZUNvZGU7CiAKLWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSFRNTFNjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVu
dCogZG9jdW1lbnQsIEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmggYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUb2tlbi5oCmluZGV4IDQyY2RkYjguLjFjYmMxNTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9r
ZW4uaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAKICNpbmNsdWRl
ICJOYW1lZE5vZGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW4pOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBV
bmluaXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0
byBlbmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2Vz
LgogICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBl
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAg
ICAgICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihm
YWxzZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFz
cyBzaG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQog
Ly8gZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIu
Ci1jbGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRv
bWljSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4p
OwogcHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAg
ICA6IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmlu
ZGV4IGYxNmIwNDkuLmI1MGFhNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRva2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBA
IC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2Vn
bWVudGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBj
bGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgZW51bSBTdGF0ZSB7CiAgICAgICAgIERhdGFTdGF0ZSwKQEAgLTE3Miw3ICsxNzIs
OCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3Nw
ZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFt
Ci0gICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IoSFRNTFRva2VuaXplciogdG9rZW5pemVyKQogICAg
ICAgICAgICAgOiBtX3Rva2VuaXplcih0b2tlbml6ZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5jcHAKaW5kZXggM2QzOTEzMS4uMDQzMWNmOSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMjQwLDcgKzI0MCw4IEBAIEhUTUxGb3JtRWxlbWVu
dCogY2xvc2VzdEZvcm1BbmNlc3RvcihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8vIG5hbWVzcGFj
ZQogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENo
YXJhY3RlclRva2VuQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFeHRlcm5hbENo
YXJhY3RlclRva2VuQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRlcm5hbENoYXJh
Y3RlclRva2VuQnVmZmVyKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV9jdXJy
ZW50KHRva2VuLmNoYXJhY3RlcnMoKS5kYXRhKCkpCkBAIC0yMzM0LDcgKzIzMzUsOCBAQCB2b2lk
IEhUTUxUcmVlQnVpbGRlcjo6cmVwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4p
CiAgICAgcHJvY2Vzc0VuZFRhZyh0b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6
RmFrZUluc2VydGlvbk1vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVC
dWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmFr
ZUluc2VydGlvbk1vZGUpOwogcHVibGljOgogICAgIEZha2VJbnNlcnRpb25Nb2RlKEhUTUxUcmVl
QnVpbGRlciogdHJlZUJ1aWxkZXIsIEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAgICAgOiBtX3Ry
ZWVCdWlsZGVyKHRyZWVCdWlsZGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
aW5kZXggMGU3NTk3Yy4uYjc0OWU3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRl
ci5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlz
dC5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0
UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1M
RG9jdW1lbnQ7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MVHJlZUJ1aWxkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MVG9r
ZW5pemVyKiB0b2tlbml6ZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJy
b3JzLCBib29sIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwMyw3ICsyMDMs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlN
b2RlQW5kUmVzZXRNb2RlKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRG
b3JlaWduSW5zZXJ0aW9uTW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQp
OwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAg
ICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250
ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVy
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCkBA
IC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGluZ0xl
dmVsSW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xldmVs
SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbEluY3Jl
bWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcih1
bnNpZ25lZCYgbmVzdGluZ0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0aW5n
TGV2ZWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCA0ZTg4YmVjLi5hZTkxMDFk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3Mg
U2NyaXB0Q2FsbEZyYW1lOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFs
dWU7CiAKLWNsYXNzIENvbnNvbGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IENvbnNvbGVNZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2Fn
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYg
bSwgdW5zaWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29s
ZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtLCBQYXNzT3duUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NPd25QdHI8U2NyaXB0
Q2FsbFN0YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRl
eCBmODBjZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0
LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJT
Y3JpcHRPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0
aW9uQ2FjaGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50LmgKaW5kZXggMTFmMTBjZS4uNDliZTJhOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYg
QEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJ
T05TKQogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNz
IEluc3BlY3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckNv
bnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVu
ZCk7CiAgICAgfkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IGNhNWE5ZDkuLjhkNzIxZGQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEwMSw3ICsxMDEsOCBAQCBj
bGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtl
UmVzcG9uc2U7CiAjZW5kaWYKIAotY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRhdGFi
YXNlUmVzb3VyY2U+ID4gRGF0YWJhc2VSZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFw
PGludCwgUmVmUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01TdG9yYWdlUmVz
b3VyY2VzTWFwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdn
ZXJBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmlu
ZGV4IGFkYzkyNWEuLmUxMzcyOWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50LmgKQEAgLTUyLDcgKzUyLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50VHlwZSB7CiAg
ICAgTmF0aXZlQnJlYWtwb2ludERlYnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFzcyBJbnNwZWN0
b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERl
YnVnTGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRlYnVnZ2Vy
QWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxJbnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxl
ciosIEluc3BlY3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJB
Z2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbC5oCmluZGV4IDlkY2FhNWEuLmJjZWUxZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2lu
Y2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNw
ZWN0b3JGcm9udGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlcios
IFBhZ2UqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXggZTY3ODQ4ZC4u
MWM0OWI5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJB
Z2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApA
QCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3Mg
U2NyaXB0SGVhcFNuYXBzaG90OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xhc3MgSW5zcGVj
dG9yUHJvZmlsZXJBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JQ
cm9maWxlckFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JQcm9maWxl
ckFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NPd25QdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xs
ZXIqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggYmMxZTAyNy4uODFhZDQ5MSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisr
KyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAsNyAr
NzAsOCBAQCBlbnVtIFRpbWVsaW5lUmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJjZVJl
cXVlc3RUaW1lbGluZVJlY29yZFR5cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGltZWxp
bmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3Bl
Y3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdENhbGxTdGFjay5oIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggNTRjNmJiYS4uMTMxZTEzMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKKysrIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvU2NyaXB0Q2FsbFN0YWNrLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmlu
ZSBTY3JpcHRDYWxsU3RhY2tfaAogCiAjaW5jbHVkZSAiU2NyaXB0Q2FsbEZyYW1lLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3RvckFycmF5OwogCi1jbGFzcyBTY3JpcHRD
YWxsU3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FsbFN0YWNrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWxsU3RhY2spOwogcHVibGljOgogICAg
IHN0YXRpYyBjb25zdCBzaXplX3QgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSA9IDIwMDsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oIGIvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmlu
ZGV4IDEwMTZhZWQuLmRkZDUwNzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3Jp
Z2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdp
blByZWZsaWdodFJlc3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENh
Y2hlSXRlbSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxp
Z2h0UmVzdWx0Q2FjaGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbShib29sIGNyZWRl
bnRpYWxzKQogICAgICAgICAgICAgOiBtX2Fic29sdXRlRXhwaXJ5VGltZSgwKQpAQCAtNjMsNyAr
NjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEhlYWRlcnNTZXQgbV9oZWFkZXJz
OwogICAgIH07CiAKLSAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGViZjNhMjUu
LjNhM2NjNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxv
YWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBA
IC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50OwogCiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFi
bGVMb2FkZXIsIHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBs
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25z
Jik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4g
Y3JlYXRlKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRX
cml0ZXIuaAppbmRleCA1ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFdyaXRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgK
QEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNs
YXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEb2N1bWVudFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJh
bWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBhMTVjZWU1Li42MWJkODc3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaApAQCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAK
LWNsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQs
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVi
bGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZy
YW1lTG9hZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAg
RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RnJhbWVMb2Fk
ZXJDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lTG9hZGVyRGVzdHJveWVkKCkg
eyB9CiAKQEAgLTM4Myw4ICszODUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29udGV4dCgpIHsgcmV0
dXJuIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4oKTsgfQogfTsKIAotY2xhc3Mg
RW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUVkaXRvckNsaWVudCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmly
dHVhbCB+RW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ry
b3llZCgpIHsgfQogCkBAIC00OTYsOCArNTAwLDEwIEBAIHB1YmxpYzoKIH07CiAKICNpZiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMg
Q29udGV4dE1lbnVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUNvbnRl
eHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShFbXB0eUNvbnRleHRNZW51Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CisgICAgRW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1
YWwgfkVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRl
eHRNZW51RGVzdHJveWVkKCkgeyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2Vu
ZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
LWNsYXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RHJhZ0NsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5RHJhZ0NsaWVudCgpIHt9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rl
c3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgRHJhZ0RhdGEqKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rp
b24sIGNvbnN0IEludFBvaW50JiwgQ2xpcGJvYXJkKikgeyB9CkBAIC01MzIsOCArNTQwLDEwIEBA
IHB1YmxpYzoKIH07CiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotY2xhc3MgRW1w
dHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUluc3BlY3RvckNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5SW5zcGVjdG9yQ2xpZW50
KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmggYi9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5o
CmluZGV4IGQ3MjQ4MzUuLjdmNThmOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1T
dWJtaXNzaW9uLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaApAQCAtNDcs
NyArNDcsOCBAQCBjbGFzcyBGb3JtU3VibWlzc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPEZvcm1T
dWJtaXNzaW9uPiB7CiBwdWJsaWM6CiAgICAgZW51bSBNZXRob2QgeyBHZXRNZXRob2QsIFBvc3RN
ZXRob2QgfTsKIAotICAgIGNsYXNzIEF0dHJpYnV0ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEF0dHJpYnV0ZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdHRy
aWJ1dGVzKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEF0dHJpYnV0ZXMoKQogICAgICAgICAgICAg
OiBtX21ldGhvZChHZXRNZXRob2QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA3NmFkOTc3Li42YTc2
M2QwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTg2LDcgKzg2LDggQEAgc3RydWN0IFdpbmRvd0Zl
YXR1cmVzOwogCiBib29sIGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBlKTsKIAot
Y2xhc3MgRnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2Fk
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAg
ICBGcmFtZUxvYWRlcihGcmFtZSosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAgICAgfkZyYW1lTG9h
ZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGlu
ZS5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAppbmRleCBjMzQw
OGMyLi4xZGRmMmVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRl
TWFjaGluZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgK
QEAgLTI5LDEzICsyOSwxMyBAQAogI2lmbmRlZiBGcmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAj
ZGVmaW5lIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRl
IG1hY2hpbmUgZm9yIEZyYW1lTG9hZGVyLiBOb3RlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJv
bSBGcmFtZVN0YXRlLAogLy8gd2hpY2ggc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBs
b2FkIHRoYXQgRnJhbWVMb2FkZXIgaXMgZXhlY3V0aW5nLgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0
ZU1hY2hpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1h
Y2hpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5l
KTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSgpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oIGIvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaAppbmRleCAxYmY1MDcyLi40ZmI4NjNjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0hpc3Rv
cnlDb250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKIAogI2luY2x1ZGUgIkZyYW1lTG9hZGVy
VHlwZXMuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xh
c3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogCi1jbGFzcyBIaXN0b3J5Q29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIaXN0b3J5Q29udHJvbGxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSGlzdG9yeUNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIGVudW0gSGlz
dG9yeVVwZGF0ZVR5cGUgeyBVcGRhdGVBbGwsIFVwZGF0ZUFsbEV4Y2VwdEJhY2tGb3J3YXJkTGlz
dCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9XZWJD
b3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggOTRhMjFhNC4uYTgzNmY3NyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcApAQCAtNTcsNyArNTcsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1
ZUNoZWNrPFdlYkNvcmU6OkltYWdlTG9hZGVyKj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIEltYWdlRXZlbnRTZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1h
Z2VFdmVudFNlbmRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5k
ZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwCmluZGV4IDI4ZmRhOWEuLmE3MjFjODcgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05h
dmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
Y2hlZHVsZWROYXZpZ2F0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgU2NoZWR1bGVkTmF2aWdhdGlvbihkb3VibGUgZGVsYXksIGJvb2wgbG9ja0hpc3RvcnksIGJv
b2wgbG9ja0JhY2tGb3J3YXJkTGlzdCwgYm9vbCB3YXNEdXJpbmdMb2FkLCBib29sIGlzTG9jYXRp
b25DaGFuZ2UpCiAgICAgICAgIDogbV9kZWxheShkZWxheSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25T
Y2hlZHVsZXIuaAppbmRleCAxNDAwYzI1Li5mMTRkMDUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlv
blNjaGVkdWxlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEZyYW1lOwogc3RydWN0IEZyYW1l
TG9hZFJlcXVlc3Q7CiBjbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uOwogCi1jbGFzcyBOYXZpZ2F0
aW9uU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5hdmlnYXRpb25TY2hl
ZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5hdmlnYXRpb25TY2hlZHVsZXIpOwog
cHVibGljOgogICAgIE5hdmlnYXRpb25TY2hlZHVsZXIoRnJhbWUqKTsKICAgICB+TmF2aWdhdGlv
blNjaGVkdWxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oIGIv
V2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCmluZGV4IGViNDMxNjYuLjNmNTYzYTEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Q
aW5nTG9hZGVyLmgKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
Q2xpZW50LmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUw
LDcgKzQ5LDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIC8vIHRvIGFsbG93IHRoZSBsb2Fk
IHRvIGxpdmUgbG9uZyBlbm91Z2ggdG8gZW5zdXJlIHRoZSBtZXNzYWdlIHdhcyBhY3R1YWxseSBz
ZW50LgogLy8gVGhlcmVmb3JlLCBhcyBzb29uIGFzIGEgY2FsbGJhY2sgaXMgcmVjZWl2ZWQgZnJv
bSB0aGUgUmVzb3VyY2VIYW5kbGUsIHRoaXMgY2xhc3MgCiAvLyB3aWxsIGNhbmNlbCB0aGUgbG9h
ZCBhbmQgZGVsZXRlIGl0c2VsZi4KLWNsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNl
SGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGluZ0xvYWRlciA6IHBy
aXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBp
bmdMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
dm9pZCBsb2FkSW1hZ2UoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwpOwogICAgIHN0YXRpYyB2b2lk
IHNlbmRQaW5nKEZyYW1lKiwgY29uc3QgS1VSTCYgcGluZ1VSTCwgY29uc3QgS1VSTCYgZGVzdGlu
YXRpb25VUkwpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oIGIv
V2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCmluZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Qb2xpY3lDaGVja2VyLmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xhc3MgTmF2aWdhdGlvbkFj
dGlvbjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1j
bGFzcyBQb2xpY3lDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBvbGljeUNo
ZWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvbGljeUNoZWNrZXIpOwogcHVibGlj
OgogICAgIFBvbGljeUNoZWNrZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAKaW5kZXggY2QxNTQzMy4uNjVkZDFjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3Bw
CkBAIC01MCw3ICs1MCw5IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVl
ID0gMC45OyAvLyAxLjAgLSBpbml0aWFsUHJvZ3Jlc3NWYWx1ZQogCiBzdGF0aWMgY29uc3QgaW50
IHByb2dyZXNzSXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKLXN0cnVj
dCBQcm9ncmVzc0l0ZW0gOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc0l0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKICAgICBQcm9ncmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAg
ICAgIDogYnl0ZXNSZWNlaXZlZCgwKQogICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgp
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAppbmRleCA1ZDViNmIyLi42MGViOGZlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVz
c1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTM2LDcgKzM1LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
Owogc3RydWN0IFByb2dyZXNzSXRlbTsKIAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUHJvZ3Jlc3NUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgUHJvZ3Jlc3NUcmFja2VyKCk7CiAgICAgflByb2dyZXNzVHJhY2tlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oIGIvV2ViQ29yZS9sb2FkZXIvUmVxdWVz
dC5oCmluZGV4IGI2ZGUzMTIuLjE1NzFkMWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jl
cXVlc3QuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKQEAgLTMxLDcgKzMxLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENhY2hlZFJlc291cmNlOwogICAgIGNsYXNz
IENhY2hlZFJlc291cmNlTG9hZGVyOwogCi0gICAgY2xhc3MgUmVxdWVzdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUmVxdWVzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlcXVlc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAg
ICAgIFJlcXVlc3QoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wg
aW5jcmVtZW50YWwsIFNlY3VyaXR5Q2hlY2tQb2xpY3ksIGJvb2wgc2VuZFJlc291cmNlTG9hZENh
bGxiYWNrcyk7CiAgICAgICAgIH5SZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWROb3RpZmllci5oIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90
aWZpZXIuaAppbmRleCAyZjEwODU2Li4yNzA0MDZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWROb3RpZmllci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZE5vdGlmaWVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpZm5kZWYgUmVzb3VyY2VMb2FkTm90aWZp
ZXJfaAogI2RlZmluZSBSZXNvdXJjZUxvYWROb3RpZmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0Miw4IEBAIGNs
YXNzIFJlc291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291
cmNlUmVxdWVzdDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFJlc291cmNlTG9hZE5vdGlmaWVyKTsKIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWRO
b3RpZmllcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRTY2hlZHVsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCmlu
ZGV4IDg0Zjg4NDUuLjI5Yzc0ZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxl
ci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBj
bGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50Owog
Ci1jbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNv
dXJjZUxvYWRTY2hlZHVsZXIpOwogcHVibGljOgogICAgIGZyaWVuZCBSZXNvdXJjZUxvYWRTY2hl
ZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogCkBAIC02Niw3ICs2Niw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7CiAgICAgdm9pZCBy
ZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Kik7CiAKLSAgICBj
bGFzcyBIb3N0SW5mb3JtYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhv
c3RJbmZvcm1hdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RJbmZvcm1h
dGlvbik7CiAgICAgcHVibGljOgogICAgICAgICBIb3N0SW5mb3JtYXRpb24oY29uc3QgU3RyaW5n
JiwgdW5zaWduZWQpOwogICAgICAgICB+SG9zdEluZm9ybWF0aW9uKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVM
b2FkZXIuaAppbmRleCBhNTczMDQ1Li5kMTFkOWI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9TdWJmcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgK
QEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTU0LDcgKzUzLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFdpZGdldDsKIAogLy8g
VGhpcyBpcyBhIHNsaWdodCBtaXNub21lci4gSXQgaGFuZGxlcyB0aGUgaGlnaGVyIGxldmVsIGxv
Z2ljIG9mIGxvYWRpbmcgYm90aCBzdWJmcmFtZXMgYW5kIHBsdWdpbnMuCi1jbGFzcyBTdWJmcmFt
ZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdWJmcmFtZUxvYWRlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3ViZnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIFN1
YmZyYW1lTG9hZGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCBm
NDFhNzc0Li5iYzFhM2JhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9h
ZGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC02NSw3ICs2NCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVyIG9wZXJh
dGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2FmZSwgCiAgICAgLy8ganVzdCBhYmxl
IHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFkKS4KLSAgICBjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJl
YWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxv
YWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMm
KTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKQEAgLTc1LDYg
Kzc1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGRlcmVmKCkgeyBkZXJl
ZlRocmVhZGFibGVMb2FkZXIoKTsgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRh
YmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXIoKSB7IH0K
ICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKaW5kZXggYmNmNjhiZS4uY2VhOGIwZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZu
ZGVmIFRocmVhZGFibGVMb2FkZXJDbGllbnRfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9u
c2U7CiAKLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVu
c2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2VudCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3Rh
bEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2Vs
bGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAg
ICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJl
YWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Ro
cmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAog
I2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxv
YWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgx
ZGEyZTAuLjY1Y2M2MzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFi
bGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgK
QEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1Ro
cmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBU
aHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdv
cmtlckNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdv
cmtlckNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5n
JiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRh
YmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZUdyb3VwLmgKaW5kZXggMjlkMDc0OS4uOTFhYzI4YiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKQEAgLTM1LDcg
KzM1LDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlNo
YXJlZEJ1ZmZlci5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC01Myw3ICs1Miw4
IEBAIGVudW0gQXBwbGljYXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB7CiAgICAgQXBwbGljYXRpb25D
YWNoZVVwZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRleHQKIH07CiAKLWNsYXNzIEFwcGxpY2F0aW9u
Q2FjaGVHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
Y2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVHcm91cCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFwcGxpY2F0aW9uQ2FjaGVHcm91cChjb25zdCBL
VVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBpc0NvcHkgPSBmYWxzZSk7ICAgIAogICAgIH5BcHBsaWNh
dGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlv
bkNhY2hlSG9zdC5oCmluZGV4IDhhYzUzNTcuLmExZjI4NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAjZW5k
aWYKIAotICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBz
cGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAgICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgg
Yi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4
IDdkYjM0ZTYuLjhiZmRmMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZVN0b3JhZ2UuaApAQCAtNDQsNyArNDQsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VD4KIGNsYXNzIFN0b3JhZ2VJREpvdXJuYWw7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAotY2xh
c3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
QXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAgICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9u
LmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApp
bmRleCA5ZDYzMGQxLi5mZDJkZGJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZl
L0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZl
L0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApAQCAtMzksNyArMzksOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24oKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggOWE1NGM1My4uYWU2Zjc1
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC00OSw3ICs0OSw4IEBA
IGNsYXNzIFJlcXVlc3Q7CiAvLyBBIHJlc291cmNlIHRoYXQgaXMgaGVsZCBpbiB0aGUgY2FjaGUu
IENsYXNzZXMgd2hvIHdhbnQgdG8gdXNlIHRoaXMgb2JqZWN0IHNob3VsZCBkZXJpdmUKIC8vIGZy
b20gQ2FjaGVkUmVzb3VyY2VDbGllbnQsIHRvIGdldCB0aGUgZnVuY3Rpb24gY2FsbHMgaW4gY2Fz
ZSB0aGUgcmVxdWVzdGVkIGRhdGEgaGFzIGFycml2ZWQuCiAvLyBUaGlzIGNsYXNzIGFsc28gZG9l
cyB0aGUgYWN0dWFsIGNvbW11bmljYXRpb24gd2l0aCB0aGUgbG9hZGVyIHRvIG9idGFpbiB0aGUg
cmVzb3VyY2UgZnJvbSB0aGUgbmV0d29yay4KLWNsYXNzIENhY2hlZFJlc291cmNlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hlZFJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDYWNoZWRSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZy
aWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAgICBmcmllbmQgY2xhc3MgSW5zcGVjdG9yUmVzb3Vy
Y2U7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaApp
bmRleCAyNzVkMzMxLi4yMWVhMDI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlQ2xpZW50LmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpZm5kZWYgQ2FjaGVkUmVzb3VyY2VD
bGllbnRfaAogI2RlZmluZSBDYWNoZWRSZXNvdXJjZUNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQ1LDggKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAqIGlu
aGVyaXQgZnJvbSB0aGlzIGNsYXNzIGFuZCBvdmVybG9hZCBvbmUgb2YgdGhlIDMgZnVuY3Rpb25z
CiAgICAgICoKICAgICAgKi8KLSAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlCi0gICAgeworICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50IHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB2
aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBmMzcxYTBlLi42ZDRhN2EzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDgg
QEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJMOwogCiAvLyBUaGUgQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBzY3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0
cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKIGZyaWVuZCBjbGFzcyBJbWFnZUxv
YWRlcjsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaCBi
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKaW5kZXggMTVjZTlkYS4uZDA4NDll
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCkBAIC0zMSw3ICszMSw2IEBACiAjaW5j
bHVkZSAibG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTcxLDcgKzcw
LDggQEAgY2xhc3MgS1VSTDsKIC8vIGl0cyBtZW1iZXIgdmFyaWFibGVzKSBhcmUgYWxsb2NhdGVk
IGluIG5vbi1wdXJnZWFibGUgVEMtbWFsbG9jJ2QgbWVtb3J5IHNvIHdlIHdvdWxkIHNlZSBzbGln
aHRseQogLy8gbW9yZSBtZW1vcnkgdXNlIGR1ZSB0byB0aGlzLgogCi1jbGFzcyBNZW1vcnlDYWNo
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZW1vcnlDYWNoZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVtb3J5Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBmcmllbmQgTWVtb3J5Q2FjaGUqIGNhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5oCmluZGV4IDYxNDZhYTYuLmVjODdiZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTYyLDggKzYxLDggQEAgZW51bSBJY29uTG9hZERlY2lz
aW9uIHsKICAgICBJY29uTG9hZFVua25vd24KIH07CiAKLWNsYXNzIEljb25EYXRhYmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7Ci0KK2NsYXNzIEljb25EYXRhYmFzZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAvLyAq
KiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAgICB2b2lkIHNldENsaWVudChJY29u
RGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRh
dGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5o
CmluZGV4IGMyMTBkN2QuLjRhZTJlYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJh
c2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVmaW5lIEljb25EYXRhYmFzZUNsaWVu
dF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhvZHMgd2lsbCBiZSBjYWxsZWQgZnJv
bSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3ByaWF0ZSBtZWFzdXJlcwogIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKKyAgICBJY29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5JY29uRGF0
YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybUltcG9ydCgpIHsgcmV0
dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRSZW1vdmVBbGxJY29ucygp
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmggYi9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAppbmRleCAxZWJhYzQ4Li43ZDgwODliIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25Mb2FkZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiU3Vi
cmVzb3VyY2VMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtMzcsNyArMzYsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEtVUkw7
CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLWNsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJl
c291cmNlTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkxvYWRl
ciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEljb25Mb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxJY29uTG9hZGVyPiBjcmVhdGUoRnJhbWUqKTsKICAgICB+SWNv
bkxvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3Jk
LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAppbmRleCBmN2NjYjhmLi5h
NWU1NWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaApAQCAtMzEsNyArMzEsNiBA
QAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNTEsNyArNTAsOCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGljb25VUkw7CiB9OwogCi1jbGFz
cyBQYWdlVVJMUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhZ2VVUkxSZWNv
cmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VVUkxSZWNvcmQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNvbnN0IFN0cmluZyYg
cGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKaW5kZXggODE4ZjU2Zi4uMjMy
MDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKKysrIGIvV2ViQ29yZS9s
b2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDggKzM0LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKICAgICBj
bGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlLCBw
cml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBjbGFzcyBMb2FkZXIgOiBTdWJy
ZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvYWRl
cik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0KICAgICAgICAgfkxvYWRlcigp
OwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciosIENhY2hlZFJlc291
cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5Q2hlY2tQb2xpY3kgPSBEb1Nl
Y3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyA9IHRydWUpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjczMTMxZTUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9XZWJDb3Jl
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFzcyBOb3RpZmlj
YXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2ZW50VGFyZ2V0
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmws
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNz
UmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYg
Y29udGVudHMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUm
IGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IDgzM2I5MDkuLmEyNGQxMjYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29udGV4
dE1lbnVDb250cm9sbGVyX2gKICNkZWZpbmUgQ29udGV4dE1lbnVDb250cm9sbGVyX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQwLDcg
KzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50OwogICAgIGNsYXNz
IFBhZ2U7CiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKFBhZ2Uq
LCBDb250ZXh0TWVudUNsaWVudCopOwogICAgICAgICB+Q29udGV4dE1lbnVDb250cm9sbGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFn
ZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDBlOTBhNTIuLjM2MGU0NjMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBS
YW5nZTsKICAgICBjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyOwogICAgIAotICAgIGNsYXNzIERy
YWdDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEcmFnQ29udHJv
bGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERyYWdDb250cm9sbGVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBEcmFnQ29udHJvbGxl
cihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuaAppbmRleCBjYTE5YTBjLi40NzgwNjE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC04MCw3
ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwogCiBlbnVt
IEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERvbnRIaXRUZXN0
U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhh
bmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAgIH5FdmVudEhh
bmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgUGVyZm9ybURy
YWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgOiBO
b25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5kbGVyRHJhZ1N0YXRl
KCkgeyB9CiAgICAgICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVsZW1lbnQgdGhhdCBt
YXkgYmUgYSBkcmFnIHNvdXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdlc3R1cmUKICAgICAg
ICAgYm9vbCBtX2RyYWdTcmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNJbWFnZTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmgKaW5kZXggZmZlZDU5Mi4uMTBhZDZiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTUx
LDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFibGVMb2Fk
ZXI7CiAKICAgICBjbGFzcyBFdmVudFNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50U291
cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQs
IHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV2ZW50U291cmNlPiBj
cmVhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRp
b25Db2RlJik7CiAgICAgICAgIHZpcnR1YWwgfkV2ZW50U291cmNlKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9s
bGVyLmgKaW5kZXggYmU1MWM3Ny4uMjg1MGQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaApAQCAt
MjksNyArMjksNiBAQAogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiU3Bh
dGlhbE5hdmlnYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBLZXlib2FyZEV2ZW50OwogY2xhc3MgTm9k
ZTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEZvY3VzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGb2N1c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZvY3VzQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFt
ZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5iYWM1NDc1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIvV2ViQ29yZS9wYWdl
L0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
cmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0aGlzRnJh
bWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1lKHRoaXNG
cmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNzcwMjI1Yi4uMWRjMzUyMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
QEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJlcGFpbnRE
ZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVtYmVyIG9m
IHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9yZSByZXR1
cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJhdGlvbnMg
PSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgU2No
ZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2ZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgU2NoZWR1bGVkRXZlbnQoKSB7
IH0KICAgICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiAgICAgUmVmUHRyPE5vZGU+IG1fZXZlbnRU
YXJnZXQ7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxl
ci5oIGIvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDJkODEwNmQu
LjE2YzdlYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIu
aAorKysgYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKQEAgLTMwLDcgKzMw
LDYgQEAKIAogI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgR2VvbG9jYXRp
b25FcnJvcjsKIGNsYXNzIEdlb2xvY2F0aW9uUG9zaXRpb247CiBjbGFzcyBQYWdlOwogCi1jbGFz
cyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2Vv
bG9jYXRpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlv
bkNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcihQYWdlKiwg
R2VvbG9jYXRpb25DbGllbnQqKTsKICAgICB+R2VvbG9jYXRpb25Db250cm9sbGVyKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL0dyb3Vw
U2V0dGluZ3MuaAppbmRleCBmYjZmNmI1Li4xYmJhZDJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvR3JvdXBTZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKQEAg
LTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdlR3JvdXA7CiAK
LWNsYXNzIEdyb3VwU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JvdXBT
ZXR0aW5ncyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5ncyk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEdyb3Vw
U2V0dGluZ3M+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2Uu
aCBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggZTA3NDgxNC4uYjE2MzAyZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgi
CkBAIC04OSwxMiArODgsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgZW51bSBGaW5k
RGlyZWN0aW9uIHsgRmluZERpcmVjdGlvbkZvcndhcmQsIEZpbmREaXJlY3Rpb25CYWNrd2FyZCB9
OwogCi0gICAgY2xhc3MgUGFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2UpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIHZvaWQgc2NoZWR1bGVGb3JjZWRTdHlsZVJlY2FsY0ZvckFsbFBhZ2VzKCk7
CiAKICAgICAgICAgLy8gSXQgaXMgdXAgdG8gdGhlIHBsYXRmb3JtIHRvIGVuc3VyZSB0aGF0IG5v
bi1udWxsIGNsaWVudHMgYXJlIHByb3ZpZGVkIHdoZXJlIHJlcXVpcmVkLgotICAgICAgICBzdHJ1
Y3QgUGFnZUNsaWVudHMgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50
cyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2xpZW50cyk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYWdlQ2xp
ZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCBjYzQ3
ZmJhLi42ZDdkNmNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKKysrIGIv
V2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFBhZ2VH
cm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNjcmlwdC5oIgog
I2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAK
LSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBh
Z2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwKGNvbnN0
IFN0cmluZyYgbmFtZSk7CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmggYi9XZWJDb3JlL3BhZ2UvUGFnZUdy
b3VwTG9hZERlZmVycmVyLmgKaW5kZXggZDQ0M2ViZC4uZjc5NTZjNCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdl
R3JvdXBMb2FkRGVmZXJyZXIuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91
cExvYWREZWZlcnJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3Vw
TG9hZERlZmVycmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdyb3VwTG9h
ZERlZmVycmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cExvYWREZWZlcnJlcihQ
YWdlKiwgYm9vbCBkZWZlclNlbGYpOwogICAgICAgICB+UGFnZUdyb3VwTG9hZERlZmVycmVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmggYi9XZWJDb3JlL3BhZ2Uv
UGx1Z2luSGFsdGVyLmgKaW5kZXggYWY4YjMxZS4uNWI5NmQxOSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL1BsdWdpbkhhbHRlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaApA
QCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhhbHRhYmxlUGx1
Z2luOwogCi1jbGFzcyBQbHVnaW5IYWx0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UGx1Z2luSGFsdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5IYWx0ZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQbHVnaW5IYWx0ZXIoUGx1Z2lu
SGFsdGVyQ2xpZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggYzY1M2FkZC4uMTBmNDAwMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgK
QEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBUZXh0RGlyZWN0
aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAotICAgIGNsYXNzIFNldHRpbmdzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTZXR0aW5ncyB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5kZXggNDUz
MmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKKysr
IGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRl
ICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5wdXRMaXN0
ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJlcXVpcmlu
ZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVjaCByZWNv
Z25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50
cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZvciB0aGUg
c3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0cy4KLWNs
YXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNoSW5wdXRM
aXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6CiAgICAg
U3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVlY2hJbnB1
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNvcmUvcGFn
ZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uMDUxNDA5MCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCkBAIC0z
NSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNjcmlwdCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgVXNlclNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJsLAog
ICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFz
c093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9Vc2VyU3R5bGVTaGVldC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKaW5k
ZXggZmE0MmUyYy4uMDY4ZGYxZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNo
ZWV0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM1LDcgKzM1LDgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBVc2VyU3R5bGVTaGVldCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU3R5bGVTaGVldCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVXNlclN0eWxlU2hlZXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBVc2VyU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYg
dXJsLAogICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0
ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaApp
bmRleCAyYjc4MWYxLi41YmVlZDYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRv
ci5oCisrKyBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICogSFRNTERvY3VtZW50UGFyc2VyOjpzaG91bGRMb2Fk
RXh0ZXJuYWxTY3JpcHRGcm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4dGVybmFsIEphdmFTY3JpcHQg
c2NyaXB0cy4KICAgICAvLyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0IC0gdXNlZCB0
byBsb2FkIDxvYmplY3Q+LzxlbWJlZD4gZWxlbWVudHMuCiAgICAgLy8KLSAgICBjbGFzcyBYU1NB
dWRpdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYU1NBdWRpdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAgICAg
ICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAK
aW5kZXggNjYxNzJmNy4uNjg1NTFmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZTsK
IHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0eVdy
YXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFzcyBQ
cm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3BlcnR5
V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBlckJh
c2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQcm9wZXJ0eVdyYXBw
ZXJCYXNlKGludCBwcm9wKQogICAgICAgICA6IG1fcHJvcChwcm9wKQpAQCAtNDM4LDcgKzQzOSw4
IEBAIHB1YmxpYzoKIH07CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgRmlsbExheWVy
UHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJh
c2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJH
ZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKTsKIHB1YmxpYzoK
ICAgICBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIoVCAoRmlsbExheWVyOjoqZ2V0dGVy
KSgpIGNvbnN0KQogICAgICAgICA6IG1fZ2V0dGVyKGdldHRlcikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBiL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA4OTNjNzE3
Li5jODRkZDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBS
ZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJTdHlsZTsKIAotY2xhc3MgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0
aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUqKTsKICAgICB+QW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5p
bWF0aW9uLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oCmlu
ZGV4IDI0OWY0YzMuLjBkMGJiMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
Q29tcG9zaXRlQW5pbWF0aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3Np
dGVBbmltYXRpb24uaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkltcGxpY2l0QW5pbWF0
aW9uLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVBbmltYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRI
YW5kbGVyTWFjLm1tCmluZGV4IDJkYjcxM2YuLmI5OGJjYjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRI
YW5kbGVyTWFjLm1tCkBAIC03Nyw3ICs3Nyw4IEBAIE5TRXZlbnQgKkV2ZW50SGFuZGxlcjo6Y3Vy
cmVudE5TRXZlbnQoKQogICAgIHJldHVybiBjdXJyZW50TlNFdmVudFNsb3QoKS5nZXQoKTsKIH0K
IAotY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
Q3VycmVudEV2ZW50U2NvcGUgeworICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDdXJyZW50RXZl
bnRTY29wZSk7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUoTlNFdmVudCAqKTsKICAg
ICB+Q3VycmVudEV2ZW50U2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5
bmNGaWxlU3lzdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCmluZGV4
IGQ5NmMxYWQuLmMzNGE2NDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxl
U3lzdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaApAQCAtNDQs
NyArNDQsOCBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7CiBjbGFzcyBBc3luY0Zp
bGVXcml0ZXJDbGllbnQ7CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMgYXN5bmMgaW50ZXJmYWNl
IGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi4gIE5vdGUg
dGhhdCBhbGwgdGhlIG1ldGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4KLWNsYXNzIEFzeW5jRmls
ZVN5c3RlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW0gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+QXN5bmNGaWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5j
RmlsZVN5c3RlbUNhbGxiYWNrcy5oCmluZGV4IDI5MGE2NjkuLmNlZThkOTAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAtNDEsOCArNDEsMTEgQEAg
Y2xhc3MgQXN5bmNGaWxlU3lzdGVtOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyOwogc3RydWN0IEZp
bGVNZXRhZGF0YTsKIAotY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAgICBB
c3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MoKSB7IH0gICAgCisKICAgICAvLyBDYWxsZWQgd2hlbiBh
IHJlcXVlc3RlZCBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAgICB2aXJ0
dWFsIHZvaWQgZGlkU3VjY2VlZCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9BdXRvZHJhaW5lZFBvb2wuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgK
aW5kZXggZDQ0ZWUxZS4uZDY1NTQzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9BdXRv
ZHJhaW5lZFBvb2wuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCkBA
IC0yOSw3ICsyOSw2IEBACiAjaWZuZGVmIEF1dG9kcmFpbmVkUG9vbF9oCiAjZGVmaW5lIEF1dG9k
cmFpbmVkUG9vbF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmZGVmIF9f
T0JKQ19fCiBAY2xhc3MgTlNBdXRvcmVsZWFzZVBvb2w7CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNz
IE5TQXV0b3JlbGVhc2VQb29sOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEF1dG9k
cmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdXRvZHJhaW5lZFBvb2wg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1dG9kcmFpbmVkUG9vbCk7CiBwdWJsaWM6CiAg
ICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEpOwogICAgIH5BdXRvZHJh
aW5lZFBvb2woKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaAppbmRleCA1MzIxZWQ2Li41OWEwMmJhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZXh0TWVudS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbnRleHRN
ZW51X2gKICNkZWZpbmUgQ29udGV4dE1lbnVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKICNpbmNsdWRlICJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVz
dWx0LmgiCkBAIC00NSw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBD
b250ZXh0TWVudUNsaWVudEVmbDsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1lbnUgOiBw
dWJsaWMgTm9uY29weWFibGUKLSAgICB7CisgICAgY2xhc3MgQ29udGV4dE1lbnUgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3Vs
dCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxh
dGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXgg
ZTcwMjkyMS4uZDllMjU2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIs
NyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0
ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBD
b250ZXh0TWVudUl0ZW0oUGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uKTsKICAgICAgICAgQ29u
dGV4dE1lbnVJdGVtKENvbnRleHRNZW51KiBzdWJNZW51ID0gMCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJl
Y2F0ZWRQdHJMaXN0LmgKaW5kZXggNDdjZDUzOC4uMGE0YTUxNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRGVw
cmVjYXRlZFB0ckxpc3QuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIERlcHJlY2F0ZWRQ
dHJMaXN0X2gKIAogI2luY2x1ZGUgIkRlcHJlY2F0ZWRQdHJMaXN0SW1wbC5oIgotI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdGVtcGxhdGUg
PGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I7CiAKLXRlbXBsYXRlIDxj
bGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K3RlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZFB0ckxpc3QoKSA6IGlt
cGwoZGVsZXRlRnVuYyksIGRlbF9pdGVtKGZhbHNlKSB7IH0KICAgICB+RGVwcmVjYXRlZFB0ckxp
c3QoKSB7IGltcGwuY2xlYXIoZGVsX2l0ZW0pOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0
ZWRQdHJMaXN0SW1wbC5jcHAKaW5kZXggOTZmZDUxMy4uZWYyOTk1OSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcApAQCAtMjksMTIgKzI5LDExIEBACiAjaW5j
bHVkZSA8Y3N0ZGRlZj4KICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUKLXsK
K2NsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVw
cmVjYXRlZExpc3ROb2RlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
RGVwcmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7
IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50
TG9vcC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUg
RXZlbnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
TG9vcCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBt
X2VuZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNl
cnZpY2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4
NWY2NS4uZDYwYWU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNl
cnZpY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0y
Niw3ICsyNiw3IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xv
Y2F0aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRl
IDx3dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0Miw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1
cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNl
cnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgog
ICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VD
bGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0
V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uMjI1ODg0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAg
LTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRv
d19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5k
b3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgorICAgIEhvc3RXaW5kb3coKSB7IH0KICAgICB2aXJ0dWFsIH5Ib3N0V2luZG93KCkgeyB9
CiAKICAgICAvLyBSZXF1ZXN0cyB0aGUgaG9zdCBpbnZhbGlkYXRlIHRoZSB3aW5kb3csIG5vdCB0
aGUgY29udGVudHMuICBJZiBpbW1lZGlhdGUgaXMgdHJ1ZSBkbyBzbyBzeW5jaHJvbm91c2x5LCBv
dGhlcndpc2UgYXN5bmMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKaW5kZXggOGUyNzM1MC4uYjY4NzI3NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vS2lsbFJpbmcuaApAQCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBLaWxsUmluZyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwcmVwZW5kKGNvbnN0IFN0
cmluZyYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaCBiL1dlYkNvcmUv
cGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXggN2RkODc1ZS4uOTM0NTQyMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9MZW5ndGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIExlbmd0aF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0zNSw3ICszNCw5IEBA
IGNvbnN0IGludCBpbnRNaW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFs
dWUgZm9yIGEgMjgtYml0IGludAogCiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwg
UGVyY2VudCwgRml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKIAotc3Ry
dWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3Zh
bHVlKDApCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li5mMGIyZTkyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
QEAgLTgxLDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2
ZVJlc291cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJk
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIC8vSGVscGVyIGZ1bmN0aW9ucyB0byBhbGxvdyBDbGlwYm9hcmQgdG8gc2hhcmUgY29kZQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKaW5kZXggYmMyOGU4NC4uYWVl
OTViNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCkBAIC03NSw3
ICs3NSw4IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMyOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFR5cGUg
ewogICAgICAgICAgICAgLy8gS2V5RG93biBpcyBzZW50IGJ5IHBsYXRmb3JtcyBzdWNoIGFzIE1h
YyBPUyBYLCBndGsgYW5kIFF0LCBhbmQgaGFzIGluZm9ybWF0aW9uIGFib3V0IGJvdGggcGh5c2lj
YWwgcHJlc3NlZCBrZXksIGFuZCBpdHMgdHJhbnNsYXRpb24uCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVC
dWZmZXIuaAppbmRleCA5YmRhMmQ1Li40NDEzNmMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL1B1cmdlYWJsZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVm
ZmVyLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBQdXJnZWFibGVCdWZmZXJfaAogCiAj
aW5jbHVkZSAiUHVyZ2VQcmlvcml0eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQdXJnZWFibGVCdWZmZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFBhc3NPd25QdHI8UHVyZ2VhYmxlQnVmZmVyPiBjcmVhdGUoY29uc3QgY2hhciog
ZGF0YSwgc2l6ZV90KTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1J1
bkxvb3BUaW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAppbmRleCA2NWYy
NTNlLi5mOGM1MjlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKQEAgLTMwLDE1ICszMCwxNiBA
QAogI2RlZmluZSBSdW5Mb29wVGltZXJfaAogCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRpbWUgaW50ZXJ2YWxzIGFyZSBhbGwgaW4gc2Vj
b25kcy4KIAotY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBSdW5Mb29wVGltZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29w
VGltZXJCYXNlKTsKIHB1YmxpYzoKKyAgICBSdW5Mb29wVGltZXJCYXNlKCkgeyB9CiAgICAgdmly
dHVhbCB+UnVuTG9vcFRpbWVyQmFzZSgpOwogCiAgICAgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hl
ZHVsZVBhaXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCAwZWZhZjdhLi5mMTA2
OTExIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBjbGFz
cyBQbGF0Zm9ybU1vdXNlRXZlbnQ7CiBjbGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3JvbGxWaWV3
OwogCi1jbGFzcyBTY3JvbGxiYXJUaGVtZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
Y3JvbGxiYXJUaGVtZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFyVGhlbWUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgp
IHsgfQogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJv
b2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypk
YW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL1NoYXJlZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXgg
NWI1Y2QxNC4uNzExZTZiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1l
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2
IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8v
IEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIs
IHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBp
cyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRl
ZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAg
Y2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJl
ZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFNoYXJlZFRpbWVyKCkg
eyB9CiAgICAgICAgIHZpcnR1YWwgflNoYXJlZFRpbWVyKCkge30KICAgICAgICAgdmlydHVhbCB2
b2lkIHNldEZpcmVkRnVuY3Rpb24odm9pZCAoKikoKSkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
R2xvYmFsRGF0YS5oCmluZGV4IDlmNTdmMDAuLmU4NDJiN2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
R2xvYmFsRGF0YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYgRU5BQkxFKFdPUktFUlMp
CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29u
dmVydGVyV3JhcHBlcjsKICAgICBjbGFzcyBUaHJlYWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJl
YWRHbG9iYWxEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRHbG9i
YWxEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkR2xvYmFsRGF0YSk7
CiAgICAgcHVibGljOgogICAgICAgICBUaHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgICAgIH5UaHJl
YWRHbG9iYWxEYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVy
cy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBhYjQyNTk4Li5mOTk5
NDBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNpZm5kZWYg
VGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBUaW1lckJhc2U7CiAKICAgICAvLyBBIGNvbGxlY3Rpb24gb2YgdGltZXJzIHBlciB0aHJlYWQu
IEtlcHQgaW4gVGhyZWFkR2xvYmFsRGF0YS4KLSAgICBjbGFzcyBUaHJlYWRUaW1lcnMgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZFRpbWVycyB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRocmVhZFRpbWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgVGhyZWFkVGltZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBjNDQ0
M2RhLi44NWYwZGFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFRpbWVy
X2gKICNkZWZpbmUgVGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3ICsz
NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAot
Y2xhc3MgVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbWVyQmFzZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNl
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJl
ZVNoYXJlZC5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcg
KzMxLDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUcmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAg
ICAgOiBtX3JlZkNvdW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlv
bi9BbmltYXRpb25MaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmgKaW5kZXggOWEzMzRjYS4uYmY4ZmY5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0
aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFz
cyBBbmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBBbmltYXRpb25MaXN0KCkgeyB9CiAgICAgQW5pbWF0aW9uTGlzdChjb25zdCBBbmltYXRp
b25MaXN0Jik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDMxOGI4MS4uMzk4ZTEy
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmlu
ZSBBdWRpb0J1c19oCiAKICNpbmNsdWRlICJBdWRpb0NoYW5uZWwuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIApAQCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBB
biBBdWRpb0J1cyByZXByZXNlbnRzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSBBdWRpb0No
YW5uZWxzLgogLy8gVGhlIGRhdGEgbGF5b3V0IGlzICJwbGFuYXIiIGFzIG9wcG9zZWQgdG8gImlu
dGVybGVhdmVkIi4KIC8vIEFuIEF1ZGlvQnVzIHdpdGggb25lIGNoYW5uZWwgaXMgbW9ubywgYW4g
QXVkaW9CdXMgd2l0aCB0d28gY2hhbm5lbHMgaXMgc3RlcmVvLCBldGMuCi1jbGFzcyBBdWRpb0J1
cyAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9CdXMgIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShBdWRpb0J1cyApOwogcHVibGljOgogICAgIGVudW0gewogICAgICAgICBD
aGFubmVsTGVmdCA9IDAsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
Q2hhbm5lbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAppbmRleCA2
ODE2ODMwLi43MzI1ZTlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
Q2hhbm5lbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAg
LTMwLDE0ICszMCwxNCBAQAogI2RlZmluZSBBdWRpb0NoYW5uZWxfaAogCiAjaW5jbHVkZSAiQXVk
aW9BcnJheS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW4gQXVkaW9DaGFubmVs
IHJlcHJlc2VudHMgYSBidWZmZXIgb2Ygbm9uLWludGVybGVhdmVkIGZsb2F0aW5nLXBvaW50IGF1
ZGlvIHNhbXBsZXMuCiAvLyBUaGUgUENNIHNhbXBsZXMgYXJlIG5vcm1hbGx5IGFzc3VtZWQgdG8g
YmUgaW4gYSBub21pbmFsIHJhbmdlIC0xLjAgLT4gKzEuMAotY2xhc3MgQXVkaW9DaGFubmVsIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQ2hhbm5lbCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQXVkaW9DaGFubmVsKTsKIHB1YmxpYzoKICAgICAvLyBNZW1vcnkgY2FuIGJl
IGV4dGVybmFsbHkgcmVmZXJlbmNlZCwgb3IgY2FuIGJlIGludGVybmFsbHkgYWxsb2NhdGVkIHdp
dGggYW4gQXVkaW9GbG9hdEFycmF5LgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0hSVEZEYXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2Uu
aAppbmRleCBjMzNiMzhmLi4zNTE0NjkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0hSVEZEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIkhSVEZFbGV2YXRpb24uaCIKICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBIUlRGS2VybmVsOwogCi1jbGFzcyBIUlRGRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFJURkRhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
UlRGRGF0YWJhc2UpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhSVEZEYXRhYmFz
ZT4gY3JlYXRlKGRvdWJsZSBzYW1wbGVSYXRlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZF
bGV2YXRpb24uaAppbmRleCBiMzg4YjM0Li5mNDQ0NDQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0hSVEZFbGV2YXRpb24uaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBIUlRGRWxldmF0aW9u
X2gKIAogI2luY2x1ZGUgIkhSVEZLZXJuZWwuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIC8vIEhSVEZFbGV2YXRpb24gY29udGFpbnMgYWxsIG9mIHRoZSBIUlRGS2Vy
bmVscyAob25lIGxlZnQgZWFyIGFuZCBvbmUgcmlnaHQgZWFyIHBlciBhemltdXRoIGFuZ2xlKSBm
b3IgYSBwYXJ0aWN1bGFyIGVsZXZhdGlvbi4KIAotY2xhc3MgSFJURkVsZXZhdGlvbiA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIUlRGRWxldmF0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIUlRGRWxldmF0aW9uKTsKIHB1YmxpYzoKICAgICAvLyBMb2FkcyBhbmQgcmV0dXJu
cyBhbiBIUlRGRWxldmF0aW9uIHdpdGggdGhlIGdpdmVuIEhSVEYgZGF0YWJhc2Ugc3ViamVjdCBu
YW1lIGFuZCBlbGV2YXRpb24gZnJvbSBicm93c2VyIChvciBXZWJLaXQuZnJhbWV3b3JrKSByZXNv
dXJjZXMuCiAgICAgLy8gTm9ybWFsbHksIHRoZXJlIHdpbGwgb25seSBiZSBhIHNpbmdsZSBIUlRG
IGRhdGFiYXNlIHNldCwgYnV0IHRoaXMgQVBJIHN1cHBvcnRzIHRoZSBwb3NzaWJpbGl0eSBvZiBt
dWx0aXBsZSBvbmVzIHdpdGggZGlmZmVyZW50IG5hbWVzLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCmluZGV4IDFkNjk5MjEuLmQ1YWRhMTQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKQEAgLTQyLDYg
KzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEludFBvaW50OwogCiAgICAg
Y2xhc3MgQ2xpcGJvYXJkQ2hyb21pdW0gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIH5DbGlwYm9hcmRDaHJvbWl1bSgpIHt9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA1YTU0OTYzLi5lOTY3OGMxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC02OCw3ICs2OCw5IEBAIHRlbXBsYXRl
IDx0eXBlbmFtZSBUPiBjbGFzcyBUaW1lcjsKIC8vIEZyYW1lRGF0YSBDbGFzcwogLy8gPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLXN0cnVjdCBGcmFt
ZURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRnJhbWVEYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZURhdGEpOworcHVibGljOgogICAgIEZyYW1lRGF0YSgpCiAgICAgICAg
IDogbV9mcmFtZSgwKQogICAgICAgICAsIG1faGF2ZU1ldGFkYXRhKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Db2xvci5oCmluZGV4IDJlNGU5NjIuLmYwYzMwYWYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0NvbG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29sb3JfaAogI2RlZmluZSBD
b2xvcl9oCiAKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC03NSw3ICs3
NCw4IEBAIGlubGluZSBpbnQgZ3JlZW5DaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNv
bG9yID4+IDgpICYgMHhGRjsgfQogaW5saW5lIGludCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3Ip
IHsgcmV0dXJuIGNvbG9yICYgMHhGRjsgfQogaW5saW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMy
IGNvbG9yKSB7IHJldHVybiAoY29sb3IgPj4gMjQpICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChm
YWxzZSkgeyB9CiAgICAgQ29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQo
dHJ1ZSkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRT
aGFkb3cuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcApp
bmRleCA4N2ExYzVjLi4wNzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0NvbnRleHRTaGFkb3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29u
dGV4dFNoYWRvdy5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93
LmgiCiAKICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiB1c2luZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmNmY2E5ODAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENh
Y2hlOjpGb250Q2FjaGUoKQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5
IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRh
Q2FjaGVLZXkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHkgPSBBdG9taWNTdHJpbmcoKSwgdW5z
aWduZWQgc2l6ZSA9IDAsIHVuc2lnbmVkIHdlaWdodCA9IDAsIGJvb2wgaXRhbGljID0gZmFsc2Us
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNQcmludGVyRm9udCA9IGZhbHNl
LCBGb250UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSwg
Rm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uID0gSG9yaXpvbnRhbCkKICAgICAgICAgOiBtX3Np
emUoc2l6ZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGU2ODQ1ZDku
Ljg2ZjhjNjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNTAsNyAr
NTAsOCBAQCBjbGFzcyBGb250RGVzY3JpcHRpb247CiBjbGFzcyBGb250U2VsZWN0b3I7CiBjbGFz
cyBTaW1wbGVGb250RGF0YTsKIAotY2xhc3MgRm9udENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEZvbnRDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIEZvbnRDYWNo
ZSogZm9udENhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAppbmRleCBl
ZTk0YTk4Li40MzI3OTU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnREYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCkBAIC0y
NywxNCArMjcsMTQgQEAKICNkZWZpbmUgRm9udERhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29k
ZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2ltcGxlRm9udERh
dGE7CiAKLWNsYXNzIEZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250RGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBo
UGFnZVRyZWVMZXZlbCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
bHlwaE1ldHJpY3NNYXAuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNz
TWFwLmgKaW5kZXggZmE4NWJjYy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dseXBoTWV0cmljc01hcC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQg
c2hvcnQgR2x5cGg7CiAKIGNvbnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRl
bXBsYXRlPGNsYXNzIFQ+IGNsYXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7Cit0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEdseXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRy
aWNzTWFwKCkgOiBtX2ZpbGxlZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRy
aWNzTWFwKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmlu
ZGV4IDZhZGM5MGIuLmIzODIzNjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR3JhcGhpY3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNp
bmNsdWRlICJQYXRoLmgiCiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFU
Rk9STShDRykKQEAgLTE1Myw3ICsxNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IEludGVycG9sYXRpb25IaWdoCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGljc0NvbnRleHQoUGxhdGZvcm1H
cmFwaGljc0NvbnRleHQqKTsKICAgICAgICAgfkdyYXBoaWNzQ29udGV4dCgpOwpAQCAtMzU2LDcg
KzM1Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRTaG91bGRJbmNs
dWRlQ2hpbGRXaW5kb3dzKGJvb2wpOwogICAgICAgICBib29sIHNob3VsZEluY2x1ZGVDaGlsZFdp
bmRvd3MoKSBjb25zdDsKIAotICAgICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXaW5kb3dzQml0bWFwKTsKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgV2luZG93c0JpdG1hcChIREMsIEludFNpemUpOwogICAgICAgICAgICAgfldpbmRv
d3NCaXRtYXAoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0M0QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaAppbmRleCBjMmQ1YzI0Li43YzA3YmViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBGSVhNRTogRmluZCBhIGJldHRlciB3YXkgdG8gYXZvaWQg
dGhlIG5hbWUgY29uZmxpY3Rpb24gZm9yIE5PX0VSUk9SLgogI2lmICgoUExBVEZPUk0oQ0hST01J
VU0pICYmIE9TKFdJTkRPV1MpKSB8fCBQTEFURk9STShXSU4pIHx8IChQTEFURk9STShRVCkgJiYg
T1MoV0lORE9XUykpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHRQcml2YXRlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dFByaXZhdGUuaAppbmRleCA5ODVjYWQ5Li4wNTFlNGViIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaApAQCAtODQsNyAr
ODQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKICAgICB9OwogCi0gICAgY2xhc3Mg
R3JhcGhpY3NDb250ZXh0UHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
R3JhcGhpY3NDb250ZXh0UHJpdmF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdy
YXBoaWNzQ29udGV4dFByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dFByaXZhdGUoKQogICAgICAgICAgICAgOiBtX3Vw
ZGF0aW5nQ29udHJvbFRpbnRzKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzTGF5ZXIuaAppbmRleCA5OTFjYTMyLi41MzJkMGNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApAQCAtMTA0LDcgKzEwNCw4IEBAIGNsYXNzIFRpbWluZ0Z1
bmN0aW9uOwogLy8gQmFzZSBjbGFzcyBmb3IgYW5pbWF0aW9uIHZhbHVlcyAoYWxzbyB1c2VkIGZv
ciB0cmFuc2l0aW9ucykuIEhlcmUgdG8KIC8vIHJlcHJlc2VudCB2YWx1ZXMgZm9yIHByb3BlcnRp
ZXMgYmVpbmcgYW5pbWF0ZWQgdmlhIHRoZSBHcmFwaGljc0xheWVyLAogLy8gd2l0aG91dCBwdWxs
aW5nIGluIHN0eWxlLXJlbGF0ZWQgZGF0YSBmcm9tIG91dHNpZGUgb2YgdGhlIHBsYXRmb3JtIGRp
cmVjdG9yeS4KLWNsYXNzIEFuaW1hdGlvblZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEFuaW1hdGlvblZhbHVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25W
YWx1ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFuaW1hdGlvblZh
bHVlKGZsb2F0IGtleVRpbWUsIFBhc3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0
aW9uID0gMCkKICAgICAgICAgOiBtX2tleVRpbWUoa2V5VGltZSkKQEAgLTE1Niw3ICsxNTcsOCBA
QCBwcml2YXRlOgogCiAvLyBVc2VkIHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtl
eWZyYW1lIGxpc3QuIFZhbHVlcyB3aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hp
Y2ggY2FuIGJlIGluZmVycmVkIGZyb20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1
ZUxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3Qgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAog
ICAgIEtleWZyYW1lVmFsdWVMaXN0KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCA4MjJhMGZmLi41ZDQ4YThjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAg
IGNsYXNzIEltYWdlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFn
ZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBXaWxsIHJldHVy
biBhIG51bGwgcG9pbnRlciBvbiBhbGxvY2F0aW9uIGZhaWx1cmUuCiAgICAgICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEltYWdlQnVmZmVyPiBjcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29sb3JT
cGFjZSBjb2xvclNwYWNlID0gQ29sb3JTcGFjZURldmljZVJHQikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VTb3VyY2UuaAppbmRleCBhZWIxNTYxLi45MWNlZTU5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIElt
YWdlU291cmNlX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgUExBVEZPUk0oV1gp
CkBAIC0xMTcsNyArMTE2LDggQEAgY29uc3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IDA7CiBj
b25zdCBpbnQgY0FuaW1hdGlvbkxvb3BJbmZpbml0ZSA9IC0xOwogY29uc3QgaW50IGNBbmltYXRp
b25Ob25lID0gLTI7CiAKLWNsYXNzIEltYWdlU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEltYWdlU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVNvdXJj
ZSk7CiBwdWJsaWM6CiAgICAgSW1hZ2VTb3VyY2UoYm9vbCBwcmVtdWx0aXBseUFscGhhID0gdHJ1
ZSwgYm9vbCBpZ25vcmVHYW1tYUFuZENvbG9yUHJvZmlsZSA9IGZhbHNlKTsKICAgICB+SW1hZ2VT
b3VyY2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXgg
ZTg3YzUzYy4uMzcwMDg4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAKQEAgLTE0Nyw3ICsxNDcsOSBAQCBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJm
YWNlKiBjcmVhdGVOdWxsTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKIAogLy8gZW5n
aW5lIHN1cHBvcnQKIAotc3RydWN0IE1lZGlhUGxheWVyRmFjdG9yeSA6IE5vbmNvcHlhYmxlIHsK
K3N0cnVjdCBNZWRpYVBsYXllckZhY3RvcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUGxheWVyRmFjdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAg
IE1lZGlhUGxheWVyRmFjdG9yeShDcmVhdGVNZWRpYUVuZ2luZVBsYXllciBjb25zdHJ1Y3Rvciwg
TWVkaWFFbmdpbmVTdXBwb3J0ZWRUeXBlcyBnZXRTdXBwb3J0ZWRUeXBlcywgTWVkaWFFbmdpbmVT
dXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlQW5kQ29kZWNzKSAKICAgICAgICAgOiBjb25zdHJ1Y3Rv
cihjb25zdHJ1Y3RvcikKICAgICAgICAgLCBnZXRTdXBwb3J0ZWRUeXBlcyhnZXRTdXBwb3J0ZWRU
eXBlcykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBjOWMwNDJi
Li5mZWU4YjdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0z
Nyw3ICszNyw2IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0hhc2guaD4KIApAQCAtMTQ2LDcgKzE0NSw4IEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAot
Y2xhc3MgTWVkaWFQbGF5ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUGxheWVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAKICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXll
cj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCBkOTU2Mjg2Li42YWJlMjU4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAg
LTM2LDggKzM2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFz
cyBJbnRTaXplOwogCi1jbGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZh
Y2UoKSB7IH0KICAgICB2aXJ0dWFsIH5NZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UoKSB7IH0K
IAogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvUGF0aC5oCmluZGV4IGJhMjVkYzIuLjdhZDE2YTMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvUGF0aC5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaWZuZGVmIFBhdGhfaAogI2RlZmluZSBQYXRo
X2gKIAotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KIAogI2lmIFBMQVRGT1JNKENHKQpAQCAtMTAwLDcgKzk5LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgdHlwZWRlZiB2b2lkICgqUGF0aEFwcGxpZXJGdW5jdGlvbikodm9pZCog
aW5mbywgY29uc3QgUGF0aEVsZW1lbnQqKTsKIAotICAgIGNsYXNzIFBhdGggOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGF0aCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGF0aCgpOwogICAgICAgICB+UGF0aCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDU4
NDc3ZGIuLjA2YzdmZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFj
a2luZ1N0b3JlLmgKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
R3JhcGhpY3NDb250ZXh0OwogY2xhc3MgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQ7CiAKLWNsYXNz
IFRpbGVkQmFja2luZ1N0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGVkQmFj
a2luZ1N0b3JlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxlZEJhY2tpbmdTdG9yZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3Jl
KFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Kik7CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCmluZGV4IGRhYzMxZjguLjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBA
IC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAi
Rm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBlZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0Zh
Y2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9fZm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpA
QCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1E
YXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAg
ICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5G
b250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5kZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzks
NyArMzksNiBAQAogI2luY2x1ZGUgIlRleHR1cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVj
dDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0
M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdM
RVMyQ2FudmFzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJs
aWM6CiAgICAgR0xFUzJDYW52YXMoU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVm
ZmVyKiwgY29uc3QgSW50U2l6ZSYpOwogICAgIH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0u
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmgKaW5kZXggYzBlNjEwYS4uNjgzY2FkMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00
Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAiU2tCaXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVy
Q2hyb21pdW0uaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlLmgKaW5kZXggMzEyYWRmYS4u
ODY3NDBjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclRleHR1cmUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyVGV4dHVyZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2lu
Y2x1ZGUgIlRleHR1cmVNYW5hZ2VyLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApA
QCAtMzcsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGljc0NvbnRl
eHQzRDsKIGNsYXNzIFRleHR1cmVNYW5hZ2VyOwogCi1jbGFzcyBMYXllclRleHR1cmUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5ZXJUZXh0dXJlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMYXllclRleHR1cmUpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPExh
eWVyVGV4dHVyZT4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBUZXh0dXJlTWFu
YWdlciogbWFuYWdlcikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAppbmRleCBhOTMyMThmLi5k
ZGM5Y2RhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRl
ICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hbmFnZXIuaCIKICNpbmNsdWRlICJUcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgTGF5ZXJDaHJvbWl1bTsK
IGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIGNsYXNzIExheWVyVGV4dHVyZTsKIAotY2xh
c3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJl
bmRlclN1cmZhY2VDaHJvbWl1bSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU3Vy
ZmFjZUNocm9taXVtKTsKICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwog
cHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZhY2VDaHJvbWl1bShMYXllckNocm9taXVt
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1
cmVNYW5hZ2VyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVN
YW5hZ2VyLmgKaW5kZXggMWU4NTBjZC4uMWM2ZGIzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaApAQCAtMzYsNyArMzYsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHR5cGVkZWYgaW50IFRleHR1cmVUb2tlbjsKIAotY2xh
c3MgVGV4dHVyZU1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGV4dHVyZU1h
bmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHR1cmVNYW5hZ2VyKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxUZXh0dXJlTWFuYWdlcj4gY3JlYXRlKEdyYXBoaWNz
Q29udGV4dDNEKiBjb250ZXh0LCBzaXplX3QgbWVtb3J5TGltaXRCeXRlcywgaW50IG1heFRleHR1
cmVTaXplKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApA
QCAtMzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVk
ZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0
Zi9Pd25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRy
YW5zcGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21w
b3NpdGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5h
YmlsaXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0
ZXh0LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVu
Y3lXaW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVu
dW0gTGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJh
d2luZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLmUzNTY1OTIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1
LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsOCAr
NzYsMTAgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkKLSAgICBj
bGFzcyBXaWxsUHVibGlzaENhbGxiYWNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBXaWxsUHVibGlzaENhbGxiYWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ls
bFB1Ymxpc2hDYWxsYmFjayk7CiAgICAgcHVibGljOgorICAgICAgICBXaWxsUHVibGlzaENhbGxi
YWNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNoQ2FsbGJhY2soKSB7IH0KICAg
ICAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsUHVibGlzaCgpID0gMDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaAppbmRl
eCBjNjY1ODQ0Li4xYmQ2N2I4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCkBAIC0zMCwxNCArMzAsMTQgQEAKICNpZm5kZWYg
TG9vcEJsaW5uQ2xhc3NpZmllcl9oCiAjZGVmaW5lIExvb3BCbGlubkNsYXNzaWZpZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRmxvYXRQb2ludDsKIAogLy8gQ2xhc3NpZmllcyBjdWJpYyBjdXJ2ZXMgaW50byBzcGVjaWZp
YyB0eXBlcy4KLWNsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TG9vcEJsaW5uQ2xhc3NpZmllcik7CiBwdWJsaWM6CiAgICAgLy8gVGhlIHR5cGVzIG9mIGN1Ymlj
IGN1cnZlcy4KICAgICBlbnVtIEN1cnZlVHlwZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAppbmRleCBl
YTNkN2UzLi5kMDFlNmM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKQEAgLTMwLDE5ICszMCwyMCBA
QAogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0YW50
cy5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gUGVyZm9ybXMgYSBsb2NhbGl6ZWQg
dHJpYW5ndWxhdGlvbiBvZiB0aGUgdHJpYW5nbGUgbWVzaAogLy8gY29ycmVzcG9uZGluZyB0byB0
aGUgZm91ciBjb250cm9sIHBvaW50IHZlcnRpY2VzIG9mIGEgY3ViaWMgY3VydmUKIC8vIHNlZ21l
bnQuCi1jbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IpOwogcHVibGljOgogICAgIC8vIFRo
ZSB2ZXJ0aWNlcyB0aGF0IHRoZSB0cmlhbmd1bGF0b3Igb3BlcmF0ZXMgdXBvbiwgY29udGFpbmlu
ZyBib3RoCiAgICAgLy8gdGhlIHBvc2l0aW9uIGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgdGhlIGN1
YmljIHRleHR1cmUKICAgICAvLyBjb29yZGluYXRlcy4KLSAgICBjbGFzcyBWZXJ0ZXggOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFZlcnRleCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFZlcnRleCk7CiAgICAgcHVibGljOgogICAgICAgICBWZXJ0ZXgoKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5U
ZXh0dXJlQ29vcmRzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5U
ZXh0dXJlQ29vcmRzLmgKaW5kZXggNWZkZWIzYi4uYjI5YThmNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaApAQCAt
MzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkxvb3BCbGlubkNsYXNzaWZpZXIuaCIKICNpbmNsdWRl
ICJMb29wQmxpbm5Db25zdGFudHMuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1BPREFyZW5hLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RB
cmVuYS5oCmluZGV4IGY2OGJhZWYuLjVmZWVmMDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvUE9EQXJlbmEuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPHN0ZGludC5oPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpA
QCAtMTU4LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgLy8gTWFuYWdlcyBhIGNo
dW5rIG9mIG1lbW9yeSBhbmQgaW5kaXZpZHVhbCBhbGxvY2F0aW9ucyBvdXQgb2YgaXQuCi0gICAg
Y2xhc3MgQ2h1bmsgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENodW5rIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2h1bmspOwogICAgIHB1YmxpYzoKICAgICAgICAg
Ly8gQWxsb2NhdGVzIGEgYmxvY2sgb2YgbWVtb3J5IG9mIHRoZSBnaXZlbiBzaXplIGZyb20gdGhl
IHBhc3NlZAogICAgICAgICAvLyBBbGxvY2F0b3IuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCmluZGV4IDMyMGNlNjAuLmZhMWUyN2MgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiUE9ESW50ZXJ2YWwuaCIKICNpbmNsdWRlICJQT0RSZWRC
bGFja1RyZWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNDQsOCArNDMsOCBAQCBzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKIC8vIHN1cHBvcnRz
IGVmZmljaWVudCAoTyhsZyBuKSkgaW5zZXJ0aW9uLCByZW1vdmFsIGFuZCBxdWVyeWluZyBvZgog
Ly8gaW50ZXJ2YWxzIGluIHRoZSB0cmVlLgogdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgVXNlckRh
dGEgPSB2b2lkKj4KLWNsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2
YWw8VCwgVXNlckRhdGE+ID4geworY2xhc3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIFBPRFJl
ZEJsYWNrVHJlZTxQT0RJbnRlcnZhbDxULCBVc2VyRGF0YT4gPiB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUE9ESW50ZXJ2YWxUcmVlKTsKIHB1YmxpYzoKICAgICAvLyBUeXBlZGVmIHRvIHJl
ZHVjZSB0eXBpbmcgd2hlbiBkZWNsYXJpbmcgaW50ZXJ2YWxzIHRvIGJlIHN0b3JlZCBpbgogICAg
IC8vIHRoaXMgdHJlZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPRFJlZEJsYWNrVHJlZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVk
QmxhY2tUcmVlLmgKaW5kZXggNmQ1OTU0Yy4uYjBkOTE4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKQEAgLTc0LDcgKzc0LDYgQEAKIAog
I2luY2x1ZGUgIlBPREFyZW5hLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaWZuZGVm
IE5ERUJVRwogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTE5OCw3ICsxOTcsOCBAQCBwcm90ZWN0
ZWQ6CiAgICAgLy8gVGhlIGJhc2UgTm9kZSBjbGFzcyB3aGljaCBpcyBzdG9yZWQgaW4gdGhlIHRy
ZWUuIE5vZGVzIGFyZSBvbmx5CiAgICAgLy8gYW4gaW50ZXJuYWwgY29uY2VwdDsgdXNlcnMgb2Yg
dGhlIHRyZWUgZGVhbCBvbmx5IHdpdGggdGhlIGRhdGEKICAgICAvLyB0aGV5IHN0b3JlIGluIGl0
LgotICAgIGNsYXNzIE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE5vZGUg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIC8vIENvbnN0cnVjdG9yLiBOZXdseS1jcmVhdGVkIG5vZGVzIGFyZSBjb2xvcmVkIHJlZC4K
ICAgICAgICAgZXhwbGljaXQgTm9kZShjb25zdCBUJiBkYXRhKQpAQCAtNjU5LDcgKzY1OSw4IEBA
IHByaXZhdGU6CiAgICAgLy8gSGVscGVyIGNsYXNzIGZvciBzaXplKCkKIAogICAgIC8vIEEgVmlz
aXRvciB3aGljaCBzaW1wbHkgY291bnRzIHRoZSBudW1iZXIgb2YgdmlzaXRlZCBlbGVtZW50cy4K
LSAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ291bnRlcik7CiAgICAgcHVibGljOgogICAgICAgICBDb3VudGVyKCkKICAg
ICAgICAgICAgIDogbV9jb3VudCgwKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1NoYWRlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hh
ZGVyLmgKaW5kZXggZTViZDhkZS4uYjU2NjBmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvU2hhZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvU2hhZGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZm5kZWYgU2hhZGVyX2gKICNkZWZpbmUg
U2hhZGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xh
c3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBDb2xv
cjsKIAotY2xhc3MgU2hhZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNoYWRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhZGVyKTsKIHByb3RlY3RlZDoKICAgICBTaGFk
ZXIoR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBwcm9ncmFtKTsKICAgICB+U2hhZGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKaW5kZXggMWJkYzUx
YS4uZGNhOGFiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGls
aW5nRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEu
aApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRpbGluZ0RhdGFfaAogI2RlZmluZSBUaWxp
bmdEYXRhX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEludFJlY3Q7CiAKLWNsYXNzIFRpbGlu
Z0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGlsaW5nRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGlsaW5nRGF0YSk7CiBwdWJsaWM6CiAgICAgVGlsaW5nRGF0YShp
bnQgbWF4VGV4dHVyZVNpemUsIGludCB0b3RhbFNpemVYLCBpbnQgdG90YWxTaXplWSwgYm9vbCBo
YXNCb3JkZXJUZXhlbHMpOwogICAgIGludCBtYXhUZXh0dXJlU2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbWF4VGV4dHVyZVNpemU7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4
IDYzNWZlZmYuLmJmNjBhYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcApAQCAt
MjQsNyArMjQsNiBAQAogI2luY2x1ZGUgIkdPd25QdHIuaCIKICNpbmNsdWRlICJHUmVmUHRyLmgi
CiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5o
IgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVD
bGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCkBAIC0zNiw3ICsz
NSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1jbGFzcyBTdHJlYW1pbmdDbGll
bnQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7Citj
bGFzcyBTdHJlYW1pbmdDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmVhbWluZ0NsaWVudCk7CiAgICAgcHVibGljOgogICAg
ICAgICBTdHJlYW1pbmdDbGllbnQoV2ViS2l0V2ViU3JjKik7CiAgICAgICAgIHZpcnR1YWwgflN0
cmVhbWluZ0NsaWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9o
YWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1
ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggNzcwMjQ1Ny4uZTgwMjhkYSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5j
bHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBD
R0ZvbnRSZWY7CiB0eXBlZGVmIFVJbnQzMiBBVFNGb250Q29udGFpbmVyUmVmOwpAQCAtMzYsNyAr
MzUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xh
c3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyLCBBVFNGb250UmVm
IGF0c0ZvbnQsIENHRm9udFJlZiBjZ0ZvbnQpCiAgICAgOiBtX2F0c0NvbnRhaW5lcihjb250YWlu
ZXIpLCBtX2F0c0ZvbnQoYXRzRm9udCksIG1fY2dGb250KGNnRm9udCkKICAgICB7fQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCmluZGV4IGU0
YzY2ODguLjg0ODk5M2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnZnL1BhaW50ZXJPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52
Zy9QYWludGVyT3BlblZHLmgKQEAgLTI1LDcgKzI1LDYgQEAKIAogI2luY2x1ZGUgPG9wZW52Zy5o
PgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIFRpbGVkSW1h
Z2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKIAotY2xhc3MgUGFpbnRl
ck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWludGVyT3BlblZHIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVyT3BlblZHKTsKIHB1YmxpYzoKICAgICBmcmll
bmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBmcmllbmQgc3RydWN0IFBsYXRmb3JtUGFpbnRl
clN0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3Vy
ZmFjZU9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9w
ZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLmVlNzIwMDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNs
dWRlIDxlZ2wuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBJbnRTaXplOwogICog
b2YgI2lmZGVmcyBhbmQgc2hvdWxkIG1ha2UgaXQgZWFzeSB0byBhZGQgZGlmZmVyZW50IHN1cmZh
Y2UvY29udGV4dAogICogaW1wbGVtZW50YXRpb25zIHRoYW4gRUdMLgogICovCi1jbGFzcyBTdXJm
YWNlT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN1cmZhY2VPcGVuVkcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1cmZhY2VPcGVuVkcpOwogcHVibGljOgogICAgIGVu
dW0gTWFrZUN1cnJlbnRNb2RlIHsKICAgICAgICAgQXBwbHlQYWludGVyU3RhdGVPblN1cmZhY2VT
d2l0Y2gsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcuLmQ1ZjMyNDIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0y
NSwxNCArMjUsMTYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJG
b250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9udFBs
YXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEo
KSB7IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3
aXRoIFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZv
bnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3Jt
RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
aW5kZXggMjIwMWYxOC4uMDc3N2JiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSgpCiAgICAgICAgIDogcmVm
Q291bnQoMSkKQEAgLTYyLDggKzYzLDEwIEBAIHB1YmxpYzoKIAogCiAKLWNsYXNzIEZvbnRQbGF0
Zm9ybURhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRh
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBGb250UGxhdGZv
cm1EYXRhKCkgeyB9CiAgICAgRm9udFBsYXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29sIGJvbGQs
IGJvb2wgb2JsaXF1ZSk7CiAgICAgRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1E
YXRhICYpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29u
c3QgQXRvbWljU3RyaW5nJiBmYW1pbHlOYW1lLCBpbnQgd29yZFNwYWNpbmcgPSAwLCBpbnQgbGV0
dGVyU3BhY2luZyA9IDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dFF0LmNwcAppbmRleCA5MDk0YzVhLi4zNjAzY2VlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcApAQCAtMTc3
LDcgKzE3Nyw4IEBAIHN0YXRpYyBpbmxpbmUgUXQ6OkZpbGxSdWxlIHRvUXRGaWxsUnVsZShXaW5k
UnVsZSBydWxlKQogICAgIHJldHVybiBRdDo6T2RkRXZlbkZpbGw7CiB9CiAKLWNsYXNzIEdyYXBo
aWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlcios
IGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJh
bnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRmYjM5Li45ZmFkN2VkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFRyYW5zcGFyZW5jeUxheWVyKGNvbnN0IFFQ
YWludGVyKiBwLCBjb25zdCBRUmVjdCAmcmVjdCwgcXJlYWwgb3BhY2l0eSwgUVBpeG1hcCYgYWxw
aGFNYXNrKQogICAgICAgICA6IHBpeG1hcChyZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpCiAg
ICAgICAgICwgb3BhY2l0eShvcGFjaXR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZTUxYjZiNi4uMDgz
ZTU4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiRm9udE9y
aWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgT1MoV0lO
RE9XUykKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtNDksNyArNDgsOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVm
ZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICNpZiBPUyhXSU5ET1dTKQogICAgIEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYg
bmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUuaAppbmRleCA1ZTEyYWQ2Li40NDgzNWE0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgR3JhcGhpY3ND
b250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKICNkZWZpbmUgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBjbGFzcyBQbGF0Zm9y
bUNvbnRleHRTa2lhOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRoaXMgY2xhc3MganVz
dCBob2xkcyBvbnRvIGEgUGxhdGZvcm1Db250ZXh0U2tpYSBmb3IgR3JhcGhpY3NDb250ZXh0Lgot
Y2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTsKIHB1YmxpYzoKICAg
ICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoUGxhdGZvcm1Db250ZXh0U2tpYSogcGxh
dGZvcm1Db250ZXh0KQogICAgICAgICA6IG1fY29udGV4dChwbGF0Zm9ybUNvbnRleHQpIHsgfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4
dFNraWEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRT
a2lhLmgKaW5kZXggMTEwMDg1ZC4uZDY4M2FhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCkBAIC0zMiw3ICszMiw2IEBA
CiAjZGVmaW5lIFBsYXRmb3JtQ29udGV4dFNraWFfaAogCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogI2luY2x1ZGUgIlNrRGFzaFBhdGhF
ZmZlY3QuaCIKICNpbmNsdWRlICJTa0RyYXdMb29wZXIuaCIKQEAgLTY3LDcgKzY2LDggQEAgY2xh
c3MgVGV4dHVyZTsKIC8vIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyB0aGUgcGFpbnRpbmcgc3Rh
dGUgd2hpY2ggaXMgc3RvcmUgaW4gc2VwYXJhdGUKIC8vIFNrUGFpbnQgb2JqZWN0cy4gVGhpcyBj
bGFzcyBwcm92aWRlcyB0aGUgYWRhcHRvciB0aGF0IGFsbG93cyB0aGUgcGFpbnRpbmcKIC8vIHN0
YXRlIHRvIGJlIHB1c2hlZCBhbmQgcG9wcGVkIGFsb25nIHdpdGggdGhlIGJpdG1hcC4KLWNsYXNz
IFBsYXRmb3JtQ29udGV4dFNraWEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGxhdGZv
cm1Db250ZXh0U2tpYSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGxhdGZvcm1Db250ZXh0
U2tpYSk7CiBwdWJsaWM6CiAgICAgLy8gRm9yIHByaW50aW5nLCB0aGVyZSBzaG91bGRuJ3QgYmUg
YW55IGNhbnZhcy4gY2FudmFzIGNhbiBiZSBOVUxMLiBJZiB5b3UKICAgICAvLyBzdXBwbHkgYSBO
VUxMIGNhbnZhcywgeW91IGNhbiBhbHNvIGNhbGwgc2V0Q2FudmFzIGxhdGVyLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5o
CmluZGV4IGJhZWUxMDIuLjhkMmY4NzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKQEAgLTMwLDcgKzMwLDYgQEAK
ICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogCiAjaW5jbHVkZSA8c3RyaW5nLmg+
IC8vIGZvciBtZW1jcHkKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiAjaWYgUExB
VEZPUk0oQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQWZmaW5lVHJhbnNmb3JtLmg+CkBA
IC01NSw3ICs1NCw4IEBAIGNsYXNzIEludFBvaW50OwogY2xhc3MgSW50UmVjdDsKIGNsYXNzIFRy
YW5zZm9ybWF0aW9uTWF0cml4OwogCi1jbGFzcyBBZmZpbmVUcmFuc2Zvcm0gOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBBZmZpbmVUcmFuc2Zvcm0geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIFRyYW5zZm9ybVs2XTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9y
bU9wZXJhdGlvbnMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3Ny4uOTgxZTFmNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0
aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
VHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5z
Zm9ybU9wZXJhdGlvbnMgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAg
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNm
b3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9U
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2YjRiYWEuLjFiYjA2NWUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgog
I2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQot
I2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNs
dWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAg
Y2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwog
Ci1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBNYXRyaXg0WzRdWzRdOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
aW5kZXggMWJkZjI3MC4uMTYyOGVlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsNyArMjUsNiBAQAog
I2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9udFJlZjsKIApAQCAtMzQsNyArMzMsOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hh
cmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxl
IHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAg
ICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCiAgICAgICAgICwgbV9uYW1lKG5h
bWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhQ2Fpcm8uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCmluZGV4IDNhYjUyYjguLjA2OTkxYzggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFD
YWlyby5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGFDYWlyby5oCkBAIC0yNCw3ICsyNCw2IEBACiAKICNpbmNsdWRlICJGb250RGVzY3Jp
cHRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiAjaW5jbHVkZSA8Y2Fpcm8uaD4KIApAQCAtMzMsNyArMzIsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVy
OwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVj
dCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250
Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KGNhaXJvX2ZvbnRfZmFjZV90KiBmb250RmFjZSkKICAgICAgICAgOiBtX2ZvbnRGYWNlKGZvbnRG
YWNlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xv
Y2FsV2luZG93c0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2Fs
V2luZG93c0NvbnRleHQuaAppbmRleCBjMjE2MTQwLi41OTUxZTQ5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCkBAIC0zMSw3
ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTG9jYWxXaW5kb3dzQ29u
dGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFdpbmRvd3NDb250ZXh0KTsKIHB1YmxpYzoK
ICAgICBMb2NhbFdpbmRvd3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0
LCBjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSwgYm9v
bCBtYXlDcmVhdGVCaXRtYXAgPSB0cnVlKQogICAgICAgICA6IG1fZ3JhcGhpY3NDb250ZXh0KGdy
YXBoaWNzQ29udGV4dCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1FUTW92aWUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAK
aW5kZXggZWZhZjIxOC4uZmU2MGM4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vUVRNb3ZpZS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
UVRNb3ZpZS5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlIDxRVE1MLmg+CiAjaW5jbHVk
ZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB1
c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtNjMsNyArNjIsOCBAQCB1bmlvbiBVcHBQYXJhbSB7CiBz
dGF0aWMgVmVjdG9yPENGU3RyaW5nUmVmPiogZ1N1cHBvcnRlZFR5cGVzID0gMDsKIHN0YXRpYyBT
SW50MzIgcXVpY2tUaW1lVmVyc2lvbiA9IDA7CiAKLWNsYXNzIFFUTW92aWVQcml2YXRlIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUVRNb3ZpZVRhc2tDbGllbnQgeworY2xhc3MgUVRNb3Zp
ZVByaXZhdGUgOiBwdWJsaWMgUVRNb3ZpZVRhc2tDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFFUTW92aWVQcml2YXRlKTsKIHB1YmxpYzoKICAgICBRVE1vdmllUHJpdmF0ZSgpOwog
ICAgIH5RVE1vdmllUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9RVE1vdmllR1dvcmxkLmNwcAppbmRleCBlMTNmNzMyLi4yNjg2MTJkIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcApAQCAtMzMsNyArMzMs
NiBAQAogI2luY2x1ZGUgPFF1aWNrVGltZUNvbXBvbmVudHMuaD4KICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcAppbmRleCAwOTE0MmJj
Li5iZjgwYTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRy
YWNrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcApA
QCAtMzEsNyArMzEsOCBAQAogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCi1jbGFzcyBRVFRyYWNr
UHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBRVFRyYWNrUHJpdmF0ZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRUcmFja1ByaXZhdGUpOwogcHVibGljOgogICAgIFFU
VHJhY2tQcml2YXRlKCk7CiAgICAgflFUVHJhY2tQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaAppbmRleCAxN2Vj
NDFkLi4xZTk5MGEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9X
S0NBQ0ZDb250ZXh0Rmx1c2hlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAtMzYsNyArMzUsOCBAQCBzdHJ1Y3QgV0tDQUNG
Q29udGV4dDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXS0NBQ0ZDb250ZXh0Rmx1
c2hlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tDQUNGQ29udGV4dEZsdXNoZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAppbmRl
eCA3NjNmZmZhLi5hMTY2ZTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAi
VGltZXIuaCIKICNpbmNsdWRlICJXS0NBQ0ZMYXllci5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTU2LDcgKzU1LDggQEAgcHVibGljOgogLy8gRklYTUU6IEN1cnJlbnRseSB0
aGVyZSBpcyBhIFdLQ0FDRkxheWVyUmVuZGVyZXIgZm9yIGVhY2ggV2ViVmlldyBhbmQgZWFjaAog
Ly8gaGFzIGl0cyBvd24gQ0FSZW5kZXJPR0xDb250ZXh0IGFuZCBEaXJlY3QzRERldmljZTksIHdo
aWNoIGlzIGluZWZmaWNpZW50LgogLy8gKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMTg1NSkKLWNsYXNzIFdLQ0FDRkxheWVyUmVuZGVyZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV0tDQUNGTGF5ZXJSZW5kZXJlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8V0tDQUNGTGF5ZXJSZW5kZXJlcj4gY3JlYXRlKFdLQ0FDRkxheWVyUmVuZGVyZXJDbGllbnQq
KTsKICAgICB+V0tDQUNGTGF5ZXJSZW5kZXJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBhYmRj
MGYyLi5mMjI3NmFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsNyArMjQsNiBAQAogI2luY2x1
ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJGb250KGNvbnN0IFN0cmluZyYg
Zm9udE5hbWUpID0gMDsKICAgICB9OwogCi0gICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKKyAg
ICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY29uc3QgU3RyaW5nJiBu
YW1lKQogICAgICAgICAgICAgOiBtX25hbWUobmFtZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250UGxhdGZvcm1EYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaAppbmRleCBlNzNh
N2IyLi45ODYyN2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgIkZvbnREZXNj
cmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSW1wbC5oPgogCiB0eXBlZGVmIHN0cnVjdCB0YWdURVhUTUVUUklDVyBURVhUTUVU
UklDOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGlj
c0NvbnRleHRXaW5DRS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBo
aWNzQ29udGV4dFdpbkNFLmNwcAppbmRleCAwODAyODI2Li44MjQ1NTk2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNF
LmNwcApAQCAtNDQwLDcgKzQ0MCw4IEBAIHN0YXRpYyB2b2lkIHJvdGF0ZUJpdG1hcChTaGFyZWRC
aXRtYXAqIGRlc3RCbXAsIGNvbnN0IFNoYXJlZEJpdG1hcCogc291cmNlQm1wLCBjCiAgICAgICAg
IF9yb3RhdGVCaXRtYXA8dW5zaWduZWQsIGZhbHNlPihkZXN0Qm1wLCBzb3VyY2VCbXAsIHRyYW5z
Zm9ybSk7CiB9CiAKLWNsYXNzIFRyYW5zcGFyZW50TGF5ZXJEQyA6IE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFRyYW5zcGFyZW50TGF5ZXJEQyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNw
YXJlbnRMYXllckRDKTsKIHB1YmxpYzoKICAgICBUcmFuc3BhcmVudExheWVyREMoR3JhcGhpY3ND
b250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhLCBJbnRSZWN0JiBvcmlnUmVjdCwgY29uc3QgSW50
UmVjdCogcmVjdEJlZm9yZVRyYW5zZm9ybSA9IDAsIGludCBhbHBoYSA9IDI1NSwgYm9vbCBwYWlu
dEltYWdlID0gZmFsc2UpOwogICAgIH5UcmFuc3BhcmVudExheWVyREMoKTsKQEAgLTU2MCw3ICs1
NjEsOCBAQCB2b2lkIFRyYW5zcGFyZW50TGF5ZXJEQzo6ZmlsbEFscGhhQ2hhbm5lbCgpCiAgICAg
fQogfQogCi1jbGFzcyBTY29wZURDUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBTY29w
ZURDUHJvdmlkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlRENQcm92aWRlcik7
CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NvcGVEQ1Byb3ZpZGVyKEdyYXBoaWNzQ29udGV4dFBs
YXRmb3JtUHJpdmF0ZSogZGF0YSkKICAgICAgICAgOiBtX2RhdGEoZGF0YSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5k
ZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2lu
Y2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAg
ICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAg
IHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvQ2xpcGJvYXJkR3RrLmggYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaApp
bmRleCBlMTRhNTgzLi4wYzA3YzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9D
bGlwYm9hcmRHdGsuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaApA
QCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gU3RhdGUgYXZhaWxh
YmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQog
ICAgIC8vIENyZWF0ZWQgZnJvbSB0aGUgRXZlbnRIYW5kbGVyR3RrIHRvIGJlIHVzZWQgYnkgdGhl
IGRvbQogICAgIGNsYXNzIENsaXBib2FyZEd0ayA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBD
YWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkR3RrPiBjcmVh
dGUoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgR3RrQ2xpcGJvYXJkKiBjbGlwYm9hcmQs
IEZyYW1lKiBmcmFtZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVj
b2RlcnMvSW1hZ2VEZWNvZGVyLmgKaW5kZXggNWEwNGJlZS4uMTMwMDM3NSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCkBAIC0yMjEsNyArMjIx
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHNldE1heE51bVBpeGVscygpIHRvIHNw
ZWNpZnkgdGhlIGJpZ2dlc3Qgc2l6ZSB0aGF0IGRlY29kZWQgaW1hZ2VzIGNhbgogICAgIC8vIGhh
dmUuIEltYWdlIGRlY29kZXJzIHdpbGwgZGVmbGF0ZSB0aG9zZSBpbWFnZXMgdGhhdCBhcmUgYmln
Z2VyIHRoYW4KICAgICAvLyBtX21heE51bVBpeGVscy4gKE5vdCBzdXBwb3J0ZWQgYnkgYWxsIGlt
YWdlIGRlY29kZXJzIHlldCkKLSAgICBjbGFzcyBJbWFnZURlY29kZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEltYWdlRGVjb2RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEltYWdlRGVjb2Rlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgSW1hZ2VEZWNvZGVyKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgYm9vbCBpZ25v
cmVHYW1tYUFuZENvbG9yUHJvZmlsZSkKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCmluZGV4IDcxODdlY2YuLjM5ZWFkZGEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1l
OwogY2xhc3MgRmlsZUxpc3Q7CiAKIGNsYXNzIENsaXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9h
cmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVh
dGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQs
IENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmlu
ZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2IEBACiAgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250ZXh0OwpAQCAtMzEsNyAr
MzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9t
YXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0
IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9u
IHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGlj
c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBo
aWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRUaW1lck1h
Yy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCmluZGV4IGNjOWZm
MTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVy
TWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCkBAIC0y
OSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4KICNpbXBvcnQgPElPS2l0
L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQg
PHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4
IDFmZjYzNDQuLmMxZjU1MjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0x
NDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxv
YkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEJsb2JEYXRhPiBjcmVhdGUo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRl
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCmluZGV4IDg3
ZDBlZjMuLjExMmUzMTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3Jt
RGF0YUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWls
ZGVyLmgKQEAgLTIzLDE0ICsyMywxNCBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgVGV4dEVuY29k
aW5nOwogCi1jbGFzcyBGb3JtRGF0YUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRm9ybURhdGFCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb3JtRGF0YUJ1
aWxkZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXh0RW5jb2RpbmcgZW5jb2RpbmdGcm9tQWNj
ZXB0Q2hhcnNldChjb25zdCBTdHJpbmcmIGFjY2VwdENoYXJzZXQsIERvY3VtZW50KiBkb2N1bWVu
dCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVO
b3RpZmllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVy
LmgKaW5kZXggZDFmMmRiNC4uZmVhNDM5NGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE5l
dHdvcmtTdGF0ZU5vdGlmaWVyX2gKICNkZWZpbmUgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTYx
LDcgKzYwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTmV0d29ya1N0YXRlTm90aWZp
ZXJQcml2YXRlOwogI2VuZGlmCiAKLWNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShOZXR3b3JrU3RhdGVOb3RpZmllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAgICAgdm9pZCBzZXRO
ZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCA5Y2NjZWNkLi5j
Mjk5Y2U1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9uOwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50OwogCi0gICAg
Y2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwoUmVzb3VyY2VIYW5kbGUq
IGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNs
aWVudCogYywgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZikKICAg
ICAgICAgICAgIDogbV9jbGllbnQoYykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDMzYTE4NGUuLmY3OTU4NGUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApAQCAtNDksNyArNDksOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1
ZXN0RGF0YTsKIAogICAgIC8vIERvIG5vdCB1c2UgdGhpcyB0eXBlIGRpcmVjdGx5LiAgVXNlIFJl
c291cmNlUmVxdWVzdCBpbnN0ZWFkLgotICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8g
VGhlIHR5cGUgb2YgdGhpcyBSZXNvdXJjZVJlcXVlc3QsIGJhc2VkIG9uIGhvdyB0aGUgcmVzb3Vy
Y2Ugd2lsbCBiZSB1c2VkLgogICAgICAgICBlbnVtIFRhcmdldFR5cGUgewpAQCAtMjA1LDcgKzIw
NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1
cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y29tcGFyZShhLCBiKTsgfQogICAgIGlubGluZSBib29s
IG9wZXJhdG9yIT0oUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIp
IHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi0gICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXF1ZXN0RGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENyb3NzVGhyZWFkUmVz
b3VyY2VSZXF1ZXN0RGF0YUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9z
c1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNl
KCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2Fj
aGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uZTA3NzRjMiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQx
LDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNl
UmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0
aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNl
QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNl
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxSZXNvdXJjZVJlc3BvbnNlPiBhZG9wdChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVz
b3VyY2VSZXNwb25zZURhdGE+KTsKIApAQCAtMTc1LDcgKzE3NiwxMCBAQCBwcml2YXRlOgogaW5s
aW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y29tcGFyZShh
LCBiKTsgfQogaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBh
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotc3Ry
dWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIDogTm9uY29weWFibGUgewor
c3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSk7CitwdWJs
aWM6CisgICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UoKSB7IH0KICAgICBL
VVJMIG1fdXJsOwogICAgIFN0cmluZyBtX21pbWVUeXBlOwogICAgIGxvbmcgbG9uZyBtX2V4cGVj
dGVkQ29udGVudExlbmd0aDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IGU1NzhhOGQuLmE3MDhkY2MgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNw
cApAQCAtNjAsNyArNjAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNkZWZpbmUgUkVBRF9C
VUZGRVJfU0laRSA4MTkyCiAKLWNsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1Ymxp
YyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoK
ICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVz
cG9uc2UgJiwgVmVjdG9yPGNoYXI+Jik7CiAgICAgfldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2lu
LmNwcAppbmRleCAzOGQ5Y2QxLi5mNTA1NDBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcApAQCAtNzYsNyArNzYsOCBAQCBzdGF0
aWMgU3RyaW5nIHF1ZXJ5SFRUUEhlYWRlcihISU5URVJORVQgcmVxdWVzdEhhbmRsZSwgRFdPUkQg
aW5mb0xldmVsKQogfQogCiAKLWNsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1Ymxp
YyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoK
ICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVz
cG9uc2UmLCBWZWN0b3I8Y2hhcj4mLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7CiAgICAgfldl
YkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9DbGlwYm9hcmRRdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCmluZGV4
IDVhY2ExYTYuLmZiNWFiZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJv
YXJkUXQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKQEAgLTM5LDYg
KzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gU3RhdGUgYXZhaWxhYmxlIGR1
cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogICAgIGNs
YXNzIENsaXBib2FyZFF0IDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNl
Q2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRRdD4gY3JlYXRlKENsaXBib2FyZEFj
Y2Vzc1BvbGljeSBwb2xpY3ksIGNvbnN0IFFNaW1lRGF0YSogcmVhZGFibGVDbGlwYm9hcmQpCiAg
ICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNl
LmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCmluZGV4IGMzMjkyNzMu
LmRhNTNhY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNl
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaApAQCAtNTAsNyAr
NTAsOCBAQCBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdFNjaGVtYTsKIGV4dGVybiBjb25zdCBp
bnQgU1FMUmVzdWx0RnVsbDsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0SW50ZXJydXB0Owog
Ci1jbGFzcyBTUUxpdGVEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxp
dGVEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlRGF0YWJhc2UpOwog
ICAgIGZyaWVuZCBjbGFzcyBTUUxpdGVUcmFuc2FjdGlvbjsKIHB1YmxpYzoKICAgICBTUUxpdGVE
YXRhYmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVt
ZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAppbmRleCAxNDQ0
ZjBlLi5mZDFhYmZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0
ZW1lbnQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaApAQCAt
MzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTFZhbHVlOwogCi1j
bGFzcyBTUUxpdGVTdGF0ZW1lbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRl
U3RhdGVtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVTdGF0ZW1lbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1lbnQoU1FM
aXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFmLi45ZTMz
Y2Y4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0
ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRy
YW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVUcmFuc2Fj
dGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1FMaXRlVHJhbnNhY3Rpb24oU1FMaXRlRGF0YWJh
c2UmIGRiLCBib29sIHJlYWRPbmx5ID0gZmFsc2UpOwogICAgIH5TUUxpdGVUcmFuc2FjdGlvbigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCmluZGV4IDFmODcxMTUuLjA1NmVkNzIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNk
ZWZpbmUgQmlkaVJlc29sdmVyX2gKIAogI2luY2x1ZGUgIkJpZGlDb250ZXh0LmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTEyNiw3ICsxMjUsOCBAQCBzdHJ1Y3QgQmlkaUNoYXJh
Y3RlclJ1biB7CiAgICAgQmlkaUNoYXJhY3RlclJ1biogbV9uZXh0OwogfTsKIAotdGVtcGxhdGUg
PGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3Mg
QmlkaVJlc29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCaWRpUmVzb2x2ZXIpOwog
cHVibGljIDoKICAgICBCaWRpUmVzb2x2ZXIoKQogICAgICAgICA6IG1fZGlyZWN0aW9uKFdURjo6
VW5pY29kZTo6T3RoZXJOZXV0cmFsKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1JlZ3VsYXJFeHByZXNzaW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJl
c3Npb24uaAppbmRleCBmMTYxMWU1Li41MzZlZDQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
UmVndWxhckV4cHJlc3Npb24uaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFJlZ3VsYXJFeHByZXNzaW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
Y2xhc3MgUmVndWxhckV4cHJlc3Npb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFJlZ3VsYXJFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vu
c2l0aXZpdHkpOwogICAgIH5SZWd1bGFyRXhwcmVzc2lvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRD
b2RlYy5oCmluZGV4IGM2YWYzOGEuLjEyY2Y2NDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
LmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi91bmlj
b2RlL1VuaWNvZGUuaD4KQEAgLTU3LDggKzU2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIHR5cGVkZWYgY2hhciBVbmVuY29kYWJsZVJlcGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAg
Y2xhc3MgVGV4dENvZGVjIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29k
ZWMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsgfQogICAg
ICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0
IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdk
Yjk3Ny4uYmZmZjkzZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29k
ZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rl
ci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIEZvbnRUcmFuc2Nv
ZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5z
Y29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBjb252ZXJ0KFN0cmluZyYgdGV4dCwgY29uc3QgRm9u
dERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwogICAgIGJvb2wg
bmVlZHNUcmFuc2NvZGluZyhjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2Rp
bmcqID0gMCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9h
cmRXaW4uaCBiL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCmluZGV4IGNlNjRi
ODUuLjc3OWRhMjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdp
bi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCkBAIC00MSw2ICs0
MSw3IEBAIGNsYXNzIFdDRGF0YU9iamVjdDsKIAogLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJ
RSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogY2xhc3MgQ2xpcGJv
YXJkV2luIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0ZShDbGlwYm9hcmRUeXBlIGNsaXBib2FyZFR5cGUsIElE
YXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFt
ZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93
TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdl
QnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1NmU3Li5kMzZjMjMzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBA
CiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0ZW5lcjsKIAotICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VC
cm9hZGNhc3RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2luZG93TWVzc2Fn
ZUJyb2FkY2FzdGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93TWVzc2Fn
ZUJyb2FkY2FzdGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGFkZExpc3Rl
bmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VMaXN0ZW5lciopOwogICAgICAgICBzdGF0aWMgdm9pZCBy
ZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
bkRhdGFiYXNlLmgKaW5kZXggYjE0NjA1Zi4uYzQxMmMwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFi
YXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRl
ZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5QYWNrYWdlPiwgUGx1Z2luUGFja2FnZUhhc2g+IFBsdWdp
blNldDsKIAotICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBsdWdpbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5U
aHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi4yOWJjNGU2IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRl
ZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5U
aHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRo
cmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVh
ZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVk
ZWYgdm9pZCBNYWluVGhyZWFkRnVuY3Rpb24odm9pZCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luVmlldy5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAppbmRl
eCBkZWFlYzk5Li5hOTliNmViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmll
dy5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKQEAgLTkzLDcgKzkzLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBQbHVnaW5TdGF0dXNMb2FkZWRTdWNjZXNzZnVs
bHkKICAgICB9OwogCi0gICAgY2xhc3MgUGx1Z2luUmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgUGx1Z2luUmVxdWVzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblJlcXVlc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFBsdWdpblJlcXVlc3QoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2Fk
UmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRhLCBib29sIHNo
b3VsZEFsbG93UG9wdXBzKQogICAgICAgICAgICAgOiBtX2ZyYW1lTG9hZFJlcXVlc3QoZnJhbWVM
b2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaAppbmRleCA1ZTZmNjE5Li5kNzdkNmNhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBD
b2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb2x1bW5JbmZvKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDog
bV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0
MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMsNiBAQAog
I2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8v
IFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcg
cGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4
IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0
YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3
ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVu
ZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUp
OwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2Up
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi43ODdhNjg4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJBcmVuYV9o
CiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6
ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyQXJlbmEodW5zaWdu
ZWQgYXJlbmFTaXplID0gNDA5Nik7CiAgICAgflJlbmRlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaAppbmRleCA1MTUzMjE4Li5hMDZjZDgyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgK
QEAgLTM1NCw3ICszNTQsOSBAQCBwcml2YXRlOgogICAgICAgICBib29sIGV2ZXJIYWRMYXlvdXQ7
CiAgICAgfTsKIAotICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
bG9hdGluZ09iamVjdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBiaXRzIHNvIHlvdSBjYW4gdXNlIEZsb2F0Qm90
aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGggbGVmdCBhbmQgcmlnaHQuCiAgICAgICAgIGVu
dW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0UmlnaHQgPSAyLCBGbG9hdEJvdGggPSAzIH07
CiAKQEAgLTY4MSw3ICs2ODMsOSBAQCBwcml2YXRlOgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0
KiBtX2NvbnRpbnVhdGlvbjsKICAgICAKICAgICAvLyBBbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUg
b2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzCi0gICAgc3RydWN0IFJlbmRl
ckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IFJlbmRlckJsb2NrUmFy
ZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJCbG9ja1JhcmVEYXRh
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBSZW5kZXJC
bG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAgICA6IG1f
bWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdp
bkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayks
IG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwgbV9wYWdp
bmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cAppbmRleCAxNDNjNzJjLi4zNmM3NzM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgY0xv
d1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBwYWlyPFJl
bmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBLZXk7CiB0
eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6
ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcigpOwogICAgIGJvb2wgc2hvdWxkUGFp
bnRBdExvd1F1YWxpdHkoR3JhcGhpY3NDb250ZXh0KiwgUmVuZGVyQm94TW9kZWxPYmplY3QqLCBJ
bWFnZSosIGNvbnN0IHZvaWQqIGxheWVyLCBjb25zdCBJbnRTaXplJik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhbWVTZXQuaAppbmRleCBkMGFiMzQ2Li4xZTUxMWQyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZyYW1lU2V0LmgKQEAgLTczLDcgKzczLDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzdGF0
aWMgY29uc3QgaW50IG5vU3BsaXQgPSAtMTsKIAotICAgIGNsYXNzIEdyaWRBeGlzIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmlkQXhpcyB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdyaWRBeGlzKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEdyaWRBeGlzKCk7CiAg
ICAgICAgIHZvaWQgcmVzaXplKGludCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZVJlc291cmNlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291
cmNlLmgKaW5kZXggMjM0NjcxMi4uYTIwYzU1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlUmVzb3VyY2UuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2Uu
aCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlN0eWxlSW1h
Z2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFJlbmRlckltYWdlUmVzb3VyY2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVuZGVySW1hZ2VSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRlckltYWdlUmVzb3VyY2UoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCBmYjNhYjY3Li4wMWEyZjE4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtNTMsNyArNTMsOCBA
QCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8vIAogLy8gVGhlcmUgaXMgb25lIFJlbmRl
ckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXllciB0aGF0IGlzIGNvbXBvc2l0ZWQuCiAK
LWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50LCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nIDogcHVibGljIEdy
YXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckxheWVy
QmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbmRlckxh
eWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi45OGZkZGI5IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Ny
b2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFy
cXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyTWFycXVlZShSZW5kZXJMYXllciopOwog
ICAgIHZpcnR1YWwgflJlbmRlck1hcnF1ZWUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck92ZXJmbG93LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5o
CmluZGV4IDI1M2E2NzIuLmQ4ZjJlNWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck92ZXJmbG93LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaApA
QCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZQogLy8gRXhhbXBsZXMgb2YgdmlzdWFs
IG92ZXJmbG93IGFyZSBzaGFkb3dzLCB0ZXh0IHN0cm9rZSAoYW5kIGV2ZW50dWFsbHkgb3V0bGlu
ZSBhbmQgYm9yZGVyLWltYWdlKS4KIAogLy8gVGhpcyBvYmplY3QgaXMgYWxsb2NhdGVkIG9ubHkg
d2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcyBpbiB0aGUg
b3duaW5nIGJveC4KLWNsYXNzIFJlbmRlck92ZXJmbG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFJlbmRlck92ZXJmbG93IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJP
dmVyZmxvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbmRlck92
ZXJmbG93KGNvbnN0IEludFJlY3QmIGRlZmF1bHRSZWN0ID0gSW50UmVjdCgpKSAKICAgICAgICAg
OiBtX3RvcExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0LnkoKSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKaW5kZXggMjAxNTNlOS4uODFjNzlkMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKQEAgLTM2LDcg
KzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQ2xpcHBlckRhdGEgOiBG
YXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDbGlwcGVyRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdl
OwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5m
by5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZj
MWEuLjQ1Y2E4MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlv
bkluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAg
LTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxl
Y3Rpb25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rp
b25JbmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5m
b0Jhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJTZWxl
Y3Rpb25JbmZvQmFzZSgpCiAgICAgICAgIDogbV9vYmplY3QoMCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
aAppbmRleCAwN2Y5MzNmLi4xMzNlYjc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBAIC0yNTQs
NyArMjU0LDggQEAgdm9pZCB0b1JlbmRlclZpZXcoY29uc3QgUmVuZGVyVmlldyopOwogCiAKIC8v
IFN0YWNrLWJhc2VkIGNsYXNzIHRvIGFzc2lzdCB3aXRoIExheW91dFN0YXRlIHB1c2gvcG9wCi1j
bGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TGF5b3V0U3RhdGVNYWludGFpbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMYXlvdXRT
dGF0ZU1haW50YWluZXIpOwogcHVibGljOgogICAgIC8vIGN0b3IgdG8gcHVzaCBub3cKICAgICBM
YXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmlldyogdmlldywgUmVuZGVyQm94KiByb290LCBJ
bnRTaXplIG9mZnNldCwgYm9vbCBkaXNhYmxlU3RhdGUgPSBmYWxzZSwgaW50IHBhZ2VIZWlnaHQg
PSAwLCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0gZmFsc2UsIENvbHVtbkluZm8qIGNvbEluZm8g
PSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9y
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaAppbmRleCA3ODgz
MDRjLi44YmY2YWM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQ
cm90ZWN0b3IuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3Iu
aApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRl
cldpZGdldFByb3RlY3RvciA6IHByaXZhdGUgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyV2lk
Z2V0UHJvdGVjdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJXaWRnZXRQcm90
ZWN0b3IpOwogcHVibGljOgogICAgIFJlbmRlcldpZGdldFByb3RlY3RvcihSZW5kZXJXaWRnZXQq
IG9iamVjdCkKICAgICAgICAgOiBtX29iamVjdChvYmplY3QpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdJ
bWFnZUJ1ZmZlclRvb2xzLmgKaW5kZXggOWJjYzdhNC4uOTIyNTgwNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxF
KFNWRykKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMyLDcgKzMxLDggQEAgY2xhc3MgRmxv
YXRTaXplOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1j
bGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNW
R0ltYWdlQnVmZmVyVG9vbHMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQnVm
ZmVyVG9vbHMpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIGNyZWF0ZUltYWdlQnVmZmVyKGNv
bnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVUYXJnZXRSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGNsYW1w
ZWRBYnNvbHV0ZVRhcmdldFJlY3QsIE93blB0cjxJbWFnZUJ1ZmZlcj4mLCBDb2xvclNwYWNlKTsK
ICAgICBzdGF0aWMgdm9pZCByZW5kZXJTdWJ0cmVlVG9JbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZlcios
IFJlbmRlck9iamVjdCosIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHTWFya2VyTGF5b3V0SW5mby5oCmluZGV4IDhmNTk3MDM1Li4wNzJiNGJjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCkBAIC0yMyw3ICsyMyw2IEBACiAjaWYgRU5B
QkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJTVkdNYXJrZXJE
YXRhLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDIsNyArNDEsOCBAQCBzdHJ1Y3QgTWFya2VyTGF5b3V0IHsKICAgICBBZmZpbmVU
cmFuc2Zvcm0gbWF0cml4OwogfTsKIAotY2xhc3MgU1ZHTWFya2VyTGF5b3V0SW5mbyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdNYXJrZXJMYXlvdXRJbmZvKTsKIHB1YmxpYzoKICAgICBTVkdNYXJr
ZXJMYXlvdXRJbmZvKCk7CiAgICAgflNWR01hcmtlckxheW91dEluZm8oKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
UmVzb3VyY2VzLmgKaW5kZXggNDk1OTFjZi4uYzQ2NjM1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtMzgsNyArMzcsOCBA
QCBjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjsKIGNsYXNzIFNWR1JlbmRlclN0eWxlOwog
CiAvLyBIb2xkcyBhIHNldCBvZiByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIGEgUmVuZGVyT2Jq
ZWN0Ci1jbGFzcyBTVkdSZXNvdXJjZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
UmVzb3VyY2VzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXMpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXMoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKaW5kZXggNGE2MTU3MC4uMDg5YjYyOCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0zMSw3ICszMSw4IEBAIGNsYXNz
IFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBT
VkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4z
NDEyNThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNv
bHZlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgK
QEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVz
b3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNl
c0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNv
bHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0
KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvVGFibGVMYXlvdXQuaAppbmRleCBlMGZhOGVlLi5iZTAxYzY4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxl
TGF5b3V0LmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVm
aW5lIFRhYmxlTGF5b3V0X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBUYWJsZUxheW91dChSZW5kZXJUYWJsZSogdGFibGUpCiAgICAgICAgIDogbV90
YWJsZSh0YWJsZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRl
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCmluZGV4IDBiNGNhNDYuLjM2
ZmM2ZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaApAQCAtMzEsMTQgKzMxLDE0IEBA
CiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUg
IlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBU
cmFuc2Zvcm1TdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc2Zvcm1TdGF0
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU3RhdGUpOwogcHVibGljOgog
ICAgIGVudW0gVHJhbnNmb3JtRGlyZWN0aW9uIHsgQXBwbHlUcmFuc2Zvcm1EaXJlY3Rpb24sIFVu
YXBwbHlJbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uIH07CiAgICAgZW51bSBUcmFuc2Zvcm1BY2N1
bXVsYXRpb24geyBGbGF0dGVuVHJhbnNmb3JtLCBBY2N1bXVsYXRlVHJhbnNmb3JtIH07CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCmluZGV4IDRkZWFlZjUuLmIyNWIy
ZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCkBAIC0zOCw3
ICszOCw4IEBAIGNvbnN0IGludCBQb3NpdGlvblRvcCA9IC0weDdmZmZmZmZmOwogY29uc3QgaW50
IFBvc2l0aW9uQm90dG9tID0gMHg3ZmZmZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvblVuZGVmaW5l
ZCA9IDB4ODAwMDAwMDA7CiAKLWNsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFZlcnRpY2FsUG9zaXRpb25DYWNoZSk7CiBwdWJsaWM6CiAgICAgVmVydGlj
YWxQb3NpdGlvbkNhY2hlKCkKICAgICB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0NvbnRlbnREYXRhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0
YS5oCmluZGV4IDRmOTY0YTIuLjE1ZjY5MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0NvbnRlbnREYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVu
dERhdGEuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0
eWxlSW1hZ2U7CiAKLXN0cnVjdCBDb250ZW50RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBD
b250ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGVudERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb250ZW50RGF0YSgpCiAgICAgICAg
IDogbV90eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0NvdW50ZXJDb250ZW50LmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29u
dGVudC5oCmluZGV4IDUyNzU3YWQuLjgxNDAzOWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
Q291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3Mg
Q291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RT
dHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6
IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvRmlsbExheWVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApp
bmRleCA0OWZiMjk0Li44NDdlOGRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApA
QCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsK
IH07CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZp
bGxMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRmls
bExheWVyKEVGaWxsTGF5ZXJUeXBlKTsKICAgICB+RmlsbExheWVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TaGFkb3dEYXRhLmgKaW5kZXggY2E4M2FmMC4uYTNkZGYxMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1NoYWRvd0RhdGEuaApAQCAtMjYsNyArMjYsNiBAQAogI2RlZmluZSBTaGFkb3dEYXRh
X2gKIAogI2luY2x1ZGUgIkNvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGVudW0gU2hhZG93U3R5
bGUgeyBOb3JtYWwsIEluc2V0IH07CiAKIC8vIFRoaXMgc3RydWN0IGhvbGRzIGluZm9ybWF0aW9u
IGFib3V0IHNoYWRvd3MgZm9yIHRoZSB0ZXh0LXNoYWRvdyBhbmQgYm94LXNoYWRvdyBwcm9wZXJ0
aWVzLgogCi1jbGFzcyBTaGFkb3dEYXRhIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3Mg
U2hhZG93RGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
U2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRDaHVua0J1aWxkZXIuaAppbmRleCAzNjM0MmU3Li4zMjFmMzkxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgc3Ry
dWN0IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQgdGhlIGFjdHVhbCBw
ZXItY2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVh
Y2ggY2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0cyAoU1ZH
VGV4dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBtb2RpZmljYXRpb25z
IHRoYXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0ZXh0IGNodW5rICh0
ZXh0LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVibGljOgogICAgIFNW
R1RleHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCmluZGV4IGYyOWFjNjQuLmM2ODE4NWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRl
c0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJp
YnV0ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHVGV4dDsKIC8v
IHRvIGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUgYmFzZWQgb24gdGV4dCBjaHVuayBib3VuZGFy
aWVzICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRoZSBzZWNvbmQgbGF5b3V0IHBoYXNlIGlzIGNh
cnJpZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRB
dHRyaWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5
b3V0QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRM
YXlvdXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEF0dHJp
YnV0ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWlsZExheW91dEF0dHJpYnV0ZXNGb3JUZXh0U3Vi
dHJlZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dExheW91dEVuZ2luZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlv
dXRFbmdpbmUuaAppbmRleCBhZDA1OGQ4Li42MzFlNGNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgU1ZHUmVu
ZGVyU3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVUZXh0IHJlbmRlcmVycyB0byBjb21wdXRlIHRo
ZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyCiAvLyB3aGljaCBhcmUgc3RvcmVk
IGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRF
bmdpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2luZSk7CiBwdWJsaWM6
CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwogICAgIFNWR1RleHRDaHVua0J1aWxkZXImIGNo
dW5rTGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1fY2h1bmtMYXlvdXRCdWlsZGVyOyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgK
aW5kZXggZDc1M2IzOS4uYWMzOTNlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYg
RU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMyw3ICszMiw4
IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHVGV4dE1ldHJpY3M7CiAKIC8vIEhl
bHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdhbGlnbm1l
bnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2VsaW5lJyBhbmQgJ2Jhc2VsaW5lLXNoaWZ0Jy4K
LWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4
dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZvbnQmKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAppbmRleCAwYTZkNzM2Li43
MWQ0NzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcuaApAQCAtMzAsNyArMzAsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNs
YXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRF
bmdpbmUgdG8gaGFuZGxlICdrZXJuaW5nJyAvICdsZXR0ZXItc3BhY2luZycgYW5kICd3b3JkLXNw
YWNpbmcnLgotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nKTsKIHB1YmxpYzoKICAgICBT
VkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyhjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRh
c2suaAppbmRleCBiNjFlNDY1Li5lMWRmNTkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
RGF0YWJhc2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCkBAIC00
Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ2FuIGJlIHVzZWQgdG8gd2Fp
dCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVkLgogLy8gSGFzIHRvIGJlIHBhc3NlZCBp
bnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFzay4K
LWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJsaWM6CiAgICAgRGF0YWJhc2VUYXNrU3lu
Y2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAot
Y2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNl
VGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNrKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRleCA3MTQ1ZTZiLi5hMWE1YmRmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJh
Y2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExB
VEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGluaXRpYWxpemVUcmFja2VyKGNvbnN0IFN0cmluZyYgZGF0YWJhc2VQYXRo
KTsKICAgICBzdGF0aWMgRGF0YWJhc2VUcmFja2VyJiB0cmFja2VyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oIGIvV2ViQ29yZS9z
dG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaAppbmRleCA3ODNhNzMxLi40ZmNj
MjM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9u
aXRvci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NCw3ICs0Myw4IEBAIGNsYXNzIElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZTsKIC8vIEZJWE1FOiBtb3ZlIHRoZSB2ZWN0b3Igb2YgdHJhbnNhY3Rp
b25zIHRvIFRMUy4gS2VlcGluZyBpdCBzdGF0aWMKIC8vIHdpbGwgbm90IHdvcmsgb25jZSB3ZSBh
ZGQgc3VwcG9ydCBmb3Igd29ya2Vycy4gQW5vdGhlciBwb3NzaWJsZQogLy8gc29sdXRpb24gaXMg
dG8ga2VlcCB0aGUgdmVjdG9yIGluIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0LgotY2xhc3Mg
SURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9p
ZCBhZGRQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7
CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlUGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3Rv
cmFnZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKaW5kZXggYTJl
MzVlYS4uMjdhOGViNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRh
c2suaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCkBAIC0zNyw3ICsz
Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQ7
CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRhc2sKLSAgICBj
bGFzcyBMb2NhbFN0b3JhZ2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBM
b2NhbFN0b3JhZ2VUYXNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9y
YWdlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5bmMsIERlbGV0ZUVtcHR5RGF0YWJhc2UsIFRl
cm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9y
YWdlVGhyZWFkLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKaW5kZXgg
NmYwNTkxMS4uYTJjNzhjNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFn
ZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaApAQCAt
NDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdl
VGFzazsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGhyZWFk
Ci0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMb2NhbFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRl
KCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90
YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi44MmQ3Yzc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1
b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3Jp
Z2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3Rh
TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgT3JpZ2luUXVvdGFNYW5hZ2Vy
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oIGIv
V2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKaW5kZXggYTgzMGU2OC4uNzU1N2Vh
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAvLyBPYmplY3RzIG9mIHRoaXMgY2xhc3MgY2FuIGJlIHVzZWQg
ZnJvbSBtdWx0aXBsZSB0aHJlYWRzIHdpdGggZXh0ZXJuYWwgc3luY2hyb25pemF0aW9uLgogLy8g
U3RyaW5nIGFyZ3VtZW50cyBhcmUgYWxzbyBzdXBwb3NlZCB0byBiZSBkZWVwbHkgY29waWVkIGJ5
IHRoZSBjYWxsZXIgd2hlbiBuZWNlc3NhcnkuCi1jbGFzcyBPcmlnaW5Vc2FnZVJlY29yZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoT3JpZ2luVXNhZ2VSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJlY29yZCgpOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxU
cmFuc2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2NTcuLjM5ODg4ZDYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCisrKyBiL1dlYkNvcmUvc3RvcmFn
ZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpZiBFTkFCTEUo
REFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00MSw4ICs0MCwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogCiAv
LyBBIGNsaWVudCB0byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxUcmFuc2Fj
dGlvbiB0byBub3RpZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4gdGhpbmdz
IGhhdmUgaGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xp
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9
CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsK
ICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJv
b2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uZmQ3Njc4MiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0Mywx
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAot
ICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAgICBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9y
KCkgeyB9CiAgICAgICAgIHZvaWQgYWNxdWlyZUxvY2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICAg
ICAgdm9pZCByZWxlYXNlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHNodXRk
b3duKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaCBi
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCmluZGV4IGEwY2YyYmIuLjBlZDYy
YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCisrKyBi
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCkBAIC0zOCw3ICszOCw4IEBAIGNs
YXNzIFNWR1N0eWxlZEVsZW1lbnQ7CiBjbGFzcyBTVkdTTUlMRWxlbWVudDsKIGNsYXNzIFNWR1NW
R0VsZW1lbnQ7CiAKLWNsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdEb2N1bWVudEV4dGVuc2lvbnMgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8U1ZHU3R5bGVkRWxlbWVudD4gPiBT
VkdQZW5kaW5nRWxlbWVudHM7CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKERvY3VtZW50Kik7
CkBAIC02OCw5ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFNW
R1BlbmRpbmdFbGVtZW50cyo+IG1fcGVuZGluZ1Jlc291cmNlczsKICAgICBPd25QdHI8U1ZHUmVz
b3VyY2VzQ2FjaGU+IG1fcmVzb3VyY2VzQ2FjaGU7CiAKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lv
bnMoY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0gICAgU1ZHRG9jdW1lbnRFeHRlbnNp
b25zJiBvcGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0KIHB1YmxpYzoK
ICAgICAvLyBUaGlzIEhhc2hNYXAgY29udGFpbnMgYSBsaXN0IG9mIHBlbmRpbmcgcmVzb3VyY2Vz
LiBQZW5kaW5nIHJlc291cmNlcywgYXJlIHN1Y2gKICAgICAvLyB3aGljaCBhcmUgcmVmZXJlbmNl
ZCBieSBhbnkgb2JqZWN0IGluIHRoZSBTVkcgZG9jdW1lbnQsIGJ1dCBkbyBOT1QgZXhpc3QgeWV0
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmggYi9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAppbmRleCA0Mjc2YzRhLi5kYTBmNGMxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50UmFyZURhdGEuaApAQCAtMjEsNyArMjEsNiBAQAogI2RlZmluZSBTVkdFbGVtZW50
UmFyZURhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTMxLDcgKzMwLDggQEAgY2xhc3MgU1ZHQ3Vyc29yRWxlbWVudDsKIGNsYXNz
IFNWR0VsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CiAKLWNsYXNzIFNWR0VsZW1l
bnRSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdFbGVtZW50UmFyZURh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0VsZW1lbnRSYXJlRGF0YSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAg
ICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdG
b250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li5mMjAy
ZDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUv
c3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdG
b250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdGb250RGF0YShTVkdGb250RmFjZUVs
ZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5TVkdGb250RGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgK
aW5kZXggYzBhZTdmMy4uOGU0M2I5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJs
ZW5kZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCkBAIC0yMywxMSArMjMs
MTEgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2lu
Y2x1ZGUgIlNWR1BhdGhTb3VyY2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoQmxlbmRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQmxlbmRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHUGF0aEJsZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBTVkdQYXRoQmxlbmRlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0
ZVN0cmVhbS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAppbmRleCBiODg4MmI2
Li4xZjQ1ZGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCisr
KyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNk
ZWZpbmUgU1ZHUGF0aEJ5dGVTdHJlYW1faAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIApAQCAtNDMsNyArNDIsOCBAQCB0eXBlZGVmIHVuaW9uIHsKICAgICB1
bnNpZ25lZCBjaGFyIGJ5dGVzW3NpemVvZih1bnNpZ25lZCBzaG9ydCldOwogfSBVbnNpZ25lZFNo
b3J0Qnl0ZTsKIAotY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1BhdGhCeXRlU3RyZWFtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQ
YXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi5kYmJkY2ExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIu
aApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBv
aW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0
ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAg
IFNWR1BhdGhDb25zdW1lcigpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBpbmNyZW1lbnRQYXRoU2Vn
bWVudENvdW50KCkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBjb250aW51ZUNvbnN1bWluZygpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYW51cCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
c3ZnL1NWR1BhdGhQYXJzZXIuaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAppbmRleCA3
Njc5YTk1Li4wOTYxMzFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgK
KysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNp
bmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnLmgiCiAjaW5j
bHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
U1ZHUGF0aFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoUGFyc2Vy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoUGFyc2VyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aFBhcnNlcigpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNl
LmgKaW5kZXggZDFhNjE0OS4uNzdiZjlmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNvdXJjZS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaApAQCAtMjUsOCArMjUs
MTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoU291cmNlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhTb3VyY2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR1BhdGhTb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgp
IHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmgKaW5kZXggZGQ0NjZlZi4uOGRjYzU4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmll
d1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAg
Y2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAg
ICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNW
R1pvb21BbmRQYW4geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU1ZHVmlld1Nw
ZWMoU1ZHRWxlbWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHAgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggYzk4MDRh
ZS4uZThhMDY1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3Bw
CisrKyBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtNTUsNyArNTUsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDog
cHVibGljIEVtcHR5Q2hyb21lQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
SW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQ2hyb21lQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHSW1hZ2VDaHJvbWVDbGllbnQoU1ZHSW1hZ2UqIGltYWdl
KQogICAgICAgICA6IG1faW1hZ2UoaW1hZ2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYmF1ZGlv
L1JlYWx0aW1lQW5hbHlzZXIuaCBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5o
CmluZGV4IDY4NmMxN2MuLmNjNzkxZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2ViYXVkaW8vUmVh
bHRpbWVBbmFseXNlci5oCisrKyBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5o
CkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEZsb2F0MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7
CiAjZW5kaWYKIAotY2xhc3MgUmVhbHRpbWVBbmFseXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBSZWFsdGltZUFuYWx5c2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFs
dGltZUFuYWx5c2VyKTsKIHB1YmxpYzoKICAgICBSZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmly
dHVhbCB+UmVhbHRpbWVBbmFseXNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRz
L1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAwNWIzNzY3Li44ZjNmMTU1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9X
ZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsOCArNDIsMTAgQEAgY2xhc3MgS1VS
TDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBXZWJTb2NrZXRDaGFubmVs
Q2xpZW50OwogCi1jbGFzcyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwpOwogcHVibGljOgorICAg
IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgeyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHBy
b3RvY29sKTsKIAogICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0KCkgPSAwOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggOWM1MjM3Ny4uYTM5Y2QwZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCiAgICAgY2xhc3MgV2Vi
U29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlNvY2tldENoYW5uZWw+LCBwdWJs
aWMgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQs
IGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7
IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dl
YnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1
ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVz
dC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGlj
OgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBG
YWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi45ZjBiMDFhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwu
aAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdv
cmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDog
cHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJs
aWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgV2ViU29ja2V0Q2hh
bm5lbENsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBLVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpCiAgICAgewpAQCAtNzcsNyArNzgsOCBAQCBwcm90
ZWN0ZWQ6CiBwcml2YXRlOgogICAgIC8vIEdlbmVyYXRlZCBieSB0aGUgYnJpZGdlLiAgVGhlIFBl
ZXIgYW5kIGl0cyBicmlkZ2Ugc2hvdWxkIGhhdmUgaWRlbnRpY2FsCiAgICAgLy8gbGlmZXRpbWVz
LgotICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQZWVyIDogcHVibGljIFdlYlNvY2tldENoYW5uZWxD
bGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZWVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGVlciogY3JlYXRlKFJl
ZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbENsaWVudFdyYXBwZXI+IGNsaWVudFdyYXBw
ZXIsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25z
dCBTdHJpbmcmIHByb3RvY29sKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBiL1dlYkNvcmUvd29ya2Vycy9EZWZh
dWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCmluZGV4IDIxZTE0YTEuLjQ5MDJhZDcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCisr
KyBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCkBAIC0z
Niw3ICszNiw2IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTMsNyArNTIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyUHJveHk7CiAKICAgICAvLyBQ
bGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2hhcmVkV29ya2VyUmVwb3Np
dG9yeSBzdGF0aWMgaW50ZXJmYWNlLgotICAgIGNsYXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlZmF1bHRTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9h
ZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2Ny
aXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4p
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAg
IC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIg
dGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2Vy
dmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
aCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2Uu
LjRkZTkwZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3
ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3Jr
ZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBw
dWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1Ymxp
YyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3Jr
ZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3Jr
ZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdvcmtlck1lc3NhZ2luZ1Byb3h5KFdvcmtlciop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAgYi9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKaW5kZXggODNmMjQzZi4uN2IzMTQ5YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCisrKyBiL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcApAQCAtMTA0LDcgKzEwNCw4IEBAIFN0cmluZyBXb3Jr
ZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi1jbGFz
cyBSdW5Mb29wU2V0dXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFNldHVw
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29wU2V0dXApOwogcHVibGljOgogICAg
IFJ1bkxvb3BTZXR1cChXb3JrZXJSdW5Mb29wJiBydW5Mb29wKQogICAgICAgICA6IG1fcnVuTG9v
cChydW5Mb29wKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKaW5kZXggOWQ0ZWRmZC4uM2ZlYjRlOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAorKysgYi9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCkBAIC02NSw3ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRNb2RlKCk7CiAKLSAgICAgICAg
Y2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxU
YXNrPiBjcmVhdGUoUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNr
LCBjb25zdCBTdHJpbmcmIG1vZGUpOwogICAgICAgICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclRocmVhZC5jcHAKaW5kZXggZjYxMTIwZS4uOWNkNGQ1YiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgi
CiAKICNpbmNsdWRlIDx1dGlsaXR5PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aWYgRU5BQkxFKERBVEFCQVNFKQogI2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgpAQCAtNjEsNyAr
NjAsOCBAQCB1bnNpZ25lZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkKICAgICBy
ZXR1cm4gbV90aHJlYWRDb3VudDsKIH0KIAotc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVh
ZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmNwcAppbmRleCA2MTAzNzAzLi5mZGE3NzQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBA
IC02NSw3ICs2NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBXVEY6OlJlZkNvdW50
ZWRMZWFrQ291bnRlciB4bWxIdHRwUmVxdWVzdENvdW50ZXIoIlhNTEh0dHBSZXF1ZXN0Iik7CiAj
ZW5kaWYKIAotc3RydWN0IFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSA6IE5vbmNvcHlhYmxlIHsK
K3N0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmluZyBtX3By
b3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5oCmluZGV4IDA5OGUxOWYuLjU2MThlM2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDQs
NiArNDQsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxv
YWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRw
UmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxIdHRwUmVxdWVzdD4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBY
TUxIdHRwUmVxdWVzdChjb250ZXh0KSk7IH0KICAgICB+WE1MSHR0cFJlcXVlc3QoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaCBiL1dlYkNvcmUveG1sL1hQ
YXRoRXhwcmVzc2lvbk5vZGUuaAppbmRleCBjMDRkNDViLi45M2ZiODU5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhF
eHByZXNzaW9uTm9kZS5oCkBAIC0zOSw3ICszOSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAgICAgICAgIAotICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlv
bkNvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250
ZXh0IHsKKyAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5vZGU7CiAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nIHNpemU7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHBvc2l0aW9uOwpAQCAtNTMs
NyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIH5QYXJz
ZU5vZGUoKSB7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBFeHByZXNzaW9uIDogcHVi
bGljIFBhcnNlTm9kZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXhwcmVz
c2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRXhwcmVzc2lvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94
bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uNjE5ZDkxYyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgK
QEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQ
YXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBOb2RlU2V0KCkgOiBtX2lzU29ydGVk
KHRydWUpLCBtX3N1YnRyZWVzQXJlRGlzam9pbnQoZmFsc2UpIHsgfQogICAgICAgICAgICAgCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oIGIvV2ViQ29yZS94bWwvWFBhdGhQ
YXJzZXIuaAppbmRleCA0NGE4ZTQ4Li40MGI3M2RjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9Y
UGF0aFBhcnNlci5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKQEAgLTU4LDcgKzU4
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgVG9rZW4oaW50IHQsIEVxVGVz
dE9wOjpPcGNvZGUgdik6IHR5cGUodCksIGVxb3Aodikge30KICAgICAgICAgfTsKIAotICAgICAg
ICBjbGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQYXJz
ZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFyc2VyKTsKICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgUGFyc2VyKCk7CiAgICAgICAgICAgICB+UGFyc2VyKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oIGIvV2ViQ29yZS94bWwvWFBh
dGhQcmVkaWNhdGUuaAppbmRleCA1ZjI0ODJhLi4zNjAwMTU0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3htbC9YUGF0aFByZWRpY2F0ZS5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgK
QEAgLTEwNSw3ICsxMDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0
dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNl
dFZhbHVlOyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgUHJlZGljYXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgUHJlZGljYXRlIHsKKyAgICAgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFByZWRpY2F0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQcmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAg
ICAgICAgICAgflByZWRpY2F0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhTdGVw
LmggYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAppbmRleCBlYzAyMmIzLi5iMDMxYmFmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aFN0
ZXAuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgY2xh
c3MgUHJlZGljYXRlOwogICAgICAgICAKLSAgICAgICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJz
ZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMg
UGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXApOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBB
eGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywg
QXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
ICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgICAgICBlbnVtIEtpbmQgewog
ICAgICAgICAgICAgICAgICAgICBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2RlVGVzdCwgUHJvY2Vz
c2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVzdApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oIGIvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVs
ZS5oCmluZGV4IGYzYTkzMTguLjVjMGNhOGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hTTElt
cG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKQEAgLTM1LDYgKzM1
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2FjaGVkWFNMU3R5bGVTaGVldDsKIAog
Y2xhc3MgWFNMSW1wb3J0UnVsZSA6IHB1YmxpYyBTdHlsZUJhc2UsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFhTTEltcG9ydFJ1bGU+IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBw
YXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVmKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktp
dC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI2ZWJhMjEuLmVlNWZmY2MgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDEwLTExLTI2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCBy
aWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAg
SW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRp
bmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisg
ICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRh
dGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2Uu
aCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJs
ZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KIAogICAgICAgICAqIFN0cmluZ3NOb3RUb0JlTG9jYWxpemVkLnR4dDogVXBkYXRlZCBmb3Ig
cmVjZW50IGNoYW5nZXMuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2Jq
ZWN0LmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4u
NDNkYjc5ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaApAQCAtMzIsMTQgKzMyLDE0IEBA
CiAjZGVmaW5lIEJvdW5kT2JqZWN0X2gKIAogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBCb3VuZE9iamVjdCBp
cyBhIGhlbHBlciBjbGFzcyB0aGF0IGxldHMgeW91IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxs
cwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3ll
ZCBvbmNlIEpTIG9iamVjdCBpcwogLy8gYnVpbHQuCi1jbGFzcyBCb3VuZE9iamVjdCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBCb3VuZE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQm91bmRPYmplY3QpOwogcHVibGljOgogICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8
djg6OkNvbnRleHQ+IGNvbnRleHQsIHZvaWQqIHY4VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFt
ZSk7CiAgICAgdmlydHVhbCB+Qm91bmRPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9E
ZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKaW5kZXggMDg2MGNiMS4uNTljMjE3NyAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKKysrIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKQEAgLTQwLDcgKzQwLDYg
QEAKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC01NSw3ICs1NCw4IEBAIGJvb2wgRGVidWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhwb3Nl
VjhEZWJ1Z2dlclByb3RvY29sID0gZmFsc2U7CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIENhbGxl
cklkV3JhcHBlciA6IHB1YmxpYyB2ODo6RGVidWc6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnRE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsZXJJZFdyYXBwZXIpOwogcHVibGlj
OgogICAgIENhbGxlcklkV3JhcHBlcigpIDogbV9jYWxsZXJJc01hbmFuYWdlcih0cnVlKSwgbV9j
YWxsZXJJZCgwKSB7IH0KICAgICBleHBsaWNpdCBDYWxsZXJJZFdyYXBwZXIoaW50IGNhbGxlcklk
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5o
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCmluZGV4IDY2YmQ3
MTQuLmI3ODU2Y2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2Vu
dE1hbmFnZXIuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2Vy
LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTYzLDcgKzYyLDggQEAgY2xhc3MgV2ViVmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qg
c29tZSBhY3Rpb25zIGZyb20gdGhlIGhhbmRsZXIuIElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRl
CiAvLyBkZWJ1Z2dlciBhZ2VudCB0byBoYW5kbGUgc3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3
aWxsIHBlcmZvcm0gdGhlIGFjdGlvbgogLy8gaXRzZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcg
d2FpdGluZyBmb3IgdGhlIGFjdGlvbi4KLWNsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShEZWJ1Z2dlckFnZW50TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgZGVidWdBdHRhY2goRGVidWdnZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwog
ICAgIHN0YXRpYyB2b2lkIGRlYnVnRGV0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFn
ZW50KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbC5oCmluZGV4IGZjMjFmM2UuLjA1OTZjYWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1
bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaApAQCAtMzIsNyArMzIsNiBAQAogI2Rl
ZmluZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGxfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OwpAQCAtNDQsOCArNDMs
OCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7
CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsK
K2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNw
ZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRJbXBsKTsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dEltcGwoV2ViQ29yZTo6UGFnZSosIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZU
b29sc0Zyb250ZW5kSW1wbCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50
SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApp
bmRleCA4ODBhZGI0Li4wMjI2ZWYzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkRldlRvb2xzQWdlbnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRv
b2xzQWdlbnRJbXBsLmNwcApAQCAtNTgsNyArNTgsNiBAQAogI2luY2x1ZGUgIldlYlZpZXdDbGll
bnQuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGlt
ZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KIAogdXNpbmcgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI7CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKaW5kZXggODY2YTFjYi4uYjA4NTMzOCAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaApAQCAtMzYs
NyArMzYsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgpAQCAtNTUsOCArNTQsOCBAQCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdl
RGF0YTsKIAogdXNpbmcgV1RGOjpTdHJpbmc7CiAKLWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJ
bXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNG
cm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAg
ICAgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwoCiAgICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwq
IHdlYlZpZXdJbXBsLApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDQ0MjJl
MWIuLjI2Yjk2YmMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI4MCw3
ICsyODAsOCBAQCBXZWJQbHVnaW5Db250YWluZXJJbXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNv
bnRhaW5lckZyb21GcmFtZShGcmFtZSogZnJhbWUpCiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVy
cmlkZSBzb21lIG9mIFByaW50Q29udGV4dCBiZWhhdmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwog
Ly8gbWFkZSB2aXJ0dWFsIHNvIHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBs
dWdpblByaW50Q29udGV4dC4KLWNsYXNzIENocm9tZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmlu
dENvbnRleHQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQg
OiBwdWJsaWMgUHJpbnRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQ
cmludENvbnRleHQpOwogcHVibGljOgogICAgIENocm9tZVByaW50Q29udGV4dChGcmFtZSogZnJh
bWUpCiAgICAgICAgIDogUHJpbnRDb250ZXh0KGZyYW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBv
cHVwTWVudUltcGwuaAppbmRleCAyMjFiYTAzLi4xZTkyNDc0IDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBvcHVwTWVudUltcGwuaApAQCAtNTYsNiArNTYsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIGNs
YXNzIFdlYlBvcHVwTWVudUltcGwgOiBwdWJsaWMgV2ViUG9wdXBNZW51LAogICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBXZWJDb3JlOjpGcmFtZWxlc3NTY3JvbGxWaWV3Q2xpZW50LAog
ICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudUlt
cGw+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICAvLyBXZWJX
aWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJi
YWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNs
dWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFz
cyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4
IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3Bw
IGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUy
NmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAor
KysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYg
QEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgot
I2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
SW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAg
KiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAK
LWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VI
YW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxl
LmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9t
YWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJv
eHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyAr
MzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6
RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFs
dWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBk
YXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpT
Qzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVj
dE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dl
YktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzcz
OS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJh
Y2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldl
YkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xp
ZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRk
NGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9X
ZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zh
c3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0
Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUg
PHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlh
bnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3
IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dp
bi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgK
ICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWlu
ZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJ
QU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAg
c3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBl
Jik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2lu
L0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253
bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRl
PHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3Ry
aW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFz
cyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlC
YWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3Bl
cnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBl
LCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJL
aXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAg
ICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
IGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgx
ZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9X
ZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGlj
IGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4g
IXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6
IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFz
ZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERh
dGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBT
X09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNo
VG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0
eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVj
dG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTgg
MTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9X
ZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9o
CiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Y2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0
b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3Bl
Y3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyop
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9X
ZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlh
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBi
L1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBz
dGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVy
biBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
aXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0
cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBm
MDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgK
KysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdl
YlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxk
IHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgogICAgIHN0YXRp
YyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2Vi
U2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgK
aW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxp
emVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAt
MzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxp
emVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMg
SVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVi
bGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3Rh
bmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcu
LjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyAr
MzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0
ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29w
eWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJD
b250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVibGlj
OgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0
YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IGVmNGM5MmEuLmUwODE2MzMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjYgIFpv
bHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5k
IEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9j
QmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0
NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhl
cml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUu
aCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTExLTI0
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBp
bXBsaWNpdGx5IGJ5IEpvaG4gU3VsbGl2YW4uCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmlu
YXJ5U2VtYXBob3JlLmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZv
cm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBC
aW5hcnlTZW1hcGhvcmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4K
IAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1
bGUuaCBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRm
b3JtL01vZHVsZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5l
IE1vZHVsZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBNb2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBw
dWJsaWM6CiAgICAgTW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxh
dGZvcm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1No
YXJlZE1lbW9yeS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAj
ZGVmaW5lIFNoYXJlZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAK
QEAgLTUyLDcgKzUxLDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0g
ICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBI
YW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJL
aXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYg
QEAKICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgog
I2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdp
dCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEwYmQgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQ
cm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OwogICAgICAgICAKIGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQ
bHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hp
bGRQcm9jZXNzLmggYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0
Li44YzVlOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysg
Yi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVm
aW5lIENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFBy
b2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQ
cm9jZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFy
ZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1
Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIu
aAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgK
QEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9Q
bHVnaW5zL05QT2JqZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0g
YS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJM
RShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9T
YW5kYm94RXh0ZW5zaW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRi
b3hFeHRlbnNpb24uaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9u
X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0
b3JXaW5kb3cuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRv
dy5oCmluZGV4IGU4ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZp
bmRJbmRpY2F0b3JXaW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2lt
cG9ydCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2lt
cG9ydCA8d3RmL1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVm
MmUyLi4wZGM3YTljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9D
RVNTKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAg
LTQxLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJv
eHk7CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2Vy
IDogTm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5
Ni4uOWUxNzQyZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1
Z2luSW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9Q
bHVnaW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4g
UGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3Rv
cmllczsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1
YmxpYzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktp
dDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDVi
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysr
IGIvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEs
MTMgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNs
YXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlu
a1Byb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVy
KTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQq
KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5o
IGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDM3ZmFjYTgu
LjhiMDAzMzMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxv
YWQuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlUmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01NSw3ICs1
NCw2IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6
Ok1lc3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3du
bG9hZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRl
KHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwog
ICAgIH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fk
cy9Eb3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxv
YWRNYW5hZ2VyLmgKaW5kZXggMDI0NWJiNi4uMmI0ZjgwNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlBy
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVm
aW5lIERvd25sb2FkTWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
UmVzb3VyY2VIYW5kbGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OUEpTT2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OUEpTT2JqZWN0LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvbnBydW50aW1lX2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzks
OCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAK
IC8vIE5QSlNPYmplY3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xh
c3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBK
U09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBK
U09iamVjdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRp
bWVPYmplY3RNYXAqIG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYg
LS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bk1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisr
KyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5l
Y3Rpb25zIGZvciB0aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAg
Ci1jbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7Citj
bGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDE0YmZiYjAuLjQzMzk4
NGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVy
LmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAt
MjksNyArMjksNiBAQAogI2luY2x1ZGUgIkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSAiUGFnZU92
ZXJsYXkuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCBmYmQwOTQyLi40
YTZlNGQ0IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0
b3IuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAt
MzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKaW5kZXggNTVjZWRhZS4uNDMxMDVhMSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDEwLTExLTI2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5v
bmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBm
cm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChi
dWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RB
bGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3Zl
IE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4K
KworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVk
LgorCiAyMDEwLTExLTI0ICBOaWNvbGFzIER1ZnJlc25lICA8bmljb2xhcy5kdWZyZXNuZUBjb2xs
YWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpAQCAt
MTk2NzMsNyArMTk2ODUsNyBAQAogCiAyMDEwLTA3LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRz
Y2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8KgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFy
ZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0
IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KIAogICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWluLmNwcDoKICAgICAgICAgKE5Q
UF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGlu
Z0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9G
b3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0x
ICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5o
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCmlu
ZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAgLTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1
ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAgdHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4g
Q3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3VuZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2Ny
aXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkgYWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMr
KyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQqIHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENw
cEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3BwQm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAg
Y2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCmluZGV4IGUx
NDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRl
ICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNBZ2VudENsaWVudC5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBAIHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VE
YXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsKIAotY2xhc3MgRFJURGV2VG9vbHNBZ2Vu
dCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQKLSAgICAgICAgICAgICAg
ICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6
IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwogcHVibGljOgogICAgIERSVERldlRvb2xzQWdl
bnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0FnZW50KCkge30KZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmggYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmlu
ZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaApAQCAtMzQsNyArMzQsNiBAQAog
I2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3MuaCIKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5j
bHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBA
IC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7
CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNG
cm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29s
c0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0Ns
aWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCos
IFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdh
dGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29u
dHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RO
YXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyArMTExLDggQEAgcHVibGljOgogCiAvLyBU
ZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNs
b3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMgcG9zc2libGUuCi1jbGFzcyBUZXN0TmF2
aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdh
dGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9u
Q29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKE5hdmln
YXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJU
LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xE
UlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIg
KzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4dC9wbGF0Zm9ybV9jYW52YXMuaCIKICNpbmNs
dWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29yZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEgZm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVj
dCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGljOgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0
ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVz
LmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3Qg
cHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaAppbmRleCBlNTA4ODZiLi41
MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4LDkgKzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhl
bWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2luL1dlYlRoZW1lRW5naW5lLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGlj
IFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJU
aGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2luZURSVCk7CiBwdWJsaWM6CiAgICAgV2ViVGhl
bWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0
L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCmlu
ZGV4IGEyNzM0ZWQuLmMxNzE4MTMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRl
c3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRv
dy5oCkBAIC0yNiwxMSArMjYsMTAgQEAKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKICNpbmNsdWRl
IDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIb3N0V2luZG93IHsKIHB1YmxpYzoKICAgICBIb3N0V2luZG93KCk7CiAgICAgfkhv
c3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHND
b250cm9sbGVyLmggYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5o
CmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQ
SVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9U
ZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5o
PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAog
Y2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVz
dHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFy
ZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5o
CmluZGV4IGZlYzFmN2EuLjIzNmNjMWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTI3LDExICsyNywxMCBAQAogI2RlZmluZSBUZXN0SW52
b2NhdGlvbl9oCiAKICNpbmNsdWRlIDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2Nh
dGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0SW52b2NhdGlvbiB7CiBwdWJs
aWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3QgY2hhciopOwogICAgIH5UZXN0SW52b2NhdGlv
bigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75113</attachid>
            <date>2010-11-30 01:29:29 -0800</date>
            <delta_ts>2010-12-06 07:41:43 -0800</delta_ts>
            <desc>updated proposed patch rc</desc>
            <filename>kedd2.patch</filename>
            <type>text/plain</type>
            <size>327649</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjA5NzE3MDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBTdGF0aWNWYWx1ZUVudHJ5KEpTT2Jq
ZWN0R2V0UHJvcGVydHlDYWxsYmFjayBfZ2V0UHJvcGVydHksIEpTT2JqZWN0U2V0UHJvcGVydHlD
YWxsYmFjayBfc2V0UHJvcGVydHksIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQog
ICAgICAgICA6IGdldFByb3BlcnR5KF9nZXRQcm9wZXJ0eSksIHNldFByb3BlcnR5KF9zZXRQcm9w
ZXJ0eSksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNDUsNyArNDcsOSBAQCBz
dHJ1Y3QgU3RhdGljVmFsdWVFbnRyeSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiB9OwogCi1zdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFN0YXRpY0Z1bmN0aW9uRW50cnkoSlNP
YmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrIF9jYWxsQXNGdW5jdGlvbiwgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAgICAgICAgIDogY2FsbEFzRnVuY3Rpb24oX2NhbGxBc0Z1
bmN0aW9uKSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC02Miw3ICs2Niw5IEBA
IHN0cnVjdCBPcGFxdWVKU0NsYXNzOwogCiAvLyBBbiBPcGFxdWVKU0NsYXNzIChKU0NsYXNzKSBp
cyBjcmVhdGVkIHdpdGhvdXQgYSBjb250ZXh0LCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGFueSBj
b250ZXh0LCBldmVuIGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KIC8vIFRoaXMgc3RydWN0dXJlIGhv
bGRzIGRhdGEgbWVtYmVycyB0aGF0IHZhcnkgYWNyb3NzIGNvbnRleHQgZ3JvdXBzLgotc3RydWN0
IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBPcGFxdWVK
U0NsYXNzQ29udGV4dERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE9w
YXF1ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4
Y2E4Li5kNmRlNDI2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0
ODAsOSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJl
ZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LXN0cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEpCiAgICAgICAgIDogcmVmQ291bnQoMCkKICAgICAgICAgLCBnbG9iYWxEYXRh
KGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggOGM2ODVjZC4uNWY2YWIzMSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEwLTExLTMwICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAg
ICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3Rz
IGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUg
YW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IE1vdmUg
RmFzdEFsbG9jQmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIFBsYXRmb3JtLmgKKyAgICAg
ICAgKiB3dGYvTm9uY29weWFibGUuaCA6IFJlbW92ZWQuIE5vbmNvcHlhYmxlJ3MgbWFjcm8gaW1w
bGVtZW50YXRpb24ncyBtb3ZlZCB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6IEFkZCBOb25jb3B5YWJsZSdzIGFuZCBGYXN0QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50
YXRpb24uCisKIDIwMTAtMTEtMjkgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFsa2VuQGFwcGxlLmNv
bT4KIAogICAgICAgICBXaW5kb3dzIGJ1aWxkIGZpeCAocGFydCAxKS4gVXNlIGNvcnJlY3QgZW52
aXJvbm1lbnQgdmFyaWFibGUgc3ludGF4IGluIGNtZCBmaWxlcy4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0K
aW5kZXggZjc4MDZiNC4uZDM1NDlmMCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvR05VbWFr
ZWZpbGUuYW0KKysrIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ2Nyw3ICs0
NjcsNiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlKYXZhU2NyaXB0Q29yZS93dGYv
TUQ1LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBcCiAJSmF2YVNjcmlw
dENvcmUvd3RmL05vbkNvcHlpbmdTb3J0LmggXAotCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5
YWJsZS5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENv
cmUvd3RmL051bGxQdHIuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmggXApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaSBiL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKaW5kZXggZGViMzZmYi4uYWQ5OTc1MCAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQorKysgYi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCkBAIC0zOTgsNyArMzk4LDYgQEAKICAgICAgICAgICAg
ICd3dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVzc2FnZVF1ZXVlLmgnLAog
ICAgICAgICAgICAgJ3d0Zi9Ob25Db3B5aW5nU29ydC5oJywKLSAgICAgICAgICAgICd3dGYvTm9u
Y29weWFibGUuaCcsCiAgICAgICAgICAgICAnd3RmL05vdEZvdW5kLmgnLAogICAgICAgICAgICAg
J3d0Zi9Pd25BcnJheVB0ci5oJywKICAgICAgICAgICAgICd3dGYvT3duRmFzdE1hbGxvY1B0ci5o
JywKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYv
V1RGLnZjcHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RG
LnZjcHJvagppbmRleCAzNjA5OTM5Li4xMDhlYmVmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKKysrIGIvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBAIC02NTQsMTAgKzY1NCw2
IEBACiAJCQk+DQogCQk8L0ZpbGU+DQogCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5c
d3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCiAJCQlSZWxh
dGl2ZVBhdGg9Ii4uXC4uXHd0ZlxOb25Db3B5aW5nU29ydC5oIg0KIAkJCT4NCiAJCTwvRmlsZT4N
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCBhMWUxYzVjLi4wYTcyYzgyIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTQ0NCw3ICs0NDQsNiBAQAogCQlCQzE4QzQzQzBFMTZGNUNEMDBCMzQ0NjAgLyogTWF0aE9iamVj
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4
NkIwMjU1NTk3RDAxRkY2MEY3IC8qIE1hdGhPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRTBFMTZGNUNEMDBCMzQ0NjAgLyog
TWVzc2FnZVF1ZXVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFMUVFNzk4QjBENkNBNTNEMDBGRUEzQkEgLyogTWVzc2FnZVF1ZXVlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0M0YwRTE2RjVD
RDAwQjM0NDYwIC8qIE5vZGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNjkyQTg2RTAyNTU1OTdEMDFGRjYwRjcgLyogTm9kZXMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OwotCQlCQzE4QzQ0MDBFMTZGNUNEMDBCMzQ0NjAg
LyogTm9uY29weWFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzMDNGNTY5MDk5MTE5MDAwMEFENzFCOCAvKiBOb25jb3B5YWJsZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDQxMEUxNkY1
Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyNjgwQzMwRTE2RDRFOTAwQTA2RTkyIC8qIE51bWJl
ckNvbnN0cnVjdG9yLmggKi87IH07CiAJCUJDMThDNDQyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1i
ZXJDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDMjY4MEU2MEUxNkQ1MjMwMEEwNkU5MiAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5s
dXQuaCAqLzsgfTsKIAkJQkMxOEM0NDMwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlck9iamVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjY5MkE4NzEw
MjU1NTk3RDAxRkY2MEY3IC8qIE51bWJlck9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04NzksNyArODc4LDYgQEAKIAkJOTA1QjAyQUQw
RTI4NjQwRjAwNkRGODgyIC8qIFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MEQzNDY5QjBFMjg1MjgwMDA5NDkyRUUgLyogUmVm
Q291bnRlZExlYWtDb3VudGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
ZkNvdW50ZWRMZWFrQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAz
RjU2NzA5OTExOEZBMDBBRDcxQjggLyogT3duUHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IE93blB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5MzAzRjU2
OTA5OTExOTAwMDBBRDcxQjggLyogTm9uY29weWFibGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTm9uY29weWFibGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OTMwM0Y1QTQwOTkxMUE1ODAwQUQ3MUI4IC8qIE93bkFycmF5UHRyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE93bkFycmF5UHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXJzZXJBcmVuYS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDUyQzMzMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJB
cmVuYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYXJzZXJBcmVuYS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUyMiw3ICsxNTIwLDYgQEAKIAkJCQk1MTFG
QzRDQTExN0VFMkE4MDA0MjUyNzIgLyogTUQ1LmggKi8sCiAJCQkJRTFFRTc5OEIwRDZDQTUzRDAw
RkVBM0JBIC8qIE1lc3NhZ2VRdWV1ZS5oICovLAogCQkJCTY1RTFBMkY0MTIyQjg4MEQwMEIyNjA5
NyAvKiBOb25Db3B5aW5nU29ydC5oICovLAotCQkJCTkzMDNGNTY5MDk5MTE5MDAwMEFENzFCOCAv
KiBOb25jb3B5YWJsZS5oICovLAogCQkJCUMwQTI3MjNGMEU1MDlGMUUwMEU5NkUxNSAvKiBOb3RG
b3VuZC5oICovLAogCQkJCTkzM0Y1Q0RCMTI2OTIyNjkwMDQ5MTkxRSAvKiBOdWxsUHRyLmggKi8s
CiAJCQkJOTMwM0Y1QTQwOTkxMUE1ODAwQUQ3MUI4IC8qIE93bkFycmF5UHRyLmggKi8sCkBAIC0y
MjExLDcgKzIyMDgsNiBAQAogCQkJCTdFRkYwMDY0MEVDMDVBOUEwMEFBN0M5MyAvKiBOb2RlSW5m
by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0M0YwRTE2RjVDRDAwQjM0NDYwIC8qIE5vZGVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUUxQTNERjEyMkI4OTQ1MDBCMjYwOTcgLyogTm9uQ29w
eWluZ1NvcnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAv
KiBOb25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBBMjcyNjMwRTUwQTA2MzAwRTk2
RTE1IC8qIE5vdEZvdW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQ0MTBFMTZGNUNEMDBC
MzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDQy
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5sdXQuaCBpbiBIZWFkZXJzICov
LApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3Nl
bWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVy
LmgKaW5kZXggMWZhNWVjNy4uNDQyNzk1NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNs
dWRlICJDb2RlTG9jYXRpb24uaCIKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0u
aD4KIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTGlua0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaAppbmRleCBlMWRjYTBiLi40OTI0OTQxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTGlua0J1ZmZlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgRFVNUF9DT0RFIDAKIAogI2luY2x1
ZGUgPE1hY3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewogCkBAIC01MCw3ICs0OSw4IEBAIG5hbWVzcGFjZSBKU0MgewogLy8gICAq
IFRoZSBhZGRyZXNzIG9mIGEgTGFiZWwgcG9pbnRpbmcgaW50byB0aGUgY29kZSBtYXkgYmUgcmVz
b2x2ZWQuCiAvLyAgICogVGhlIHZhbHVlIHJlZmVyZW5jZWQgYnkgYSBEYXRhTGFiZWwgbWF5IGJl
IHNldC4KIC8vCi1jbGFzcyBMaW5rQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IExpbmtCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExpbmtCdWZmZXIpOwogICAg
IHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIENvZGVSZWY7CiAgICAgdHlwZWRlZiBNYWNy
b0Fzc2VtYmxlckNvZGVQdHIgQ29kZVB0cjsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyOjpM
YWJlbCBMYWJlbDsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNo
QnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5oCmluZGV4
IDcyY2Y2YjIuLmU1YTZlMmQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9S
ZXBhdGNoQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZm
ZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCiAKICNpbmNsdWRl
IDxNYWNyb0Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgSlNDIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAppbmRleCA3ZWNhNzJh
Li4xZjVjYzE0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaApAQCAtMjQyLDcgKzI0
Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH0KICNlbmRpZgogCi0gICAgY2xhc3MgQ29kZUJs
b2NrIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIENvZGVCbG9jayB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwog
ICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlwdEV4ZWN1dGFibGUqIG93bmVy
RXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxTb3VyY2VQ
cm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxl
LCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc4LDcgKzU3OSwxMCBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgICAgICBTeW1ib2xUYWJsZSogbV9zeW1ib2xUYWJsZTsKIAotICAgICAgICBzdHJ1
Y3QgUmFyZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0cnVj
dCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAg
ICAgcHVibGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhh
bmRsZXJzOwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRU
b0J5dGVjb2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAg
ICB9OworICAgIHByaXZhdGU6CiAgICAgICAgIE93blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsK
ICAgICB9OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlv
bi5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1
Li5mMDc3Y2JmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlv
bi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcg
KzU0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAg
ICAvLyBTdHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRf
YnlfaWRfcHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9w
Y29kZSBzdHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6
IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxp
c3QgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAg
ICAgIHN0cnVjdCBQb2x5bW9ycGhpY1N0dWJJbmZvIHsKICAgICAgICAgICAgIGJvb2wgaXNDaGFp
bjsKICAgICAgICAgICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdFN0dWJSb3V0aW5l
VHlwZSBzdHViUm91dGluZTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Nh
bXBsaW5nVG9vbC5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKaW5k
ZXggOGUzZWQ5ZS4uOWNhNTRkYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
U2FtcGxpbmdUb29sLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29s
LmgKQEAgLTE0Miw3ICsxNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgZnJpZW5kIGNs
YXNzIEhvc3RDYWxsUmVjb3JkOwogICAgICAgICAKICNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5H
KQotICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAg
ICAgY2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShD
YWxsUmVjb3JkKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1w
bGluZ1Rvb2wqIHNhbXBsaW5nVG9vbCkKICAgICAgICAgICAgICAgICA6IG1fc2FtcGxpbmdUb29s
KHNhbXBsaW5nVG9vbCkKQEAgLTE3Miw3ICsxNzMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgICAgIH0KICAgICAgICAgfTsKICNlbHNlCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCopCiAgICAgICAgICAgICB7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBi
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IGE5
MGY3NTYuLjFkMmJkMDggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5oCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiU3ltYm9sVGFibGUu
aCIKICNpbmNsdWRlICJEZWJ1Z2dlci5oIgogI2luY2x1ZGUgIk5vZGVzLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9TZWdtZW50ZWRWZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC04
NSw3ICs4NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4g
cHJvcGVydHlSZWdpc3RlcjsKICAgICB9OwogCi0gICAgY2xhc3MgQnl0ZWNvZGVHZW5lcmF0b3Ig
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQnl0ZWNvZGVHZW5lcmF0b3Igewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5
cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBl
ZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oIGIvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAppbmRleCAzNTMyYWQ4Li43OGQ0OWQy
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKQEAgLTMwLDEyICsz
MCwxMiBAQAogI2RlZmluZSBSZWdpc3RlcklEX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRy
YWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIFJlZ2lzdGVySUQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVySUQgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZWdpc3RlcklEKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZ2lzdGVy
SUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmggYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKaW5kZXggZGZiZTY1OC4uNzQwMDAxZCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0NhY2hlZENhbGwuaApAQCAtMzIsNyArMzIsOCBAQAogI2luY2x1ZGUgIkludGVy
cHJldGVyLmgiCiAKIG5hbWVzcGFjZSBKU0MgewotICAgIGNsYXNzIENhY2hlZENhbGwgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENhY2hlZENhbGwgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDYWNoZWRDYWxsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0
aW9uKiBmdW5jdGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNl
KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBi
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4u
NzUzZDkwZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0
ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjZGVmaW5lIEludGVycHJldGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3Qu
aCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5j
bHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSB7IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRo
ID0gMjU2LCBNYXhTbWFsbFRocmVhZFJlZW50cnlEZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJ
bnRlcnByZXRlciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRl
ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBmcmllbmQgY2xh
c3MgSklUOwogICAgICAgICBmcmllbmQgY2xhc3MgQ2FjaGVkQ2FsbDsKICAgICBwdWJsaWM6CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oIGIvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaAppbmRleCAzOGQxNjQ3Li4zOTQ0NjQyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAog
I2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQ3LDcgKzQ2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICB0eXBlZGVmIEV4ZWNTdGF0ZSBDYWxsRnJhbWU7CiAKLSAgICBjbGFzcyBSZWdpc3RlciA6IHB1
YmxpYyBXVEY6OkZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFJlZ2lzdGVyIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3Rlcigp
OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUu
aCBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oCmluZGV4IGQ5ZjZh
MmIuLjY4MjIwMzUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lz
dGVyRmlsZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5o
CkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNsdWRlICJXZWFr
R0NQdHIuaCIKICNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYWdlUmVzZXJ2YXRpb24uaD4KICNpbmNsdWRlIDx3dGYvVk1UYWdz
Lmg+CiAKQEAgLTg5LDcgKzg4LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBKU0ds
b2JhbE9iamVjdDsKIAotICAgIGNsYXNzIFJlZ2lzdGVyRmlsZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJGaWxlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmVnaXN0ZXJGaWxlKTsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICBwdWJsaWM6
CiAgICAgICAgIGVudW0gQ2FsbEZyYW1lSGVhZGVyRW50cnkgewpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApp
bmRleCA0ZDI1MTNkLi43MjU0N2ViIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzcsNyArMzcs
OCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIFJlZ0V4cDsKIAotICAgIGNsYXNzIExl
eGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMZXhlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKExleGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAg
ICAgICAgc3RhdGljIGJvb2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXMuaAppbmRleCA2OTMwZjYzLi5mNDE4MDczIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAt
MTEzLDYgKzExMyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBQYXJz
ZXJBcmVuYVJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZDxQYXJzZXJBcmVuYVJlZkNvdW50
ZWQ+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJvdGVjdGVkOgog
ICAgICAgICBQYXJzZXJBcmVuYVJlZkNvdW50ZWQoSlNHbG9iYWxEYXRhKik7CiAKQEAgLTEzNzQs
NyArMTM3NSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBQYXJhbWV0ZXJOb2RlKiBtX25l
eHQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBTY29wZU5vZGVEYXRhIDogRmFzdEFsbG9jQmFzZSB7
CisgICAgc3RydWN0IFNjb3BlTm9kZURhdGEgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OlZh
clN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5j
dGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CiAKQEAgLTE0NzAsNiArMTQ3Myw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBGdW5jdGlvblBhcmFtZXRlcnMgOiBwdWJsaWMg
VmVjdG9yPElkZW50aWZpZXI+LCBwdWJsaWMgUmVmQ291bnRlZDxGdW5jdGlvblBhcmFtZXRlcnM+
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQYXJhbWV0ZXJO
b2RlKiBmaXJzdFBhcmFtZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0aW9uUGFyYW1l
dGVycyhmaXJzdFBhcmFtZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuaCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA2NTQ5
MDY3Li40NTJhM2UxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC0zMiw3ICszMiw2IEBACiAj
aW5jbHVkZSAiUGFyc2VyQXJlbmEuaCIKICNpbmNsdWRlICJTb3VyY2VQcm92aWRlci5oIgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtNDUsOCAr
NDQsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3Ry
dWN0IFBhcnNlckFyZW5hRGF0YSA6IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9Owog
Ci0gICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJz
ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFBhcnNlcigpIHsgfQogICAgICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgUGFyc2VkTm9kZT4KICAgICAgICAgUGFzc1JlZlB0cjxQYXJzZWROb2Rl
PiBwYXJzZShKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRGVidWdnZXIqLCBF
eGVjU3RhdGUqLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIEZ1bmN0aW9uUGFyYW1ldGVycyos
IEpTUGFyc2VyU3RyaWN0bmVzcyBzdHJpY3RuZXNzLCBKU09iamVjdCoqIGV4Y2VwdGlvbik7CiAK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oIGIvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKaW5kZXggN2MxODA5ZS4uODJmYjgwOCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgY2xhc3MgUGFyc2VyQXJlbmFEZWxldGFibGU7CiAgICAgY2xhc3MgUGFyc2Vy
QXJlbmFSZWZDb3VudGVkOwogCi0gICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBj
b25zdCBJZGVudGlmaWVyJiBtYWtlSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBjb25zdCBVQ2hh
ciogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIm
IG1ha2VOdW1lcmljSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBkb3VibGUgbnVtYmVyKTsKQEAg
LTU5LDcgKzYwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBtX2lkZW50aWZp
ZXJzLmxhc3QoKTsKICAgICB9CiAKLSAgICBjbGFzcyBQYXJzZXJBcmVuYSA6IE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQYXJzZXJBcmVuYSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBhcnNlckFyZW5hKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhcnNlckFyZW5hKCk7CiAgICAg
ICAgIH5QYXJzZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3Jl
X2V4ZWMuY3BwIGIvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCmluZGV4IGY0ODk5
ZjIuLjJiYmNjMTEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNw
cAorKysgYi9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKQEAgLTQ4LDYgKzQ4LDcg
QEAgdGhlIEphdmFTY3JpcHQgc3BlY2lmaWNhdGlvbi4gVGhlcmUgYXJlIGFsc28gc29tZSBzdXBw
b3J0aW5nIGZ1bmN0aW9ucy4gKi8KICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDx3dGYv
QVNDSUlDVHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDxzdHJpbmcu
aD4KIAogI2lmIFJFR0VYUF9ISVNUT0dSQU0KICNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KQEAg
LTExMiw3ICsxMTMsOSBAQCBzdHJ1Y3QgQnJhY2tldENoYWluTm9kZSB7CiAgICAgY29uc3QgVUNo
YXIqIGJyYWNrZXRTdGFydDsKIH07CiAKLXN0cnVjdCBNYXRjaEZyYW1lIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgTWF0Y2hGcmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CiAgICAgUmV0dXJuTG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAgc3RydWN0IE1h
dGNoRnJhbWUqIHByZXZpb3VzRnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2Fs
bElkZW50aWZpZXIuaAppbmRleCA3NmMxNDcwLi5hOTgyN2MwIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3By
b2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxs
SWRlbnRpZmllcl9oCiAKICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJG
YXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3Qg
Q2FsbElkZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJ
ZGVudGlmaWVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgogICAgICAgICBVU3RyaW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3VybDsKICAgICAg
ICAgdW5zaWduZWQgbV9saW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvUHJvZmlsZXIuaCBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKaW5k
ZXggZjljMmNjYi4uZjg4NzQ2ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIv
UHJvZmlsZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCkBAIC00
NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFVTdHJpbmc7CiAgICAgc3Ry
dWN0IENhbGxJZGVudGlmaWVyOyAgICAKIAotICAgIGNsYXNzIFByb2ZpbGVyIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFByb2ZpbGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUHJvZmlsZXIqKiBlbmFi
bGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FyZ0xpc3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5o
CmluZGV4IGNkNTYzYTIuLjU3ZTNjMjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJnTGlzdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCkBAIC0y
NSwxNCArMjUsMTQgQEAKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRlICJSZWdpc3Rl
ci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNs
YXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZEFyZ3VtZW50QnVmZmVyKTsKICAgICBwcml2YXRl
OgogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkgPSA4OwogICAg
ICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlciwgaW5saW5lQ2FwYWNpdHk+IFZlY3RvclR5cGU7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi5mZTkwMGEyIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcgKzMzLDEwIEBACiAKIG5hbWVzcGFj
ZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgOiBOb25jb3B5YWJsZSB7CisgICAg
c3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcmd1
bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgorICAgICAg
ICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbjsK
IAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0MDg5YTUuLmRi
MmQxZDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0
aW9uT3B0aW1pemVyLmgKQEAgLTI3LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNp
dGlvbk9wdGltaXplcl9oCiAjZGVmaW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5h
bWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6
ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNP
YmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29sbGVjdG9yLmgKaW5kZXggMjM3YzEzOS4uOTNlZGYwNCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0NvbGxlY3Rvci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3RmL0ZpeGVkQXJy
YXkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgpAQCAtODcsNyArODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQog
ICAgIH07CiAKLSAgICBjbGFzcyBIZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBIZWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGlj
OgogICAgICAgICBjbGFzcyBUaHJlYWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9u
SWRlbnRpZmllcnMuaAppbmRleCAxZTIyYjZhLi5iNTNhZTQzIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIENv
bW1vbklkZW50aWZpZXJzX2gKIAogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogLy8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2YgcHJvcGVydHkg
bmFtZXMsIHBhc3NlZCB0byBhIG1hY3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1cCB2YXJpb3Vz
CiAvLyB3YXlzIHdpdGhvdXQgcmVwZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyArODMsOCBAQAog
CiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgQ29tbW9uSWRlbnRpZmllcnMoSlNHbG9iYWxE
YXRhKik7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuaAppbmRleCA3ZDQ5MjlkLi43MzYzYWY4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQ2VsbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiTWFya1N0
YWNrLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgKaW5kZXggNzE0OTk5Zi4uMGM1YmJlZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuaApAQCAtNDY1LDcgKzQ2NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICByZXR1cm4gbmV3IChleGVjKSBKU0FycmF5KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+
YXJyYXlTdHJ1Y3R1cmUoKSwgdmFsdWVzKTsKICAgICB9CiAKLSAgICBjbGFzcyBEeW5hbWljR2xv
YmFsT2JqZWN0U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIER5bmFtaWNH
bG9iYWxPYmplY3RTY29wZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKER5bmFtaWNH
bG9iYWxPYmplY3RTY29wZSk7CiAgICAgcHVibGljOgogICAgICAgICBEeW5hbWljR2xvYmFsT2Jq
ZWN0U2NvcGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsT2JqZWN0KiBkeW5hbWljR2xv
YmFsT2JqZWN0KSAKICAgICAgICAgICAgIDogbV9keW5hbWljR2xvYmFsT2JqZWN0U2xvdChjYWxs
RnJhbWUtPmdsb2JhbERhdGEoKS5keW5hbWljR2xvYmFsT2JqZWN0KQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNM
b2NrLmgKaW5kZXggMDViMzg4Yy4uNjRkN2E0YyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0xvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIEpTTG9ja19oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
IApAQCAtNTMsNyArNTIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0gSlNMb2NrQmVo
YXZpb3IgeyBTaWxlbmNlQXNzZXJ0aW9uc09ubHksIExvY2tGb3JSZWFsIH07CiAKLSAgICBjbGFz
cyBKU0xvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEpTTG9jayB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTG9jayk7CiAgICAgcHVibGljOgogICAgICAgICBK
U0xvY2soRXhlY1N0YXRlKik7CiAgICAgICAgIEpTTG9jayhKU0dsb2JhbERhdGEqKTsKQEAgLTg5
LDcgKzg5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgSlNMb2NrQmVoYXZpb3IgbV9s
b2NrQmVoYXZpb3I7CiAKLSAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIHsKKyAgICAgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERyb3BBbGxMb2Nrcyk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIERyb3BBbGxMb2NrcyhFeGVjU3RhdGUqIGV4ZWMpOwogICAgICAgICAgICAgRHJvcEFsbExv
Y2tzKEpTTG9ja0JlaGF2aW9yKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPTk9iamVjdC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCmlu
ZGV4IGI1NDc3YTEuLjBiNzIyYjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPTk9iamVjdC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNw
cApAQCAtNzAsNyArNzAsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1ZSBtX3ZhbHVl
OwogfTsKIAotY2xhc3MgU3RyaW5naWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U3RyaW5naWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lmaWVyKTsKIHB1
YmxpYzoKICAgICBTdHJpbmdpZmllcihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxhY2VyLCBKU1Zh
bHVlIHNwYWNlKTsKICAgICB+U3RyaW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTG9va3VwLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xvb2t1cC5oCmlu
ZGV4IDliYzgxZDQuLjBkNmQ5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApAQCAtNTMsNyAr
NTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIFByb3BlcnR5U2xvdDo6R2V0VmFs
dWVGdW5jIEdldEZ1bmN0aW9uOwogICAgIHR5cGVkZWYgdm9pZCAoKlB1dEZ1bmN0aW9uKShFeGVj
U3RhdGUqLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSB2YWx1ZSk7CiAKLSAgICBjbGFz
cyBIYXNoRW50cnkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaEVudHJ5
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFyIGF0dHJpYnV0
ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXJrU3RhY2suaAppbmRleCBjNTUxYmFjLi4xMDE4ZTVlIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTWFya1N0YWNrLmgKQEAgLTI3LDcgKzI3LDggQEAKICNkZWZpbmUgTWFya1N0YWNrX2gKIAog
I2luY2x1ZGUgIkpTVmFsdWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworI2lu
Y2x1ZGUgPHN0cmluZy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzYsNyArMzcsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAKICAgICBlbnVtIE1hcmtTZXRQcm9wZXJ0aWVzIHsgTWF5Q29u
dGFpbk51bGxWYWx1ZXMsIE5vTnVsbFZhbHVlcyB9OwogICAgIAotICAgIGNsYXNzIE1hcmtTdGFj
ayA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrU3RhY2sgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShNYXJrU3RhY2spOwogICAgIHB1YmxpYzoKICAgICAgICAgTWFya1N0YWNr
KHZvaWQqIGpzQXJyYXlWUHRyKQogICAgICAgICAgICAgOiBtX2pzQXJyYXlWUHRyKGpzQXJyYXlW
UHRyKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rv
ci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCmluZGV4IDU4
YWJkZTUuLjE3MTRiZDMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVj
dG9yLmgKQEAgLTMxLDcgKzMxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUmVnRXhw
UHJvdG90eXBlOwogICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGU7CiAKLSAgICBz
dHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlIDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3Ry
dWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNl
dHRpbmdzCiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6
IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBPYmplY3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgK
aW5kZXggMTlkZTkyOS4uOTFmY2YyYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBPYmplY3QuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVj
dC5oCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHZpcnR1YWwg
Q2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhw
T2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0
RGF0YSB7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9u
TnVsbFBhc3NSZWZQdHI8UmVnRXhwPiByZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAg
ICAgICAgICAgOiByZWdFeHAocmVnRXhwKQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxh
c3RJbmRleCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2Ny4uNjM2
MjgyYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKQEAgLTIxLDggKzIxLDYgQEAK
ICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAjZGVmaW5lIFNjb3BlQ2hhaW5faAogCi0jaW5jbHVkZSAi
RmFzdEFsbG9jQmFzZS5oIgotCiBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFs
RGF0YTsKQEAgLTMxLDcgKzI5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0
YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hhaW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29w
ZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWlu
Tm9kZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgU2NvcGVDaGFpbk5vZGUoU2NvcGVDaGFpbk5vZGUqIG5leHQsIEpTT2JqZWN0KiBvYmpl
Y3QsIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNPYmplY3QqIGdsb2JhbFRoaXMpCiAgICAgICAgICAgICA6IG5leHQobmV4dCkKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAppbmRleCBmMzU4NzI3Li5jMzM1ZGMyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKKysrIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCkBAIC0yOCw3ICsyOCw2IEBA
CiAKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkpTU3RyaW5nLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CkBAIC00MCw3ICszOSw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBp
c01hcmtlZChKU1N0cmluZyogc3RyaW5nKQogICAgIHJldHVybiBzdHJpbmcgJiYgSGVhcDo6aXND
ZWxsTWFya2VkKHN0cmluZyk7CiB9CiAKLWNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2UgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU21hbGxTdHJpbmdzU3RvcmFnZSk7CiBwdWJsaWM6CiAgICAgU21hbGxT
dHJpbmdzU3RvcmFnZSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRl
eCBkMWViZmIxMy4uYWM4NGZlOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
bWFsbFN0cmluZ3MuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5o
CkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIE1hcmtTdGFjazsK
ICAgICBjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlOwogCi0gICAgY2xhc3MgU21hbGxTdHJpbmdz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTbWFsbFN0cmluZ3MgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNtYWxsU3RyaW5ncygpOwogICAgICAgICB+U21h
bGxTdHJpbmdzKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRh
YmxlLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2
ZC4uMjYzNTUwMSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJs
ZS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYg
KzEyMiw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3Ry
aW5nSW1wbD4sIFN5bWJvbFRhYmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRz
PFJlZlB0cjxTdHJpbmdJbXBsPiA+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9s
VGFibGU7CiAKICAgICBjbGFzcyBTaGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJs
ZSwgcHVibGljIFJlZkNvdW50ZWQ8U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTaGFyZWRTeW1ib2xUYWJsZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJl
ZFN5bWJvbFRhYmxlKTsgfQogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtHQ01hcC5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAu
aAppbmRleCAzOWE5MWM1Li4yNjgzZDEzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1dlYWtHQ01hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgK
QEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlNDZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0
KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3Ry
dWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4K
LWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01h
cCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgLyoKICAgICBJbnZhcmlhbnRz
OgogICAgICAgICAqIEEgdmFsdWUgZW50ZXJzIHRoZSBXZWFrR0NNYXAgbWFya2VkLiAoR3VhcmFu
dGVlZCBieSBzZXQoKS4pCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtH
Q1B0ci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaAppbmRleCBhYzc3Y2Yz
Li42N2YxMWMzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKQEAgLTI4LDEyICsyOCwx
MiBAQAogCiAjaW5jbHVkZSAiQ29sbGVjdG9yLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21h
cnQgcG9pbnRlciB3aG9zZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0
aW5nIGRlc3RydWN0aW9uLgotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6
IE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dD
UHRyKCkKICAgICAgICAgOiBtX3B0cigwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFk
UmVmQ291bnRlZC5oCmluZGV4IDBjMGU5OTcuLjhiNjU5NzcgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgLy8gd2l0aCByZXNwZWN0IHRvIHRoZSBvcmlnaW5hbCBhbmQgYW55IG90aGVyIGNv
cGllcy4gIFRoZSB1bmRlcmx5aW5nIG1fZGF0YSBpcyBqb2ludGx5CiAgICAgLy8gb3duZWQgYnkg
dGhlIG9yaWdpbmFsIGluc3RhbmNlIGFuZCBhbGwgY29waWVzLgogICAgIHRlbXBsYXRlPGNsYXNz
IFQ+Ci0gICAgY2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDcm9zc1RocmVhZFJlZkNvdW50ZWQpOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q3Jvc3NUaHJlYWRSZWZDb3VudGVkPFQ+ID4gY3JlYXRlKFQqIGRh
dGEpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5o
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKaW5kZXggY2I4NDcwOC4uNzk0YmE3YSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvd3RmL0RhdGVNYXRoLmgKQEAgLTQ2LDcgKzQ2LDYgQEAKICNpbmNsdWRlIDxzdHJpbmcu
aD4KICNpbmNsdWRlIDx0aW1lLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAK
IG5hbWVzcGFjZSBXVEYgewpAQCAtMTE2LDcgKzExNSw5IEBAIGRvdWJsZSBwYXJzZURhdGVGcm9t
TnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKEV4ZWNTdGF0ZSosIGNvbnN0IGNoYXIqIGRhdGVTdHJp
bmcpCiAKIC8vIEludGVudGlvbmFsbHkgb3ZlcnJpZGRpbmcgdGhlIGRlZmF1bHQgdG0gb2YgdGhl
IHN5c3RlbS4KIC8vIFRoZSBtZW1iZXJzIG9mIHRtIGRpZmZlciBvbiB2YXJpb3VzIG9wZXJhdGlu
ZyBzeXN0ZW1zLgotc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIDogTm9uY29weWFibGUgeworc3Ry
dWN0IEdyZWdvcmlhbkRhdGVUaW1lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmVnb3Jp
YW5EYXRlVGltZSk7CitwdWJsaWM6CiAgICAgR3JlZ29yaWFuRGF0ZVRpbWUoKQogICAgICAgICA6
IHNlY29uZCgwKQogICAgICAgICAsIG1pbnV0ZSgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL0RlcXVlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAppbmRleCA3NDVlMGI2
Li4xYjE2YWZjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgV1RG
IHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBEZXF1ZUNvbnN0UmV2ZXJzZUl0ZXJh
dG9yOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBjbGFzcyBEZXF1ZSA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBEZXF1ZSB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9y
PFQ+IGl0ZXJhdG9yOwogICAgICAgICB0eXBlZGVmIERlcXVlQ29uc3RJdGVyYXRvcjxUPiBjb25z
dF9pdGVyYXRvcjsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNl
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCmluZGV4IGJiMTgyNWUuLmI2
YTUzNDYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaApAQCAtMzIsOCArMzIsOCBAQAog
Ly8gUHJvdmlkZXMgY3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBmYXN0TWFsbG9jL2Zhc3RGcmVl
IGFuZCBvcGVyYXRvciBuZXcvZGVsZXRlCiAvLwogLy8gUHJvdmlkZWQgZnVuY3Rpb25hbGl0eToK
Ky8vICAgIE1hY3JvOiBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogLy8gICAgbmFtZXNwYWNlIFdU
RiB7Ci0vLyAgICAgICAgY2xhc3MgRmFzdEFsbG9jQmFzZTsKIC8vCiAvLyAgICAgICAgVCogICAg
ZmFzdE5ldzxUPigpOwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oYXJnKTsKQEAgLTQ4LDcg
KzQ4LDEwIEBACiAvLyBGYXN0RGVsZXRlIGFzc3VtZXMgdGhhdCB0aGUgdW5kZXJseWluZwogLy8K
IC8vIEV4YW1wbGUgdXNhZ2U6Ci0vLyAgICBjbGFzcyBXaWRnZXQgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7IC4uLiB9OworLy8gICAgY2xhc3MgV2lkZ2V0IHsKKy8vICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRAorLy8gICAgLi4uCisvLyAgICB9OwogLy8KIC8vICAgIGNoYXIqIGNoYXJQ
dHIgPSBmYXN0TmV3PGNoYXI+KCk7CiAvLyAgICBmYXN0RGVsZXRlKGNoYXJQdHIpOwpAQCAtODUs
NDIgKzg4LDYgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLSNkZWZpbmUgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQgXAotcHVibGljOiBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9p
ZCogcCkgeyByZXR1cm4gcDsgfSBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2
b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKLSAgICBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNp
emVfdCBzaXplKSBcCi0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxv
YyhzaXplKTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9j
KHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCi0gICAgICAgIHJldHVy
biBwOyBcCi0gICAgfSBcCi0gICAgXAotICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHAp
IFwKLSAgICB7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShw
LCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAgICA6OldURjo6
ZmFzdEZyZWUocCk7IFwKLSAgICB9IFwKLSAgICBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3W10o
c2l6ZV90IHNpemUpIFwKLSAgICB7IFwKLSAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFs
bG9jKHNpemUpOyBcCi0gICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxv
YyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCi0gICAgICAg
IHJldHVybiBwOyBcCi0gICAgfSBcCi0gICAgXAotICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10o
dm9pZCogcCkgXAotICAgIHsgXAotICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlk
YXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCi0g
ICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKLSAgICB9IFwKLXByaXZhdGU6Ci0KLWNsYXNz
IEZhc3RBbGxvY0Jhc2UgewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEICAKLX07Ci0KICAg
ICAvLyBmYXN0TmV3IC8gZmFzdERlbGV0ZQogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CkBA
IC00MTAsNyArMzc3LDYgQEAgY2xhc3MgRmFzdEFsbG9jQmFzZSB7CiAKIH0gLy8gbmFtZXNwYWNl
IFdURgogCi11c2luZyBXVEY6OkZhc3RBbGxvY0Jhc2U7CiB1c2luZyBXVEY6OmZhc3REZWxldGVT
a2lwcGluZ0Rlc3RydWN0b3I7CiAKICNlbmRpZiAvLyBGYXN0QWxsb2NCYXNlX2gKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL0hhc2hDb3VudGVkU2V0LmgKaW5kZXggNGVkNzVjNS4uYjk3ZDhjOCAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL0hhc2hDb3VudGVkU2V0LmgKQEAgLTIyLDE0ICsyMiwxNCBAQAogI2RlZmluZSBXVEZfSGFz
aENvdW50ZWRTZXRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIkZhc3RB
bGxvY0Jhc2UuaCIKICNpbmNsdWRlICJIYXNoTWFwLmgiCiAjaW5jbHVkZSAiVmVjdG9yLmgiCiAK
IG5hbWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1l
IEhhc2hGdW5jdGlvbnMgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZT46Okhhc2gsCi0gICAg
ICAgIHR5cGVuYW1lIFRyYWl0cyA9IEhhc2hUcmFpdHM8VmFsdWU+ID4gY2xhc3MgSGFzaENvdW50
ZWRTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHR5cGVuYW1lIFRyYWl0cyA9
IEhhc2hUcmFpdHM8VmFsdWU+ID4gY2xhc3MgSGFzaENvdW50ZWRTZXQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hN
YXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAg
IHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZh
U2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4IDA5MDk0ZDEuLjc3MzE1NDYgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJn
ID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUg
S2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNB
cmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgotICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJn
IEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRz
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoU2V0LmgKaW5kZXggNjY2MzllNC4uYmU2YjkzZCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNl
dC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHN0cnVjdCBJZGVudGl0eUV4dHJhY3RvcjsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVB
cmc+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFZhbHVl
QXJnPiA+IGNsYXNzIEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHR5
cGVuYW1lIFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAg
IHR5cGVkZWYgSGFzaEFyZyBIYXNoRnVuY3Rpb25zOwogICAgICAgICB0eXBlZGVmIFRyYWl0c0Fy
ZyBWYWx1ZVRyYWl0czsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNl
dC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKaW5kZXggZTE0YWM0NS4uZTkx
NmVmMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKQEAgLTUyLDcgKzUyLDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVD
YXBhY2l0eT4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjsKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBIYXNoQXJn
PiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2RlSGFzaEZ1bmN0aW9uczsKIAotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhh
c2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RI
YXNoU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZh
bHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcgPSB0
eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0IHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAg
dHlwZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2RlOwog
ICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxWYWx1ZUFyZywgaW5saW5l
Q2FwYWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
TG9ja2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKaW5kZXggNDE4MTNkMy4uN2Rk
YzE0ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEgKzI4LDExIEBACiAjaWZuZGVmIExvY2tl
cl9oCiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2VyKTsKIHB1YmxpYzoKICAgICBMb2NrZXIo
VCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJsZSkgeyBtX2xvY2thYmxlLmxvY2soKTsg
fQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5sb2NrKCk7IH0KZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9NRDUuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaAppbmRleCAz
Y2FhODEwLi41ZmU1MGI1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1LmgKKysr
IGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCkBAIC0zMiw2ICszMiw3IEBACiAjZGVmaW5lIFdU
Rl9NRDVfaAogCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01lc3Nh
Z2VRdWV1ZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAw
YzkuLmQ3ZDU3MTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKQEAgLTMzLDcgKzMzLDYg
QEAKICNpbmNsdWRlIDxsaW1pdHM+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNs
dWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtNDgsNyArNDcsOCBAQCBu
YW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3NhZ2VzIGFyZSBmZXRjaGVkIGZyb20gdGhl
IHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNzYWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVl
IG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0g
ICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBN
ZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNzYWdlUXVldWUp
OwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkg
eyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Ob25jb3B5YWJsZS5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NWVkMmUuLjAwMDAwMDAKLS0tIGEvSmF2YVNj
cmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBA
Ci0vKgotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAq
Ci0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0jaWZuZGVmIFdURl9Ob25jb3B5YWJsZV9oCi0jZGVm
aW5lIFdURl9Ob25jb3B5YWJsZV9oCi0KLSNpZm5kZWYgX19oYXNfZmVhdHVyZQotICAgICNkZWZp
bmUgX19oYXNfZmVhdHVyZSh4KSAwCi0jZW5kaWYKLQotI2lmIF9faGFzX2ZlYXR1cmUoY3h4X2Rl
bGV0ZWRfZnVuY3Rpb25zKQotICAgICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NO
YW1lKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIpIFwKLSAgICAg
ICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVd1bmtub3duLXByYWdtYXNc
IiIpIFwKLSAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdjKysw
eC1leHRlbnNpb25zXCIiKSBcCi0gICAgICAgIHByaXZhdGU6IFwKLSAgICAgICAgICAgIENsYXNz
TmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAotICAgICAgICAgICAgQ2xhc3NOYW1l
JiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxldGU7IFwKLSAgICAgICAgX1ByYWdt
YSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQotI2Vsc2UKLSAgICAjZGVmaW5lIFdURl9NQUtFX05P
TkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBwcml2YXRlOiBcCi0gICAgICAgICAgICBD
bGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7IFwKLSAgICAgICAgICAgIENsYXNzTmFtZSYgb3Bl
cmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCi0jZW5kaWYKLQotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1
bWVudC1kZXBlbmRlbnQgbG9va3VwIHRvIHB1bGwgaW4gZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYK
LS8vIG5hbWVzcGFjZSB3aGVuIHlvdSB1c2UgTm9uY29weWFibGUsIHNvIHB1dCBpdCBpbiBpdHMg
b3duIG5hbWVzcGFjZS4KLQotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNl
IFdURk5vbmNvcHlhYmxlIHsKLQotICAgIGNsYXNzIE5vbmNvcHlhYmxlIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgewotICAgICAgICBOb25jb3B5YWJsZShjb25zdCBOb25jb3B5YWJsZSYpOwotICAg
ICAgICBOb25jb3B5YWJsZSYgb3BlcmF0b3I9KGNvbnN0IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJv
dGVjdGVkOgotICAgICAgICBOb25jb3B5YWJsZSgpIHsgfQotICAgICAgICB+Tm9uY29weWFibGUo
KSB7IH0KLSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXVEZOb25jb3B5YWJsZQotCi11c2luZyBX
VEZOb25jb3B5YWJsZTo6Tm9uY29weWFibGU7Ci0KLSNlbmRpZiAvLyBXVEZfTm9uY29weWFibGVf
aApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2NDNiOTBiLi5jZDY0ZWRhIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvT3duQXJyYXlQdHIuaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBXVEZfT3duQXJy
YXlQdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxl
LmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93bkFycmF5UHRyQ29tbW9uLmgi
CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgpAQCAtMzUsNyArMzQsNyBAQCBuYW1lc3BhY2UgV1RGIHsK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NPd25BcnJheVB0cjsKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxUPiBhZG9wdEFycmF5UHRyKFQqKTsKIAotdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0ciB7CiBwdWJsaWM6CiAgICAg
dHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvT3du
RmFzdE1hbGxvY1B0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaApp
bmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvT3du
RmFzdE1hbGxvY1B0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRy
LmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmluZSBPd25GYXN0TWFsbG9jUHRyX2gKIAogI2lu
Y2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZh
c3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPd25GYXN0TWFsbG9j
UHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4cGxpY2l0IE93bkZhc3RNYWxsb2NQdHIoVCog
cHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCmluZGV4IGNkYzI3N2Mu
LmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgV1RG
X093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiTm9uY29weWFi
bGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5jbHVkZSAiT3duUHRyQ29tbW9uLmgiCiAj
aW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyArMzgsNyBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duUHRyOwogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQdHIoVCopOwogCi0gICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewogICAgIHB1YmxpYzoKICAgICAgICAgdHlw
ZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpUeXBlIFZhbHVlVHlwZTsKICAgICAgICAg
dHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDEyYzNl
M2QuLmRkYzhhMGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0yLDYgKzIsNyBAQAogICogQ29w
eXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOSBUb3JjaCBNb2JpbGUsIEluYy4K
ICAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdl
ZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMTE4LDQgKzExMTksNjEgQEAK
ICNpbmNsdWRlICJHVHlwZWRlZnMuaCIKICNlbmRpZgogCisvKiBOb25jb3B5YWJsZSdzIGltcGxl
bWVudGF0aW9uIGFzIGEgbWFjcm8gKi8KKworI2lmbmRlZiBfX2hhc19mZWF0dXJlCisgICAgI2Rl
ZmluZSBfX2hhc19mZWF0dXJlKHgpIDAKKyNlbmRpZgorCisjaWYgX19oYXNfZmVhdHVyZShjeHhf
ZGVsZXRlZF9mdW5jdGlvbnMpCisgICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFz
c05hbWUpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwdXNoIikgXAorICAg
ICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV3Vua25vd24tcHJhZ21h
c1wiIikgXAorICAgICAgICBfUHJhZ21hKCJjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV2Mr
KzB4LWV4dGVuc2lvbnNcIiIpIFwKKyAgICAgICAgcHJpdmF0ZTogXAorICAgICAgICAgICAgQ2xh
c3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpID0gZGVsZXRlOyBcCisgICAgICAgICAgICBDbGFzc05h
bWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKSA9IGRlbGV0ZTsgXAorICAgICAgICBfUHJh
Z21hKCJjbGFuZyBkaWFnbm9zdGljIHBvcCIpCisjZWxzZQorICAgICNkZWZpbmUgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIHByaXZhdGU6IFwKKyAgICAgICAgICAg
IENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKTsgXAorICAgICAgICAgICAgQ2xhc3NOYW1lJiBv
cGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKKyNlbmRpZgorCisvKiBQcm92aWRlcyBjdXN0b21p
emFibGUgb3ZlcnJpZGVzIG9mIG9wZXJhdG9yIG5ldy9kZWxldGUgKi8KKworI2RlZmluZSBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRCBcCitwdWJsaWM6IFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXco
c2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdb
XShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAorICAgIFwKKyAgICB2b2lkKiBvcGVy
YXRvciBuZXcoc2l6ZV90IHNpemUpIFwKKyAgICB7IFwKKyAgICAgICAgdm9pZCogcCA9IDo6V1RG
OjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFs
aWRhdGVNYWxsb2MocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKKyAg
ICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxl
dGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFs
aWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCisgICAg
ICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0gXAorICAgIFwKKyAgICB2b2lkKiBvcGVy
YXRvciBuZXdbXShzaXplX3Qgc2l6ZSkgXAorICAgIHsgXAorICAgICAgICB2b2lkKiBwID0gOjpX
VEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKKyAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZh
bGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7
IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCBvcGVyYXRv
ciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisgICAgICAgICA6OldURjo6ZmFzdE1hbGxv
Y01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdB
cnJheSk7IFwKKyAgICAgICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAorICAgIH0gXAorcHJpdmF0
ZTogXAordHlwZWRlZiBpbnQgVGhpc0lzSGVyZVRvRm9yY2VBU2VtaWNvbG9uQWZ0ZXJUaGlzTWFj
cm8KKwogI2VuZGlmIC8qIFdURl9QbGF0Zm9ybV9oICovCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaApp
bmRleCA4ZDhiMzAyLi5lMDYyMjk0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVm
Q291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDcg
KzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgi
Ci0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAK
IG5hbWVzcGFjZSBXVEYgewogCkBAIC0xMzEsNyArMTMxLDggQEAgaW5saW5lIHZvaWQgYWRvcHRl
ZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkQmFzZSwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMg
UmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2b2lkIGRlcmVmKCkKICAgICB7
CkBAIC0xNDAsNiArMTQxLDcgQEAgcHVibGljOgogICAgIH0KIAogcHJvdGVjdGVkOgorICAgIFJl
ZkNvdW50ZWQoKSB7IH0KICAgICB+UmVmQ291bnRlZCgpCiAgICAgewogICAgIH0KZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQ
dHIuaAppbmRleCA2YWZhODg2Li5iMDdiODk0IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCkBAIC0yMyw5ICsy
Myw5IEBACiAjaWZuZGVmIFdURl9SZWZQdHJfaAogI2RlZmluZSBXVEZfUmVmUHRyX2gKIAotI2lu
Y2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSAi
UGFzc1JlZlB0ci5oIgorI2luY2x1ZGUgPGFsZ29yaXRobT4KKyNpbmNsdWRlIDx3dGYvRmFzdEFs
bG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtMzYsNyArMzYsOCBAQCBuYW1lc3Bh
Y2UgV1RGIHsKIAogICAgIGVudW0gSGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSB7IEhhc2hUYWJs
ZURlbGV0ZWRWYWx1ZSB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRy
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNz
IFJlZlB0ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoKSA6IG1fcHRyKDApIHsgfQogICAgICAgICBB
TFdBWVNfSU5MSU5FIFJlZlB0cihUKiBwdHIpIDogbV9wdHIocHRyKSB7IHJlZklmTm90TnVsbChw
dHIpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaAppbmRleCA3ZjZlYmZlLi4zYzA3NmNl
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKQEAgLTQyLDcgKzQyLDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIE1h
cHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnLCB0eXBlbmFt
ZSBNYXBwZWRUcmFpdHNBcmc+Ci0gICAgY2xhc3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFy
ZywgSGFzaEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hB
cmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPiB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJn
IEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRz
OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRo
cmVhZHMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRz
LmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5k
ZWYgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAjZGVmaW5lIFRocmVhZElkZW50aWZp
ZXJEYXRhUHRocmVhZHNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAogLy8gSG9sZHMgVGhyZWFk
SWRlbnRpZmllciBpbiB0aGUgdGhyZWFkLXNwZWNpZmljIHN0b3JhZ2UgYW5kIGVtcGxveXMgcHRo
cmVhZHMtc3BlY2lmaWMgMi1wYXNzIGRlc3RydWN0aW9uIHRvIHJlbGlhYmx5IHJlbW92ZQogLy8g
VGhyZWFkSWRlbnRpZmllciBmcm9tIHRocmVhZE1hcC4gSXQgYXNzdW1lcyByZWd1bGFyIFRocmVh
ZFNwZWNpZmljIHR5cGVzIGRvbid0IHVzZSBtdWx0aXBsZS1wYXNzIGRlc3RydWN0aW9uLgotY2xh
c3MgVGhyZWFkSWRlbnRpZmllckRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhy
ZWFkSWRlbnRpZmllckRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZElkZW50
aWZpZXJEYXRhKTsKIHB1YmxpYzoKICAgICB+VGhyZWFkSWRlbnRpZmllckRhdGEoKTsKIApkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKaW5kZXggMzNjNjYxMi4uYTZhMWNmMiAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBAIC02MiwxMiArNjIsMTIgQEAKICNp
bmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5o
PgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgVGhyZWFkU2FmZVNoYXJlZEJhc2UoaW50IGluaXRpYWxSZWZD
b3VudCA9IDEpCiAgICAgICAgIDogbV9yZWZDb3VudChpbml0aWFsUmVmQ291bnQpCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaCBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTcGVjaWZpYy5oCmluZGV4IDkzZWQ0NjYuLjExMzdiZDIgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTcGVjaWZpYy5oCkBAIC00MSw3ICs0MSw2IEBACiAjaWZuZGVmIFdURl9UaHJl
YWRTcGVjaWZpY19oCiAjZGVmaW5lIFdURl9UaHJlYWRTcGVjaWZpY19oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFVTRShQVEhSRUFEUykKICNpbmNsdWRlIDxwdGhyZWFk
Lmg+CkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXVEYgewogdm9pZCBUaHJlYWRTcGVjaWZp
Y1RocmVhZEV4aXQoKTsKICNlbmRpZgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUaHJl
YWRTcGVjaWZpYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
bGFzcyBUaHJlYWRTcGVjaWZpYyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU3Bl
Y2lmaWMpOwogcHVibGljOgogICAgIFRocmVhZFNwZWNpZmljKCk7CiAgICAgVCogb3BlcmF0b3It
PigpOwpAQCAtODQsNyArODQsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhdGljIGRlc3Ryb3ko
dm9pZCogcHRyKTsKIAogI2lmIFVTRShQVEhSRUFEUykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRG
T1JNKEdUSykgfHwgT1MoV0lORE9XUykKLSAgICBzdHJ1Y3QgRGF0YSA6IE5vbmNvcHlhYmxlIHsK
KyAgICBzdHJ1Y3QgRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGEpOwor
ICAgIHB1YmxpYzoKICAgICAgICAgRGF0YShUKiB2YWx1ZSwgVGhyZWFkU3BlY2lmaWM8VD4qIG93
bmVyKSA6IHZhbHVlKHZhbHVlKSwgb3duZXIob3duZXIpIHt9CiAjaWYgUExBVEZPUk0oUVQpCiAg
ICAgICAgIH5EYXRhKCkgeyBvd25lci0+ZGVzdHJveSh0aGlzKTsgfQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKaW5kZXggZjJjMGNhZC4uZDcyOTk2YSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCkBAIC0yMSw3ICsyMSw2IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAKICNpbmNsdWRlICJUaHJlYWRTcGVjaWZpYy5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURTKQogI2Vycm9yIFRoaXMgZmls
ZSBzaG91bGQgbm90IGJlIGNvbXBpbGVkIGJ5IHBvcnRzIHRoYXQgZG8gbm90IHVzZSBXaW5kb3dz
IG5hdGl2ZSBUaHJlYWRTcGVjaWZpYyBpbXBsZW1lbnRhdGlvbi4KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5jcHAKaW5kZXggNDlkZTU5ZS4uZjJlMDU2NSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZGluZy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAK
QEAgLTMwLDcgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLXN0cnVjdCBOZXdUaHJlYWRD
b250ZXh0IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTmV3VGhyZWFkQ29udGV4dChU
aHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lkKiBkYXRhLCBjb25zdCBjaGFyKiBuYW1lKQog
ICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQb2ludCkKICAgICAgICAgLCBkYXRhKGRhdGEpCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmgKaW5kZXggMDQ0MzY1Zi4uZGFlYTE4ZSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRpbmcuaApAQCAtNjYsNyArNjYsNiBAQAogI2luY2x1ZGUgPHd0Zi9BdG9taWNzLmg+CiAjaW5j
bHVkZSA8d3RmL0xvY2tlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVTaGFyZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZGluZ1ByaW1pdGl2ZXMuaAppbmRleCBjMTFhNmNiLi4wNjNkZWMyIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0xvY2tlci5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDx3aW5k
b3dzLmg+CkBAIC05Niw3ICs5NSw4IEBAIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1SZWFkV3JpdGVM
b2NrOwogdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybUNvbmRpdGlvbjsKICNlbmRpZgogICAgIAotY2xh
c3MgTXV0ZXggOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTXV0ZXggeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKE11dGV4KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgTXV0ZXgoKTsKICAgICB+TXV0ZXgoKTsKQEAgLTExMyw3ICsxMTMsOCBAQCBwcml2YXRl
OgogCiB0eXBlZGVmIExvY2tlcjxNdXRleD4gTXV0ZXhMb2NrZXI7CiAKLWNsYXNzIFJlYWRXcml0
ZUxvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhZFdyaXRlTG9jayB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhZFdyaXRlTG9jayk7CiBwdWJsaWM6CiAgICAgUmVhZFdy
aXRlTG9jaygpOwogICAgIH5SZWFkV3JpdGVMb2NrKCk7CkBAIC0xMzAsNyArMTMxLDggQEAgcHJp
dmF0ZToKICAgICBQbGF0Zm9ybVJlYWRXcml0ZUxvY2sgbV9yZWFkV3JpdGVMb2NrOwogfTsKIAot
Y2xhc3MgVGhyZWFkQ29uZGl0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRocmVh
ZENvbmRpdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkQ29uZGl0aW9uKTsK
IHB1YmxpYzoKICAgICBUaHJlYWRDb25kaXRpb24oKTsKICAgICB+VGhyZWFkQ29uZGl0aW9uKCk7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVmVjdG9yLmgKaW5kZXggZjczNzkzZi4uNjllM2Y4NiAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvd3RmL1ZlY3Rvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaApA
QCAtMjEsOCArMjEsNyBAQAogI2lmbmRlZiBXVEZfVmVjdG9yX2gKICNkZWZpbmUgV1RGX1ZlY3Rv
cl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUu
aCIKKyNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAiTm90Rm91bmQuaCIKICNpbmNs
dWRlICJTdGRMaWJFeHRyYXMuaCIKICNpbmNsdWRlICJWYWx1ZUNoZWNrLmgiCkBAIC0yNzcsNyAr
Mjc2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBhbGxvY2F0ZUJ1
ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAgLTQ4OCw3ICs0ODgsOCBAQCBu
YW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90
IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3IgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBWZWN0b3JCdWZmZXI8VCwgaW5saW5l
Q2FwYWNpdHk+IEJ1ZmZlcjsKICAgICAgICAgdHlwZWRlZiBWZWN0b3JUeXBlT3BlcmF0aW9uczxU
PiBUeXBlT3BlcmF0aW9uczsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJl
YWREYXRhLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCmluZGV4IDUwMTlj
MzMuLmQ5MjAxMGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRh
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaApAQCAtMjksNyArMjks
NiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIAogLy8gVGhpcyB3YXMgRU5BQkxFKFdPUktFUlMpIGluIFdlYkNvcmUsIGJ1dCB0
aGlzIGlzIG5vdCBkZWZpbmVkIHdoZW4gY29tcGlsaW5nIEpTQy4KQEAgLTUxLDcgKzUwLDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAKIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBjaGFyKiwgUmVmUHRyPFN0
cmluZ0ltcGw+LCBQdHJIYXNoPGNvbnN0IGNoYXIqPiA+IExpdGVyYWxJZGVudGlmaWVyVGFibGU7
CiAKLWNsYXNzIElkZW50aWZpZXJUYWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IElkZW50aWZpZXJUYWJsZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgfklkZW50aWZpZXJUYWJsZSgpOwogCkBAIC04NCw3ICs4NCw4IEBAIGNsYXNzIEF0b21p
Y1N0cmluZ1RhYmxlOwogCiB0eXBlZGVmIHZvaWQgKCpBdG9taWNTdHJpbmdUYWJsZURlc3RydWN0
b3IpKEF0b21pY1N0cmluZ1RhYmxlKik7CiAKLWNsYXNzIFdURlRocmVhZERhdGEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgV1RGVGhyZWFkRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV1RGVGhyZWFkRGF0YSk7CiBwdWJsaWM6CiAgICAgV1RGVGhyZWFkRGF0YSgpOwogICAg
IH5XVEZUaHJlYWREYXRhKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5j
cHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKaW5kZXggYzg5YzAzNi4uYjViMTI2MSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9kdG9hLmNwcApAQCAtNDE0LDcgKzQxNCwxMCBAQCBzdGF0aWMgdm9pZCBtdWx0KEJp
Z0ludCYgYVJlZiwgY29uc3QgQmlnSW50JiBiUmVmKQogICAgIGFSZWYgPSBjOwogfQogCi1zdHJ1
Y3QgUDVOb2RlIDogTm9uY29weWFibGUgeworc3RydWN0IFA1Tm9kZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUDVOb2RlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6Cisg
ICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5vZGUqIG5leHQ7CiB9Owpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oIGIvSmF2YVNj
cmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4IGNlYzNlNDMuLmEzN2Q5OGYgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2lu
Y2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19mcmVlKHZvaWQqKTsKIApA
QCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHUGF0dGVyblNw
ZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Rpcj4o
R0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0ZpbGU+KEdGaWxlKik7CiAK
LXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBHT3duUHRyKFQqIHB0
ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0cigpIHsgZnJlZU93bmVkR1B0ciht
X3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZl
ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggYTU0NmJm
My4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVm
ZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKQEAgLTMw
LDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
dW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBuYW1lc3BhY2UgV1RGIHsK
IAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0cmlu
Z0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5nQnVmZmVyKTsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVuZ3RoKQogICAgICAgICA6
IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0
cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5o
CmluZGV4IDY1Njc2NzIuLjI2YmMxZDkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
SW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0cmluZ0ltcGxCYXNlX2gK
ICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAot
Y2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5n
SW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ0ltcGxCYXNlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgYm9vbCBpc1N0cmluZ0ltcGwoKSB7
IHJldHVybiAobV9yZWZDb3VudEFuZEZsYWdzICYgc19yZWZDb3VudEludmFsaWRGb3JTdHJpbmdJ
bXBsKSAhPSBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0ltcGw7IH0KICAgICB1bnNpZ25lZCBs
ZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQpAQCAtNDUsOSArNDUsNiBAQCBwcm90
ZWN0ZWQ6CiAgICAgICAgIEJ1ZmZlclNoYXJlZCwKICAgICB9OwogCi0gICAgdXNpbmcgTm9uY29w
eWFibGU6Om9wZXJhdG9yIG5ldzsKLSAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lk
KiBpblBsYWNlKSB7IEFTU0VSVChpblBsYWNlKTsgcmV0dXJuIGluUGxhY2U7IH0KLQogICAgIC8v
IEZvciBTbWFsbFN0cmluZ1N0b3JhZ2UsIHdoaWNoIGFsbG9jYXRlcyBhbiBhcnJheSBhbmQgdXNl
cyBhbiBpbi1wbGFjZSBuZXcuCiAgICAgU3RyaW5nSW1wbEJhc2UoKSB7IH0KIApkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaCBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKaW5kZXggZmU2YTgwOS4uYThiY2UxMiAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWZuZGVmIFdU
Rl9Db2xsYXRvcl9oCiAjZGVmaW5lIFdURl9Db2xsYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi91
bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtMzksNyArMzgsOCBAQCBzdHJ1Y3QgVUNvbGxhdG9yOwog
CiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIGNsYXNzIENvbGxhdG9yIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDb2xsYXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENvbGxhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBlbnVtIFJlc3VsdCB7IEVxdWFsID0gMCwgR3JlYXRlciA9IDEsIExlc3MgPSAtMSB9OwogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaCBiL0phdmFT
Y3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCmluZGV4IDJlMjM0NzIuLmI3Y2VlZmMg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCkBAIC0zMDYsNyArMzA2LDgg
QEAgc3RydWN0IEJ5dGVUZXJtIHsKICAgICB9CiB9OwogCi1jbGFzcyBCeXRlRGlzanVuY3Rpb24g
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBCeXRlRGlzanVuY3Rpb24geworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEJ5dGVEaXNqdW5jdGlvbih1bnNp
Z25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAgICAgICA6IG1fbnVt
U3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMTksNyArMzIwLDkgQEAgcHVibGljOgog
ICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVjb2RlUGF0dGVybiA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQnl0ZWNvZGVQYXR0ZXJuKFBhc3NPd25QdHI8
Qnl0ZURpc2p1bmN0aW9uPiBib2R5LCBWZWN0b3I8Qnl0ZURpc2p1bmN0aW9uKj4gYWxsUGFyZW50
aGVzZXNJbmZvLCBSZWdleFBhdHRlcm4mIHBhdHRlcm4sIEJ1bXBQb2ludGVyQWxsb2NhdG9yKiBh
bGxvY2F0b3IpCiAgICAgICAgIDogbV9ib2R5KGJvZHkpCiAgICAgICAgICwgbV9pZ25vcmVDYXNl
KHBhdHRlcm4ubV9pZ25vcmVDYXNlKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9S
ZWdleFBhdHRlcm4uaCBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgKaW5kZXgg
Yzc2YzY0MS4uYjcyMDE3MyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBh
dHRlcm4uaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCkBAIC03MCw3
ICs3MCw5IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotc3RydWN0IENoYXJhY3RlckNsYXNzIDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIC8vIEFsbCBDaGFyYWN0ZXJDbGFzcyBpbnN0YW5j
ZXMgaGF2ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRjaGVzIGFuZCByYW5nZXMsCiAgICAg
Ly8gdGhleSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3IgZmFzdGVyIGxvb2t1cHMgKHdo
aWNoIG11c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVkIG1hdGNoZXMgYW5kIHJhbmdlcykK
QEAgLTIwNCw3ICsyMDYsOSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0gewogICAgIH0KIH07CiAKLXN0
cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0ZXJu
QWx0ZXJuYXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAg
IFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0aW9uKQogICAg
ICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRocm91Z2goZmFs
c2UpCkBAIC0yNDUsNyArMjQ5LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RB
bGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1zdHJ1Y3QgUGF0
dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVybkRpc2p1bmN0
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBQYXR0ZXJu
RGlzanVuY3Rpb24oUGF0dGVybkFsdGVybmF0aXZlKiBwYXJlbnQgPSAwKQogICAgICAgICA6IG1f
cGFyZW50KHBhcmVudCkKICAgICAgICAgLCBtX2hhc0ZpeGVkU2l6ZShmYWxzZSkKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwpp
bmRleCBjN2IyZGNlLi4xMjE0NmYxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VM
b2cKKysrIGIvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAt
MTEtMzAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29w
eWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20g
RmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAj
MzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQgCisgICAgICAgIEZhc3RBbGxv
Y0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5v
bmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKwor
ICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgor
CiAyMDEwLTEwLTI1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0R2x1
ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL0phdmFTY3JpcHRHbHVlL0Zv
cndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRHbHVlL0ZvcndhcmRpbmdI
ZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGE1N2I1NjYuLjJlYTFiOGUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMTAtMTEtMzAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlh
YmxlLmg6IFJlbW92ZWQuCisKIDIwMTAtMTEtMzAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJD
b3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLSNp
Zm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZXRF9Ob25j
b3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KLSNlbmRp
ZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMjg4YmI4MC4uYTc1YmY5
NCAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02MzU3OCwxMCArNjM1
NzgsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZl
UGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiDQotCQkJCQk+DQot
CQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGlu
Z0hlYWRlcnNcd3RmXE93bkFycmF5UHRyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCAyZWU1NmVlLi4wYzNmMDg3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTU3LDcgKzU3LDggQEAgc3RydWN0
IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91c2x5LCBQ
b3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
QVhPYmplY3RDYWNoZSgpOwogICAgIH5BWE9iamVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggYi9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgKaW5kZXggODA5YTQ4OC4uYjY5
NzZhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQ
cm92aWRlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJv
dmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0U291cmNlUHJvdmlk
ZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FjaGVk
U2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0ZShDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkg
eyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyKGNhY2hlZFNj
cmlwdCkpOyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVy
LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCmluZGV4IDRjMjU0MDcuLjkx
ZjFlNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaApAQCAtMjYsMTIgKzI2LDEyIEBA
CiAjaWZuZGVmIEdDQ29udHJvbGxlcl9oCiAjZGVmaW5lIEdDQ29udHJvbGxlcl9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJUaW1lci5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIEdDQ29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdDQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBmcmllbmQg
R0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIoKTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTljZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9va3Vw
Lmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFrR0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKICAg
ICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0
LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dy
YXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyLmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyByZW1v
dmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdpY2UK
IAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdXcmFw
cGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVnV3Jh
cHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFyZWQo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRl
LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4IDgx
OTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhy
ZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVj
U3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHd0
Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAgIHN0
YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uNTlhZDZmYyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWwsIGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHkuIFVz
ZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkKICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2YWwo
KQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjaGVkdWxlZEFjdGlvbj4gY3JlYXRlKEpT
Qzo6RXhlY1N0YXRlKiwgRE9NV3JhcHBlcldvcmxkKiBpc29sYXRlZFdvcmxkKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggMTVjMjNjNS4uNWY2
OTFkOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBA
IC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XaW5kb3c7
CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogCi0gICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDwg
UmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpTQzo6UHJvdGVjdGVkUHRyPEpTRE9NV2luZG93PiA+
IEpTRE9NV2luZG93U2V0OwogCiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRE
ZWJ1Z1NlcnZlci5oCmluZGV4IDMxNzJjNjUuLjMwMDBhYmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTU2LDcgKzU2LDggQEAgY2xhc3MgUGFnZUdyb3VwOwog
Y2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIGNsYXNzIEphdmFTY3JpcHRDYWxsRnJhbWU7CiAK
LWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dlciwgcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZpbmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8
cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRlOwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdl
OwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0
eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVBy
b3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlw
dFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjZlMmQ3YmUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTgg
QEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhh
c2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERh
dGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGll
bnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIEpTR2xvYmFsRGF0YVdvcmxkSXRlcmF0b3I7CiAgICAg
ZnJpZW5kIHZvaWQgaW5pdE5vcm1hbFdvcmxkQ2xpZW50RGF0YShKU0M6OkpTR2xvYmFsRGF0YSop
OwogCiBwdWJsaWM6CisgICAgV2ViQ29yZUpTQ2xpZW50RGF0YSgpIHsgfQogICAgIHZpcnR1YWwg
fldlYkNvcmVKU0NsaWVudERhdGEoKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQu
Y29udGFpbnMobV9ub3JtYWxXb3JsZC5nZXQoKSkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1dv
cmtlclNjcmlwdENvbnRyb2xsZXIuaAppbmRleCBiZTdkYTRkLi40NTc4OTEzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApAQCAtMzEsNyArMzEsNiBA
QAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5n
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgU2NyaXB0VmFsdWU7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAot
ICAgIGNsYXNzIFdvcmtlclNjcmlwdENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFdvcmtlclNjcmlwdENvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShXb3JrZXJTY3JpcHRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBXb3JrZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNvbnRl
eHQqKTsKICAgICAgICAgfldvcmtlclNjcmlwdENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRh
LmgKaW5kZXggYzhiNGE0MS4uMDlkNTM0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92
OC9ET01EYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKQEAgLTQzLDcg
KzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHRocmVhZC4gIFRoZSBET01EYXRh
IGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZSBET01EYXRhIGZvciBjaGlsZCB0aHJlYWRzCiAg
ICAgLy8gdXNlIGRpZmZlcmVudCBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRE9NRGF0
YSgpOwogICAgICAgICB2aXJ0dWFsIH5ET01EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3Rv
cmUuaAppbmRleCAzNzU4ZTIzLi44YzZjMDJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0RPTURhdGFTdG9yZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3Jl
LmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4
dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KQEAgLTE0OSw3ICsxNDgsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gVGhpcyBjbGFzcyBkb2Vzbid0IG1hbmFnZSB0aGUg
bGlmZXRpbWUgb2YgdGhlIHN0b3JlLiAgVGhlIGRhdGEgc3RvcmUKICAgICAvLyBsaWZldGltZSBp
cyBtYW5hZ2VkIGJ5IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBET01EYXRhU3RvcmUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGFTdG9yZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGFTdG9yZSk7CiAgICAgcHVibGljOgogICAgICAg
ICBlbnVtIERPTVdyYXBwZXJNYXBUeXBlIHsKICAgICAgICAgICAgIERPTU5vZGVNYXAsCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxYWExZjYyLi5m
NDJlODExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1l
RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgK
QEAgLTYwLDE0ICs2MCwxNCBAQCBwdWJsaWM6CiAKICNpbmNsdWRlICJPd25IYW5kbGUuaCIKICNp
bmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEZyYW1lOwogY2xhc3MgRE9NV2luZG93OwogCi1jbGFzcyBTY3Jp
cHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YSAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdENhY2hlZEZy
YW1lRGF0YSApOwogcHVibGljOgogICAgIFNjcmlwdENhY2hlZEZyYW1lRGF0YShGcmFtZSopOwog
ICAgIH5TY3JpcHRDYWNoZWRGcmFtZURhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
RGVidWdTZXJ2ZXIuaAppbmRleCA1YzVkNmM2Li40NDFhYjNkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92
OC9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSAiVGltZXIu
aCIKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTQ4LDcgKzQ3LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiAK
LWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNj
cmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1Nl
cnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCmluZGV4IGI3NWEwNTQuLmUwOTY5ZTEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKQEAgLTM2LDEzICszNiwxMyBAQAog
I2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgSW5zcGVjdG9yT2JqZWN0OwogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlw
dFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYg
dGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCmluZGV4IDExODEzYjAuLmRjMjQ3MTIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1
ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiBjbGFz
cyBQYWdlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTY3JpcHRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGUpOwog
cHVibGljOgogICAgIGJvb2wgaGFkRXhjZXB0aW9uKCkgeyByZXR1cm4gIW1fZXhjZXB0aW9uLklz
RW1wdHkoKTsgfQogICAgIHZvaWQgc2V0RXhjZXB0aW9uKHY4OjpMb2NhbDx2ODo6VmFsdWU+IGV4
Y2VwdGlvbikKQEAgLTc5LDcgKzc5LDggQEAgcHVibGljOgogICAgIH5FbXB0eVNjcmlwdFN0YXRl
KCkgeyB9CiB9OwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIFNjcmlw
dFN0YXRlUHJvdGVjdGVkUHRyKCkgOiBtX3NjcmlwdFN0YXRlKDApIHsgfQogICAgIFNjcmlwdFN0
YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSkgOiBtX3NjcmlwdFN0YXRl
KHNjcmlwdFN0YXRlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVk
U2NyaXB0VmFsdWUuY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFs
dWUuY3BwCmluZGV4IDM2ZmMxZjYuLjJjMjg3ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTEyOCw3ICsxMjgsOCBAQCBwcml2YXRlOgog
CiAvLyBXcml0ZXIgaXMgcmVzcG9uc2libGUgZm9yIHNlcmlhbGl6aW5nIHByaW1pdGl2ZSB0eXBl
cyBhbmQgc3RvcmluZwogLy8gaW5mb3JtYXRpb24gdXNlZCB0byByZWNvbnN0cnVjdCBjb21wb3Np
dGUgdHlwZXMuCi1jbGFzcyBXcml0ZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBXcml0ZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdyaXRlcik7CiBwdWJsaWM6CiAgICAgV3JpdGVyKCkK
ICAgICAgICAgOiBtX3Bvc2l0aW9uKDApCkBAIC0zNzcsNyArMzc4LDggQEAgcHVibGljOgogICAg
IH0KIAogcHJpdmF0ZToKLSAgICBjbGFzcyBTdGF0ZUJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFN0YXRlQmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0
YXRlQmFzZSk7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5TdGF0ZUJhc2UoKSB7IH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmggYi9XZWJDb3JlL2JyaWRnZS9C
cmlkZ2UuaAppbmRleCA1MGVmYzY0Li4wMGQ2ZjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9CcmlkZ2UuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaApAQCAtMjgsMTQgKzI4LDE1
IEBACiAjZGVmaW5lIEJyaWRnZV9oCiAKICNpbmNsdWRlICJCcmlkZ2VKU0MuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyAgewogCiBuYW1lc3BhY2UgQmlu
ZGluZ3MgewogCi1jbGFzcyBNZXRob2QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWV0
aG9kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXRob2QpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1Q
YXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9J
ZGVudGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uNWUxNTdjMCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJS
ZXAuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgog
I2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoaW50KTsKICAg
ICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGNvbnN0IGNoYXIqKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VK
U0MuaAppbmRleCA5Njk3NGQ5Li5lYmNmYWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9q
c2MvQnJpZGdlSlNDLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01
OSw4ICs1OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNs
YXNzIENsYXNzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDbGFzcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgorICAgIENsYXNzKCkgeyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChj
b25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVs
ZCogZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwg
Y29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsx
MjcsOCBAQCBwcml2YXRlOgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVP
YmplY3Q7CiB9OwogCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBB
cnJheSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFy
cmF5KFBhc3NSZWZQdHI8Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaCBiL1dlYkNvcmUvYnJpZGdlL3J1
bnRpbWVfcm9vdC5oCmluZGV4IGJhYmQ3YWQuLjM5ZmIzNTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfcm9vdC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5o
CkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZh
bHVlLmgKaW5kZXggODMzZDdmZS4uMTc0ZjFlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMzIsNiAr
MzIsNyBAQCBjbGFzcyBTdHlsZUNhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVJbWFnZTsKIAogY2xh
c3MgQ1NTSW1hZ2VWYWx1ZSA6IHB1YmxpYyBDU1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0ZSBDYWNo
ZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NT
SW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1w
b3J0UnVsZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLmFk
NGU5N2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJD
b3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NT
U3R5bGVTaGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1
YmxpYyBDU1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbXBv
cnRSdWxlPiBjcmVhdGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGhyZWYs
IFBhc3NSZWZQdHI8TWVkaWFMaXN0PiBtZWRpYSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2Nzcy9DU1NOYW1lc3BhY2UuaCBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCmluZGV4IDYy
MjVjMzYuLjkyNjM4ZjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCisr
KyBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCkBAIC0yNiw3ICsyNiw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotICAgIHN0cnVjdCBDU1NOYW1lc3BhY2UgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IENTU05hbWVzcGFjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENTU05hbWVzcGFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAg
ICAgICAgQXRvbWljU3RyaW5nIHByZWZpeDsKICAgICAgICAgQXRvbWljU3RyaW5nIHVyaTsKICAg
ICAgICAgT3duUHRyPENTU05hbWVzcGFjZT4gcGFyZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmggYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAxOTEyNDljLi45
MzdiOGVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaApAQCAtMzI5LDcgKzMyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBpbnQgY3NzUHJvcGVydHlJRChjb25zdCBTdHJpbmcmKTsKICAgICBpbnQgY3NzVmFsdWVL
ZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJik7CiAKLSAgICBjbGFzcyBTaG9ydGhhbmRT
Y29wZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
U2hvcnRoYW5kU2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIo
cGFyc2VyKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1
ZXMuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjk5NmU3
ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJz
ZXJWYWx1ZSB7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07
CiAKLWNsYXNzIENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIENTU1BhcnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KCkKICAgICAgICAgOiBtX2N1cnJlbnQoMCkK
QEAgLTgzLDcgKzg0LDkgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8Q1NTUGFyc2VyVmFsdWUsIDQ+
IG1fdmFsdWVzOwogfTsKIAotc3RydWN0IENTU1BhcnNlckZ1bmN0aW9uIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgogICAgIENTU1BhcnNlclN0cmluZyBuYW1lOwogICAgIE93blB0cjxDU1NQ
YXJzZXJWYWx1ZUxpc3Q+IGFyZ3M7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuaCBiL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKaW5kZXggMTA2MTcxZC4uMTBlNTkz
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgQ1NTUHJvcGVydHkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQ
cm9wZXJ0eSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NT
UHJvcGVydHkoaW50IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1w
b3J0YW50ID0gZmFsc2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxz
ZSkKICAgICAgICAgOiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40
MmNkZjc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9y
QmFnIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2Vs
ZWN0b3JCYWcoKSB7IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNT
RVJUKGlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIv
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCAwMGUyM2I5Li5kZGMwYWEwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVj
dG9yLmgKQEAgLTI0LDcgKzI0LDYgQEAKIAogI2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNp
bmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCkBAIC0zMyw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NT
ZWxlY3RvckJhZzsKIAogICAgIC8vIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZv
ciBhIFN0eWxlUnVsZQotICAgIGNsYXNzIENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBDU1NTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENTU1NlbGVjdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBDU1NTZWxlY3RvcigpCiAgICAgICAgICAgICA6IG1fcmVsYXRpb24oRGVzY2VuZGFudCkK
QEAgLTMwMiw3ICszMDIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHVuc2lnbmVk
IHNwZWNpZmljaXR5Rm9yUGFnZSgpIGNvbnN0OwogICAgICAgICB2b2lkIGV4dHJhY3RQc2V1ZG9U
eXBlKCkgY29uc3Q7CiAKLSAgICAgICAgc3RydWN0IFJhcmVEYXRhIDogTm9uY29weWFibGUgewor
ICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgUmFyZURhdGEoUGFzc093blB0cjxDU1NTZWxlY3Rvcj4gdGFnSGlzdG9yeSkK
ICAgICAgICAgICAgICAgICA6IG1fYSgwKQogICAgICAgICAgICAgICAgICwgbV9iKDApCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaCBiL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yTGlzdC5oCmluZGV4IDllNDBlZjguLjcxY2VhNmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yTGlzdC5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5o
CkBAIC0yNywxMSArMjcsMTEgQEAKICNkZWZpbmUgQ1NTU2VsZWN0b3JMaXN0X2gKIAogI2luY2x1
ZGUgIkNTU1NlbGVjdG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAKLWNsYXNzIENTU1NlbGVjdG9yTGlzdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBDU1NTZWxlY3Rvckxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENTU1NlbGVjdG9yTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIENTU1NlbGVjdG9yTGlzdCgpIDogbV9zZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NT
ZWxlY3Rvckxpc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMmYyZjNiNS4uYTE2
ZWE4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAo
aWQgPT0gcHJvcElEKSB7IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDU1NSdWxlU2V0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAg
fkNTU1J1bGVTZXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
aCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAppbmRleCBiNzE4NzUxLi4zZTJlYjc0
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVs
ZW1lbnQ7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlm
cmFtZXNSdWxlOwogCi1jbGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIE1lZGlhUXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnlSZXN1bHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBN
ZWRpYVF1ZXJ5UmVzdWx0KGNvbnN0IE1lZGlhUXVlcnlFeHAmIGV4cHIsIGJvb2wgcmVzdWx0KQog
ICAgICAgICA6IG1fZXhwcmVzc2lvbihleHByKQpAQCAtODIsNyArODMsOCBAQCBwdWJsaWM6CiB9
OwogCiAgICAgLy8gVGhpcyBjbGFzcyBzZWxlY3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4g
ZWxlbWVudCBiYXNlZCBvbiBhIGNvbGxlY3Rpb24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3Mg
Q1NTU3R5bGVTZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5
bGVTZWxlY3RvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1N0eWxlU2VsZWN0
b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0
eWxlU2VsZWN0b3IoRG9jdW1lbnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NT
dHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hlZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
Q1NTU3R5bGVTaGVldCogcGFnZVVzZXJTaGVldCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHls
ZVNoZWV0PiA+KiBwYWdlR3JvdXBVc2VyU2hlZXRzLApAQCAtMjA5LDcgKzIxMSw4IEBAIHB1Ymxp
YzoKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRB
dmFpbGFibGUoKSB7IHJldHVybiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAg
Y2xhc3MgU2VsZWN0b3JDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xh
c3MgU2VsZWN0b3JDaGVja2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNl
bGVjdG9yQ2hlY2tlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hl
Y2tlcihEb2N1bWVudCosIGJvb2wgc3RyaWN0UGFyc2luZyk7CiAKQEAgLTMxNSw3ICszMTgsOCBA
QCBwdWJsaWM6CiAgICAgICAgIFZlY3RvcjxNZWRpYVF1ZXJ5UmVzdWx0Kj4gbV92aWV3cG9ydERl
cGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTUnVsZURhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NSdWxlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NT
dHlsZVJ1bGUqIHIsIENTU1NlbGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAg
ICAgICAgICAgIDogbV9wb3NpdGlvbihwb3MpCkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgog
ICAgICAgICBDU1NSdWxlRGF0YSogbV9uZXh0OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxl
RGF0YUxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlz
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGFMaXN0
KHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2VsKQogICAg
ICAgICAgICAgOiBtX2ZpcnN0KG5ldyBDU1NSdWxlRGF0YShwb3MsIHJ1bGUsIHNlbCkpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
LmgKaW5kZXggMjgxMDA5Yi4uYTYzOGFjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeS5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaApAQCAtMzcsNyArMzcsOCBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFRdWVyeUV4cDsKIAotY2xhc3MgTWVkaWFR
dWVyeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9yIHsKICAgICAgICAgT25seSwgTm90LCBOb25lCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmggYi9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXggMDBhYzM5NC4uMDdjNGQwZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBNZWRpYVF1ZXJ5RXhw
OwogICogdGhlIGRldmljZSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5vdCBrbm93bi4gVGhpcyBjYW4g
YmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGluZwogICogb2Ygc3R5bGVzaGVldHMgdG8gb25seSB0
aG9zZSB3aGljaCBhcmUgcHJvYmFibGUgdG8gbWF0Y2guCiAgKi8KLWNsYXNzIE1lZGlhUXVlcnlF
dmFsdWF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRv
ciB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlFdmFsdWF0b3IpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Ig
d2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVh
dG9yIHJldHVybnMgdHJ1ZSBmb3IgImFsbCIsIGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZl
YXR1cmVSZXN1bHQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAppbmRleCA3MmQzZmZmLi43ZTRkNDc3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUV4cC5oCkBAIC0zOCw3ICszOCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBD
U1NQYXJzZXJWYWx1ZUxpc3Q7CiAKLWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVF1ZXJ5RXhwPiBjcmVh
dGUoY29uc3QgQXRvbWljU3RyaW5nJiBtZWRpYUZlYXR1cmUsIENTU1BhcnNlclZhbHVlTGlzdCog
dmFsdWVzKTsKICAgICB+TWVkaWFRdWVyeUV4cCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
QXN5bmNTY3JpcHRSdW5uZXIuY3BwIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3Bw
CmluZGV4IDdmNWYxYjYuLjRhOGQyNWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2Ny
aXB0UnVubmVyLmNwcAorKysgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKQEAg
LTU3LDcgKzU3LDcgQEAgdm9pZCBBc3luY1NjcmlwdFJ1bm5lcjo6ZXhlY3V0ZVNjcmlwdFNvb24o
U2NyaXB0RWxlbWVudCogZGF0YSwgQ2FjaGVkUmVzb3VyY2VIYW4KICAgICBBU1NFUlQoZWxlbWVu
dC0+aW5Eb2N1bWVudCgpKTsKIAogICAgIG1fZG9jdW1lbnQtPmluY3JlbWVudExvYWRFdmVudERl
bGF5Q291bnQoKTsKLSAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChtYWtlX3BhaXIo
ZGF0YSwgY2FjaGVkU2NyaXB0KSk7CisgICAgbV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBlbmQo
c3RkOjptYWtlX3BhaXIoZGF0YSwgY2FjaGVkU2NyaXB0KSk7CiAgICAgZWxlbWVudC0+cmVmKCk7
IC8vIEJhbGFuY2VkIGJ5IGRlcmVmKClzIGluIHRpbWVyRmlyZWQoKSBhbmQgZHRvci4KICAgICBp
ZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9k
b20vQXN5bmNTY3JpcHRSdW5uZXIuaAppbmRleCAxYTA1MWE4Li4zZjcxZGYzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5j
U2NyaXB0UnVubmVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIApAQCAtMzgsNyArMzcsOCBAQCBjbGFzcyBDYWNoZWRTY3JpcHQ7CiBjbGFzcyBEb2N1bWVu
dDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiAgICAgCi1jbGFzcyBBc3luY1NjcmlwdFJ1bm5lciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY1NjcmlwdFJ1bm5lciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXN5bmNTY3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxBc3luY1NjcmlwdFJ1bm5lcj4g
Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkgeyByZXR1cm4gbmV3IEFzeW5jU2NyaXB0UnVubmVy
KGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1NjcmlwdFJ1bm5lcigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmggYi9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAppbmRl
eCA4NmEyMmIwLi43NTE0YWI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAu
aAorKysgYi9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2Rl
ZmluZSBET01TdHJpbmdNYXBfaAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTM1LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgRWxlbWVudDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIERPTVN0cmlu
Z01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01TdHJpbmdNYXAgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERPTVN0cmluZ01hcCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
MTY5NGEzNy4uZDk5YWU2YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDY1NSw3ICs0NjU1LDkgQEAgdm9pZCBE
b2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGwKICAgICAgICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uo
c291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0K
IAotc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJm
b3JtVGFza0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29u
dGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBlcmZvcm1UYXNr
Q29udGV4dChQYXNzUmVmUHRyPERvY3VtZW50V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVu
Y2UsIFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAg
ICAgOiBkb2N1bWVudFJlZmVyZW5jZShkb2N1bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNr
KHRhc2spCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIu
aCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCmluZGV4IDk2ZmI3ZjMu
LmUxMmYyM2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxl
ci5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCkBAIC0zOCw4
ICszOCwxMCBAQCBjbGFzcyBJbnRSZWN0OwogY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogCi1j
bGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
b2N1bWVudE1hcmtlckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKKyAgICBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7IH0KICAgICB+RG9jdW1lbnRNYXJr
ZXJDb250cm9sbGVyKCkgeyBkZXRhY2goKTsgfQogCiAgICAgdm9pZCBkZXRhY2goKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50LmggYi9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGYw
NWQzNmMuLmNkNDlkZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvV2Vi
Q29yZS9kb20vRXZlbnQuaApAQCAtMjQsNiArMjQsNyBAQAogI2lmbmRlZiBFdmVudF9oCiAjZGVm
aW5lIEV2ZW50X2gKIAorI2luY2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkRPTVRpbWVT
dGFtcC5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KQEAgLTMxLDggKzMyLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xh
c3MgQ2xpcGJvYXJkOwotCiAgICAgY2xhc3MgRXZlbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVu
dD4gewogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBQaGFzZVR5cGUgeyAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRl
eCA0OTY4MDRlLi42ODZkOWIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgK
KysrIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xNzgsNyArMTc4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIFwKIC8vIGVuZCBvZiBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gK
IAotICAgIGNsYXNzIEV2ZW50TmFtZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IEV2ZW50TmFtZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudE5hbWVzKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRv
IG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8gd29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBw
cmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBFdmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5h
bWVzKCkKICAgICAgICAgRXZlbnROYW1lcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uODFl
ZWI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0
ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3Rl
bmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1hcDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERh
dGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgRXZlbnRUYXJnZXREYXRhKCk7CiAgICAgICAg
IH5FdmVudFRhcmdldERhdGEoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vSWdub3JlRGVz
dHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3Ry
dWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKaW5kZXggOWQxODM1YS4uMjZmN2ZkMCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50
ZXIuaAorKysgYi9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1l
bnRlci5oCkBAIC0yNywxMSArMjcsMTEgQEAKICNkZWZpbmUgSWdub3JlRGVzdHJ1Y3RpdmVXcml0
ZUNvdW50SW5jcmVtZW50ZXJfaAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIpOwog
cHVibGljOgogICAgIGV4cGxpY2l0IElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyKERvY3VtZW50KiBkb2N1bWVudCkKICAgICAgICAgOiBtX2NvdW50KGRvY3VtZW50ID8gJmRv
Y3VtZW50LT5tX2lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudCA6IDApCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaCBiL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0
Q2hhbm5lbC5oCmluZGV4IGYzMDhhMjkuLjA3NjY4YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oCkBAIC01NSw3ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIE1lc3Nh
Z2VQb3J0Q2hhbm5lbCBpcyBhIHBsYXRmb3JtLWluZGVwZW5kZW50IGludGVyZmFjZSB0byB0aGUg
cmVtb3RlIHNpZGUgb2YgYSBtZXNzYWdlIGNoYW5uZWwuCiAgICAgLy8gSXQgYWN0cyBhcyBhIHdy
YXBwZXIgYXJvdW5kIHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgUGxhdGZvcm1NZXNzYWdlUG9ydENo
YW5uZWwgaW1wbGVtZW50YXRpb24gd2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBwbGF0Zm9ybS1kZXBl
bmRlbnQgY2xvc2UoKSBtZXRob2QgaXMgaW52b2tlZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uCi0gICAg
Y2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBNZXNzYWdlUG9ydENoYW5uZWwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNz
YWdlUG9ydENoYW5uZWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNoYW5uZWwoUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4s
IFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+KTsKIApAQCAtNzgsNyArNzksOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcHJveHkgY3VycmVudGx5
IGNvbnRhaW5zIG1lc3NhZ2VzIGZvciB0aGlzIHBvcnQuCiAgICAgICAgIGJvb2wgaGFzUGVuZGlu
Z0FjdGl2aXR5KCk7CiAKLSAgICAgICAgY2xhc3MgRXZlbnREYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICAgICAgY2xhc3MgRXZlbnREYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEV2ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBw
dWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQ
YXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRD
aGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgg
Yi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAppbmRleCBhYjIwOGQyLi43MzUwZjgwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2Rl
UmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0
cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNO
b2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8RHlu
YW1pY05vZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAgTm9kZUxpc3RTZXQgbV9saXN0c1dpdGhD
YWNoZXM7CiAgICAgCkBAIC02Nyw3ICs2OSw4IEBAIHByaXZhdGU6CiAgICAgfQogfTsKICAgICAK
LWNsYXNzIE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOb2RlUmFy
ZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGVSYXJlRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOiAgICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAg
ICA6IG1fdGFiSW5kZXgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUu
aCBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAppbmRleCAzNGZjMDY5Li5jYjk1ZjIwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysrIGIvV2ViQ29yZS9kb20v
UXVhbGlmaWVkTmFtZS5oCkBAIC0zMiw3ICszMiw4IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29t
cG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFs
aWZpZWROYW1lIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUXVhbGlmaWVkTmFtZSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgY2xhc3MgUXVhbGlm
aWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxRdWFsaWZpZWROYW1lSW1wbD4gewogICAg
IHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNv
cmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCBiNmJlYjZlLi40MDEzYzFjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3Jp
cHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3JpcHRFbGVtZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNv
dXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
U2NyaXB0RWxlbWVudChFbGVtZW50KiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIsIGJvb2wgaXNFdmFs
dWF0ZWQpOwogICAgIHZpcnR1YWwgflNjcmlwdEVsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaAppbmRleCBiNDZhMGY0Li40NTY2YTYxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oCkBAIC0xMTYsOCArMTE2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCByZWYoKSB7IHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogICAg
ICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogCi0g
ICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBU
YXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgorICAgICAgICAgICAgVGFzaygpIHsgfQog
ICAgICAgICAgICAgdmlydHVhbCB+VGFzaygpOwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBl
cmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CiAgICAgICAgICAgICAvLyBD
ZXJ0YWluIHRhc2tzIGdldCBtYXJrZWQgc3BlY2lhbGx5IHNvIHRoYXQgdGhleSBhcmVuJ3QgZGlz
Y2FyZGVkLCBhbmQgYXJlIGV4ZWN1dGVkLCB3aGVuIHRoZSBjb250ZXh0IGlzIHNodXR0aW5nIGRv
d24gaXRzIG1lc3NhZ2UgcXVldWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0
U3RyaW5nLmggYi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKaW5kZXggODI2ZTZiZC4u
NmViODkzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCisrKyBi
L1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTcGFjZVNwbGl0U3RyaW5nRGF0YSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU3BhY2VTcGxpdFN0cmluZ0RhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGFjZVNwbGl0U3RyaW5nRGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU3BhY2VTcGxpdFN0cmluZ0RhdGEo
Y29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9sZENhc2UpCiAgICAgICAgICAgICA6
IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uoc2hvdWxkRm9sZENhc2UpLCBtX2Ny
ZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3Vy
Y2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCmluZGV4IGY5N2FmY2YuLjZjMDE0
YTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCisrKyBiL1dlYkNv
cmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0yMyw3ICsyMyw2IEBACiAjaWYgRU5BQkxFKFhT
TFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2U7
CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBUcmFuc2Zvcm1Tb3VyY2UoY29uc3QgUGxhdGZvcm1UcmFuc2Zvcm1Tb3Vy
Y2UmIHNvdXJjZSk7CiAgICAgICAgIH5UcmFuc2Zvcm1Tb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmggYi9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVy
ZUluZGljYXRvci5oCmluZGV4IDE3ZWEzMTkuLmRlNTdlZmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJ
bmRpY2F0b3IuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBVc2VyR2VzdHVyZUluZGljYXRv
cl9oCiAjZGVmaW5lIFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM2LDcgKzM1LDggQEAgZW51
bSBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSB7CiAgICAgRGVmaW5pdGVseU5vdFByb2Nlc3Np
bmdVc2VyR2VzdHVyZQogfTsKIAotY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFVzZXJHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
Ym9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2Vz
dHVyZSA9PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CiAgICAgc3RhdGljIFBy
b2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIGdldFVzZXJHZXN0dXJlU3RhdGUoKSB7IHJldHVybiBz
X3Byb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlclR5
cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yLmgKaW5kZXggNmM3MTA3OS4uYmMzYWNlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFVzZXJUeXBpbmdH
ZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNCw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsKIAotY2xhc3MgVXNlclR5cGluZ0dlc3R1cmVJ
bmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclR5cGluZ0dlc3R1cmVJ
bmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBwcm9jZXNzaW5nVXNlclR5cGluZ0dl
c3R1cmUoKTsKICAgICBzdGF0aWMgTm9kZSogZm9jdXNlZEVsZW1lbnRBdEdlc3R1cmVTdGFydCgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaCBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKaW5kZXggZTNkM2NjMi4uZWU4MWQ3OSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxE
b2N1bWVudFBhcnNlci5oCkBAIC03MSw2ICs3MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNl
bmRpZgogCiAgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXIgOiBwdWJsaWMgU2NyaXB0YWJsZURv
Y3VtZW50UGFyc2VyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFhNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGcmFtZVZp
ZXcqIHZpZXcpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyTGlieG1sMi5jcHAgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIu
Y3BwCmluZGV4IDdhMzI4NWYuLjZlZGU3ODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERv
Y3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJz
ZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUsMTAgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFja3MgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVibGljOgorICAgIFBlbmRpbmdDYWxsYmFja3Mo
KSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNrcygpCiAgICAgewogICAgICAgICBkZWxldGVBbGxW
YWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQ
YXJzZXJTY29wZS5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCmluZGV4
IDU4ZThhNmIuLjhmNDE5MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFy
c2VyU2NvcGUuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKQEAg
LTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9oCiAjZGVmaW5l
IFhNTERvY3VtZW50UGFyc2VyU2NvcGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKICNpZiBFTkFCTEUoWFNMVCkKICNpbmNsdWRlIDxsaWJ4bWwvdHJlZS5oPgpAQCAtMzYsNyAr
MzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxv
YWRlcjsKIAotICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShYTUxEb2N1bWVudFBhcnNlclNjb3BlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2NvcGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hl
ZFJlc291cmNlTG9hZGVyKTsKICAgICAgICAgflhNTERvY3VtZW50UGFyc2VyU2NvcGUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmggYi9XZWJD
b3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCmluZGV4IDEyODZjMDcuLjRkOTI4
YzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgK
KysrIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApAQCAtMzYsNyAr
MzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFZp
c2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9uQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoRnJhbWUqKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBi
L1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggZmI1MmU1
Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25D
b21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQu
Y3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0gRUZyYWdtZW50VHlwZSB7IEVtcHR5RnJhZ21lbnQs
IFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9OwogCiAvLyAtLS0gUmVwbGFj
ZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50KTsKIHB1YmxpYzoKICAgICBS
ZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRGcmFnbWVudCosIGJvb2wgbWF0
Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlv
bkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0Li5kNTU2MGY1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9TZWxl
Y3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJTY3JvbGxCZWhh
dmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiVmlzaWJsZVNlbGVjdGlvbi5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogCiBlbnVtIERpcmVjdGlv
bmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0aW9uLCBNYWtlRGlyZWN0aW9u
YWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgZW51bSBFQWx0ZXJhdGlvbiB7IEFsdGVyYXRpb25Nb3ZlLCBBbHRlcmF0aW9u
RXh0ZW5kIH07CiAgICAgZW51bSBFRGlyZWN0aW9uIHsgRGlyZWN0aW9uRm9yd2FyZCwgRGlyZWN0
aW9uQmFja3dhcmQsIERpcmVjdGlvblJpZ2h0LCBEaXJlY3Rpb25MZWZ0IH07CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmggYi9XZWJDb3JlL2VkaXRpbmcv
VGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXggNGRjZWQwNS4uZGU5Yzc1NSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCisrKyBiL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAtNzIsNyArNzIsOCBAQCBwcml2YXRlOgogICAgIG11
dGFibGUgaW50IG1fY2hlY2tpbmdMZW5ndGg7CiB9OwogCi1jbGFzcyBUZXh0Q2hlY2tpbmdIZWxw
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGV4dENoZWNraW5nSGVscGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q2hlY2tpbmdIZWxwZXIpOwogcHVibGljOgogICAg
IFRleHRDaGVja2luZ0hlbHBlcihFZGl0b3JDbGllbnQqLCBQYXNzUmVmUHRyPFJhbmdlPik7CiAg
ICAgflRleHRDaGVja2luZ0hlbHBlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRJdGVyYXRvci5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCAx
YmM1NThhLi41Mzg3ZTQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9y
LmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtNjEsNyArNjEs
OCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogLy8gQ2FzZSBmb2xkaW5nIGlzIGFsc28g
ZG9uZSBpZiB0aGUgQ2FzZUluc2Vuc2l0aXZlIG9wdGlvbiBpcyBzcGVjaWZpZWQuCiAvLyBNYXRj
aGVzIGFyZSBmdXJ0aGVyIGZpbHRlcmVkIGlmIHRoZSBBdFdvcmRTdGFydHMgb3B0aW9uIGlzIHNw
ZWNpZmllZCwgYWx0aG91Z2ggc29tZQogLy8gbWF0Y2hlcyBpbnNpZGUgYSB3b3JkIGFyZSBwZXJt
aXR0ZWQgaWYgVHJlYXRNZWRpYWxDYXBpdGFsQXNXb3JkU3RhcnQgaXMgc3BlY2lmaWVkIGFzIHdl
bGwuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Vh
cmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWFyY2hCdWZmZXIpOwogcHVi
bGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJpbmcmIHRhcmdldCwgRmluZE9wdGlvbnMp
OwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxl
VGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1
MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2Vi
Q29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApAQCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBzdGFydCgpOwogICAgIHZvaWQgc3RvcCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxl
U3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4uMTJhNzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL0xvY2FsRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0
ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlv
biBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xh
c3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmls
ZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1
YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxl
U3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2Nh
bEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Zp
bGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmggYi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNr
SGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIwYWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxl
YXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisrKyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJh
Y2tIZWxwZXIuaApAQCAtNTgsNyArNTgsOCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBB
IGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmlsZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0NhbGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5
cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBlbmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxi
YWNrSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIFN5bmNDYWxsYmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2Vy
dmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJlc3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0Nh
bGxiYWNrSGVscGVyKE9ic2VydmVyVHlwZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0Jh
Y2tGb3J3YXJkQ29udHJvbGxlci5oCmluZGV4IGU4OWUzMmIuLjk3ZWQ2YjkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hp
c3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYg
QmFja0ZvcndhcmRDb250cm9sbGVyX2gKICNkZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tG
b3J3YXJkTGlzdDsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFj
a0ZvcndhcmRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3
YXJkQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250
cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQmFja0Zvcndh
cmRDb250cm9sbGVyKFBhZ2UqLCBQYXNzUmVmUHRyPEJhY2tGb3J3YXJkTGlzdD4pOwogICAgIH5C
YWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaGlzdG9yeS9QYWdl
Q2FjaGUuaCBiL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAppbmRleCA3MWFlNWFkLi5jZjJh
MGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvV2ViQ29y
ZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiVGltZXIu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07
CiAgICAgY2xhc3MgUGFnZTsKICAgICAKLSAgICBjbGFzcyBQYWdlQ2FjaGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFBhZ2VDYWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBhZ2VDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSogcGFnZUNhY2hlKCk7CiAgICAgICAgIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oIGIvV2ViQ29yZS9odG1sL0NvbGxl
Y3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEuLjhlNGEwNjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hl
LmgKQEAgLTI5LDcgKzI5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50
OwogCi1zdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ29s
bGVjdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAg
ICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlv
bkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNhY2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlv
bkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFi
NC4uOGY2ZmQ0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0
LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1
LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3Qg
OiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJsaWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2Vu
TGlzdD4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPERPTVNldHRhYmxlVG9rZW5MaXN0PiBjcmVhdGUoKQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tl
bkxpc3QuaAppbmRleCA1ZGYyZWRlLi4wYjc1YjY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwv
RE9NVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0yNywx
NSArMjcsMTYgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9taWNTdHJpbmcuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVu
dDsKIAotY2xhc3MgRE9NVG9rZW5MaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERP
TVRva2VuTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NVG9rZW5MaXN0KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRE9NVG9rZW5MaXN0KCkgeyB9CiAg
ICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0KCkge307CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkg
PSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDNkMTcxOTQuLjU5ZTk3ODMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTEyMTEsNyArMTIxMSw5IEBAIGJvb2wgSFRN
TElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVTZXBhcmF0ZUZyb21BdHRyaWJ1dGUoKSBjb25zdAog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RydWN0IEV2ZW50SGFuZGxpbmdTdGF0ZSA6IEZhc3RB
bGxvY0Jhc2Ugeworc3RydWN0IEV2ZW50SGFuZGxpbmdTdGF0ZSB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3Vy
clJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVybWluYXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRt
bC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXggNTBkZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBh
cnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJr
c19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQ
YXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJr
cyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6
CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQogICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWly
a3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaAppbmRleCA1MDBjY2IzLi4xNDVlZGFiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0z
Myw3ICszMyw2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5w
dXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRN
TElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBvc2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBh
bmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8gY2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1M
SW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5w
dXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVudCosIGNvbnN0IEF0b21pY1N0cmluZyYpOwog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlVGV4dChIVE1MSW5wdXRFbGVt
ZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmggYi9XZWJDb3JlL2h0
bWwvU3RlcFJhbmdlLmgKaW5kZXggY2UwNDRlYS4uMWYxNjZiZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaApAQCAtMjIs
MTMgKzIyLDEzIEBACiAjZGVmaW5lIFN0ZXBSYW5nZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAKLWNsYXNzIFN0ZXBSYW5nZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFuZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYXNTdGVwOwogICAgIGRvdWJsZSBzdGVw
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmggYi9XZWJDb3Jl
L2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAppbmRleCBmZTE4YjZiLi5mODNhNWU4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAorKysgYi9XZWJDb3JlL2h0bWwv
VmFsaWRhdGlvbk1lc3NhZ2UuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBWYWxpZGF0aW9u
TWVzc2FnZV9oCiAKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIApAQCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhU
TUxGb3JtQ29udHJvbEVsZW1lbnQ7CiAKLWNsYXNzIFZhbGlkYXRpb25NZXNzYWdlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkYXRpb25NZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShWYWxpZGF0aW9uTWVzc2FnZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8VmFsaWRhdGlvbk1lc3NhZ2U+IGNyZWF0ZShIVE1MRm9ybUNvbnRyb2xFbGVtZW50Kik7
CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAppbmRleCA1MzJkZGIy
Li5jM2ZjZGZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBi
L1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBWYWxpZGl0eVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFZhbGlkaXR5U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlk
aXR5U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBjcmVhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCog
Y29udHJvbCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dC5oCmluZGV4IGEyNWU4YTEuLjE1OTQ1NDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiR3Jh
cGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgSFRNTFZpZGVvRWxlbWVudDsK
IGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9iamVjdDsKIAotY2xhc3MgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250
ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYW52YXNSZW5kZXJpbmdDb250ZXh0KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0Nv
bnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNj
YW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRleCA3
YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxv
YWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5o
CkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50Owog
Y2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGljOgogICAgIENTU1ByZWxvYWRTY2FubmVy
KERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0
cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUu
aAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29u
c3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRT
dGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCIKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3
ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIGNsYXNzIERvY3VtZW50OwogY2xhc3Mg
RWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1YmxpYzoKICAgICBIVE1MQ29uc3RydWN0aW9u
U2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiwgYm9vbCBpc1BhcnNp
bmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rpb25TaXRlKCk7CkBAIC04OSw3ICs4OSw4
IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQqIGZvcm0oKSBjb25zdCB7IHJldHVybiBt
X2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gdGFrZUZvcm0o
KTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3Ry
dWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDogbV90cmVlKHRyZWUpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCAwNTA1M2RmLi41YTU2MDJmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAg
Y2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNz
IEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBI
VE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxEb2N1
bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJy
b3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRT
dGFjay5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKaW5kZXggOGE4
ZTE2MC4uYTMyZWZhYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVu
dFN0YWNrLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKQEAg
LTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSFRNTEVsZW1lbnRTdGFja19oCiAKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTM5LDEyICszOCwxNCBAQCBjbGFzcyBRdWFsaWZpZWROYW1lOwogCiAvLyBO
T1RFOiBUaGUgSFRNTDUgc3BlYyB1c2VzIGEgYmFja3dhcmRzIChncm93cyBkb3dud2FyZCkgc3Rh
Y2suICBXZSdyZSB1c2luZwogLy8gbW9yZSBzdGFuZGFyZCAoZ3Jvd3MgdXB3YXJkcykgc3RhY2sg
dGVybWlub2xvZ3kgaGVyZS4KLWNsYXNzIEhUTUxFbGVtZW50U3RhY2sgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTEVsZW1lbnRTdGFjayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTEVsZW1lbnRTdGFjayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAgICB+SFRNTEVsZW1lbnRTdGFjaygpOwogCi0gICAg
Y2xhc3MgRWxlbWVudFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRWxl
bWVudFJlY29yZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVsZW1lbnRSZWNvcmQp
OwogICAgIHB1YmxpYzoKICAgICAgICAgfkVsZW1lbnRSZWNvcmQoKTsgLy8gUHVibGljIGZvciB+
UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxG
b3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRp
bmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1YmIuLmY3NWZhNTAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCkBAIC0zNSw3ICszNSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiAKIC8vIFRoaXMgbWF5IGVuZCB1
cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNrLgotY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVt
ZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRm9ybWF0dGluZ0VsZW1l
bnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRm9ybWF0dGluZ0VsZW1lbnRM
aXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CiAgICAgfkhU
TUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVh
bS5oCmluZGV4IGE3MDliZDkuLjY0MmU0MzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRT
dHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBtX2xhc3Qg
aXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9mIHRoZSBhZnRlckluc2VydGlvblBvaW50IHN0cmlu
Z3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRhdGEgYXQgdGhlIGVuZCBvZiB0aGUgSW5wdXRTdHJl
YW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0gdG8gdGhlICJsYXN0IiBzdHJpbmcuCi1jbGFzcyBI
VE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTElucHV0U3Ry
ZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MSW5wdXRTdHJlYW0pOwogcHVibGlj
OgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAgICAgICAgIDogbV9sYXN0KCZtX2ZpcnN0KQpAQCAt
MTI4LDcgKzEyOSw4IEBAIHByaXZhdGU6CiAgICAgU2VnbWVudGVkU3RyaW5nKiBtX2xhc3Q7CiB9
OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5z
ZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEluc2VydGlvblBvaW50
UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5wdXRTdHJlYW0pCiAgICAgICAgIDogbV9pbnB1dFN0
cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJTY2hlZHVsZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxl
ci5oCmluZGV4IDViZTMzYjAuLjY0NzYwMjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBh
cnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCArMjgsMTQgQEAKIAogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiAKLWNsYXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIg
OiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJzZXJTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MUGFyc2VyU2No
ZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBwYXJzZXIpCiAgICAgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5kZXggOTRhOTBlNi4uYmVkNzdmZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAorKysg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIKICNpbmNsdWRlICJIVE1MVG9rZW4u
aCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEhU
TUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFzcyBTZWdtZW50ZWRTdHJpbmc7CiAK
LWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBI
VE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQcmVsb2Fk
U2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEhUTUxQcmVs
b2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxTY3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5l
ci5oCmluZGV4IDZjZjc0ZDguLjk4NmY3YmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlw
dFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgog
I2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7
CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9zdDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAK
LWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRN
TFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFNjcmlwdFJ1bm5l
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3du
UHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxTY3Jp
cHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRva2VuLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCmluZGV4IDQy
Y2RkYjguLjFjYmMxNTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaApAQCAtMjcsMTMgKzI3LDEz
IEBACiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAKICNpbmNsdWRlICJOYW1lZE5vZGVNYXAuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBI
VE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRva2VuIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW4pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmluaXRpYWxpemVkLApAQCAtMzEz
LDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBlbmQgdXAgd2l0aCBhIGNsZWFu
ZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgogICAgIGZyaWVuZCBjbGFzcyBB
dG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0YSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBEb2N0eXBlRGF0YSgpCiAg
ICAgICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxzZSkKQEAgLTM1Miw3ICszNTMs
OCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBzaG91bGQgZXZlbnR1YWxseSBi
ZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8gZXhpdGluZyBIVE1MVG9rZW4g
dG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1jbGFzcyBBdG9taWNIVE1MVG9r
ZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWljSFRNTFRva2VuIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwogcHVibGljOgogICAgIEF0b21p
Y0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6IG1fdHlwZSh0b2tlbi50eXBl
KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaCBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4IGYxNmIwNDkuLmI1MGFhNDIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCisrKyBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVm
aW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+
CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIEhU
TUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW5p
emVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBTdGF0ZSB7
CiAgICAgICAgIERhdGFTdGF0ZSwKQEAgLTE3Miw3ICsxNzIsOCBAQCBwdWJsaWM6CiAKIHByaXZh
dGU6CiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQt
d29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtCi0gICAgY2xhc3MgSW5wdXRTdHJl
YW1QcmVwcm9jZXNzb3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIElucHV0U3Ry
ZWFtUHJlcHJvY2Vzc29yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRTdHJl
YW1QcmVwcm9jZXNzb3IpOwogICAgIHB1YmxpYzoKICAgICAgICAgSW5wdXRTdHJlYW1QcmVwcm9j
ZXNzb3IoSFRNTFRva2VuaXplciogdG9rZW5pemVyKQogICAgICAgICAgICAgOiBtX3Rva2VuaXpl
cih0b2tlbml6ZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXgg
M2QzOTEzMS4uMDQzMWNmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJl
ZUJ1aWxkZXIuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNw
cApAQCAtMjQwLDcgKzI0MCw4IEBAIEhUTUxGb3JtRWxlbWVudCogY2xvc2VzdEZvcm1BbmNlc3Rv
cihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8vIG5hbWVzcGFjZQogCi1jbGFzcyBIVE1MVHJlZUJ1
aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyKTsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyKEF0b21p
Y0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV9jdXJyZW50KHRva2VuLmNoYXJhY3RlcnMo
KS5kYXRhKCkpCkBAIC0yMzM0LDcgKzIzMzUsOCBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cmVw
cm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgcHJvY2Vzc0VuZFRhZyh0
b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0aW9u
TW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmFrZUluc2VydGlvbk1vZGUpOwogcHVi
bGljOgogICAgIEZha2VJbnNlcnRpb25Nb2RlKEhUTUxUcmVlQnVpbGRlciogdHJlZUJ1aWxkZXIs
IEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAgICAgOiBtX3RyZWVCdWlsZGVyKHRyZWVCdWlsZGVy
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaCBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKaW5kZXggMGU3NTk3Yy4uYjc0OWU3
NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAorKysg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCkBAIC0zMyw3ICszMyw2IEBA
CiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIgogI2luY2x1ZGUgIkhUTUxU
b2tlbml6ZXIuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtNTAsNyAr
NDksOCBAQCBjbGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1MRG9jdW1lbnQ7CiBjbGFzcyBOb2Rl
OwogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTFRyZWVCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVHJlZUJ1aWxk
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIsIEhU
TUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzLCBib29sIHVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwMyw3ICsyMDMsOCBAQCBwcml2YXRlOgogICAgIHZv
aWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlNb2RlQW5kUmVzZXRNb2RlKEF0b21p
Y0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRGb3JlaWduSW5zZXJ0aW9uTW9kZSgp
OwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250
ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJhZ21lbnRT
Y3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVz
dGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVs
SW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKKysrIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCkBAIC0yOCw3ICsyOCw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbEluY3JlbWVudGVyKTsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcih1bnNpZ25lZCYgbmVzdGluZ0xldmVs
KQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0aW5nTGV2ZWwpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuaAppbmRleCAzNTFjNTg0Li4yOTE3Mzc4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNv
bGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgU2NyaXB0Q2FsbEZyYW1lOwogY2xh
c3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFsdWU7CiAKLWNsYXNzIENvbnNvbGVN
ZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENvbnNvbGVNZXNzYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2FnZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5zaWduZWQgbGksIGNvbnN0
IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCBQYXNzUmVmUHRy
PFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQg
Zyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaAppbmRleCBmODBjZmI0Li5mZjhkMzhkIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRl
ICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNpbmNsdWRlICJTY3JpcHRPYmplY3QuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKaW5kZXggMTFm
MTBjZS4uNDliZTJhOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNpZiBFTkFCTEUoSU5TUEVD
VE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQogCiAjaW5jbHVkZSAiQXBw
bGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICsz
OSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOwogY2xh
c3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNv
bnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oCmluZGV4IDViNDA3ZTAuLjhhNDViYjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmgKQEAgLTEwMSw3ICsxMDEsOCBAQCBjbGFzcyBXZWJTb2NrZXRIYW5kc2hh
a2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2U7CiAjZW5kaWYKIAot
Y2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JD
b250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRl
ZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U+ID4gRGF0YWJh
c2VSZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3Rv
ckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01TdG9yYWdlUmVzb3VyY2VzTWFwOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4IGFkYzkyNWEuLmUxMzcyOWQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTUyLDcg
KzUyLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50VHlwZSB7CiAgICAgTmF0aXZlQnJlYWtwb2ludERl
YnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVi
bGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JEZWJ1
Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3BlY3RvckZyb250ZW5k
Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmluZGV4IDlkY2FhNWEu
LmJjZWUxZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250
ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw3ICs0MCw4IEBAIGNs
YXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q7CiBj
bGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGlj
IEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2Nh
bCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEluc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlciosIFBhZ2UqKTsKICAgICB2aXJ0dWFs
IH5JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXggZTY3ODQ4ZC4uMWM0OWI5ZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApAQCAtMzUsNyArMzUsNiBAQAogI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDcgKzQ2
LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgU2NyaXB0SGVhcFNuYXBzaG90Owog
Y2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JQcm9maWxlckFnZW50KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIH5J
bnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgKaW5kZXggYmMxZTAyNy4uODFhZDQ5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAsNyArNzAsOCBAQCBlbnVtIFRpbWVsaW5l
UmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3RUaW1lbGluZVJlY29yZFR5
cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZl
bnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclRpbWVsaW5l
QWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVu
ZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaCBiL1dlYkNvcmUvbG9hZGVy
L0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAppbmRleCAxMDE2YWVkLi5kZGQ1MDcw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENh
Y2hlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oCkBAIC0zOCw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIVFRQ
SGVhZGVyTWFwOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0geworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ3Jvc3NPcmln
aW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0oYm9vbCBjcmVkZW50aWFscykKICAgICAgICAgICAg
IDogbV9hYnNvbHV0ZUV4cGlyeVRpbWUoMCkKQEAgLTYzLDcgKzY0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBIZWFkZXJzU2V0IG1faGVhZGVyczsKICAgICB9OwogCi0gICAgY2xh
c3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBDcm9zc09y
aWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li4zYTNjYzY0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiArNDcsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudDsKIAogICAg
IGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPERvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2YXRlIFN1
YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25v
dXNseShEb2N1bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShEb2N1bWVudCosIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJl
YWRhYmxlTG9hZGVyT3B0aW9ucyYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRXcml0ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKaW5kZXggNWZiM2Rj
MS4uZmI5MzYwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCkBAIC0zOSw3ICszOSw4IEBAIGNs
YXNzIEZyYW1lOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNv
ZGVyOwogCi1jbGFzcyBEb2N1bWVudFdyaXRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEb2N1bWVudFdyaXRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRXcml0
ZXIpOwogcHVibGljOgogICAgIERvY3VtZW50V3JpdGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKaW5kZXggYTE1Y2VlNS4uNjFiZDg3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTIx
NCw4ICsyMTQsMTAgQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBFbXB0eUZyYW1lTG9h
ZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlGcmFtZUxvYWRlckNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RnJhbWVMb2FkZXJDbGll
bnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkgeyAgfQogICAg
IHZpcnR1YWwgdm9pZCBmcmFtZUxvYWRlckRlc3Ryb3llZCgpIHsgfQogCkBAIC0zODMsOCArMzg1
LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29u
dGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVybiBQYXNzUmVmUHRyPEZyYW1l
TmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KIH07CiAKLWNsYXNzIEVtcHR5RWRpdG9yQ2xpZW50IDog
cHVibGljIEVkaXRvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RWRp
dG9yQ2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRW1wdHlFZGl0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
KyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9yQ2xp
ZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAtNDk2
LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi1j
bGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50LCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1Ymxp
YyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlDb250
ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVt
cHR5Q29udGV4dE1lbnVDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUNvbnRleHRNZW51
Q2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwgdm9pZCBjb250ZXh0TWVudURlc3Ryb3llZCgpIHsg
fQogCkBAIC01MTksOCArNTI1LDEwIEBAIHB1YmxpYzoKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi1jbGFzcyBFbXB0eURyYWdDbGll
bnQgOiBwdWJsaWMgRHJhZ0NsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5
RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFbXB0eURyYWdDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAg
ICBFbXB0eURyYWdDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eURyYWdDbGllbnQoKSB7
fQogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFn
RGVzdGluYXRpb25BY3Rpb24sIERyYWdEYXRhKikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQ
ZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25zdCBJbnRQb2ludCYs
IENsaXBib2FyZCopIHsgfQpAQCAtNTMyLDggKzU0MCwxMCBAQCBwdWJsaWM6CiB9OwogI2VuZGlm
IC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKLWNsYXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IDog
cHVibGljIEluc3BlY3RvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5
SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRW1wdHlJbnNwZWN0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4
ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9y
bVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGlj
OgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFz
cyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGlj
OgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9k
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZhZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0
YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxv
YWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdo
aWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVy
IGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlz
dG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0z
Miw3ICszMiw2IEBACiAKICNpbmNsdWRlICJGcmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3Rv
cnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBk
YXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwCmluZGV4IDk0YTIxYTQuLmE4MzZmNzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbWFnZUV2ZW50U2VuZGVyKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNj
aGVkdWxlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRl
eCAyOGZkYTlhLi5hNzIxYzg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNw
cApAQCAtNTEsNyArNTEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjaGVk
dWxlZE5hdmlnYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NoZWR1bGVkTmF2
aWdhdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkTmF2aWdhdGlvbik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNjaGVkdWxlZE5hdmlnYXRp
b24oZG91YmxlIGRlbGF5LCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExp
c3QsIGJvb2wgd2FzRHVyaW5nTG9hZCwgYm9vbCBpc0xvY2F0aW9uQ2hhbmdlKQogICAgICAgICA6
IG1fZGVsYXkoZGVsYXkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2No
ZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKaW5kZXggMTQw
MGMyNS4uZjE0ZDA1MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAtNDcs
NyArNDcsOCBAQCBjbGFzcyBGcmFtZTsKIHN0cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogY2xhc3Mg
U2NoZWR1bGVkTmF2aWdhdGlvbjsKIAotY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShOYXZpZ2F0aW9uU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBOYXZpZ2F0
aW9uU2NoZWR1bGVyKEZyYW1lKik7CiAgICAgfk5hdmlnYXRpb25TY2hlZHVsZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BpbmdM
b2FkZXIuaAppbmRleCBlYjQzMTY2Li4zZjU2M2ExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9QaW5nTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCkBAIC0zNCw3
ICszNCw2IEBACiAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUg
IlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJl
c291cmNlUmVzcG9uc2U7CiAvLyB0byBhbGxvdyB0aGUgbG9hZCB0byBsaXZlIGxvbmcgZW5vdWdo
IHRvIGVuc3VyZSB0aGUgbWVzc2FnZSB3YXMgYWN0dWFsbHkgc2VudC4KIC8vIFRoZXJlZm9yZSwg
YXMgc29vbiBhcyBhIGNhbGxiYWNrIGlzIHJlY2VpdmVkIGZyb20gdGhlIFJlc291cmNlSGFuZGxl
LCB0aGlzIGNsYXNzIAogLy8gd2lsbCBjYW5jZWwgdGhlIGxvYWQgYW5kIGRlbGV0ZSBpdHNlbGYu
Ci1jbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxl
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQaW5nTG9hZGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1l
KiwgY29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNv
bnN0IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGlj
eUNoZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5o
CkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJj
ZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2Vy
KEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5j
cHAgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjY1
ZGQxYzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysr
IGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBz
dGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5p
dGlhbFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0
RXN0aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9u
Y29weWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAg
UHJvZ3Jlc3NJdGVtKGxvbmcgbG9uZyBsZW5ndGgpIAogICAgICAgICA6IGJ5dGVzUmVjZWl2ZWQo
MCkKICAgICAgICAgLCBlc3RpbWF0ZWRMZW5ndGgobGVuZ3RoKSB7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NU
cmFja2VyLmgKaW5kZXggNWQ1YjZiMi4uNjBlYjhmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2Vy
LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgUHJvZ3Jlc3NUcmFja2VyX2gKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNiw3ICszNSw4IEBA
IGNsYXNzIEZyYW1lOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBQcm9ncmVzc0l0
ZW07CiAKLWNsYXNzIFByb2dyZXNzVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQcm9ncmVzc1RyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJh
Y2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFByb2dyZXNzVHJh
Y2tlcigpOwogICAgIH5Qcm9ncmVzc1RyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaCBiL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaAppbmRleCBiNmRlMzEyLi4x
NTcxZDFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvUmVxdWVzdC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZTsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRl
cjsKIAotICAgIGNsYXNzIFJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFJlcXVlc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXF1ZXN0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJl
c291cmNlTG9hZGVyKiwgQ2FjaGVkUmVzb3VyY2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0
eUNoZWNrUG9saWN5LCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+
UmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZp
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1
Ni4uMjcwNDA2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZp
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3
ICszMCw2IEBACiAjaWZuZGVmIFJlc291cmNlTG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3Vy
Y2VMb2FkTm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsK
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNz
IFJlc291cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291
cmNlTG9hZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWRO
b3RpZmllcik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBA
QAogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQz
LDcgKzQyLDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2Fk
ZXI7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVk
dWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsK
IHB1YmxpYzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRT
Y2hlZHVsZXIoKTsKIApAQCAtNjYsNyArNjYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1
bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGlt
ZXI8UmVzb3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoK
ICAgICAgICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAg
ICAgfkhvc3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJh
bWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0
NS4uZDExZDliOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4
IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlz
bm9tZXIuIEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGgg
c3ViZnJhbWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFN1YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJD
b3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJl
YWRhYmxlTG9hZGVyX2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIApAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAvLyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVh
ZCAobm90IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBv
dGhlciB0aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNs
aWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7
IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAg
ICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFk
YWJsZUxvYWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dC5oCmluZGV4IGJjZjY4YmUuLmNlYThiMGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Ro
cmVhZGFibGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVz
b3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVh
ZGFibGVMb2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLypi
eXRlc1NlbnQqLywgdW5zaWduZWQgbG9uZyBsb25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8pIHsg
fQogCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJikgeyB9CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQoKSB7IH0KICAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJsZUxvYWRlckNsaWVudCgp
IHsgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXJDbGllbnRXcmFwcGVyLmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50
V3JhcHBlci5oCmluZGV4IGQzYzFhOWYuLmQ0ZmVhY2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
VGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmlu
ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcl9oCiAKICNpbmNsdWRlICJUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAppbmRleCA4MWRhMmUwLi42NWNjNjM3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCkBAIC01NCw2ICs1NCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3RE
YXRhOwogCiAgICAgY2xhc3MgV29ya2VyVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFdvcmtlclRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShXb3JrZXJDb250ZXh0KiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFi
bGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVh
ZGFibGVMb2FkZXI+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9w
dGlvbnMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuaCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5oCmluZGV4IDI5ZDA3NDkuLjkxYWMyOGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAtNTMsNyArNTIsOCBAQCBlbnVtIEFwcGxpY2F0aW9u
Q2FjaGVVcGRhdGVPcHRpb24gewogICAgIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVXaXRob3V0QnJv
d3NpbmdDb250ZXh0CiB9OwogCi1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMg
Tm9uY29weWFibGUsIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2Fj
aGVHcm91cCA6IFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShBcHBsaWNhdGlvbkNhY2hlR3JvdXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBBcHBsaWNhdGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJv
b2wgaXNDb3B5ID0gZmFsc2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5o
IGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4
YWM1MzU3Li5hMWYyODQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlSG9zdC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVIb3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBs
aWNhdGlvbkNhY2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGlj
YXRpb25DYWNoZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlv
bkNhY2hlSG9zdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgLy8gVGhlIFN0YXR1cyBudW1lcmljIHZhbHVlcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBIVE1M
NSBzcGVjLgogICAgICAgICBlbnVtIFN0YXR1cyB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGIvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaAppbmRleCA3ZGIzNGU2Li44YmZkZjEzIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdl
LmgKQEAgLTQ0LDcgKzQ0LDggQEAgdGVtcGxhdGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURK
b3VybmFsOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVT
dG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGVudW0gRmFpbHVyZVJlYXNv
biB7CiAgICAgICAgIE9yaWdpblF1b3RhUmVhY2hlZCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oIGIvV2ViQ29yZS9sb2FkZXIv
YXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKaW5kZXggOWQ2MzBkMS4uZmQyZGRi
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uLmgKQEAgLTM5LDcgKzM5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5oCmluZGV4IDlhNTRjNTMuLmFlNmY3NTEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBSZXF1ZXN0OwogLy8g
QSByZXNvdXJjZSB0aGF0IGlzIGhlbGQgaW4gdGhlIGNhY2hlLiBDbGFzc2VzIHdobyB3YW50IHRv
IHVzZSB0aGlzIG9iamVjdCBzaG91bGQgZGVyaXZlCiAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xp
ZW50LCB0byBnZXQgdGhlIGZ1bmN0aW9uIGNhbGxzIGluIGNhc2UgdGhlIHJlcXVlc3RlZCBkYXRh
IGhhcyBhcnJpdmVkLgogLy8gVGhpcyBjbGFzcyBhbHNvIGRvZXMgdGhlIGFjdHVhbCBjb21tdW5p
Y2F0aW9uIHdpdGggdGhlIGxvYWRlciB0byBvYnRhaW4gdGhlIHJlc291cmNlIGZyb20gdGhlIG5l
dHdvcmsuCi1jbGFzcyBDYWNoZWRSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBDYWNoZWRSZXNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3Vy
Y2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2Fj
aGU7CiAgICAgZnJpZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uMjFlYTAy
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQu
aAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0y
NSw3ICsyNSw2IEBACiAjaWZuZGVmIENhY2hlZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2Fj
aGVkUmVzb3VyY2VDbGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0
NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFz
cyBhbmQgb3ZlcmxvYWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0g
ICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAg
IHsKKyAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2FjaGVkUmVzb3Vy
Y2VDbGllbnQoKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmgKaW5kZXggZjM3MWEwZS4uNmQ0YTdhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEltYWdlTG9hZGVy
OwogY2xhc3MgS1VSTDsKIAogLy8gVGhlIENhY2hlZFJlc291cmNlTG9hZGVyIG1hbmFnZXMgdGhl
IGxvYWRpbmcgb2Ygc2NyaXB0cy9pbWFnZXMvc3R5bGVzaGVldHMgZm9yIGEgc2luZ2xlIGRvY3Vt
ZW50LgotY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENh
Y2hlZFJlc291cmNlTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBmcmllbmQgY2xh
c3MgTWVtb3J5Q2FjaGU7CiBmcmllbmQgY2xhc3MgSW1hZ2VMb2FkZXI7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCmluZGV4IDE1Y2U5ZGEuLmQwODQ5ZTUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgImxvYWRlci5oIgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC03MSw3ICs3MCw4IEBAIGNsYXNzIEtVUkw7CiAv
LyBpdHMgbWVtYmVyIHZhcmlhYmxlcykgYXJlIGFsbG9jYXRlZCBpbiBub24tcHVyZ2VhYmxlIFRD
LW1hbGxvYydkIG1lbW9yeSBzbyB3ZSB3b3VsZCBzZWUgc2xpZ2h0bHkKIC8vIG1vcmUgbWVtb3J5
IHVzZSBkdWUgdG8gdGhpcy4KIAotY2xhc3MgTWVtb3J5Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTWVtb3J5Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lbW9y
eUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIE1l
bW9yeUNhY2hlKiBjYWNoZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0lj
b25EYXRhYmFzZS5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2
MTQ2YWE2Li5lYzg3YmY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRh
YmFzZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcg
KzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgog
CkBAIC02Miw4ICs2MSw4IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRV
bmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewot
CitjbGFzcyBJY29uRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRh
YmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogLy8gKioqIE1haW4gVGhyZWFkIE9ubHkg
KioqCiBwdWJsaWM6CiAgICAgdm9pZCBzZXRDbGllbnQoSWNvbkRhdGFiYXNlQ2xpZW50Kik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oIGIvV2Vi
Q29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaAppbmRleCBjMjEwZDdkLi40YWUy
ZWM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5o
CisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKQEAgLTMwLDE1
ICszMCwxNiBAQAogI2RlZmluZSBJY29uRGF0YWJhc2VDbGllbnRfaAogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gQWxsIG9mIHRo
ZXNlIGNsaWVudCBtZXRob2RzIHdpbGwgYmUgY2FsbGVkIGZyb20gYSBub24tbWFpbiB0aHJlYWQK
IC8vIFRha2UgYXBwcm9wcmlhdGUgbWVhc3VyZXMKICAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElj
b25EYXRhYmFzZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNl
Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgSWNvbkRhdGFi
YXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+SWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAg
ICAgdmlydHVhbCBib29sIHBlcmZvcm1JbXBvcnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmly
dHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVtb3ZlQWxsSWNvbnMoKSB7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
TG9hZGVyLmgKaW5kZXggMWViYWM0OC4uN2Q4MDg5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvaWNvbi9JY29uTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVy
LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50
LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3
LDcgKzM2LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBLVVJMOwogY2xhc3MgU2hhcmVkQnVmZmVy
OwogCi1jbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291
cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uTG9hZGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIv
aWNvbi9QYWdlVVJMUmVjb3JkLmgKaW5kZXggZjdjY2I4Zi4uYTVlNTVhZCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
aWNvbi9QYWdlVVJMUmVjb3JkLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVi
bGljOgogICAgIFN0cmluZyBpY29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlVVJMUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgUGFnZVVSTFJlY29yZChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpOwogICAgIH5QYWdl
VVJMUmVjb3JkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9sb2FkZXIuaCBiL1dlYkNv
cmUvbG9hZGVyL2xvYWRlci5oCmluZGV4IDgxOGY1NmYuLjIzMjA0MzcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL2xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCkBAIC0y
Niw3ICsyNiw2IEBACiAjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJT
dWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw4ICszNCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAgICAgY2xhc3MgUmVxdWVzdDsKIAotICAg
IGNsYXNzIExvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHJpdmF0ZSBTdWJyZXNvdXJjZUxv
YWRlckNsaWVudCB7CisgICAgY2xhc3MgTG9hZGVyIDogU3VicmVzb3VyY2VMb2FkZXJDbGllbnQg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2FkZXIpOwogICAgIHB1YmxpYzoKKyAg
ICAgICAgTG9hZGVyKCkgeyB9CiAgICAgICAgIH5Mb2FkZXIoKTsKIAogICAgICAgICB2b2lkIGxv
YWQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50
YWwgPSB0cnVlLCBTZWN1cml0eUNoZWNrUG9saWN5ID0gRG9TZWN1cml0eUNoZWNrLCBib29sIHNl
bmRSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSB0cnVlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb24uaAppbmRleCBmMTRhMzAyLi43MzEzMWU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL25vdGlm
aWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBXb3JrZXJDb250ZXh0OwogCiAgICAgY2xhc3MgTm90aWZpY2F0aW9uIDogcHVibGljIFJlZkNv
dW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBFdmVudFRhcmdldCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgS1VSTCYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25D
ZW50ZXI+IHByb3ZpZGVyKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9u
PiBjcmVhdGUoY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmIGNvbnRlbnRzLCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIu
aAppbmRleCA4MzNiOTA5Li5hMjRkMTI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ29udGV4
dE1lbnVDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbnRleHRNZW51Q29udHJvbGxlcl9oCiAj
ZGVmaW5lIENvbnRleHRNZW51Q29udHJvbGxlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBFdmVudDsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3Mg
Q29udGV4dE1lbnVDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
b250ZXh0TWVudUNvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250
ZXh0TWVudUNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIENvbnRleHRNZW51Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQq
KTsKICAgICAgICAgfkNvbnRleHRNZW51Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0RyYWdDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApp
bmRleCAwZTkwYTUyLi4zNjBlNDYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2Vs
ZWN0aW9uQ29udHJvbGxlcjsKICAgICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShEcmFnQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgRHJhZ0NvbnRyb2xsZXIoUGFnZSosIERyYWdDbGllbnQq
KTsKICAgICAgICAgfkRyYWdDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmggYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggY2ExOWEw
Yy4uNDc4MDYxOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBi
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtODAsNyArODAsOCBAQCBleHRlcm4gY29u
c3QgaW50IEdlbmVyYWxEcmFnSHlzdGVyZXNpczsKIAogZW51bSBIaXRUZXN0U2Nyb2xsYmFycyB7
IFNob3VsZEhpdFRlc3RTY3JvbGxiYXJzLCBEb250SGl0VGVzdFNjcm9sbGJhcnMgfTsKIAotY2xh
c3MgRXZlbnRIYW5kbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEV2ZW50SGFuZGxl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRIYW5kbGVyKTsKIHB1YmxpYzoKICAg
ICBFdmVudEhhbmRsZXIoRnJhbWUqKTsKICAgICB+RXZlbnRIYW5kbGVyKCk7CkBAIC0yMjIsNyAr
MjIzLDEwIEBAIHByaXZhdGU6CiAgICAgICAgIFBlcmZvcm1EcmFnQW5kRHJvcAogICAgIH07CiAK
LSAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlIDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFdmVudEhhbmRsZXJEcmFnU3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBw
dWJsaWM6CisgICAgICAgIEV2ZW50SGFuZGxlckRyYWdTdGF0ZSgpIHsgfQogICAgICAgICBSZWZQ
dHI8Tm9kZT4gbV9kcmFnU3JjOyAvLyBlbGVtZW50IHRoYXQgbWF5IGJlIGEgZHJhZyBzb3VyY2Us
IGZvciB0aGUgY3VycmVudCBtb3VzZSBnZXN0dXJlCiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNM
aW5rOwogICAgICAgICBib29sIG1fZHJhZ1NyY0lzSW1hZ2U7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IGZm
ZWQ1OTIuLjEwYWQ2YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisr
KyBiL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiAgICAgY2xhc3MgRXZl
bnRTb3VyY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudFNvdXJjZT4sIHB1YmxpYyBFdmVudFRh
cmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2Jq
ZWN0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYg
dXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2
aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29u
dHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IGJlNTFjNzcu
LjI4NTBkODggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysg
Yi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNs
dWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2luY2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5
LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVudDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1j
bGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXND
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb2N1c0NvbnRyb2xsZXIoUGFn
ZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmggYi9XZWJDb3JlL3Bh
Z2UvRnJhbWVUcmVlLmgKaW5kZXggOTRiOGQxNi4uYmFjNTQ3NSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0ZyYW1lVHJlZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaApAQCAtMjYs
NyArMjYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAg
IGNsYXNzIEZyYW1lVHJlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhbWVU
cmVlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVUcmVlKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIEZyYW1lVHJlZShGcmFtZSogdGhpc0ZyYW1lLCBGcmFtZSogcGFyZW50RnJh
bWUpIAogICAgICAgICAgICAgOiBtX3RoaXNGcmFtZSh0aGlzRnJhbWUpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmlu
ZGV4IDA2N2E4ZTguLjE1MWZiZmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMDYsNyArMTA2LDEwIEBA
IGRvdWJsZSBGcmFtZVZpZXc6OnNfZGVmZXJyZWRSZXBhaW50RGVsYXlJbmNyZW1lbnREdXJpbmdM
b2FkaW5nID0gMDsKIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiB1cGRhdGVXaWRnZXRzIGl0ZXJh
dGlvbnMgdGhhdCBzaG91bGQgYmUgZG9uZSBiZWZvcmUgcmV0dXJuaW5nLgogc3RhdGljIGNvbnN0
IHVuc2lnbmVkIG1heFVwZGF0ZVdpZGdldHNJdGVyYXRpb25zID0gMjsKIAotc3RydWN0IFNjaGVk
dWxlZEV2ZW50IDogTm9uY29weWFibGUgeworc3RydWN0IFNjaGVkdWxlZEV2ZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRFdmVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIFNjaGVkdWxlZEV2ZW50KCkgeyB9CiAgICAgUmVmUHRyPEV2ZW50
PiBtX2V2ZW50OwogICAgIFJlZlB0cjxOb2RlPiBtX2V2ZW50VGFyZ2V0OwogfTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9H
ZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAppbmRleCAyZDgxMDZkLi4xNmM3ZWM4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdl
L0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJH
ZW9sb2NhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEdlb2xvY2F0aW9uRXJyb3I7CiBjbGFzcyBHZW9s
b2NhdGlvblBvc2l0aW9uOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgR2VvbG9jYXRpb25Db250cm9s
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2VvbG9jYXRpb25Db250cm9sbGVyKTsKIHB1Ymxp
YzoKICAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXIoUGFnZSosIEdlb2xvY2F0aW9uQ2xpZW50Kik7
CiAgICAgfkdlb2xvY2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L0dyb3VwU2V0dGluZ3MuaCBiL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKaW5kZXggZmI2
ZjZiNS4uMWJiYWQyYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaAor
KysgYi9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGFnZUdyb3VwOwogCi1jbGFzcyBHcm91cFNldHRpbmdz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdyb3VwU2V0dGluZ3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEdyb3VwU2V0dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCmluZGV4IGE5Mzg5MzIuLmU0MTc4MjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdl
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUg
IlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExB
VEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgpAQCAtOTAsMTIgKzg5LDE1IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJl
Y3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9uQmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2Ug
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNj
aGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JBbGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlz
IHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBw
cm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9u
Y29weWFibGUgeworICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVudHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
KyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUGFnZUNsaWVudHMoKTsKICAgICAgICAgICAg
IH5QYWdlQ2xpZW50cygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgg
Yi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKaW5kZXggY2M0N2ZiYS4uNmQ3ZDZjZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3Jv
dXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQYWdlR3JvdXBfaAogCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJM
aW5rSGFzaC5oIgogI2luY2x1ZGUgIlVzZXJTY3JpcHQuaCIKICNpbmNsdWRlICJVc2VyU3R5bGVT
aGVldC5oIgpAQCAtNDEsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
UGFnZTsKICAgICBjbGFzcyBTdG9yYWdlTmFtZXNwYWNlOwogCi0gICAgY2xhc3MgUGFnZUdyb3Vw
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlR3JvdXAgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYWdlR3JvdXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cChjb25zdCBTdHJpbmcmIG5hbWUpOwogICAg
ICAgICBQYWdlR3JvdXAoUGFnZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cExvYWREZWZlcnJlci5oIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCmlu
ZGV4IGQ0NDNlYmQuLmY3OTU2YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBM
b2FkRGVmZXJyZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgK
QEAgLTI4LDcgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwog
ICAgIGNsYXNzIFBhZ2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cExvYWREZWZlcnJlcik7CiAgICAgcHVi
bGljOgogICAgICAgICBQYWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSosIGJvb2wgZGVmZXJTZWxm
KTsKICAgICAgICAgflBhZ2VHcm91cExvYWREZWZlcnJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL1BsdWdpbkhhbHRlci5oIGIvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCmluZGV4
IGFmOGIzMWUuLjViOTZkMTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIu
aAorKysgYi9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIYWx0YWJsZVBsdWdpbjsKIAotY2xhc3MgUGx1Z2lu
SGFsdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpbkhhbHRlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luSGFsdGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVyKFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oCmluZGV4IGM2NTNhZGQuLjEwZjQwMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNs
dWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0
aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2V0
dGluZ3MoUGFnZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaCBi
L1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCmluZGV4IDQ1MzJkNDkuLjg1M2MwYWEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCisrKyBiL1dlYkNvcmUvcGFnZS9TcGVl
Y2hJbnB1dC5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiU3BlZWNoSW5wdXRMaXN0ZW5l
ci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC00Nyw3ICs0Niw4IEBAIGNsYXNzIFNwZWVjaElucHV0TGlzdGVuZXI7CiAvLyBUaGlzIGNsYXNz
IGNvbm5lY3RzIHRoZSBpbnB1dCBlbGVtZW50cyByZXF1aXJpbmcgc3BlZWNoIGlucHV0IHdpdGgg
dGhlIHBsYXRmb3JtIHNwZWNpZmljCiAvLyBzcGVlY2ggcmVjb2duaXRpb24gZW5naW5lLiBJdCBw
cm92aWRlcyBtZXRob2RzIGZvciB0aGUgaW5wdXQgZWxlbWVudHMgdG8gYWN0aXZhdGUgc3BlZWNo
CiAvLyByZWNvZ25pdGlvbiBhbmQgbWV0aG9kcyBmb3IgdGhlIHNwZWVjaCByZWNvZ25pdGlvbiBl
bmdpbmUgdG8gcmV0dXJuIGJhY2sgdGhlIHJlc3VsdHMuCi1jbGFzcyBTcGVlY2hJbnB1dCA6IHB1
YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFNwZWVjaElucHV0TGlzdGVuZXIgeworY2xhc3MgU3Bl
ZWNoSW5wdXQgOiBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5lciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU3BlZWNoSW5wdXQpOwogcHVibGljOgogICAgIFNwZWVjaElucHV0KFNwZWVjaElu
cHV0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+U3BlZWNoSW5wdXQoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmggYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCmluZGV4
IDA2NTI0MzkuLjA1MTQwOTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgK
KysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTY3JpcHQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVXNlclNjcmlwdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclNjcmlw
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29u
c3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NP
d25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmlu
Zz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQu
aCBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCmluZGV4IGZhNDJlMmMuLjA2OGRmMWUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCisrKyBiL1dlYkNvcmUv
cGFnZS9Vc2VyU3R5bGVTaGVldC5oCkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgVXNlclN0eWxlU2hlZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVXNlclN0eWxlU2hlZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTdHlsZVNo
ZWV0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVXNlclN0eWxlU2hl
ZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAg
ICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZl
Y3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1
ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKaW5kZXggMmI3ODFmMS4uNWJlZWQ2
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaAorKysgYi9XZWJDb3JlL3Bh
Z2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6c2hvdWxkTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNy
YyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBKYXZhU2NyaXB0IHNjcmlwdHMuCiAgICAgLy8gKiBT
dWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCAtIHVzZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1i
ZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAgY2xhc3MgWFNTQXVkaXRvciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVkaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFhTU0F1ZGl0b3IoRnJhbWUqKTsKICAgICAgICAgflhTU0F1ZGl0b3IoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCmluZGV4IDY2MTcyZjcuLjY4NTUx
ZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcApAQCAtMjE5LDcg
KzIxOSw4IEBAIGNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2U7CiBzdGF0aWMgdm9pZCBhZGRTaG9y
dGhhbmRQcm9wZXJ0aWVzKCk7CiBzdGF0aWMgUHJvcGVydHlXcmFwcGVyQmFzZSogd3JhcHBlckZv
clByb3BlcnR5KGludCBwcm9wZXJ0eUlEKTsKIAotY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQcm9wZXJ0eVdyYXBwZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvcGVydHlXcmFwcGVyQmFzZShpbnQgcHJvcCkKICAg
ICAgICAgOiBtX3Byb3AocHJvcCkKQEAgLTQzOCw3ICs0MzksOCBAQCBwdWJsaWM6CiB9OwogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRl
ciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlLCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxM
YXllclByb3BlcnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZpbGxM
YXllclByb3BlcnR5V3JhcHBlckdldHRlcik7CiBwdWJsaWM6CiAgICAgRmlsbExheWVyUHJvcGVy
dHlXcmFwcGVyR2V0dGVyKFQgKEZpbGxMYXllcjo6KmdldHRlcikoKSBjb25zdCkKICAgICAgICAg
OiBtX2dldHRlcihnZXR0ZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Fu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKaW5kZXggODkzYzcxNy4uYzg0ZGQ1NCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisr
KyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApA
QCAtNDksNyArNDksOCBAQCBjbGFzcyBOb2RlOwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3Mg
UmVuZGVyU3R5bGU7CiAKLWNsYXNzIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
KEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oIGIvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaAppbmRleCAyNDlmNGMzLi4wZDBiYjFm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5o
CisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKQEAgLTMy
LDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBsaWNpdEFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIktl
eWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCAy
ZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxl
ck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzcs
NyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1cnJlbnROU0V2ZW50KCkKICAgICBy
ZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9CiAKLWNsYXNzIEN1cnJlbnRFdmVu
dFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEN1cnJlbnRFdmVudFNjb3BlIHsK
KyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2ZW50U2NvcGUpOwogcHVibGljOgog
ICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAgICAgfkN1cnJlbnRFdmVudFNjb3Bl
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRleCBkOTZjMWFkLi5jMzRhNjQ0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgQXN5
bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyQ2xpZW50OwogCiAv
LyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFjZSBmb3IgcGxhdGZvcm0tc3BlY2lm
aWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3RlIHRoYXQgYWxsIHRoZSBtZXRob2Rz
IHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIHZpcnR1YWwgfkFzeW5jRmlsZVN5
c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3Rl
bUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3Mu
aAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxl
U3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBAIGNsYXNzIEFzeW5jRmlsZVN5c3Rl
bTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBGaWxlTWV0YWRhdGE7CiAKLWNsYXNz
IEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBB
c3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5j
RmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAgQXN5bmNGaWxlU3lzdGVtQ2FsbGJh
Y2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4gYSByZXF1ZXN0ZWQgb3BlcmF0aW9u
IGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmlydHVhbCB2b2lkIGRpZFN1Y2NlZWQo
KSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCmluZGV4IGQ0NGVlMWUuLmQ2NTU0
MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApAQCAtMjksNyArMjksNiBAQAogI2lm
bmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2RlZmluZSBBdXRvZHJhaW5lZFBvb2xfaAogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TQXV0
b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgsOCBAQCBjbGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBdXRvZHJhaW5lZFBvb2wgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQb29sIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGljOgogICAgIEF1dG9kcmFpbmVkUG9vbChp
bnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0b2RyYWluZWRQb29sKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmggYi9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4uNTlhMDJiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBDb250ZXh0TWVudV9oCiAjZGVmaW5lIENvbnRl
eHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ29u
dGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgpAQCAtNDUsOCArNDQs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ29udGV4dE1lbnVDbGllbnRFZmw7
CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDogcHVibGljIE5vbmNvcHlhYmxlCi0g
ICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIENvbnRleHRNZW51KGNvbnN0IEhpdFRlc3RSZXN1bHQmKTsKICAgICAgICAgQ29udGV4
dE1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IFBsYXRmb3JtTWVudURlc2NyaXB0aW9u
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmggYi9XZWJD
b3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCmluZGV4IGU3MDI5MjEuLmQ5ZTI1NjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApAQCAtMjUyLDcgKzI1Miw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTWVudUl0ZW1EZXNjcmlwdGlv
bjsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKFBsYXRm
b3JtTWVudUl0ZW1EZXNjcmlwdGlvbik7CiAgICAgICAgIENvbnRleHRNZW51SXRlbShDb250ZXh0
TWVudSogc3ViTWVudSA9IDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNh
dGVkUHRyTGlzdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCmluZGV4
IDQ3Y2Q1MzguLjBhNGE1MTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRl
ZFB0ckxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKQEAg
LTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBEZXByZWNhdGVkUHRyTGlzdF9oCiAKICNpbmNsdWRl
ICJEZXByZWNhdGVkUHRyTGlzdEltcGwuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXBy
ZWNhdGVkUHRyTGlzdEl0ZXJhdG9yOwogCi10ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVj
YXRlZFB0ckxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4g
Y2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBsKGRlbGV0ZUZ1bmMpLCBkZWxf
aXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0KCkgeyBpbXBsLmNsZWFyKGRl
bF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlz
dEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmlu
ZGV4IDk2ZmQ1MTMuLmVmMjk5NTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJM
aXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMSBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAjaW5j
bHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRGVwcmVj
YXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFzcyBEZXByZWNhdGVkTGlz
dE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9kZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlcHJlY2F0ZWRMaXN0Tm9kZSh2
b2lkICpkKSA6IGRhdGEoZCksIG5leHQoMCksIHByZXYoMCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmggYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5o
CmluZGV4IGIwNTA3ZjcuLjhmNjQ3NDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRXZl
bnRMb29wLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaApAQCAtMjYsMTEgKzI2
LDExIEBACiAjaWZuZGVmIEV2ZW50TG9vcF9oCiAjZGVmaW5lIEV2ZW50TG9vcF9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xh
c3MgRXZlbnRMb29wIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudExvb3Ag
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudExvb3ApOwogICAgIHB1YmxpYzoK
ICAgICAgICAgRXZlbnRMb29wKCkKICAgICAgICAgICAgIDogbV9lbmRlZChmYWxzZSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCmluZGV4IDE1ODVmNjUuLmQ2MGFlNmYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRl
ZiBHZW9sb2NhdGlvblNlcnZpY2VfaAogI2RlZmluZSBHZW9sb2NhdGlvblNlcnZpY2VfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDIsOCBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGdlb2xvY2F0aW9uU2VydmljZUVycm9yT2NjdXJyZWQoR2VvbG9jYXRpb25TZXJ2
aWNlKikgPSAwOwogfTsKIAotY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uU2VydmljZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR2VvbG9jYXRpb25TZXJ2aWNlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgR2VvbG9jYXRp
b25TZXJ2aWNlKiBjcmVhdGUoR2VvbG9jYXRpb25TZXJ2aWNlQ2xpZW50Kik7CiAgICAgdmlydHVh
bCB+R2VvbG9jYXRpb25TZXJ2aWNlKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L0hvc3RXaW5kb3cuaCBiL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCmluZGV4IDc4ODJk
NDguLjIyNTg4NGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCkBAIC0yNiwxNSArMjYsMTYgQEAKICNp
Zm5kZWYgSG9zdFdpbmRvd19oCiAjZGVmaW5lIEhvc3RXaW5kb3dfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQ3Vyc29yOwogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RX
aW5kb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBIb3N0V2luZG93
KCkgeyB9CiAgICAgdmlydHVhbCB+SG9zdFdpbmRvdygpIHsgfQogCiAgICAgLy8gUmVxdWVzdHMg
dGhlIGhvc3QgaW52YWxpZGF0ZSB0aGUgd2luZG93LCBub3QgdGhlIGNvbnRlbnRzLiAgSWYgaW1t
ZWRpYXRlIGlzIHRydWUgZG8gc28gc3luY2hyb25vdXNseSwgb3RoZXJ3aXNlIGFzeW5jLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9L
aWxsUmluZy5oCmluZGV4IDhlMjczNTAuLmI2ODcyNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vS2lsbFJpbmcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKQEAgLTMx
LDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgS2lsbFJpbmcgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZvaWQgYXBwZW5kKGNvbnN0
IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmlu
ZGV4IDdkZDg3NWUuLjkzNDU0MjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3Ro
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjIsNyArMjIsNiBAQAogI2Rl
ZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUsNyArMzQsOSBAQCBjb25zdCBpbnQgaW50TWluRm9y
TGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQK
IAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0
aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBMZW5ndGggOiBGYXN0QWxs
b2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIExlbmd0aCgpCiAgICAgICAgIDogbV92YWx1ZSgwKQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Q
YXN0ZWJvYXJkLmgKaW5kZXggN2M1MDczNy4uZjBiMmU5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgK
QEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBMQVRG
T1JNKE1BQykKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC04MSw3ICs4MCw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIGNsYXNzIEFyY2hpdmVSZXNvdXJjZTsKICAgICAKLWNs
YXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFzdGVib2FyZCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFzdGVib2FyZCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICAvL0hlbHBlciBmdW5jdGlv
bnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNoYXJlIGNvZGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtS2V5Ym9hcmRFdmVudC5oCmluZGV4IGJjMjhlODQuLmFlZTk1YjQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaApAQCAtNzUsNyArNzUsOCBAQCB0eXBlZGVmIHVu
c2lnbmVkIGxvbmcgaW50IHVpbnQzMjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xh
c3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNs
YXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAgICAgICAgIC8vIEtl
eURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwgZ3RrIGFuZCBRdCwg
YW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNzZWQga2V5LCBhbmQg
aXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVC
dWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKaW5kZXggOWJkYTJk
NS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBAIC0yNywxMyArMjcs
MTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUgIlB1cmdlUHJpb3Jp
dHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRy
PFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCk7CiAgICAg
ICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhjNTI5ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZpbmUgUnVuTG9vcFRp
bWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxv
b3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFRpbWVyQmFz
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFzZSk7CiBwdWJsaWM6
CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1bkxvb3BUaW1lckJh
c2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uZjEwNjkxMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50
OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xhc3MgU2Nyb2xsYmFy
VGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CisgICAgU2Nyb2xsYmFyVGhlbWUoKSB7IH0KICAgICB2aXJ0dWFsIH5T
Y3JvbGxiYXJUaGVtZSgpIHt9OwogCiAgICAgdmlydHVhbCBib29sIHBhaW50KFNjcm9sbGJhcios
IEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmIC8qZGFtYWdlUmVjdCovKSB7IHJldHVy
biBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCmluZGV4IDViNWNkMTQuLjcxMWU2YjUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL1NoYXJlZFRpbWVyLmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBTaGFyZWRU
aW1lcl9oCiAjZGVmaW5lIFNoYXJlZFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBFYWNoIHRocmVhZCBoYXMgaXRz
IG93biBzaW5nbGUgaW5zdGFuY2Ugb2Ygc2hhcmVkIHRpbWVyLCB3aGljaCBpbXBsZW1lbnRzIHRo
aXMgaW50ZXJmYWNlLgogICAgIC8vIFRoaXMgaW5zdGFuY2UgaXMgc2hhcmVkIGJ5IGFsbCB0aW1l
cnMgaW4gdGhlIHRocmVhZC4KICAgICAvLyBOb3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3Rs
eTsgdXNlIHRoZSBUaW1lciBjbGFzcyBpbnN0ZWFkLgotICAgIGNsYXNzIFNoYXJlZFRpbWVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTaGFyZWRUaW1lciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNoYXJlZFRpbWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgorICAgICAgICBTaGFyZWRUaW1lcigpIHsgfQogICAgICAgICB2aXJ0dWFs
IH5TaGFyZWRUaW1lcigpIHt9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRGaXJlZEZ1bmN0aW9u
KHZvaWQgKCopKCkpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRH
bG9iYWxEYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaAppbmRleCA5
ZjU3ZjAwLi5lODQyYjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2Jh
bERhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaApAQCAtMjks
NyArMjksNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0hhc2guaD4KIAogI2lmIEVOQUJMRShXT1JLRVJTKQpAQCAtNDUsNyArNDQsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IFRFQ0NvbnZlcnRlcldyYXBwZXI7CiAgICAg
Y2xhc3MgVGhyZWFkVGltZXJzOwogCi0gICAgY2xhc3MgVGhyZWFkR2xvYmFsRGF0YSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkR2xvYmFsRGF0YSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZEdsb2JhbERhdGEpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAgICAgICB+VGhyZWFkR2xvYmFsRGF0YSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmgKaW5kZXggYWI0MjU5OC4uZjk5OTQwYyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVh
ZFRpbWVycy5oCkBAIC0yNyw3ICsyNyw2IEBACiAjaWZuZGVmIFRocmVhZFRpbWVyc19oCiAjZGVm
aW5lIFRocmVhZFRpbWVyc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzcsNyAr
MzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGltZXJCYXNlOwogCiAgICAg
Ly8gQSBjb2xsZWN0aW9uIG9mIHRpbWVycyBwZXIgdGhyZWFkLiBLZXB0IGluIFRocmVhZEdsb2Jh
bERhdGEuCi0gICAgY2xhc3MgVGhyZWFkVGltZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBUaHJlYWRUaW1lcnMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJl
YWRUaW1lcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4uODVmMGRhZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGlt
ZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBUaW1lcl9oCiAjZGVmaW5lIFRpbWVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVyQmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IFRpbWVyQmFzZSgpOwogICAgIHZpcnR1YWwgflRpbWVyQmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQu
aAppbmRleCA5ZDlhYzFmLi5iODcyYWRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Ry
ZWVTaGFyZWQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaApAQCAtMjIsNyAr
MjIsNiBAQAogI2RlZmluZSBUcmVlU2hhcmVkX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGlu
Zy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMiw3ICszMSw4IEBAIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQ7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFk
b3B0ZWQoVHJlZVNoYXJlZDxUPiopOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFRyZWVTaGFyZWQgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgVHJlZVNoYXJlZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJlZVNoYXJl
ZCk7CiBwdWJsaWM6CiAgICAgVHJlZVNoYXJlZCgpCiAgICAgICAgIDogbV9yZWZDb3VudCgxKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCmluZGV4IDlhMzM0Y2Eu
LmJmOGZmOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlv
bkxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgK
QEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBbmltYXRp
b25MaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQW5pbWF0aW9uTGlzdCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uTGlzdCgp
IHsgfQogICAgIEFuaW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0aW9uTGlzdCYpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0J1cy5oCmluZGV4IDQzMThiODEuLjM5OGUxMjcgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgQXVkaW9CdXNfaAogCiAjaW5j
bHVkZSAiQXVkaW9DaGFubmVsLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM5
LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gQW4gQXVkaW9CdXMgcmVwcmVzZW50
cyBhIGNvbGxlY3Rpb24gb2Ygb25lIG9yIG1vcmUgQXVkaW9DaGFubmVscy4KIC8vIFRoZSBkYXRh
IGxheW91dCBpcyAicGxhbmFyIiBhcyBvcHBvc2VkIHRvICJpbnRlcmxlYXZlZCIuCiAvLyBBbiBB
dWRpb0J1cyB3aXRoIG9uZSBjaGFubmVsIGlzIG1vbm8sIGFuIEF1ZGlvQnVzIHdpdGggdHdvIGNo
YW5uZWxzIGlzIHN0ZXJlbywgZXRjLgotY2xhc3MgQXVkaW9CdXMgIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEF1ZGlvQnVzICB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVkaW9C
dXMgKTsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAgICAgQ2hhbm5lbExlZnQgPSAwLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggNjgxNjgzMC4uNzMyNWU5ZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCkBAIC0zMCwxNCArMzAsMTQgQEAKICNk
ZWZpbmUgQXVkaW9DaGFubmVsX2gKIAogI2luY2x1ZGUgIkF1ZGlvQXJyYXkuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuIEF1ZGlvQ2hhbm5lbCByZXByZXNlbnRzIGEgYnVmZmVy
IG9mIG5vbi1pbnRlcmxlYXZlZCBmbG9hdGluZy1wb2ludCBhdWRpbyBzYW1wbGVzLgogLy8gVGhl
IFBDTSBzYW1wbGVzIGFyZSBub3JtYWxseSBhc3N1bWVkIHRvIGJlIGluIGEgbm9taW5hbCByYW5n
ZSAtMS4wIC0+ICsxLjAKLWNsYXNzIEF1ZGlvQ2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBBdWRpb0NoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlvQ2hh
bm5lbCk7CiBwdWJsaWM6CiAgICAgLy8gTWVtb3J5IGNhbiBiZSBleHRlcm5hbGx5IHJlZmVyZW5j
ZWQsIG9yIGNhbiBiZSBpbnRlcm5hbGx5IGFsbG9jYXRlZCB3aXRoIGFuIEF1ZGlvRmxvYXRBcnJh
eS4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKaW5kZXggYzMzYjM4Zi4uMzUx
NDY5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCkBAIC0zMSw3ICszMSw2
IEBACiAKICNpbmNsdWRlICJIUlRGRWxldmF0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBA
IC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFJURktlcm5lbDsK
IAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZE
YXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFJURkRhdGFiYXNlKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIUlRGRGF0YWJhc2U+IGNyZWF0ZShkb3VibGUgc2Ft
cGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZh
dGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKaW5kZXggYjM4
OGIzNC4uZjQ0NDQ0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxl
dmF0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSFJURkVsZXZhdGlvbl9oCiAKICNpbmNsdWRlICJIUlRG
S2VybmVsLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBIUlRG
RWxldmF0aW9uIGNvbnRhaW5zIGFsbCBvZiB0aGUgSFJURktlcm5lbHMgKG9uZSBsZWZ0IGVhciBh
bmQgb25lIHJpZ2h0IGVhciBwZXIgYXppbXV0aCBhbmdsZSkgZm9yIGEgcGFydGljdWxhciBlbGV2
YXRpb24uCiAKLWNsYXNzIEhSVEZFbGV2YXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFJURkVsZXZhdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFJURkVsZXZhdGlv
bik7CiBwdWJsaWM6CiAgICAgLy8gTG9hZHMgYW5kIHJldHVybnMgYW4gSFJURkVsZXZhdGlvbiB3
aXRoIHRoZSBnaXZlbiBIUlRGIGRhdGFiYXNlIHN1YmplY3QgbmFtZSBhbmQgZWxldmF0aW9uIGZy
b20gYnJvd3NlciAob3IgV2ViS2l0LmZyYW1ld29yaykgcmVzb3VyY2VzLgogICAgIC8vIE5vcm1h
bGx5LCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBzaW5nbGUgSFJURiBkYXRhYmFzZSBzZXQsIGJ1dCB0
aGlzIEFQSSBzdXBwb3J0cyB0aGUgcG9zc2liaWxpdHkgb2YgbXVsdGlwbGUgb25lcyB3aXRoIGRp
ZmZlcmVudCBuYW1lcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xp
cGJvYXJkQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hy
b21pdW0uaAppbmRleCAxZDY5OTIxLi5kNWFkYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBJbnRQb2ludDsKIAogICAgIGNsYXNzIENsaXBib2FyZENocm9t
aXVtIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB+Q2xp
cGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdl
LmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0
bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3Mg
VGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRh
KTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkKICAgICAg
ICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRl
eCAyZTRlOTYyLi5mMGMzMGFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZpbmUgQ29sb3JfaAogCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUsNyArNzQsOCBAQCBpbmxpbmUgaW50IGdy
ZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAmIDB4RkY7IH0K
IGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBjb2xvciAmIDB4
RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNv
bG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCksIG1fdmFsaWQoZmFsc2UpIHsgfQogICAgIENvbG9y
KFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wpLCBtX3ZhbGlkKHRydWUpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAKaW5kZXggODdhMWM1Yy4uMDcyNWE5
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNw
cAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ29udGV4dFNoYWRvdy5oIgogCiAjaW5jbHVkZSA8d3Rm
L01hdGhFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdXNpbmcgV1RG
OjptaW47CiB1c2luZyBXVEY6Om1heDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhY2hlLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmNwcAppbmRleCAxNDllYTc5Li5jZmNhOTgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwCkBAIC01Myw3ICs1Myw5IEBAIEZvbnRDYWNoZTo6Rm9udENhY2hlKCkKIHsK
IH0KIAotc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSA6IEZhc3RBbGxvY0Jhc2Ugewor
c3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CiAgICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5KGNvbnN0IEF0b21p
Y1N0cmluZyYgZmFtaWx5ID0gQXRvbWljU3RyaW5nKCksIHVuc2lnbmVkIHNpemUgPSAwLCB1bnNp
Z25lZCB3ZWlnaHQgPSAwLCBib29sIGl0YWxpYyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBib29sIGlzUHJpbnRlckZvbnQgPSBmYWxzZSwgRm9udFJlbmRlcmluZ01vZGUg
cmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRlcmluZ01vZGUsIEZvbnRPcmllbnRhdGlvbiBvcmll
bnRhdGlvbiA9IEhvcml6b250YWwpCiAgICAgICAgIDogbV9zaXplKHNpemUpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRleCBlNjg0NWQ5Li44NmY4YzY3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRm9udERl
c2NyaXB0aW9uOwogY2xhc3MgRm9udFNlbGVjdG9yOwogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAK
LWNsYXNzIEZvbnRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250Q2FjaGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uNDMyNzk1OSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjcsMTQgKzI3LDE0IEBACiAjZGVm
aW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250RGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBGb250RGF0YSgpCiAgICAgICAgIDogbV9tYXhHbHlwaFBhZ2VUcmVlTGV2ZWwoMCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCmluZGV4IGZhODViY2Mu
LjNlMTNmYmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRy
aWNzTWFwLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAu
aApAQCAtNDAsNyArNDAsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IEdseXBoOwogCiBjb25z
dCBmbG9hdCBjR2x5cGhTaXplVW5rbm93biA9IC0xOwogCi10ZW1wbGF0ZTxjbGFzcyBUPiBjbGFz
cyBHbHlwaE1ldHJpY3NNYXAgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8Y2xhc3Mg
VD4gY2xhc3MgR2x5cGhNZXRyaWNzTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHbHlw
aE1ldHJpY3NNYXApOwogcHVibGljOgogICAgIEdseXBoTWV0cmljc01hcCgpIDogbV9maWxsZWRQ
cmltYXJ5UGFnZShmYWxzZSkgeyB9CiAgICAgfkdseXBoTWV0cmljc01hcCgpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCA2YWRjOTBiLi5iMzgyMzY5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKQEAgLTM0
LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUGF0aC5oIgogI2lu
Y2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiAjaWYgUExBVEZPUk0oQ0cpCkBAIC0xNTMsNyAr
MTUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBJbnRlcnBvbGF0aW9uSGlnaAog
ICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEdyYXBoaWNzQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgR3JhcGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0Kik7CiAg
ICAgICAgIH5HcmFwaGljc0NvbnRleHQoKTsKQEAgLTM1Niw3ICszNTYsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cyhib29s
KTsKICAgICAgICAgYm9vbCBzaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7CiAKLSAg
ICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAg
IGNsYXNzIFdpbmRvd3NCaXRtYXAgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V2luZG93c0JpdG1hcCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFdpbmRvd3NCaXRt
YXAoSERDLCBJbnRTaXplKTsKICAgICAgICAgICAgIH5XaW5kb3dzQml0bWFwKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggYzJkNWMyNC4u
N2MwN2JlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
M0QuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Ly8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9u
IGZvciBOT19FUlJPUi4KICNpZiAoKFBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhXSU5ET1dTKSkg
fHwgUExBVEZPUk0oV0lOKSB8fCAoUExBVEZPUk0oUVQpICYmIE9TKFdJTkRPV1MpKSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKaW5k
ZXggOTg1Y2FkOS4uMDUxZTRlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKQEAgLTg0LDcgKzg0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogI2VuZGlmCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZh
dGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQcml2YXRl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGlj
c0NvbnRleHRQcml2YXRlKCkKICAgICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhm
YWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggOTkx
Y2EzMi4uNTMyZDBjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTEwNCw3ICsxMDQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xh
c3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJl
IHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZp
YSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVk
IGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmlt
YXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25WYWx1ZShmbG9hdCBrZXlUaW1lLCBQ
YXNzUmVmUHRyPFRpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbiA9IDApCiAgICAgICAgIDog
bV9rZXlUaW1lKGtleVRpbWUpCkBAIC0xNTYsNyArMTU3LDggQEAgcHJpdmF0ZToKIAogLy8gVXNl
ZCB0byBzdG9yZSBhIHNlcmllcyBvZiB2YWx1ZXMgaW4gYSBrZXlmcmFtZSBsaXN0LiBWYWx1ZXMg
d2lsbCBhbGwgYmUgb2YgdGhlIHNhbWUgdHlwZSwKIC8vIHdoaWNoIGNhbiBiZSBpbmZlcnJlZCBm
cm9tIHRoZSBwcm9wZXJ0eS4KLWNsYXNzIEtleWZyYW1lVmFsdWVMaXN0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEtleWZyYW1lVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShLZXlmcmFtZVZhbHVlTGlzdCk7CiBwdWJsaWM6CiAKICAgICBLZXlmcmFtZVZhbHVlTGlz
dChBbmltYXRlZFByb3BlcnR5SUQgcHJvcGVydHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlQnVmZmVyLmgKaW5kZXggODIyYTBmZi4uNWQ0OGE4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIFVubXVsdGlwbGllZAogICAgIH07CiAKLSAgICBjbGFzcyBJbWFnZUJ1ZmZlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VCdWZmZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZUJ1ZmZlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gV2lsbCByZXR1cm4gYSBudWxsIHBvaW50ZXIgb24g
YWxsb2NhdGlvbiBmYWlsdXJlLgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxJbWFnZUJ1ZmZl
cj4gY3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9IENv
bG9yU3BhY2VEZXZpY2VSR0IpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlU291cmNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgK
aW5kZXggYWViMTU2MS4uOTFjZWU1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VT
b3VyY2UuaApAQCAtMjgsNyArMjgsNiBAQAogI2RlZmluZSBJbWFnZVNvdXJjZV9oCiAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFBMQVRGT1JNKFdYKQpAQCAtMTE3LDcgKzExNiw4IEBA
IGNvbnN0IGludCBjQW5pbWF0aW9uTG9vcE9uY2UgPSAwOwogY29uc3QgaW50IGNBbmltYXRpb25M
b29wSW5maW5pdGUgPSAtMTsKIGNvbnN0IGludCBjQW5pbWF0aW9uTm9uZSA9IC0yOwogCi1jbGFz
cyBJbWFnZVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVNvdXJjZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VTb3VyY2UpOwogcHVibGljOgogICAgIElt
YWdlU291cmNlKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSA9IHRydWUsIGJvb2wgaWdub3JlR2FtbWFB
bmRDb2xvclByb2ZpbGUgPSBmYWxzZSk7CiAgICAgfkltYWdlU291cmNlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4IGU4N2M1M2MuLjM3MDA4OGYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyArMTQ3
LDkgQEAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlTnVsbE1lZGlh
UGxheWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAKIC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0cnVj
dCBNZWRpYVBsYXllckZhY3RvcnkgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5ZXJG
YWN0b3J5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllckZhY3RvcnkpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3Rvcnko
Q3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVk
VHlwZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRz
VHlwZUFuZENvZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAg
ICAgICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzljMDQyYi4uZmVlOGI3ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0
Niw3ICsxNDUsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogCiAgICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFQbGF5ZXI+IGNyZWF0ZShNZWRpYVBsYXll
ckNsaWVudCogY2xpZW50KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllclByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXJQcml2YXRlLmgKaW5kZXggZDk1NjI4Ni4uNmFiZTI1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgSW50U2l6ZTsKIAotY2xhc3Mg
TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CisgICAgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAgICAgdmlydHVh
bCB+TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
bG9hZChjb25zdCBTdHJpbmcmIHVybCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9QYXRoLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRl
eCBiYTI1ZGMyLi43YWQxNmEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1BhdGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMjgsNyAr
MjgsNiBAQAogI2lmbmRlZiBQYXRoX2gKICNkZWZpbmUgUGF0aF9oCiAKLSNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKICNpZiBQTEFURk9S
TShDRykKQEAgLTEwMCw3ICs5OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVk
ZWYgdm9pZCAoKlBhdGhBcHBsaWVyRnVuY3Rpb24pKHZvaWQqIGluZm8sIGNvbnN0IFBhdGhFbGVt
ZW50Kik7CiAKLSAgICBjbGFzcyBQYXRoIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNs
YXNzIFBhdGggeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFBhdGgoKTsKICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi4wNmM3ZmUxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3
ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNs
YXNzIFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBUaWxlZEJhY2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNs
aWVudCopOwogICAgIH5UaWxlZEJhY2tpbmdTdG9yZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBk
YWMzMWY4Li40ZjM5NGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsNyArMjUsNiBAQAogI2lu
Y2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogdHlwZWRlZiBzdHJ1Y3QgRlRfRmFjZVJlY18qICBGVF9GYWNlOwogdHlwZWRlZiBzdHJ1Y3Qg
X2NhaXJvX2ZvbnRfZmFjZSBjYWlyb19mb250X2ZhY2VfdDsKQEAgLTM1LDcgKzM0LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1
ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7Citz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiBwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YShGVF9GYWNlLCBTaGFyZWRCdWZmZXIqKTsKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVT
MkNhbnZhcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZh
cy5oCmluZGV4IDZmYzFhMGUuLjgxOWY5ODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRl
ICJUZXh0dXJlLmgiCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0Nv
bnRleHQzRDsKIGNsYXNzIFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOwogCi1jbGFzcyBHTEVTMkNh
bnZhcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHTEVTMkNhbnZhcyB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoR0xFUzJDYW52YXMpOwogcHVibGljOgogICAgIEdMRVMyQ2FudmFz
KFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEKiwgRHJhd2luZ0J1ZmZlciosIGNvbnN0IEludFNpemUm
KTsKICAgICB+R0xFUzJDYW52YXMoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCmluZGV4IDUzMWQ2NTIu
LjNjNzFhYzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtNDMsNyArNDMsNiBAQAogI2luY2x1
ZGUgIlNrQml0bWFwLmgiCiAjaW5jbHVkZSAiVmlkZW9MYXllckNocm9taXVtLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCmluZGV4IDFmMzM1MjcuLjUy
NmE4N2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVu
ZGVyU3VyZmFjZUNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjaW5jbHVk
ZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlRyYW5zZm9y
bWF0aW9uTWF0cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogY2xhc3MgTGF5ZXJD
aHJvbWl1bTsKIAotY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVuZGVyU3VyZmFjZUNocm9taXVtKTsKICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5k
ZXJlckNocm9taXVtOwogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZhY2VDaHJvbWl1
bShMYXllckNocm9taXVtKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaAppbmRleCBiNmJlZjkxLi4yNzUxMjU4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2lu
LmgKQEAgLTM1LDcgKzM1LDYgQEAKIAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2lu
Y2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRl
ICJ3dGYvT3duUHRyLmgiCiAKIGNsYXNzIFNrQml0bWFwOwpAQCAtNTQsNyArNTMsOCBAQCBjbGFz
cyBUcmFuc3BhcmVuY3lXaW5fT3BhcXVlQ29tcG9zaXRlTGF5ZXJfVGVzdDsKIC8vIHRoYXQgaXMg
Y29tcG9zaXRlZCBsYXRlciBtYW51YWxseS4gVGhpcyBpcyB0byBnZXQgYXJvdW5kIFdpbmRvd3Mn
IGluYWJpbGl0eQogLy8gdG8gaGFuZGxlIHRoZSBhbHBoYSBjaGFubmVsLCBzZW1pdHJhbnNwYXJl
bnQgdGV4dCwgYW5kIHRyYW5zZm9ybWVkIGZvcm0KIC8vIGNvbnRyb2xzLgotY2xhc3MgVHJhbnNw
YXJlbmN5V2luIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW5jeVdpbiB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbmN5V2luKTsKIHB1YmxpYzoKICAg
ICBlbnVtIExheWVyTW9kZSB7CiAgICAgICAgIC8vIE5vIGV4dHJhIGxheWVyIGlzIGNyZWF0ZWQu
IERyYXdpbmcgd2lsbCBoYXBwZW4gdG8gdGhlIHNvdXJjZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAppbmRleCA5Zjc5ODg5Li5lMzU2NTkyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC0zNSw3
ICszNSw2IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkludFNpemUu
aCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTc3
LDggKzc2LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0g
ICAgY2xhc3MgV2lsbFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgV2lsbFB1Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdpbGxQdWJsaXNoQ2FsbGJhY2spOwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hD
YWxsYmFjaygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9
CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgK
aW5kZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZu
ZGVmIExvb3BCbGlubkNsYXNzaWZpZXJfaAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3Bl
Y2lmaWMgdHlwZXMuCi1jbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKExvb3BCbGlubkNsYXNzaWZpZXIpOwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBj
dWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5k
ZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAs
MjAgQEAKICNpbmNsdWRlICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25z
dGFudHMuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxp
emVkIHRyaWFuZ3VsYXRpb24gb2YgdGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcg
dG8gdGhlIGZvdXIgY29udHJvbCBwb2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBz
ZWdtZW50LgotY2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAv
LyBUaGUgdmVydGljZXMgdGhhdCB0aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRh
aW5pbmcgYm90aAogICAgIC8vIHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRo
ZSBjdWJpYyB0ZXh0dXJlCiAgICAgLy8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShWZXJ0ZXgpOwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAg
ICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uVGV4dHVyZUNvb3Jkcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uVGV4dHVyZUNvb3Jkcy5oCmluZGV4IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5j
bHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRzLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
UE9EQXJlbmEuaAppbmRleCBmNjhiYWVmLi41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQu
aD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9j
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KQEAgLTE1OCw3ICsxNTcsOCBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMg
YSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0Lgot
ICAgIGNsYXNzIENodW5rIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9t
IHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApA
QCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9E
UmVkQmxhY2tUcmVlLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQ0LDggKzQzLDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBw
b3J0cyBlZmZpY2llbnQgKE8obGcgbikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcg
b2YKIC8vIGludGVydmFscyBpbiB0aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVz
ZXJEYXRhID0gdm9pZCo+Ci1jbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFi
bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPRElu
dGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQ
T0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBPREludGVydmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0
byByZWR1Y2UgdHlwaW5nIHdoZW4gZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4K
ICAgICAvLyB0aGlzIHRyZWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9QT0RSZWRCbGFja1RyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
RFJlZEJsYWNrVHJlZS5oCmluZGV4IDZkNTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBA
CiAKICNpbmNsdWRlICJQT0RBcmVuYS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lm
bmRlZiBOREVCVUcKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJv
dGVjdGVkOgogICAgIC8vIFRoZSBiYXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRo
ZSB0cmVlLiBOb2RlcyBhcmUgb25seQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJz
IG9mIHRoZSB0cmVlIGRlYWwgb25seSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBp
biBpdC4KLSAgICBjbGFzcyBOb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBO
b2RlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgog
ICAgICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCBy
ZWQuCiAgICAgICAgIGV4cGxpY2l0IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTks
OCBAQCBwcml2YXRlOgogICAgIC8vIEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBB
IFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVu
dHMuCi0gICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENvdW50ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigp
CiAgICAgICAgICAgICA6IG1fY291bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUuLmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L1NoYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVm
aW5lIFNoYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBA
IGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3Mg
Q29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFk
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAg
U2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRl
cigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0
YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFi
ZGM1MWEuLmRjYThhYjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1RpbGluZ0RhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdE
YXRhLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUg
VGlsaW5nRGF0YV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBU
aWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0Rh
dGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJv
b2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJl
dHVybiBtX21heFRleHR1cmVTaXplOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcApp
bmRleCA2MzVmZWZmLi5iZjYwYWJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAK
QEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0
ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtpbmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFi
bGUuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYs
NyArMzUsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5n
Q2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQg
eworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFs
IH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTli
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRP
cmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBs
YXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGMxMTg1OGMuLmQ4MTUxNjEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgog
I2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9u
dCogQ0dGb250UmVmOwogdHlwZWRlZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2
LDcgKzM1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsK
IGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQ0dGb250
UmVmIGNnRm9udCkKICAgICAgICAgOiBtX2F0c0NvbnRhaW5lcihjb250YWluZXIpCiAgICAgICAg
ICwgbV9jZ0ZvbnQoY2dGb250KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudmcvUGFpbnRlck9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
dmcvUGFpbnRlck9wZW5WRy5oCmluZGV4IGU0YzY2ODguLjg0ODk5M2IgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKQEAgLTI1LDcgKzI1
LDYgQEAKIAogI2luY2x1ZGUgPG9wZW52Zy5oPgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00
MSw3ICs0MCw4IEBAIGNsYXNzIFRpbGVkSW1hZ2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBh
aW50ZXJTdGF0ZTsKIAotY2xhc3MgUGFpbnRlck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYWludGVyT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVy
T3BlblZHKTsKIHB1YmxpYzoKICAgICBmcmllbmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBm
cmllbmQgc3RydWN0IFBsYXRmb3JtUGFpbnRlclN0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLmVlNzIwMDEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVu
VkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZH
LmgKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRlIDxlZ2wuaD4KICNlbmRpZgogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyAr
NDEsOCBAQCBjbGFzcyBJbnRTaXplOwogICogb2YgI2lmZGVmcyBhbmQgc2hvdWxkIG1ha2UgaXQg
ZWFzeSB0byBhZGQgZGlmZmVyZW50IHN1cmZhY2UvY29udGV4dAogICogaW1wbGVtZW50YXRpb25z
IHRoYW4gRUdMLgogICovCi1jbGFzcyBTdXJmYWNlT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN1cmZhY2VPcGVuVkcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1cmZh
Y2VPcGVuVkcpOwogcHVibGljOgogICAgIGVudW0gTWFrZUN1cnJlbnRNb2RlIHsKICAgICAgICAg
QXBwbHlQYWludGVyU3RhdGVPblN1cmZhY2VTd2l0Y2gsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcu
LmQ1ZjMyNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSwxNCArMjUsMTYgQEAKICNpbmNsdWRlICJGb250
T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZl
cjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgor
ICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0
aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggMjIwMWYxOC4uMDc3N2JiMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTMy
LDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxhdGZvcm1E
YXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRh
UHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0YVByaXZh
dGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250UGxhdGZvcm1E
YXRhUHJpdmF0ZSgpCiAgICAgICAgIDogcmVmQ291bnQoMSkKQEAgLTYyLDggKzYzLDEwIEBAIHB1
YmxpYzoKIAogCiAKLWNsYXNzIEZvbnRQbGF0Zm9ybURhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBGb250UGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgRm9udFBsYXRmb3Jt
RGF0YShmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSk7CiAgICAgRm9udFBsYXRm
b3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhICYpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEo
Y29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHlOYW1lLCBp
bnQgd29yZFNwYWNpbmcgPSAwLCBpbnQgbGV0dGVyU3BhY2luZyA9IDApOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAppbmRleCBiMzk5
ZjRlLi43YWQ4OThhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dFF0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dFF0LmNwcApAQCAtMTc3LDcgKzE3Nyw4IEBAIHN0YXRpYyBpbmxpbmUgUXQ6
OkZpbGxSdWxlIHRvUXRGaWxsUnVsZShXaW5kUnVsZSBydWxlKQogICAgIHJldHVybiBRdDo6T2Rk
RXZlbkZpbGw7CiB9CiAKLWNsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29s
b3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRmYjM5
Li45ZmFkN2VkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5z
cGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3Bh
cmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
c3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJhbnNw
YXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAg
IFRyYW5zcGFyZW5jeUxheWVyKGNvbnN0IFFQYWludGVyKiBwLCBjb25zdCBRUmVjdCAmcmVjdCwg
cXJlYWwgb3BhY2l0eSwgUVBpeG1hcCYgYWxwaGFNYXNrKQogICAgICAgICA6IHBpeG1hcChyZWN0
LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpCiAgICAgICAgICwgb3BhY2l0eShvcGFjaXR5KQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKaW5kZXggZTUxYjZiNi4uMDgzZTU4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNSw3
ICszNSw2IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgpAQCAtNDksNyArNDgsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxh
dGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1Ymxp
YzoKICNpZiBPUyhXSU5ET1dTKQogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZv
bnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVu
Y2UoZm9udFJlZmVyZW5jZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAppbmRleCA1ZTEy
YWQ2Li40NDgzNWE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCkBAIC0zMSwxNCAr
MzEsMTQgQEAKICNpZm5kZWYgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKICNkZWZp
bmUgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFRoaXMgY2xhc3MganVzdCBob2xkcyBvbnRvIGEgUGxhdGZvcm1Db250ZXh0
U2tpYSBmb3IgR3JhcGhpY3NDb250ZXh0LgotY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRm
b3JtUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlKTsKIHB1YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUoUGxhdGZvcm1Db250ZXh0U2tpYSogcGxhdGZvcm1Db250ZXh0KQogICAgICAgICA6IG1fY29u
dGV4dChwbGF0Zm9ybUNvbnRleHQpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKaW5kZXggMTEwMDg1ZC4uZDY4M2FhZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4
dFNraWEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250
ZXh0U2tpYS5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFBsYXRmb3JtQ29udGV4dFNraWFf
aAogCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUu
aCIKIAogI2luY2x1ZGUgIlNrRGFzaFBhdGhFZmZlY3QuaCIKICNpbmNsdWRlICJTa0RyYXdMb29w
ZXIuaCIKQEAgLTY3LDcgKzY2LDggQEAgY2xhc3MgVGV4dHVyZTsKIC8vIHJlc3BvbnNpYmxlIGZv
ciBtYW5hZ2luZyB0aGUgcGFpbnRpbmcgc3RhdGUgd2hpY2ggaXMgc3RvcmUgaW4gc2VwYXJhdGUK
IC8vIFNrUGFpbnQgb2JqZWN0cy4gVGhpcyBjbGFzcyBwcm92aWRlcyB0aGUgYWRhcHRvciB0aGF0
IGFsbG93cyB0aGUgcGFpbnRpbmcKIC8vIHN0YXRlIHRvIGJlIHB1c2hlZCBhbmQgcG9wcGVkIGFs
b25nIHdpdGggdGhlIGJpdG1hcC4KLWNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGxhdGZvcm1Db250ZXh0U2tpYSk7CiBwdWJsaWM6CiAgICAgLy8gRm9yIHBy
aW50aW5nLCB0aGVyZSBzaG91bGRuJ3QgYmUgYW55IGNhbnZhcy4gY2FudmFzIGNhbiBiZSBOVUxM
LiBJZiB5b3UKICAgICAvLyBzdXBwbHkgYSBOVUxMIGNhbnZhcywgeW91IGNhbiBhbHNvIGNhbGwg
c2V0Q2FudmFzIGxhdGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCmluZGV4IGJhZWUxMDIuLjhkMmY4NzQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zv
cm0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJh
bnNmb3JtLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oIgogCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vIGZvciBtZW1jcHkKLSNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogCiAjaWYgUExBVEZPUk0oQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBo
aWNzL0NHQWZmaW5lVHJhbnNmb3JtLmg+CkBAIC01NSw3ICs1NCw4IEBAIGNsYXNzIEludFBvaW50
OwogY2xhc3MgSW50UmVjdDsKIGNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4OwogCi1jbGFzcyBB
ZmZpbmVUcmFuc2Zvcm0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBZmZpbmVUcmFu
c2Zvcm0geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVk
ZWYgZG91YmxlIFRyYW5zZm9ybVs2XTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3
Ny4uOTgxZTFmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBt
YWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2
YjRiYWEuLjFiYjA2NWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBA
CiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVk
ZSA8c3RyaW5nLmg+IC8vZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+
CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFu
c2Zvcm0uaD4KQEAgLTYyLDcgKzYxLDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxv
YXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBN
YXRyaXg0WzRdWzRdOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggMWJkZjI3MC4uMTYyOGVlYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENH
Rm9udFJlZjsKIApAQCAtMzQsNyArMzMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBG
b250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsK
K3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNl
LCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZl
cmVuY2UpCiAgICAgICAgICwgbV9uYW1lKG5hbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCmluZGV4
IDNhYjUyYjguLjA2OTkxYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCkBAIC0yNCw3ICsyNCw2
IEBACiAKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSA8Y2Fpcm8uaD4K
IApAQCAtMzMsNyArMzIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZv
cm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoK
ICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKGNhaXJvX2ZvbnRfZmFjZV90KiBmb250RmFjZSkK
ICAgICAgICAgOiBtX2ZvbnRGYWNlKGZvbnRGYWNlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaAppbmRleCBjMjE2MTQw
Li41OTUxZTQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2Nh
bFdpbmRvd3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9j
YWxXaW5kb3dzQ29udGV4dC5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2Nh
bFdpbmRvd3NDb250ZXh0KTsKIHB1YmxpYzoKICAgICBMb2NhbFdpbmRvd3NDb250ZXh0KEdyYXBo
aWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIHN1
cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSwgYm9vbCBtYXlDcmVhdGVCaXRtYXAgPSB0cnVlKQogICAg
ICAgICA6IG1fZ3JhcGhpY3NDb250ZXh0KGdyYXBoaWNzQ29udGV4dCkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKaW5kZXggZWZhZjIxOC4uZmU2MGM4ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKQEAgLTM0LDcgKzM0LDYgQEAK
ICNpbmNsdWRlIDxRVE1MLmg+CiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtNjMsNyAr
NjIsOCBAQCB1bmlvbiBVcHBQYXJhbSB7CiBzdGF0aWMgVmVjdG9yPENGU3RyaW5nUmVmPiogZ1N1
cHBvcnRlZFR5cGVzID0gMDsKIHN0YXRpYyBTSW50MzIgcXVpY2tUaW1lVmVyc2lvbiA9IDA7CiAK
LWNsYXNzIFFUTW92aWVQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUVRNb3Zp
ZVRhc2tDbGllbnQgeworY2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgUVRNb3ZpZVRhc2tD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFFUTW92aWVQcml2YXRlKTsKIHB1Ymxp
YzoKICAgICBRVE1vdmllUHJpdmF0ZSgpOwogICAgIH5RVE1vdmllUHJpdmF0ZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcAppbmRleCBlMTNm
NzMyLi4yNjg2MTJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9R
VE1vdmllR1dvcmxkLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1v
dmllR1dvcmxkLmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgPFF1aWNrVGltZUNvbXBv
bmVudHMuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9RVFRyYWNrLmNwcAppbmRleCAwOTE0MmJjLi5iZjgwYTgxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcApAQCAtMzEsNyArMzEsOCBAQAogCiB1c2luZyBuYW1l
c3BhY2Ugc3RkOwogCi1jbGFzcyBRVFRyYWNrUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBRVFRyYWNrUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRUcmFj
a1ByaXZhdGUpOwogcHVibGljOgogICAgIFFUVHJhY2tQcml2YXRlKCk7CiAgICAgflFUVHJhY2tQ
cml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NB
Q0ZDb250ZXh0Rmx1c2hlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNG
Q29udGV4dEZsdXNoZXIuaAppbmRleCAxN2VjNDFkLi4xZTk5MGEzIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAt
MzYsNyArMzUsOCBAQCBzdHJ1Y3QgV0tDQUNGQ29udGV4dDsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tD
QUNGQ29udGV4dEZsdXNoZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBXS0NBQ0ZDb250ZXh0Rmx1
c2hlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1dLQ0FDRkxheWVyUmVuZGVyZXIuaAppbmRleCA3NjNmZmZhLi5hMTY2ZTgxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCkBA
IC0zMiw3ICszMiw2IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJXS0NBQ0ZMYXll
ci5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTU2LDcgKzU1LDggQEAgcHVi
bGljOgogLy8gRklYTUU6IEN1cnJlbnRseSB0aGVyZSBpcyBhIFdLQ0FDRkxheWVyUmVuZGVyZXIg
Zm9yIGVhY2ggV2ViVmlldyBhbmQgZWFjaAogLy8gaGFzIGl0cyBvd24gQ0FSZW5kZXJPR0xDb250
ZXh0IGFuZCBEaXJlY3QzRERldmljZTksIHdoaWNoIGlzIGluZWZmaWNpZW50LgogLy8gKGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTg1NSkKLWNsYXNzIFdLQ0FDRkxh
eWVyUmVuZGVyZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV0tDQUNGTGF5ZXJSZW5k
ZXJlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tDQUNGTGF5ZXJSZW5kZXJlcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8V0tDQUNGTGF5ZXJSZW5kZXJlcj4gY3JlYXRl
KFdLQ0FDRkxheWVyUmVuZGVyZXJDbGllbnQqKTsKICAgICB+V0tDQUNGTGF5ZXJSZW5kZXJlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAppbmRleCBhYmRjMGYyLi5mMjI3NmFiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aApAQCAtMjQsNyArMjQsNiBAQAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1
ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
Nyw3ICszNiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHVu
cmVnaXN0ZXJGb250KGNvbnN0IFN0cmluZyYgZm9udE5hbWUpID0gMDsKICAgICB9OwogCi0gICAg
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICAgICAgOiBtX25hbWUobmFt
ZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5j
ZS9Gb250UGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0Zv
bnRQbGF0Zm9ybURhdGEuaAppbmRleCBlNzNhN2IyLi45ODYyN2Q0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjgsNyAr
MjgsNiBAQAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRPcmll
bnRhdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbC5oPgogCiB0eXBlZGVmIHN0
cnVjdCB0YWdURVhUTUVUUklDVyBURVhUTUVUUklDOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAppbmRleCAwODAy
ODI2Li44MjQ1NTk2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcApAQCAtNDQwLDcgKzQ0MCw4IEBAIHN0YXRp
YyB2b2lkIHJvdGF0ZUJpdG1hcChTaGFyZWRCaXRtYXAqIGRlc3RCbXAsIGNvbnN0IFNoYXJlZEJp
dG1hcCogc291cmNlQm1wLCBjCiAgICAgICAgIF9yb3RhdGVCaXRtYXA8dW5zaWduZWQsIGZhbHNl
PihkZXN0Qm1wLCBzb3VyY2VCbXAsIHRyYW5zZm9ybSk7CiB9CiAKLWNsYXNzIFRyYW5zcGFyZW50
TGF5ZXJEQyA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW50TGF5ZXJEQyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbnRMYXllckRDKTsKIHB1YmxpYzoKICAgICBU
cmFuc3BhcmVudExheWVyREMoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhLCBJ
bnRSZWN0JiBvcmlnUmVjdCwgY29uc3QgSW50UmVjdCogcmVjdEJlZm9yZVRyYW5zZm9ybSA9IDAs
IGludCBhbHBoYSA9IDI1NSwgYm9vbCBwYWludEltYWdlID0gZmFsc2UpOwogICAgIH5UcmFuc3Bh
cmVudExheWVyREMoKTsKQEAgLTU2MCw3ICs1NjEsOCBAQCB2b2lkIFRyYW5zcGFyZW50TGF5ZXJE
Qzo6ZmlsbEFscGhhQ2hhbm5lbCgpCiAgICAgfQogfQogCi1jbGFzcyBTY29wZURDUHJvdmlkZXIg
OiBOb25jb3B5YWJsZSB7CitjbGFzcyBTY29wZURDUHJvdmlkZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjb3BlRENQcm92aWRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NvcGVE
Q1Byb3ZpZGVyKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSogZGF0YSkKICAgICAgICAg
OiBtX2RhdGEoZGF0YSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
Y2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3Qg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaAppbmRleCBlMTRhNTgzLi4wYzA3YzA3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJh
ZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogICAgIC8vIENyZWF0ZWQgZnJvbSB0aGUgRXZlbnRI
YW5kbGVyR3RrIHRvIGJlIHVzZWQgYnkgdGhlIGRvbQogICAgIGNsYXNzIENsaXBib2FyZEd0ayA6
IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q2xpcGJvYXJkR3RrPiBjcmVhdGUoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGlj
eSwgR3RrQ2xpcGJvYXJkKiBjbGlwYm9hcmQsIEZyYW1lKiBmcmFtZSkKICAgICAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKaW5kZXggNWEw
NGJlZS4uMTMwMDM3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9JbWFnZURlY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0lt
YWdlRGVjb2Rlci5oCkBAIC0yMjEsNyArMjIxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IC8vIHNldE1heE51bVBpeGVscygpIHRvIHNwZWNpZnkgdGhlIGJpZ2dlc3Qgc2l6ZSB0aGF0IGRl
Y29kZWQgaW1hZ2VzIGNhbgogICAgIC8vIGhhdmUuIEltYWdlIGRlY29kZXJzIHdpbGwgZGVmbGF0
ZSB0aG9zZSBpbWFnZXMgdGhhdCBhcmUgYmlnZ2VyIHRoYW4KICAgICAvLyBtX21heE51bVBpeGVs
cy4gKE5vdCBzdXBwb3J0ZWQgYnkgYWxsIGltYWdlIGRlY29kZXJzIHlldCkKLSAgICBjbGFzcyBJ
bWFnZURlY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEltYWdlRGVjb2Rl
ciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRGVjb2Rlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgSW1hZ2VEZWNvZGVyKGJvb2wg
cHJlbXVsdGlwbHlBbHBoYSwgYm9vbCBpZ25vcmVHYW1tYUFuZENvbG9yUHJvZmlsZSkKICAgICAg
ICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCmlu
ZGV4IDcxODdlY2YuLjM5ZWFkZGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Ns
aXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCkBA
IC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgRmlsZUxpc3Q7CiAKIGNsYXNzIENs
aXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBl
LCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ks
IEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9M
b2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBA
IC0xNyw3ICsxNyw2IEBACiAgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5T
R3JhcGhpY3NDb250ZXh0OwpAQCAtMzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7
CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRo
ZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwg
b3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQK
LWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxD
dXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsK
ICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1No
YXJlZFRpbWVyTWFjLm1tCmluZGV4IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1NoYXJlZFRpbWVyTWFjLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9J
T01lc3NhZ2UuaD4KICNpbXBvcnQgPElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLmMxZjU1MjIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVk
ZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRh
dGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEJsb2JEYXRhPiBjcmVhdGUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Zvcm1EYXRhQnVpbGRlci5oCmluZGV4IDg3ZDBlZjMuLjExMmUzMTUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKQEAgLTIzLDE0ICsyMywxNCBAQAogCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IERvY3VtZW50OwogY2xhc3MgVGV4dEVuY29kaW5nOwogCi1jbGFzcyBGb3JtRGF0YUJ1aWxkZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9ybURhdGFCdWlsZGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGb3JtRGF0YUJ1aWxkZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBU
ZXh0RW5jb2RpbmcgZW5jb2RpbmdGcm9tQWNjZXB0Q2hhcnNldChjb25zdCBTdHJpbmcmIGFjY2Vw
dENoYXJzZXQsIERvY3VtZW50KiBkb2N1bWVudCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKaW5kZXggZDFmMmRiNC4uZmVhNDM5NGQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKICNkZWZpbmUg
TmV0d29ya1N0YXRlTm90aWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
ICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgTmV0d29ya1N0YXRlTm90aWZpZXJQcml2YXRlOwogI2VuZGlmCiAKLWNsYXNzIE5l
dHdvcmtTdGF0ZU5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5ldHdvcmtT
dGF0ZU5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXR3b3JrU3RhdGVOb3Rp
Zmllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE5ldHdvcmtTdGF0
ZU5vdGlmaWVyKCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9p
ZCAoKikoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
SW50ZXJuYWwuaAppbmRleCA5Y2NjZWNkLi5jMjk5Y2U1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAg
Y2xhc3MgTlNVUkxDb25uZWN0aW9uOwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJl
c291cmNlSGFuZGxlQ2xpZW50OwogCi0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlc291cmNlSGFu
ZGxlSW50ZXJuYWwoUmVzb3VyY2VIYW5kbGUqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogYywgYm9vbCBkZWZlcnNMb2FkaW5nLCBi
b29sIHNob3VsZENvbnRlbnRTbmlmZikKICAgICAgICAgICAgIDogbV9jbGllbnQoYykKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDMzYTE4
NGUuLmY3OTU4NGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlcXVlc3RCYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVx
dWVzdEJhc2UuaApAQCAtNDksNyArNDksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3Ry
dWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YTsKIAogICAgIC8vIERvIG5vdCB1c2Ug
dGhpcyB0eXBlIGRpcmVjdGx5LiAgVXNlIFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkLgotICAgIGNs
YXNzIFJlc291cmNlUmVxdWVzdEJhc2UgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xh
c3MgUmVzb3VyY2VSZXF1ZXN0QmFzZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIHR5cGUgb2YgdGhpcyBSZXNvdXJjZVJlcXVl
c3QsIGJhc2VkIG9uIGhvdyB0aGUgcmVzb3VyY2Ugd2lsbCBiZSB1c2VkLgogICAgICAgICBlbnVt
IFRhcmdldFR5cGUgewpAQCAtMjA1LDcgKzIwNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y29tcGFy
ZShhLCBiKTsgfQogICAgIGlubGluZSBib29sIG9wZXJhdG9yIT0oUmVzb3VyY2VSZXF1ZXN0JiBh
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi0gICAg
c3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgorICAgICAgICBDcm9zc1Ro
cmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAK
ICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1
NGJhYi4uZTA3NzRjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsK
IHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNl
IHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0
ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxSZXNvdXJjZVJlc3BvbnNlPiBhZG9w
dChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGE+KTsKIApAQCAtMTc1
LDcgKzE3NiwxMCBAQCBwcml2YXRlOgogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiBSZXNv
dXJjZVJlc3BvbnNlQmFzZTo6Y29tcGFyZShhLCBiKTsgfQogaW5saW5lIGJvb2wgb3BlcmF0b3Ih
PShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7
IHJldHVybiAhKGEgPT0gYik7IH0KIAotc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25z
ZURhdGFCYXNlIDogTm9uY29weWFibGUgeworc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNw
b25zZURhdGFCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291
cmNlUmVzcG9uc2VEYXRhQmFzZSk7CitwdWJsaWM6CisgICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJl
c3BvbnNlRGF0YUJhc2UoKSB7IH0KICAgICBLVVJMIG1fdXJsOwogICAgIFN0cmluZyBtX21pbWVU
eXBlOwogICAgIGxvbmcgbG9uZyBtX2V4cGVjdGVkQ29udGVudExlbmd0aDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4
IGMxOTMzZTMuLjYwZDg1NmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNjAsNyArNjAsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICNkZWZpbmUgUkVBRF9CVUZGRVJfU0laRSA4MTkyCiAKLWNsYXNzIFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBS
ZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoKICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIo
UmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UgJiwgVmVjdG9yPGNoYXI+Jik7CiAgICAg
fldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAppbmRleCAzOGQ5Y2QxLi5mNTA1NDBjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2lu
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2lu
LmNwcApAQCAtNzYsNyArNzYsOCBAQCBzdGF0aWMgU3RyaW5nIHF1ZXJ5SFRUUEhlYWRlcihISU5U
RVJORVQgcmVxdWVzdEhhbmRsZSwgRFdPUkQgaW5mb0xldmVsKQogfQogCiAKLWNsYXNzIFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBS
ZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoKICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIo
UmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8Y2hhcj4mLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCk7CiAgICAgfldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCmluZGV4IDVhY2ExYTYuLmZiNWFiZWYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L3F0L0NsaXBib2FyZFF0LmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQg
ZHJvcCBhbmQgY29weS9wYXN0ZQogICAgIGNsYXNzIENsaXBib2FyZFF0IDogcHVibGljIENsaXBi
b2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlw
Ym9hcmRRdD4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIGNvbnN0IFFNaW1l
RGF0YSogcmVhZGFibGVDbGlwYm9hcmQpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVEYXRhYmFzZS5oCmluZGV4IGMzMjkyNzMuLmRhNTNhY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlRGF0YWJhc2UuaApAQCAtNTAsNyArNTAsOCBAQCBleHRlcm4gY29uc3QgaW50IFNRTFJl
c3VsdFNjaGVtYTsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0RnVsbDsKIGV4dGVybiBjb25z
dCBpbnQgU1FMUmVzdWx0SW50ZXJydXB0OwogCi1jbGFzcyBTUUxpdGVEYXRhYmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxpdGVEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU1FMaXRlRGF0YWJhc2UpOwogICAgIGZyaWVuZCBjbGFzcyBTUUxpdGVUcmFuc2Fj
dGlvbjsKIHB1YmxpYzoKICAgICBTUUxpdGVEYXRhYmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVTdGF0ZW1lbnQuaAppbmRleCAxNDQ0ZjBlLi5mZDFhYmZiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L3NxbC9TUUxpdGVTdGF0ZW1lbnQuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFNRTFZhbHVlOwogCi1jbGFzcyBTUUxpdGVTdGF0ZW1lbnQgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlU3RhdGVtZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTUUxpdGVTdGF0ZW1lbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBTUUxpdGVTdGF0ZW1lbnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsK
ICAgICB+U1FMaXRlU3RhdGVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNh
Y3Rpb24uaAppbmRleCA5MjQyNDFmLi45ZTMzY2Y4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NR
TGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFu
c2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFi
YXNlOwogCi1jbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQotewor
Y2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0
ZVRyYW5zYWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1FM
aXRlVHJhbnNhY3Rpb24oU1FMaXRlRGF0YWJhc2UmIGRiLCBib29sIHJlYWRPbmx5ID0gZmFsc2Up
OwogICAgIH5TUUxpdGVUcmFuc2FjdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L0JpZGlSZXNvbHZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZl
ci5oCmluZGV4IDFmODcxMTUuLjA1NmVkNzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9CaWRpUmVzb2x2ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29s
dmVyLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNkZWZpbmUgQmlkaVJlc29sdmVyX2gKIAogI2luY2x1
ZGUgIkJpZGlDb250ZXh0LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTEyNiw3
ICsxMjUsOCBAQCBzdHJ1Y3QgQmlkaUNoYXJhY3RlclJ1biB7CiAgICAgQmlkaUNoYXJhY3RlclJ1
biogbV9uZXh0OwogfTsKIAotdGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNs
YXNzIEJpZGlSZXNvbHZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8Y2xhc3Mg
SXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShCaWRpUmVzb2x2ZXIpOwogcHVibGljIDoKICAgICBCaWRpUmVzb2x2ZXIoKQog
ICAgICAgICA6IG1fZGlyZWN0aW9uKFdURjo6VW5pY29kZTo6T3RoZXJOZXV0cmFsKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaAppbmRleCBmMTYxMWU1Li41MzZlZDQ4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaApAQCAtMzAsNyAr
MzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlZ3VsYXJFeHByZXNzaW9u
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUmVndWxhckV4cHJlc3Npb24geworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlZ3VsYXJFeHByZXNzaW9u
KGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkpOwogICAgIH5SZWd1bGFyRXhwcmVz
c2lvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCmluZGV4IGM2YWYzOGEuLjEyY2Y2NDcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1
ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTU3LDggKzU2LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgY2hhciBVbmVuY29kYWJsZVJl
cGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAgY2xhc3MgVGV4dENvZGVjIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29kZWMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6Cisg
ICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAog
ICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9v
bCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5z
Y29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVy
L0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdkYjk3Ny4uYmZmZjkzZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIEZvbnRUcmFuc2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRv
bWljU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRF
bmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFu
c2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBjb252
ZXJ0KFN0cmluZyYgdGV4dCwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29k
aW5nKiA9IDApIGNvbnN0OwogICAgIGJvb2wgbmVlZHNUcmFuc2NvZGluZyhjb25zdCBGb250RGVz
Y3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaCBiL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L0NsaXBib2FyZFdpbi5oCmluZGV4IGNlNjRiODUuLjc3OWRhMjYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L0NsaXBib2FyZFdpbi5oCkBAIC00MSw2ICs0MSw3IEBAIGNsYXNzIFdDRGF0YU9iamVjdDsKIAog
Ly8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBh
bmQgY29weS9wYXN0ZQogY2xhc3MgQ2xpcGJvYXJkV2luIDogcHVibGljIENsaXBib2FyZCwgcHVi
bGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0ZShDbGlw
Ym9hcmRUeXBlIGNsaXBib2FyZFR5cGUsIElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBDbGlwYm9h
cmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1NmU3Li5k
MzZjMjMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJv
YWRjYXN0ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRj
YXN0ZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0ZW5lcjsK
IAotICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyB2b2lkIGFkZExpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VMaXN0ZW5l
ciopOwogICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNz
YWdlTGlzdGVuZXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFz
ZS5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKaW5kZXggYjE0NjA1Zi4uYzQx
MmMwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKKysrIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5QYWNrYWdl
PiwgUGx1Z2luUGFja2FnZUhhc2g+IFBsdWdpblNldDsKIAotICAgIGNsYXNzIFBsdWdpbkRhdGFi
YXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODlj
Li4yOWJjNGU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNj
aGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVy
LmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgdm9pZCBNYWluVGhyZWFkRnVuY3Rpb24odm9p
ZCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oIGIvV2ViQ29y
ZS9wbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCBkZWFlYzk5Li5hOTliNmViIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5WaWV3LmgKQEAgLTkzLDcgKzkzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBQ
bHVnaW5TdGF0dXNMb2FkZWRTdWNjZXNzZnVsbHkKICAgICB9OwogCi0gICAgY2xhc3MgUGx1Z2lu
UmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luUmVxdWVzdCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblJlcXVlc3QpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpblJlcXVlc3QoY29uc3Qg
RnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9u
LCB2b2lkKiBub3RpZnlEYXRhLCBib29sIHNob3VsZEFsbG93UG9wdXBzKQogICAgICAgICAgICAg
OiBtX2ZyYW1lTG9hZFJlcXVlc3QoZnJhbWVMb2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8u
aAppbmRleCA1ZTZmNjE5Li5kNzdkNmNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9D
b2x1bW5JbmZvLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0zMSw3
ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb2x1bW5JbmZvKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmlu
Zy9Db3VudGVyTm9kZS5oCmluZGV4IDUyOWQ0MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRl
ck5vZGUuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIC8vIFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJl
ZSB0aGF0IGlzIHVzZWQgZm9yIGZpbmRpbmcgcGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
TGF5b3V0U3RhdGUuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgog
I2luY2x1ZGUgIkludFNpemUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwog
Y2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkK
ICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJBcmVuYS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAz
MjEzOWZiLi43ODdhNjg4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVu
YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwx
MyBAQAogI2RlZmluZSBSZW5kZXJBcmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBj
b25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgUmVuZGVyQXJlbmEodW5zaWduZWQgYXJlbmFTaXplID0gNDA5Nik7CiAgICAgflJl
bmRlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA1MTUzMjE4Li5hMDZjZDgy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTM1NCw3ICszNTQsOSBAQCBwcml2YXRlOgog
ICAgICAgICBib29sIGV2ZXJIYWRMYXlvdXQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBGbG9hdGlu
Z09iamVjdCA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3QgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGbG9hdGluZ09iamVjdCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBi
aXRzIHNvIHlvdSBjYW4gdXNlIEZsb2F0Qm90aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGgg
bGVmdCBhbmQgcmlnaHQuCiAgICAgICAgIGVudW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0
UmlnaHQgPSAyLCBGbG9hdEJvdGggPSAzIH07CiAKQEAgLTY4MSw3ICs2ODMsOSBAQCBwcml2YXRl
OgogICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBtX2NvbnRpbnVhdGlvbjsKICAgICAKICAgICAv
LyBBbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1
bHQgdmFsdWVzCi0gICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZW5kZXJCbG9ja1JhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgcHVibGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2Nr
KiBibG9jaykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURl
ZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2
ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJs
b2NrKSkKICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAxNDNjNzJjLi4zNmM3NzM0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4
IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7
IC8vIDUwMCBtcwogdHlwZWRlZiBwYWlyPFJlbmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9p
ZCo+IExhc3RQYWludFNpemVNYXBLZXk7CiB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1h
cEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29u
dHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9s
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW1hZ2VRdWFsaXR5Q29udHJv
bGxlcigpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRBdExvd1F1YWxpdHkoR3JhcGhpY3NDb250ZXh0
KiwgUmVuZGVyQm94TW9kZWxPYmplY3QqLCBJbWFnZSosIGNvbnN0IHZvaWQqIGxheWVyLCBjb25z
dCBJbnRTaXplJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNl
dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAppbmRleCBkMGFiMzQ2Li4x
ZTUxMWQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKQEAgLTczLDcgKzczLDggQEAg
cHVibGljOgogcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgaW50IG5vU3BsaXQgPSAtMTsKIAot
ICAgIGNsYXNzIEdyaWRBeGlzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmlk
QXhpcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyaWRBeGlzKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIEdyaWRBeGlzKCk7CiAgICAgICAgIHZvaWQgcmVzaXplKGludCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKaW5kZXggMjM0NjcxMi4uYTIwYzU1YSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaApAQCAtMjksMTMgKzI5LDEz
IEBACiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhh
bmRsZS5oIgogI2luY2x1ZGUgIlN0eWxlSW1hZ2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNs
YXNzIFJlbmRlckltYWdlUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVu
ZGVySW1hZ2VSZXNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVySW1hZ2VS
ZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwg
flJlbmRlckltYWdlUmVzb3VyY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuaAppbmRleCBmYjNhYjY3Li4wMWEyZjE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuaApAQCAtNTMsNyArNTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsK
IC8vIAogLy8gVGhlcmUgaXMgb25lIFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJM
YXllciB0aGF0IGlzIGNvbXBvc2l0ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1
YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVu
ZGVyTGF5ZXJCYWNraW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlbmRlckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAg
IH5SZW5kZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1hcnF1ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3
OTk5OGVkLi45OGZkZGI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJx
dWVlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlz
IGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93
OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJx
dWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVu
ZGVyTWFycXVlZShSZW5kZXJMYXllciopOwogICAgIHZpcnR1YWwgflJlbmRlck1hcnF1ZWUoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCmluZGV4IDI1M2E2NzIuLmQ4ZjJlNWUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZQogLy8gRXhhbXBsZXMgb2YgdmlzdWFsIG92ZXJmbG93IGFyZSBzaGFkb3dzLCB0ZXh0IHN0
cm9rZSAoYW5kIGV2ZW50dWFsbHkgb3V0bGluZSBhbmQgYm9yZGVyLWltYWdlKS4KIAogLy8gVGhp
cyBvYmplY3QgaXMgYWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZl
IG5vbi1kZWZhdWx0IHZhbHVlcyBpbiB0aGUgb3duaW5nIGJveC4KLWNsYXNzIFJlbmRlck92ZXJm
bG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck92ZXJmbG93IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJPdmVyZmxvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGRlZmF1bHRS
ZWN0ID0gSW50UmVjdCgpKSAKICAgICAgICAgOiBtX3RvcExheW91dE92ZXJmbG93KGRlZmF1bHRS
ZWN0LnkoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
Q2xpcHBlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgK
aW5kZXggMjAxNTNlOS4uODFjNzlkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmgKQEAgLTM2LDcgKzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdHJ1Y3QgQ2xpcHBlckRhdGEgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDbGlwcGVy
RGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgT3duUHRy
PEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEuLjQ1Y2E4MTMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSgpCiAgICAgICAgIDogbV9v
YmplY3QoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRleCA0MWEwNTA2Li5iYTQ3NGM5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlldy5oCkBAIC0yNTUsNyArMjU1LDggQEAgdm9pZCB0b1JlbmRlclZpZXco
Y29uc3QgUmVuZGVyVmlldyopOwogCiAKIC8vIFN0YWNrLWJhc2VkIGNsYXNzIHRvIGFzc2lzdCB3
aXRoIExheW91dFN0YXRlIHB1c2gvcG9wCi1jbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShMYXlvdXRTdGF0ZU1haW50YWluZXIpOwogcHVibGljOgogICAg
IC8vIGN0b3IgdG8gcHVzaCBub3cKICAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmll
dyogdmlldywgUmVuZGVyQm94KiByb290LCBJbnRTaXplIG9mZnNldCwgYm9vbCBkaXNhYmxlU3Rh
dGUgPSBmYWxzZSwgaW50IHBhZ2VIZWlnaHQgPSAwLCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0g
ZmFsc2UsIENvbHVtbkluZm8qIGNvbEluZm8gPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXRQcm90ZWN0b3IuaAppbmRleCA3ODgzMDRjLi44YmY2YWM5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciA6IHByaXZhdGUgTm9u
Y29weWFibGUgeworY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZW5kZXJXaWRnZXRQcm90ZWN0b3IpOwogcHVibGljOgogICAgIFJlbmRlcldp
ZGdldFByb3RlY3RvcihSZW5kZXJXaWRnZXQqIG9iamVjdCkKICAgICAgICAgOiBtX29iamVjdChv
YmplY3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xz
LmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKaW5kZXggOWJjYzdh
NC4uOTIyNTgwNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJU
b29scy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaApAQCAt
MjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTMyLDcgKzMxLDggQEAgY2xhc3MgRmxvYXRTaXplOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0
OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQnVmZmVyVG9vbHMpOwogcHVibGljOgogICAgIHN0YXRp
YyBib29sIGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVUYXJnZXRS
ZWN0LCBjb25zdCBGbG9hdFJlY3QmIGNsYW1wZWRBYnNvbHV0ZVRhcmdldFJlY3QsIE93blB0cjxJ
bWFnZUJ1ZmZlcj4mLCBDb2xvclNwYWNlKTsKICAgICBzdGF0aWMgdm9pZCByZW5kZXJTdWJ0cmVl
VG9JbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZlciosIFJlbmRlck9iamVjdCosIGNvbnN0IEFmZmluZVRy
YW5zZm9ybSYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0
SW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCmluZGV4IDhm
NTk3MDM1Li4wNzJiNGJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJM
YXlvdXRJbmZvLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5o
CkBAIC0yMyw3ICsyMyw2IEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJPYmpl
Y3QuaCIKICNpbmNsdWRlICJTVkdNYXJrZXJEYXRhLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDEsOCBAQCBzdHJ1Y3Qg
TWFya2VyTGF5b3V0IHsKICAgICBBZmZpbmVUcmFuc2Zvcm0gbWF0cml4OwogfTsKIAotY2xhc3Mg
U1ZHTWFya2VyTGF5b3V0SW5mbyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdNYXJr
ZXJMYXlvdXRJbmZvIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdNYXJrZXJMYXlvdXRJ
bmZvKTsKIHB1YmxpYzoKICAgICBTVkdNYXJrZXJMYXlvdXRJbmZvKCk7CiAgICAgflNWR01hcmtl
ckxheW91dEluZm8oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNl
cy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmgKaW5kZXggNDk1OTFjZi4uYzQ2
NjM1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lm
IEVOQUJMRShTVkcpCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KIApAQCAtMzgsNyArMzcsOCBAQCBjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1hc2tl
cjsKIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogCiAvLyBIb2xkcyBhIHNldCBvZiByZXNvdXJjZXMg
YXNzb2NpYXRlZCB3aXRoIGEgUmVuZGVyT2JqZWN0Ci1jbGFzcyBTVkdSZXNvdXJjZXMgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVzb3VyY2VzIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdSZXNvdXJjZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBTVkdSZXNvdXJjZXMoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
UmVzb3VyY2VzQ2FjaGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgK
aW5kZXggNGE2MTU3MC4uMDg5YjYyOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
UmVzb3VyY2VzQ2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNo
ZS5oCkBAIC0zMSw3ICszMSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291
cmNlc0NhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAg
flNWR1Jlc291cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3lj
bGVTb2x2ZXIuaAppbmRleCBlNjNlZTYzLi4zNDEyNThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVy
T2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNv
dXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3Vy
Y2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jl
c291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJs
ZUxheW91dC5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaAppbmRleCBlMGZhOGVl
Li5iZTAxYzY4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIxLDEzICsyMSwxMyBAQAog
I2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0X2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRl
clRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUYWJsZUxheW91dChSZW5kZXJU
YWJsZSogdGFibGUpCiAgICAgICAgIDogbV90YWJsZSh0YWJsZSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zv
cm1TdGF0ZS5oCmluZGV4IDBiNGNhNDYuLjM2ZmM2ZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3Jt
U3RhdGUuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5j
bHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUcmFuc2Zvcm1TdGF0ZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBUcmFuc2Zvcm1TdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VHJhbnNmb3JtU3RhdGUpOwogcHVibGljOgogICAgIGVudW0gVHJhbnNmb3JtRGlyZWN0aW9uIHsg
QXBwbHlUcmFuc2Zvcm1EaXJlY3Rpb24sIFVuYXBwbHlJbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9u
IH07CiAgICAgZW51bSBUcmFuc2Zvcm1BY2N1bXVsYXRpb24geyBGbGF0dGVuVHJhbnNmb3JtLCBB
Y2N1bXVsYXRlVHJhbnNmb3JtIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0
aWNhbFBvc2l0aW9uQ2FjaGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25D
YWNoZS5oCmluZGV4IDRkZWFlZjUuLmIyNWIyZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRp
Y2FsUG9zaXRpb25DYWNoZS5oCkBAIC0zOCw3ICszOCw4IEBAIGNvbnN0IGludCBQb3NpdGlvblRv
cCA9IC0weDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uQm90dG9tID0gMHg3ZmZmZmZmZjsK
IGNvbnN0IGludCBQb3NpdGlvblVuZGVmaW5lZCA9IDB4ODAwMDAwMDA7CiAKLWNsYXNzIFZlcnRp
Y2FsUG9zaXRpb25DYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWZXJ0aWNhbFBv
c2l0aW9uQ2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZlcnRpY2FsUG9zaXRpb25D
YWNoZSk7CiBwdWJsaWM6CiAgICAgVmVydGljYWxQb3NpdGlvbkNhY2hlKCkKICAgICB7IH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCmluZGV4IDRmOTY0YTIuLjE1ZjY5MTIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKLXN0cnVjdCBDb250ZW50RGF0
YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDb250ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ29udGVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBDb250ZW50RGF0YSgpCiAgICAgICAgIDogbV90eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmggYi9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oCmluZGV4IDUyNzU3YWQuLjgxNDAzOWUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAs
OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0
cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZiMjk0Li44NDdlOGRmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNp
emUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRmlsbExheWVyKEVGaWxsTGF5ZXJUeXBlKTsKICAgICB+
RmlsbExheWVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dE
YXRhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKaW5kZXggY2E4M2Fm
MC4uYTNkZGYxMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0
YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaApAQCAtMjYsNyAr
MjYsNiBAQAogI2RlZmluZSBTaGFkb3dEYXRhX2gKIAogI2luY2x1ZGUgIkNvbG9yLmgiCi0jaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0z
Nyw3ICszNiw4IEBAIGVudW0gU2hhZG93U3R5bGUgeyBOb3JtYWwsIEluc2V0IH07CiAKIC8vIFRo
aXMgc3RydWN0IGhvbGRzIGluZm9ybWF0aW9uIGFib3V0IHNoYWRvd3MgZm9yIHRoZSB0ZXh0LXNo
YWRvdyBhbmQgYm94LXNoYWRvdyBwcm9wZXJ0aWVzLgogCi1jbGFzcyBTaGFkb3dEYXRhIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgU2hhZG93RGF0YSB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDAp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAppbmRleCAzNjM0
MmU3Li4zMjFmMzkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENo
dW5rQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWls
ZGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgc3RydWN0IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNl
IHR3byBwZXJmb3JtZWQgdGhlIGFjdHVhbCBwZXItY2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5n
IHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNW
R0lubGluZVRleHRCb3ggb2JqZWN0cyAoU1ZHVGV4dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVl
IHBlcmZvcm1zIGFsbCBtb2RpZmljYXRpb25zIHRoYXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVh
Y2ggaW5kaXZpZHVhbCB0ZXh0IGNodW5rICh0ZXh0LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1j
bGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNW
R1RleHRDaHVua0J1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVu
a0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1RleHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRl
ci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRl
ci5oCmluZGV4IGYyOWFjNjQuLmM2ODE4NWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDgg
QEAgY2xhc3MgUmVuZGVyU1ZHVGV4dDsKIC8vIHRvIGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUg
YmFzZWQgb24gdGV4dCBjaHVuayBib3VuZGFyaWVzICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRo
ZSBzZWNvbmQgbGF5b3V0IHBoYXNlIGlzIGNhcnJpZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdp
bmUuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJs
aWM6CiAgICAgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWls
ZExheW91dEF0dHJpYnV0ZXNGb3JUZXh0U3VidHJlZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaAppbmRleCBhZDA1OGQ4Li42MzFl
NGNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAg
LTQ0LDcgKzQ0LDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHJlbmRlcmVycyB0byBjb21wdXRlIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hh
cmFjdGVyCiAvLyB3aGljaCBhcmUgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVj
dHMuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZH
VGV4dExheW91dEVuZ2luZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwog
ICAgIFNWR1RleHRDaHVua0J1aWxkZXImIGNodW5rTGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1f
Y2h1bmtMYXlvdXRCdWlsZGVyOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKaW5kZXggZDc1M2IzOS4uYWMzOTNlZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUu
aApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdSZW5k
ZXJTdHlsZURlZnMuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC0zMyw3ICszMiw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xh
c3MgU1ZHVGV4dE1ldHJpY3M7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlv
dXRFbmdpbmUgdG8gaGFuZGxlICdhbGlnbm1lbnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2Vs
aW5lJyBhbmQgJ2Jhc2VsaW5lLXNoaWZ0Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNl
bGluZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFz
ZWxpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNl
bGluZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZv
bnQmKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmVTcGFjaW5nLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZVNwYWNpbmcuaAppbmRleCAwYTZkNzM2Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaApAQCAtMzAsNyArMzAsOCBA
QCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhlbHBlciBj
bGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdrZXJuaW5nJyAvICds
ZXR0ZXItc3BhY2luZycgYW5kICd3b3JkLXNwYWNpbmcnLgotY2xhc3MgU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdp
bmVTcGFjaW5nKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyhjb25z
dCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaCBi
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaAppbmRleCBiNjFlNDY1Li5lMWRmNTkxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKKysrIGIvV2ViQ29yZS9z
dG9yYWdlL0RhdGFiYXNlVGFzay5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gQ2FuIGJlIHVzZWQgdG8gd2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxl
dGVkLgogLy8gSGFzIHRvIGJlIHBhc3NlZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJl
IGFzc29jaWF0ZWQgd2l0aCB0aGUgdGFzay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXpl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBw
dWJsaWM6CiAgICAgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDgg
QEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRGF0YWJhc2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRl
eCA3MTQ1ZTZiLi5hMWE1YmRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VU
cmFja2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01Niw3
ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0eU9y
aWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERhdGFi
YXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemVUcmFja2Vy
KGNvbnN0IFN0cmluZyYgZGF0YWJhc2VQYXRoKTsKICAgICBzdGF0aWMgRGF0YWJhc2VUcmFja2Vy
JiB0cmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5z
YWN0aW9uTW9uaXRvci5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1v
bml0b3IuaAppbmRleCA3ODNhNzMxLi40ZmNjMjM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3Jh
Z2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9J
REJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NCw3ICs0
Myw4IEBAIGNsYXNzIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZTsKIC8vIEZJWE1FOiBt
b3ZlIHRoZSB2ZWN0b3Igb2YgdHJhbnNhY3Rpb25zIHRvIFRMUy4gS2VlcGluZyBpdCBzdGF0aWMK
IC8vIHdpbGwgbm90IHdvcmsgb25jZSB3ZSBhZGQgc3VwcG9ydCBmb3Igd29ya2Vycy4gQW5vdGhl
ciBwb3NzaWJsZQogLy8gc29sdXRpb24gaXMgdG8ga2VlcCB0aGUgdmVjdG9yIGluIHRoZSBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LgotY2xhc3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhZGRQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlUGVuZGlu
Z1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSopOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9M
b2NhbFN0b3JhZ2VUYXNrLmgKaW5kZXggYTJlMzVlYS4uMjdhOGViNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9j
YWxTdG9yYWdlVGFzay5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQ7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMg
Y2xhc3MgdG8gU3RvcmFnZVRhc2sKLSAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5
bmMsIERlbGV0ZUVtcHR5RGF0YWJhc2UsIFRlcm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmggYi9XZWJDb3JlL3N0b3JhZ2Uv
TG9jYWxTdG9yYWdlVGhyZWFkLmgKaW5kZXggNmYwNTkxMS4uYTJjNzhjNiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFn
ZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzazsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUg
dGhpcyBjbGFzcyB0byBTdG9yYWdlVGhyZWFkCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFk
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRy
PExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJl
YWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBi
L1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi44MmQ3
Yzc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmln
aW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgT3JpZ2luUXVvdGFNYW5hZ2VyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Rv
cmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVj
b3JkLmgKaW5kZXggYTgzMGU2OC4uNzU1N2VhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdl
L09yaWdpblVzYWdlUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVj
b3JkLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBPYmplY3Rz
IG9mIHRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgZnJvbSBtdWx0aXBsZSB0aHJlYWRzIHdpdGggZXh0
ZXJuYWwgc3luY2hyb25pemF0aW9uLgogLy8gU3RyaW5nIGFyZ3VtZW50cyBhcmUgYWxzbyBzdXBw
b3NlZCB0byBiZSBkZWVwbHkgY29waWVkIGJ5IHRoZSBjYWxsZXIgd2hlbiBuZWNlc3NhcnkuCi1j
bGFzcyBPcmlnaW5Vc2FnZVJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBPcmln
aW5Vc2FnZVJlY29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luVXNhZ2VSZWNv
cmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJl
Y29yZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGll
bnQuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2
NTcuLjM5ODg4ZDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNs
aWVudC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0z
Myw3ICszMyw2IEBACiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSw4ICs0MCwxMCBAQCBj
bGFzcyBBYnN0cmFjdERhdGFiYXNlOwogCiAvLyBBIGNsaWVudCB0byB0aGUgU1FMVHJhbnNhY3Rp
b24gY2xhc3MuIEFsbG93cyBTUUxUcmFuc2FjdGlvbiB0byBub3RpZnkgaW50ZXJlc3RlZAogLy8g
cGFydGllcyB0aGF0IGNlcnRhaW4gdGhpbmdzIGhhdmUgaGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlv
bi4KLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxU
cmFuc2FjdGlvbkNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAg
IFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5z
YWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQo
QWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRh
YmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5k
ZXggOTQzNjBjMC4uZmQ3Njc4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25D
b29yZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29v
cmRpbmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAg
ICBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKCkgeyB9CiAgICAgICAgIHZvaWQgYWNxdWlyZUxv
Y2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCByZWxlYXNlTG9jayhTUUxUcmFuc2Fj
dGlvbiopOwogICAgICAgICB2b2lkIHNodXRkb3duKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2
Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaCBiL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5z
aW9ucy5oCmluZGV4IGEwY2YyYmIuLjBlZDYyYTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5z
aW9ucy5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFNWR1N0eWxlZEVsZW1lbnQ7CiBjbGFzcyBT
VkdTTUlMRWxlbWVudDsKIGNsYXNzIFNWR1NWR0VsZW1lbnQ7CiAKLWNsYXNzIFNWR0RvY3VtZW50
RXh0ZW5zaW9ucyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdEb2N1bWVudEV4dGVu
c2lvbnMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxS
ZWZQdHI8U1ZHU3R5bGVkRWxlbWVudD4gPiBTVkdQZW5kaW5nRWxlbWVudHM7CiAgICAgU1ZHRG9j
dW1lbnRFeHRlbnNpb25zKERvY3VtZW50Kik7CkBAIC02OCw5ICs2OSw2IEBAIHByaXZhdGU6CiAg
ICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFNWR1BlbmRpbmdFbGVtZW50cyo+IG1fcGVuZGluZ1Jl
c291cmNlczsKICAgICBPd25QdHI8U1ZHUmVzb3VyY2VzQ2FjaGU+IG1fcmVzb3VyY2VzQ2FjaGU7
CiAKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25z
Jik7Ci0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJiBvcGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zJik7Ci0KIHB1YmxpYzoKICAgICAvLyBUaGlzIEhhc2hNYXAgY29udGFpbnMg
YSBsaXN0IG9mIHBlbmRpbmcgcmVzb3VyY2VzLiBQZW5kaW5nIHJlc291cmNlcywgYXJlIHN1Y2gK
ICAgICAvLyB3aGljaCBhcmUgcmVmZXJlbmNlZCBieSBhbnkgb2JqZWN0IGluIHRoZSBTVkcgZG9j
dW1lbnQsIGJ1dCBkbyBOT1QgZXhpc3QgeWV0LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudFJhcmVEYXRhLmggYi9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAppbmRl
eCA0Mjc2YzRhLi5kYTBmNGMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFy
ZURhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaApAQCAtMjEsNyAr
MjEsNiBAQAogI2RlZmluZSBTVkdFbGVtZW50UmFyZURhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMxLDcgKzMwLDggQEAgY2xh
c3MgU1ZHQ3Vyc29yRWxlbWVudDsKIGNsYXNzIFNWR0VsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50
SW5zdGFuY2U7CiAKLWNsYXNzIFNWR0VsZW1lbnRSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR0VsZW1lbnRSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9u
dERhdGEuaAppbmRleCBlODk3YTU5Li5mMjAyZDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9T
VkdGb250RGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBTVkdGb250RGF0YShTVkdGb250RmFjZUVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5TVkdGb250
RGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaCBiL1dl
YkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKaW5kZXggYzBhZTdmMy4uOGU0M2I5NCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQ
YXRoQmxlbmRlci5oCkBAIC0yMywxMSArMjMsMTEgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1
ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTb3VyY2UuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBT
VkdQYXRoQmxlbmRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQmxlbmRl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aEJsZW5kZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdQYXRoQmxlbmRlcigpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0
aEJ5dGVTdHJlYW0uaAppbmRleCBiODg4MmI2Li4xZjQ1ZGY5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3Ry
ZWFtLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHUGF0aEJ5dGVTdHJlYW1faAogCiAj
aWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNDMsNyArNDIs
OCBAQCB0eXBlZGVmIHVuaW9uIHsKICAgICB1bnNpZ25lZCBjaGFyIGJ5dGVzW3NpemVvZih1bnNp
Z25lZCBzaG9ydCldOwogfSBVbnNpZ25lZFNob3J0Qnl0ZTsKIAotY2xhc3MgU1ZHUGF0aEJ5dGVT
dHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCeXRlU3RyZWFtKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVT
dHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENv
bnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi5k
YmJkY2ExIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5B
QkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQ
YXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1Bh
dGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNWR1BhdGhDb25zdW1lcigpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBpbmNyZW1lbnRQYXRoU2VnbWVudENvdW50KCkgPSAwOwogICAgIHZpcnR1YWwg
Ym9vbCBjb250aW51ZUNvbnN1bWluZygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYW51cCgp
ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaCBiL1dlYkNvcmUv
c3ZnL1NWR1BhdGhQYXJzZXIuaAppbmRleCA3Njc5YTk1Li4wOTYxMzFjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNl
ci5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNpbmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNp
bmNsdWRlICJTVkdQYXRoU2VnLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aFBhcnNlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdQYXRoUGFyc2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdQYXRoUGFyc2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZH
UGF0aFBhcnNlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgg
Yi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKaW5kZXggZDFhNjE0OS4uNzdiZjlmYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTb3VyY2UuaApAQCAtMjUsOCArMjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBTVkdQYXRoU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Bh
dGhTb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhTb3VyY2UpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAg
ICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01v
cmVEYXRhKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMu
aCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggZGQ0NjZlZi4uOGRjYzU4NyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdW
aWV3U3BlYy5oCkBAIC0zNCw4ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBTVkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZH
Rml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQ
YW4sCi0gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgU1ZHVmlld1NwZWMoU1ZHRWxlbWVudCopOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdJbWFnZS5jcHAKaW5kZXggYzk4MDRhZS4uZThhMDY1OSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCisrKyBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R0ltYWdlLmNwcApAQCAtNTUsNyArNTUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDogcHVibGljIEVtcHR5Q2hyb21lQ2xpZW50LCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1w
dHlDaHJvbWVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQ2hyb21l
Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHSW1hZ2VD
aHJvbWVDbGllbnQoU1ZHSW1hZ2UqIGltYWdlKQogICAgICAgICA6IG1faW1hZ2UoaW1hZ2UpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaCBiL1dlYkNvcmUv
d2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCmluZGV4IDY4NmMxN2MuLmNjNzkxZmIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCisrKyBiL1dlYkNvcmUv
d2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEZsb2F0
MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7CiAjZW5kaWYKIAotY2xhc3MgUmVhbHRpbWVBbmFs
eXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFsdGltZUFuYWx5c2VyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFsdGltZUFuYWx5c2VyKTsKIHB1YmxpYzoKICAgICBS
ZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmlydHVhbCB+UmVhbHRpbWVBbmFseXNlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgg
Yi9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAw
NWIzNzY3Li44ZjNmMTU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwuaApAQCAtMzQsNyArMzQsNiBAQAogI2lmIEVOQUJMRShXRUJfU09DS0VU
UykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDMsOCArNDIsMTAgQEAgY2xhc3MgS1VSTDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CiBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCi1jbGFzcyBUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwpOwogcHVibGljOgorICAgIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkg
eyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCosIGNv
bnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKTsKIAogICAgIHZpcnR1YWwgdm9pZCBj
b25uZWN0KCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENo
YW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggOWM1
MjM3Ny4uYTM5Y2QwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENo
YW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00
OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBXZWJTb2NrZXRDaGFu
bmVsQ2xpZW50OwogCiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LCBw
dWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNv
Y2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJT
b2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4
dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0
Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1
YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRI
YW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgK
QEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVk
ZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRz
aGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBj
bGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNv
Y2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAg
ICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9X
ZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRl
eCAzNjZlNGZhLi45ZjBiMDFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2Vy
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29y
a2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBX
b3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoV29ya2VyQ29udGV4dCog
d29ya2VyQ29udGV4dCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCogY2xpZW50LCBjb25zdCBTdHJp
bmcmIHRhc2tNb2RlLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpCiAg
ICAgewpAQCAtNzcsNyArNzgsOCBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIC8vIEdlbmVy
YXRlZCBieSB0aGUgYnJpZGdlLiAgVGhlIFBlZXIgYW5kIGl0cyBicmlkZ2Ugc2hvdWxkIGhhdmUg
aWRlbnRpY2FsCiAgICAgLy8gbGlmZXRpbWVzLgotICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2Vi
U29ja2V0Q2hhbm5lbENsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQZWVy
IDogcHVibGljIFdlYlNvY2tldENoYW5uZWxDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQZWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGVlciogY3JlYXRlKFJlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bENsaWVudFdyYXBwZXI+IGNsaWVudFdyYXBwZXIsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQ
cm94eSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiB0YXNr
TW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQogICAgICAgICB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkuaCBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCmlu
ZGV4IDIxZTE0YTEuLjQ5MDJhZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hh
cmVkV29ya2VyUmVwb3NpdG9yeS5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgpAQCAtNTMsNyArNTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2hh
cmVkV29ya2VyUHJveHk7CiAKICAgICAvLyBQbGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlv
biBvZiB0aGUgU2hhcmVkV29ya2VyUmVwb3NpdG9yeSBzdGF0aWMgaW50ZXJmYWNlLgotICAgIGNs
YXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhl
IHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJl
YWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5Jiwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNz
T3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXgg
NWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRl
eHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0
dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBi
ZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAg
ICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBPYnNlcnZlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7
CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsK
ICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLjRkZTkwZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9h
ZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xh
c3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJs
aWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3Jr
ZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxv
YWRlclByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5n
UHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdv
cmtlck1lc3NhZ2luZ1Byb3h5KFdvcmtlciopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyUnVuTG9vcC5jcHAgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAK
aW5kZXggODNmMjQzZi4uN2IzMTQ5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clJ1bkxvb3AuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcApAQCAt
MTA0LDcgKzEwNCw4IEBAIFN0cmluZyBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpCiAgICAg
cmV0dXJuIFN0cmluZygpOwogfQogCi1jbGFzcyBSdW5Mb29wU2V0dXAgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUnVuTG9vcFNldHVwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
dW5Mb29wU2V0dXApOwogcHVibGljOgogICAgIFJ1bkxvb3BTZXR1cChXb3JrZXJSdW5Mb29wJiBy
dW5Mb29wKQogICAgICAgICA6IG1fcnVuTG9vcChydW5Mb29wKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29w
LmgKaW5kZXggOWQ0ZWRmZC4uM2ZlYjRlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclJ1bkxvb3AuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCkBAIC02
NSw3ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBzdGF0aWMgU3RyaW5n
IGRlZmF1bHRNb2RlKCk7CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBzdGF0aWMgUGFzc093blB0cjxUYXNrPiBjcmVhdGUoUGFzc093blB0cjxTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrLCBjb25zdCBTdHJpbmcmIG1vZGUpOwogICAgICAg
ICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggZjYxMTIwZS4u
OWNkNGQ1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysr
IGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNp
bmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgiCiAKICNpbmNsdWRlIDx1dGlsaXR5PgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogI2luY2x1ZGUg
IkRhdGFiYXNlVGFzay5oIgpAQCAtNjEsNyArNjAsOCBAQCB1bnNpZ25lZCBXb3JrZXJUaHJlYWQ6
OndvcmtlclRocmVhZENvdW50KCkKICAgICByZXR1cm4gbV90aHJlYWRDb3VudDsKIH0KIAotc3Ry
dWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IFdvcmtl
clRocmVhZFN0YXJ0dXBEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCBiMGM3YTg3Li42NDc0MDMw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC02NSw3ICs2NSw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIHN0YXRpYyBXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciB4bWxIdHRwUmVxdWVzdENv
dW50ZXIoIlhNTEh0dHBSZXF1ZXN0Iik7CiAjZW5kaWYKIAotc3RydWN0IFhNTEh0dHBSZXF1ZXN0
U3RhdGljRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0Rh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3Rh
dGljRGF0YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBt
X3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IGJjNjgxNWQuLmIxNWQzNTgg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94
bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VE
ZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3Qg
OiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwg
cHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxYTUxIdHRwUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBYTUxIdHRwUmVxdWVzdChjb250ZXh0KSk7IH0KICAg
ICB+WE1MSHR0cFJlcXVlc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVz
c2lvbk5vZGUuaCBiL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAppbmRleCBjMDRk
NDViLi45M2ZiODU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2Rl
LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCkBAIC0zOSw3ICszOSw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAgICAgICAg
IAotICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKKyAg
ICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250ZXh0IHsKKyAgICAgICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVmUHRyPE5vZGU+
IG5vZGU7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemU7CiAgICAgICAgICAgICB1bnNp
Z25lZCBsb25nIHBvc2l0aW9uOwpAQCAtNTMsNyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgICAgICB2aXJ0dWFsIH5QYXJzZU5vZGUoKSB7IH0KICAgICAgICAgfTsKIAotICAg
ICAgICBjbGFzcyBFeHByZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSwgcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUgeworICAg
ICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXhwcmVzc2lvbik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlv
bkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1s
L1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdi
ZS4uNjE5ZDkxYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIv
V2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAg
ICAgICBOb2RlU2V0KCkgOiBtX2lzU29ydGVkKHRydWUpLCBtX3N1YnRyZWVzQXJlRGlzam9pbnQo
ZmFsc2UpIHsgfQogICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aFBh
cnNlci5oIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAppbmRleCA0NGE4ZTQ4Li40MGI3M2Rj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCisrKyBiL1dlYkNvcmUveG1s
L1hQYXRoUGFyc2VyLmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgVG9rZW4oaW50IHQsIEVxVGVzdE9wOjpPcGNvZGUgdik6IHR5cGUodCksIGVxb3Ao
dikge30KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgICAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUGFyc2VyKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUGFyc2VyKCk7
CiAgICAgICAgICAgICB+UGFyc2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aFBy
ZWRpY2F0ZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAppbmRleCA1ZjI0ODJhLi4z
NjAwMTU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCisrKyBiL1dl
YkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKQEAgLTEwNSw3ICsxMDUsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBj
b25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiAgICAgICAgIH07CiAKLSAgICAg
ICAgY2xhc3MgUHJlZGljYXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
UHJlZGljYXRlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByZWRpY2F0ZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQ
cmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAgICAgICAgICAgflByZWRpY2F0ZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmggYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaApp
bmRleCBlYzAyMmIzLi5iMDMxYmFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAu
aAorKysgYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgY2xhc3MgUHJlZGljYXRlOwogICAgICAgICAKLSAgICAg
ICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFN0ZXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3Rv
ckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAg
ICAgICB9OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAg
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgICAgIHB1YmxpYzoKICAg
ICAgICAgICAgICAgICBlbnVtIEtpbmQgewogICAgICAgICAgICAgICAgICAgICBUZXh0Tm9kZVRl
c3QsIENvbW1lbnROb2RlVGVzdCwgUHJvY2Vzc2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIEFueU5v
ZGVUZXN0LCBOYW1lVGVzdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5o
IGIvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCmluZGV4IGYzYTkzMTguLjVjMGNhOGEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL3htbC9Y
U0xJbXBvcnRSdWxlLmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgQ2FjaGVkWFNMU3R5bGVTaGVldDsKIAogY2xhc3MgWFNMSW1wb3J0UnVsZSA6IHB1YmxpYyBT
dHlsZUJhc2UsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhTTEltcG9ydFJ1
bGU+IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVm
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGI2ZWJhMjEuLjg1MGJhNjcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTExLTMwICBab2x0YW4g
SG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGlu
ZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5k
IHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4ICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAqIFN0cmluZ3NOb3RUb0Jl
TG9jYWxpemVkLnR4dDogVXBkYXRlZCBmb3IgcmVjZW50IGNoYW5nZXMuCmRpZmYgLS1naXQgYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Jv
dW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4uNDNkYjc5ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRP
YmplY3QuaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjZGVmaW5lIEJvdW5kT2JqZWN0X2gKIAogI2lu
Y2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiAvLyBCb3VuZE9iamVjdCBpcyBhIGhlbHBlciBjbGFzcyB0aGF0IGxldHMgeW91
IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxscwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBj
YWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3llZCBvbmNlIEpTIG9iamVjdCBpcwogLy8gYnVpbHQu
Ci1jbGFzcyBCb3VuZE9iamVjdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBCb3VuZE9i
amVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQm91bmRPYmplY3QpOwogcHVibGljOgog
ICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQsIHZvaWQqIHY4
VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFtZSk7CiAgICAgdmlydHVhbCB+Qm91bmRPYmplY3Qo
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIu
Y3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKaW5kZXgg
MDg2MGNiMS4uNTljMjE3NyAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50
TWFuYWdlci5jcHAKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIK
ICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0
ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC01NSw3ICs1NCw4IEBAIGJvb2wgRGVi
dWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhwb3NlVjhEZWJ1Z2dlclByb3RvY29sID0gZmFsc2U7CiAK
IG5hbWVzcGFjZSB7CiAKLWNsYXNzIENhbGxlcklkV3JhcHBlciA6IHB1YmxpYyB2ODo6RGVidWc6
OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWxsZXJJZFdyYXBwZXIg
OiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDYWxsZXJJZFdyYXBwZXIpOwogcHVibGljOgogICAgIENhbGxlcklkV3JhcHBlcigpIDogbV9j
YWxsZXJJc01hbmFuYWdlcih0cnVlKSwgbV9jYWxsZXJJZCgwKSB7IH0KICAgICBleHBsaWNpdCBD
YWxsZXJJZFdyYXBwZXIoaW50IGNhbGxlcklkKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5oCmluZGV4IDY2YmQ3MTQuLmI3ODU2Y2YgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAorKysgYi9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRl
IDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTYzLDcgKzYyLDggQEAgY2xhc3MgV2Vi
Vmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qgc29tZSBhY3Rpb25zIGZyb20gdGhlIGhhbmRsZXIu
IElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRlCiAvLyBkZWJ1Z2dlciBhZ2VudCB0byBoYW5kbGUg
c3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3aWxsIHBlcmZvcm0gdGhlIGFjdGlvbgogLy8gaXRz
ZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcgd2FpdGluZyBmb3IgdGhlIGFjdGlvbi4KLWNsYXNz
IERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlYnVn
Z2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWJ1Z2dlckFnZW50
TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVidWdBdHRhY2goRGVidWdnZXJB
Z2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwogICAgIHN0YXRpYyB2b2lkIGRlYnVnRGV0YWNoKERl
YnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0v
c3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4IGZjMjFmM2UuLjA1OTZjYWQg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJ
bXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGxfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0OwpAQCAtNDQsOCArNDMsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1w
bDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6
Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsKK2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKTsKIHB1YmxpYzoK
ICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoV2ViQ29yZTo6UGFnZSosIFdlYkRldlRv
b2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCopOwogICAgIHZpcnR1
YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAppbmRleCA5ZjRjZTg3Li5kMTFiOGYzIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAorKysgYi9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApAQCAtNjAsNyArNjAs
NiBAQAogI2luY2x1ZGUgIldlYlZpZXdDbGllbnQuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5o
IgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogdXNpbmcgV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRl
bmRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgK
aW5kZXggODY2YTFjYi4uYjA4NTMzOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2
VG9vbHNGcm9udGVuZEltcGwuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNTUsOCArNTQsOCBA
QCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogdXNpbmcgV1RGOjpTdHJpbmc7CiAK
LWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9v
bHNGcm9udGVuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpX
ZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJEZXZUb29s
c0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAgICAgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwoCiAg
ICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwqIHdlYlZpZXdJbXBsLApkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCmluZGV4IDQ0MjJlMWIuLjI2Yjk2YmMgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI4MCw3ICsyODAsOCBAQCBXZWJQbHVnaW5Db250YWluZXJJ
bXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNvbnRhaW5lckZyb21GcmFtZShGcmFtZSogZnJhbWUp
CiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVycmlkZSBzb21lIG9mIFByaW50Q29udGV4dCBiZWhh
dmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwogLy8gbWFkZSB2aXJ0dWFsIHNvIHRoYXQgdGhleSBj
YW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBsdWdpblByaW50Q29udGV4dC4KLWNsYXNzIENocm9t
ZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmludENvbnRleHQsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQcmludENvbnRleHQpOwogcHVibGljOgogICAgIENo
cm9tZVByaW50Q29udGV4dChGcmFtZSogZnJhbWUpCiAgICAgICAgIDogUHJpbnRDb250ZXh0KGZy
YW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAppbmRleCAyMjFiYTAzLi4x
ZTkyNDc0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwu
aAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaApAQCAtNTYsNiAr
NTYsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIGNsYXNzIFdlYlBvcHVwTWVudUltcGwgOiBwdWJsaWMg
V2ViUG9wdXBNZW51LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBXZWJDb3JlOjpG
cmFtZWxlc3NTY3JvbGxWaWV3Q2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudUltcGw+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2Uo
KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysr
IGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZs
LmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVi
bGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYg
MTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVu
dC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmly
dHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93
bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUyNmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRk
b3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGli
Lmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5o
IgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVk
LCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGlj
IE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxv
YWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2Fk
Q2xpZW50KFdlYktpdERvd25sb2FkKik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFk
ZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4
MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNv
cHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0
Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3Rl
ZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0
ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAx
MDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3Rh
bmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2lu
SW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRl
bWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5T
VUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNo
YWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlw
ZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3Vs
dCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2Jq
ZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAg
IH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRh
dGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRy
YWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0
L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFj
L1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdl
YkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9
CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9k
aWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5U
aHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBv
cmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktp
dC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRkNGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9XZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3
ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENT
eXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdp
dCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlh
bnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVu
dW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiAr
MjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQg
OiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51
bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBh
ZG9wdChDb250YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJ
bnN0YW5jZShjb25zdCBDb250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NP
TVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2
Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBi
L1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5l
IE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFy
aWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUg
S2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVu
YW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJv
cGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09N
UHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7
DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQog
ICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFw
VHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhj
NjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0x
MDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9Owog
Ci1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2Ny
ZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAg
dmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFn
ZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2Vi
RGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5j
cHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBz
MSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBE
YXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJ
UHJvcGVydHlCYWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1By
b3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlC
YWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyAr
MzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRl
bGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmln
aW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdl
ciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rv
ci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTggMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5z
cGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDEx
IEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9oCiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5z
cGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0
ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2Vi
SW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3Rv
ciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5n
cy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJM
b2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJp
bmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1l
d29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0
cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9j
YWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0
cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93
aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9X
ZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3Js
ZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01X
cmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlh
YmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVi
bGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0
V29ybGQpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3Js
ZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQv
d2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQK
LS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4v
V2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJp
YWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVk
SlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2Vi
U2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMg
SVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2Vy
aWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50
VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93
aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29u
dGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVu
dFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRV
UkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2Vi
VXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2Vy
Q29udGVudFVSTFBhdHRlcm4pOwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNv
bnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDcwNGY3MzEuLjg0YWVmOTkgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTAtMTEtMzAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0
IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQK
KyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVu
dGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFz
ZS5oIGluY2x1ZGVzLgorCiAyMDEwLTExLTI5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9XZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBCaW5hcnlTZW1hcGhvcmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1By
aW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9Q
bGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJm
Ni4uZWMxYWNjZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9X
ZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVs
ZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5
LDcgKzM4LDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBNb2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1vZHVsZSk7CiBwdWJsaWM6CiAgICAgTW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAg
fk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBi
L1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQy
L1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJl
ZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJlZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAKQEAgLTUyLDcgKzUxLDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUK
ICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhh
bmRsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGlj
OgogICAgICAgICBIYW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCmluZGV4IDY5MzQzMjkuLjExNWMxMTMg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHku
aAorKysgYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAg
LTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAi
UnVuTG9vcC5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IDY3MGUxYTMuLmQ3NTEw
YmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysr
IGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBA
QCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nl
c3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgog
ICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApp
bmRleCA3OGZlMWY0Li44YzVlOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFBy
b2Nlc3MuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3
LDExIEBACiAjZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
bGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6
CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0
Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjku
LjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNz
YWdlUmVjZWl2ZXIuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2Fn
ZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL25wcnVudGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRi
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysg
Yi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBA
QAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50
aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJL
aXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIv
U2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5k
Ym94RXh0ZW5zaW9uX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L0ZpbmRJbmRpY2F0b3JXaW5kb3cuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZElu
ZGljYXRvcldpbmRvdy5oCmluZGV4IGU4ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBA
CiAjaWZuZGVmIEZpbmRJbmRpY2F0b3JXaW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2lu
ZG93X2gKIAotI2ltcG9ydCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093
blB0ci5oPgogI2ltcG9ydCA8d3RmL1JlZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFu
YWdlci5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5o
CmluZGV4IGMyNjVmMmUyLi4wZGM3YTljIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxF
KFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBD
b3JlSVBDIHsKQEAgLTQxLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVn
aW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblBy
b2Nlc3NNYW5hZ2VyIDogTm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2Vy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNw
cCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAK
aW5kZXggZmU3ZDg5Ni4uOWUxNzQyZSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVj
dG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJl
dHVybiBkaXJlY3RvcmllczsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBQYXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRo
V2Fsa2VyKTsKIHB1YmxpYzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlk
ZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1
MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1By
b3ZpZGVyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBA
IC0zMSwxMyArMzEsMTMgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4
dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVk
TGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVy
KFdlYkNvbnRleHQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fk
cy9Eb3dubG9hZC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmlu
ZGV4IDU0ZjMyNWEuLmZjMWNmMGUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWQuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25s
b2FkLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMp
CkBAIC01OSw3ICs1OCw2IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVi
bGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3du
bG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYpOwogICAgIH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKaW5kZXggMWYyN2I4Ni4uYjY2ZGFjNyAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsy
Nyw2IEBACiAjZGVmaW5lIERvd25sb2FkTWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisr
KyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAt
MjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lX2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpA
QCAtNDAsNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVj
dE1hcDsKICAgICAKIC8vIE5QSlNPYmplY3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpT
T2JqZWN0LgotY2xhc3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUg
eworY2xhc3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTlBKU09iamVjdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNy
ZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmpl
Y3QpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9u
TWFuYWdlci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9Q
Uk9DRVNTKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBw
cm9jZXNzIGNvbm5lY3Rpb25zIGZvciB0aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICsz
Nyw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bjsKICAgICAgICAgCi1jbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25j
b3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVy
LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDEx
MGE3YTQuLjliYjZmMjcgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Zp
bmRDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRy
b2xsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIlBhZ2VPdmVybGF5LmgiCiAjaW5j
bHVkZSAiV2ViRmluZE9wdGlvbnMuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
SW5zcGVjdG9yLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApp
bmRleCBmYmQwOTQyLi40YTZlNGQ0IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3IuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3IuaApAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cg
Yi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggMWYyZWUxYy4uOWY4ZTMzOCAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDEwLTExLTMwICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdl
dCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAg
ICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdl
dHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5k
CisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1l
bnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jh
c2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTI5ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+CiAKICAgICAgICAgR1RLIER1bXBSZW5kZXJUcmVlIGJ1aWxkIGZpeCBhZnRlciByNzI4
ODcuCkBAIC0xOTc2Niw3ICsxOTc3OCw3IEBACiAKIDIwMTAtMDctMDcgIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAotICAgICAgICBDb21tZW50IG91dCBhIHBhcnQgb2Yg
VGVzdE5ldHNjYXBlUGx1Z2luIHRoYXQgY2F1c2VkIHRlc3RzwqB0byBmYWlsIG9uIFRpZ2VyIGFu
ZCBMZW9wYXJkLgorICAgICAgICBDb21tZW50IG91dCBhIHBhcnQgb2YgVGVzdE5ldHNjYXBlUGx1
Z2luIHRoYXQgY2F1c2VkIHRlc3RzwiB0byBmYWlsIG9uIFRpZ2VyIGFuZCBMZW9wYXJkLgogCiAg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL21haW4uY3BwOgogICAg
ICAgICAoTlBQX05ldyk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9G
b3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBhL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251
bGwKQEAgLTEgKzAsMCBAQAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3Vu
ZENsYXNzLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENs
YXNzLmgKaW5kZXggNmNiNjM4ZS4uYmQzNmQ1OCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaApAQCAtNDUsNyArNDUsNiBAQAog
CiAjaW5jbHVkZSAiQ3BwVmFyaWFudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNTgsNyArNTcsOCBAQCB0eXBlZGVmIFZlY3RvcjxDcHBW
YXJpYW50PiBDcHBBcmd1bWVudExpc3Q7CiAKIC8vIENwcEJvdW5kQ2xhc3MgbGV0cyB5b3UgbWFw
IEphdmFzY3JpcHQgbWV0aG9kIGNhbGxzIGFuZCBwcm9wZXJ0eSBhY2Nlc3NlcwogLy8gZGlyZWN0
bHkgdG8gQysrIG1ldGhvZCBjYWxscyBhbmQgQ3BwVmFyaWFudCogdmFyaWFibGUgYWNjZXNzLgot
Y2xhc3MgQ3BwQm91bmRDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDcHBCb3Vu
ZENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcHBCb3VuZENsYXNzKTsKIHB1Ymxp
YzoKICAgICBjbGFzcyBQcm9wZXJ0eUNhbGxiYWNrIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50Lmgg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgK
aW5kZXggZTE0NzhkMC4uMGRhYzRjNyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaApAQCAtMzUsNyArMzUsNiBAQAog
I2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0FnZW50Q2xpZW50LmgiCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQ5LDggKzQ4LDggQEAgc3RydWN0IFdlYkRldlRvb2xz
TWVzc2FnZURhdGE7CiAKIGNsYXNzIERSVERldlRvb2xzQ2xpZW50OwogCi1jbGFzcyBEUlREZXZU
b29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVudAotICAgICAg
ICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29s
c0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNBZ2VudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2
VG9vbHNBZ2VudCgpOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQWdlbnQoKSB7fQpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGll
bnQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xp
ZW50LmgKaW5kZXggOWNhMTQwMi4uMDMwZDY4NyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaAorKysgYi9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCkBAIC0zNCw3ICsz
NCw2IEBACiAjaW5jbHVkZSAiRFJURGV2VG9vbHNDYWxsQXJncy5oIgogI2luY2x1ZGUgIlRhc2su
aCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKQEAgLTQ4LDggKzQ3LDggQEAgY2xhc3MgV2ViVmlldzsKIAogY2xhc3MgRFJURGV2VG9v
bHNBZ2VudDsKIAotY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJE
ZXZUb29sc0Zyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29sc0NsaWVudCA6IHB1YmxpYyBXZWJLaXQ6Oldl
YkRldlRvb2xzRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERl
dlRvb2xzQ2xpZW50KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29sc0NsaWVudChEUlREZXZUb29s
c0FnZW50KiwgV2ViS2l0OjpXZWJWaWV3Kik7CiAgICAgdmlydHVhbCB+RFJURGV2VG9vbHNDbGll
bnQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKaW5kZXggYjY3MTQ4OS4uODUwMmE5NiAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmln
YXRpb25Db250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKQEAgLTExMSw3ICsxMTEsOCBAQCBwdWJsaWM6
CiAKIC8vIFRlc3Qgc2hlbGwncyBOYXZpZ2F0aW9uQ29udHJvbGxlci4gVGhlIGdvYWwgaXMgdG8g
YmUgYXMgY2xvc2UgdG8gdGhlIENocm9tZQogLy8gdmVyc2lvbiBhcyBwb3NzaWJsZS4KLWNsYXNz
IFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcjogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdE5h
dmlnYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBUZXN0TmF2aWdhdGlvbkNvbnRyb2xs
ZXIoTmF2aWdhdGlvbkhvc3QqKTsKICAgICB+VGVzdE5hdmlnYXRpb25Db250cm9sbGVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNv
bnRyb2xEUlQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1l
Q29udHJvbERSVC5oCmluZGV4IDM4ODMxZDkuLjk2MThkYzQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCkBA
IC00MSwxMiArNDEsMTIgQEAKIAogI2luY2x1ZGUgInNraWEvZXh0L3BsYXRmb3JtX2NhbnZhcy5o
IgogI2luY2x1ZGUgInRoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3JlL1NrQ29sb3IuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gU2tpYSBmb3J3YXJkIGRlY2xhcmF0aW9u
cwogc3RydWN0IFNrSVJlY3Q7CiAKLWNsYXNzIFdlYlRoZW1lQ29udHJvbERSVCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdlYlRoZW1lQ29udHJvbERSVCk7CiBwdWJsaWM6CiAgICAgLy8gVGhpcyBsaXN0
IG9mIHN0YXRlcyBtb3N0bHkgbWlycm9ycyB0aGUgbGlzdCBpbiBXZWJDb3JlL3BsYXRmb3JtL1Ro
ZW1lVHlwZXMuaAogICAgIC8vIGJ1dCBpcyBtYWludGFpbmVkIHNlcGFyYXRlbHkgc2luY2UgdGhh
dCBpc24ndCBwdWJsaWMgYW5kIGFsc28gdG8gbWluaW1pemUKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmggYi9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCmluZGV4IGU1
MDg4NmIuLjUzNjJmYjMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaApAQCAtNDgsOSArNDgsOSBAQAogI2RlZmlu
ZSBXZWJUaGVtZUVuZ2luZURSVF9oCiAKICNpbmNsdWRlICJ3aW4vV2ViVGhlbWVFbmdpbmUuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAotY2xhc3MgV2ViVGhlbWVFbmdpbmVEUlQg
OiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRoZW1lRW5naW5lRFJUKTsKIHB1YmxpYzoKICAg
ICBXZWJUaGVtZUVuZ2luZURSVCgpIHt9CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktp
dEFQSVRlc3QvSG9zdFdpbmRvdy5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2lu
ZG93LmgKaW5kZXggYTI3MzRlZC4uYzE3MTgxMyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2Vi
S2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9I
b3N0V2luZG93LmgKQEAgLTI2LDExICsyNiwxMCBAQAogI2RlZmluZSBIb3N0V2luZG93X2gKIAog
I2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgewogcHVibGljOgogICAgIEhvc3RXaW5kb3coKTsK
ICAgICB+SG9zdFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVz
dC9UZXN0c0NvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250
cm9sbGVyLmgKaW5kZXggMTFiNDU3ZC4uYmRjYzQ1NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
V2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRB
UElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCkBAIC0yOCwxMyArMjgsMTMgQEAKICNpbmNsdWRlIDx3
aW5kb3dzLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdEFQSVRl
c3QgewogCiBjbGFzcyBUZXN0OwogCi1jbGFzcyBUZXN0c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGVzdHNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUZXN0c0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXN0c0NvbnRyb2xs
ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RJbnZvY2F0aW9uLmggYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmgKaW5kZXggZmVjMWY3YS4uMjM2Y2MxYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApAQCAtMjcsMTEgKzI3LDEwIEBACiAjZGVmaW5l
IFRlc3RJbnZvY2F0aW9uX2gKIAogI2luY2x1ZGUgPFdlYktpdDIvV0tSZXRhaW5QdHIuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdUUiB7CiAKLWNsYXNzIFRl
c3RJbnZvY2F0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RJbnZvY2F0aW9u
IHsKIHB1YmxpYzoKICAgICBUZXN0SW52b2NhdGlvbihjb25zdCBjaGFyKik7CiAgICAgflRlc3RJ
bnZvY2F0aW9uKCk7Cg==
</data>
<flag name="review"
          id="65854"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75696</attachid>
            <date>2010-12-06 07:41:43 -0800</date>
            <delta_ts>2010-12-06 08:43:35 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>hetfo1.patch</filename>
            <type>text/plain</type>
            <size>327943</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjA5NzE3MDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBTdGF0aWNWYWx1ZUVudHJ5KEpTT2Jq
ZWN0R2V0UHJvcGVydHlDYWxsYmFjayBfZ2V0UHJvcGVydHksIEpTT2JqZWN0U2V0UHJvcGVydHlD
YWxsYmFjayBfc2V0UHJvcGVydHksIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQog
ICAgICAgICA6IGdldFByb3BlcnR5KF9nZXRQcm9wZXJ0eSksIHNldFByb3BlcnR5KF9zZXRQcm9w
ZXJ0eSksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNDUsNyArNDcsOSBAQCBz
dHJ1Y3QgU3RhdGljVmFsdWVFbnRyeSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiB9OwogCi1zdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFN0YXRpY0Z1bmN0aW9uRW50cnkoSlNP
YmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrIF9jYWxsQXNGdW5jdGlvbiwgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAgICAgICAgIDogY2FsbEFzRnVuY3Rpb24oX2NhbGxBc0Z1
bmN0aW9uKSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC02Miw3ICs2Niw5IEBA
IHN0cnVjdCBPcGFxdWVKU0NsYXNzOwogCiAvLyBBbiBPcGFxdWVKU0NsYXNzIChKU0NsYXNzKSBp
cyBjcmVhdGVkIHdpdGhvdXQgYSBjb250ZXh0LCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGFueSBj
b250ZXh0LCBldmVuIGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KIC8vIFRoaXMgc3RydWN0dXJlIGhv
bGRzIGRhdGEgbWVtYmVycyB0aGF0IHZhcnkgYWNyb3NzIGNvbnRleHQgZ3JvdXBzLgotc3RydWN0
IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBPcGFxdWVK
U0NsYXNzQ29udGV4dERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE9w
YXF1ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4
Y2E4Li5kNmRlNDI2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0
ODAsOSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJl
ZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LXN0cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEpCiAgICAgICAgIDogcmVmQ291bnQoMCkKICAgICAgICAgLCBnbG9iYWxEYXRh
KGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYWE0ZmEzMi4uM2Q5NWVhMCAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEwLTEyLTA2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAg
ICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3Rz
IGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUg
YW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IE1vdmUg
RmFzdEFsbG9jQmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIFBsYXRmb3JtLmgKKyAgICAg
ICAgKiB3dGYvTm9uY29weWFibGUuaCA6IFJlbW92ZWQuIE5vbmNvcHlhYmxlJ3MgbWFjcm8gaW1w
bGVtZW50YXRpb24ncyBtb3ZlZCB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6IEFkZCBOb25jb3B5YWJsZSdzIGFuZCBGYXN0QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50
YXRpb24uCisKIDIwMTAtMTItMDUgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFdpbmRvd3MgcHJvZHVjdGlvbiBidWlsZCBmaXgKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL0dOVW1ha2VmaWxlLmFtIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KaW5k
ZXggODlmOWFiNy4uYTgzMTE4YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZp
bGUuYW0KKysrIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ2Nyw3ICs0Njcs
NiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTUQ1
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBcCiAJSmF2YVNjcmlwdENv
cmUvd3RmL05vbkNvcHlpbmdTb3J0LmggXAotCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENvcmUv
d3RmL051bGxQdHIuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmggXApkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaSBiL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKaW5kZXggNjc2YTM1ZC4uODQ4M2E0ZCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQorKysgYi9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5neXBpCkBAIC0zOTgsNyArMzk4LDYgQEAKICAgICAgICAgICAgICd3
dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVzc2FnZVF1ZXVlLmgnLAogICAg
ICAgICAgICAgJ3d0Zi9Ob25Db3B5aW5nU29ydC5oJywKLSAgICAgICAgICAgICd3dGYvTm9uY29w
eWFibGUuaCcsCiAgICAgICAgICAgICAnd3RmL05vdEZvdW5kLmgnLAogICAgICAgICAgICAgJ3d0
Zi9PU0FsbG9jYXRvcldpbi5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9PU0FsbG9jYXRvci5oJywK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RG
LnZjcHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZj
cHJvagppbmRleCA0YTNlODU5Li5hYTNjMTg5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKKysrIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBAIC02NTMsMTAgKzY1Myw2IEBA
CiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXE5v
bmNvcHlhYmxlLmgiCi0JCQk+Ci0JCTwvRmlsZT4KLQkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0i
Li5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiCiAJCQk+CiAJCTwvRmlsZT4KZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGU3ZGUwZTEuLmMyZDRhNDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ2LDcgKzQ0Niw2
IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAyNTU1OTdEMDFG
RjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNzYWdlUXVldWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUU3OThC
MEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyog
Tm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2
OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb25jb3B5YWJs
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwM0Y1
NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAwQjM0NDYwIC8q
IE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3Iu
aCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9y
Lmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMy
NjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oICovOyB9Owog
CQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1OTdEMDFGRjYw
RjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTg4Myw3ICs4ODIsNiBAQAogCQk5MDVCMDJBRDBFMjg2NDBGMDA2REY4
ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3VudGVkTGVha0Nv
dW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291bnRlZExlYWtD
b3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3MDk5MTE4RkEw
MEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3du
UHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5MTE5MDAwMEFE
NzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
b25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAzRjVBNDA5OTEx
QTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJD
MzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yMjE3LDcgKzIyMTUsNiBAQAogCQkJCTdFRkYwMDY0MEVDMDVBOUEw
MEFBN0M5MyAvKiBOb2RlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0M0YwRTE2RjVD
RDAwQjM0NDYwIC8qIE5vZGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUUxQTNERjEyMkI4OTQ1
MDBCMjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDMThDNDQw
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBB
MjcyNjMwRTUwQTA2MzAwRTk2RTE1IC8qIE5vdEZvdW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzE4QzQ0MTBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMThDNDQyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5s
dXQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0
cmFjdE1hY3JvQXNzZW1ibGVyLmgKaW5kZXggMDdiZDcwMi4uZmQ0YmMxMyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCkBAIC0yOCw3
ICsyOCw2IEBACiAKICNpbmNsdWRlICJDb2RlTG9jYXRpb24uaCIKICNpbmNsdWRlICJNYWNyb0Fz
c2VtYmxlckNvZGVSZWYuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVW51c2VkUGFyYW0uaD4KIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0xpbmtCdWZmZXIuaAppbmRleCBlMzhiOWQ0Li4wMzA0MmY4IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgRFVN
UF9DT0RFIDAKIAogI2luY2x1ZGUgPE1hY3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01MCw3ICs0OSw4IEBAIG5hbWVz
cGFjZSBKU0MgewogLy8gICAqIFRoZSBhZGRyZXNzIG9mIGEgTGFiZWwgcG9pbnRpbmcgaW50byB0
aGUgY29kZSBtYXkgYmUgcmVzb2x2ZWQuCiAvLyAgICogVGhlIHZhbHVlIHJlZmVyZW5jZWQgYnkg
YSBEYXRhTGFiZWwgbWF5IGJlIHNldC4KIC8vCi1jbGFzcyBMaW5rQnVmZmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExpbmtCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExpbmtCdWZmZXIpOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIENvZGVSZWY7
CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgQ29kZVB0cjsKICAgICB0eXBlZGVm
IE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBMYWJlbDsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVw
YXRjaEJ1ZmZlci5oCmluZGV4IDcyY2Y2YjIuLmU1YTZlMmQgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShBU1NF
TUJMRVIpCiAKICNpbmNsdWRlIDxNYWNyb0Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAppbmRleCA3ZWNhNzJhLi5kZGVhOGUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaApAQCAtMjQyLDcgKzI0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH0KICNlbmRpZgog
Ci0gICAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IENvZGVCbG9jayB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBm
cmllbmQgY2xhc3MgSklUOwogICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlw
dEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0Kiwg
UGFzc1JlZlB0cjxTb3VyY2VQcm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9s
VGFibGUqIHN5bWJvbFRhYmxlLCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc3LDggKzU3OCwx
MCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgVmVjdG9yPFJlZlB0cjxGdW5jdGlvbkV4ZWN1
dGFibGU+ID4gbV9mdW5jdGlvbkV4cHJzOwogCiAgICAgICAgIFN5bWJvbFRhYmxlKiBtX3N5bWJv
bFRhYmxlOwotCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
IHB1YmxpYzoKKyAgICAgICAgc3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBWZWN0b3I8SGFu
ZGxlckluZm8+IG1fZXhjZXB0aW9uSGFuZGxlcnM7CiAKICAgICAgICAgICAgIC8vIFJhcmUgQ29u
c3RhbnRzCkBAIC01OTksNiArNjAyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBW
ZWN0b3I8Q2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQ+IG1fY2FsbFJldHVybkluZGV4
VmVjdG9yOwogI2VuZGlmCiAgICAgICAgIH07CisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRy
PFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0
cnVjdGlvbi5oCmluZGV4IGM2NDY4YTUuLmYwNzdjYmYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
SW5zdHJ1Y3Rpb24uaApAQCAtNTQsNyArNTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBTdHJ1Y3R1cmVDaGFpbjsKIAogICAgIC8vIFN0cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9p
ZF9zZWxmX2xpc3QgYW5kIG9wX2dldF9ieV9pZF9wcm90b19saXN0IGluc3RydWN0aW9uIHRvIGhv
bGQgZGF0YSBvZmYgdGhlIG1haW4gb3Bjb2RlIHN0cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBo
aWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHlt
b3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgIHB1YmxpYzoKICAgICAgICAgc3RydWN0IFBvbHltb3JwaGljU3R1YkluZm8gewog
ICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAgICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NT
dHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAtMTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9zdENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lm
IEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCogc2FtcGxpbmdUb29sKQogICAgICAgICAg
ICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxpbmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgfQogICAgICAgICB9OwogI2Vsc2UKLSAgICAg
ICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNz
IENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29y
ZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29s
KikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4uMWQyYmQwOCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAK
ICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2luY2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVk
ZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBj
bGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sg
VmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3Rh
Y2sgRnVuY3Rpb25TdGFjazsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9SZWdpc3RlcklELmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5o
CmluZGV4IDM1MzJhZDguLjc4ZDQ5ZDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9SZWdpc3RlcklELmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1Jl
Z2lzdGVySUQuaApAQCAtMzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgUmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0
ZXJJRCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1
YmxpYzoKICAgICAgICAgUmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaCBiL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBkZmJlNjU4Li43NDAw
MDFkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCkBAIC0zMiw3ICsz
Miw4IEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7Ci0gICAg
Y2xhc3MgQ2FjaGVkQ2FsbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2FjaGVk
Q2FsbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZENhbGwpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENhY2hlZENhbGwoQ2FsbEZy
YW1lKiBjYWxsRnJhbWUsIEpTRnVuY3Rpb24qIGZ1bmN0aW9uLCBpbnQgYXJnQ291bnQpCiAgICAg
ICAgICAgICA6IG1fdmFsaWQoZmFsc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuaAppbmRleCA0Nzc5MGNmLi43NTNkOTBlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJf
aAogCiAjaW5jbHVkZSAiQXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNp
bmNsdWRlICJKU0NlbGwuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmpl
Y3QuaCIKQEAgLTY1LDcgKzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4
TGFyZ2VUaHJlYWRSZWVudHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRo
ID0gMzIgfTsKIAotICAgIGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIEludGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNo
ZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oCmlu
ZGV4IDM4ZDE2NDcuLjM5NDQ2NDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIu
aApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDcsNyArNDYsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYgRXhlY1N0YXRlIENhbGxGcmFtZTsKIAot
ICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6RmFzdEFsbG9jQmFzZSB7CisgICAgY2xh
c3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIFJlZ2lzdGVyKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVn
aXN0ZXJGaWxlLmgKaW5kZXggZDlmNmEyYi4uNjgyMjAzNSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJSZWdp
c3Rlci5oIgogI2luY2x1ZGUgIldlYWtHQ1B0ci5oIgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlvbi5o
PgogI2luY2x1ZGUgPHd0Zi9WTVRhZ3MuaD4KIApAQCAtODksNyArODgsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJG
aWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQg
Y2xhc3MgSklUOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRy
eSB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDRkMjUxM2QuLjcyNTQ3ZWIgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3Mg
UmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIExleGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGV4ZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIENoYXJhY3RlciBtYW5p
cHVsYXRpb24gZnVuY3Rpb25zLgogICAgICAgICBzdGF0aWMgYm9vbCBpc1doaXRlU3BhY2UoaW50
IGNoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDY5MzBmNjMuLmM2YTBiOGQgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xMzc0LDcgKzEzNzQsOSBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgUGFyYW1ldGVyTm9kZSogbV9uZXh0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgU2Nv
cGVOb2RlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBTY29wZU5vZGVEYXRhIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICB0
eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlw
ZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwogCkBA
IC0xNDcwLDYgKzE0NzIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9OwogCiAgICAgY2xhc3Mg
RnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlmaWVyPiwgcHVibGljIFJl
ZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RnVuY3Rpb25Q
YXJhbWV0ZXJzPiBjcmVhdGUoUGFyYW1ldGVyTm9kZSogZmlyc3RQYXJhbWV0ZXIpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBGdW5jdGlvblBhcmFtZXRlcnMoZmlyc3RQYXJhbWV0ZXIpKTsgfQogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggNjU0OTA2Ny4uNDUyYTNlMSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlBhcnNlckFyZW5hLmgiCiAjaW5j
bHVkZSAiU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKQEAgLTQ1LDggKzQ0LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXJzZXJBcmVuYURhdGEgOiBQYXJzZXJB
cmVuYURlbGV0YWJsZSB7IFQgZGF0YTsgfTsKIAotICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFyc2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAg
ICAgICBQYXJzZXIoKSB7IH0KICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFBhcnNlZE5vZGU+CiAg
ICAgICAgIFBhc3NSZWZQdHI8UGFyc2VkTm9kZT4gcGFyc2UoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIERlYnVnZ2VyKiwgRXhlY1N0YXRlKiwgY29uc3QgU291cmNlQ29kZSYg
c291cmNlLCBGdW5jdGlvblBhcmFtZXRlcnMqLCBKU1BhcnNlclN0cmljdG5lc3Mgc3RyaWN0bmVz
cywgSlNPYmplY3QqKiBleGNlcHRpb24pOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyQXJlbmEuaCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5o
CmluZGV4IDdjMTgwOWUuLjgyZmI4MDggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJBcmVuYS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5o
CkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFBhcnNlckFyZW5h
RGVsZXRhYmxlOwogICAgIGNsYXNzIFBhcnNlckFyZW5hUmVmQ291bnRlZDsKIAotICAgIGNsYXNz
IElkZW50aWZpZXJBcmVuYSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJZGVu
dGlmaWVyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYgbWFrZUlkZW50aWZp
ZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgp
OwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50aWZpZXIoSlNHbG9i
YWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAgfQogCi0gICAgY2xh
c3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyQXJlbmEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAgICAgcHVibGljOgog
ICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEoKTsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFTY3JpcHRDb3JlL3Bj
cmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi4wYmZmM2FkIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcGNyZS9w
Y3JlX2V4ZWMuY3BwCkBAIC00Niw2ICs0Niw3IEBAIHRoZSBKYXZhU2NyaXB0IHNwZWNpZmljYXRp
b24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMuICovCiAjaW5jbHVk
ZSAicGNyZV9pbnRlcm5hbC5oIgogCiAjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3Ry
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKQEAgLTExMiw3ICsxMTMsOSBAQCBzdHJ1Y3QgQnJhY2tldENoYWluTm9kZSB7CiAgICAg
Y29uc3QgVUNoYXIqIGJyYWNrZXRTdGFydDsKIH07CiAKLXN0cnVjdCBNYXRjaEZyYW1lIDogRmFz
dEFsbG9jQmFzZSB7CitzdHJ1Y3QgTWF0Y2hGcmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CiAgICAgUmV0dXJuTG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAg
c3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3VzRnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRleCA3NmMxNDcwLi5hOTgyN2MwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2Rl
ZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNp
bmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAg
ICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3Ry
dWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgcHVibGljOgogICAgICAgICBVU3RyaW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3Vy
bDsKICAgICAgICAgdW5zaWduZWQgbV9saW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaCBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGVyLmgKaW5kZXggZjljMmNjYi4uZjg4NzQ2ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cHJvZmlsZXIvUHJvZmlsZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
ci5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFVTdHJpbmc7
CiAgICAgc3RydWN0IENhbGxJZGVudGlmaWVyOyAgICAKIAotICAgIGNsYXNzIFByb2ZpbGVyIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFByb2ZpbGVyIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUHJvZmls
ZXIqKiBlbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNjMjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJnTGlzdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlz
dC5oCkBAIC0yNSwxNCArMjUsMTQgQEAKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRl
ICJSZWdpc3Rlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIGNsYXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZEFyZ3VtZW50QnVmZmVyKTsKICAg
ICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkg
PSA4OwogICAgICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlciwgaW5saW5lQ2FwYWNpdHk+IFZl
Y3RvclR5cGU7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi5mZTkw
MGEyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcgKzMzLDEwIEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgOiBOb25jb3B5YWJs
ZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0
aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0
MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNo
ZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRj
aGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVmaW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1p
emVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0
LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9u
T3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5kZXggZGQyNmJjMy4uNWNiMWU0MSAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3Rm
L0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyArODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBIZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAg
ICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJlYWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAxZTIyYjZhLi5iNTNhZTQzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAj
ZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2Yg
cHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1hY3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1
cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVwZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyAr
ODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb21tb25JZGVudGlmaWVycyB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgQ29tbW9uSWRlbnRpZmllcnMo
SlNHbG9iYWxEYXRhKik7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuaAppbmRleCA3ZDQ5MjlkLi43MzYzYWY4IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVk
ZSAiTWFya1N0YWNrLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKaW5kZXggNzE0OTk5Zi4uMGM1YmJlZCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNDY1LDcgKzQ2NSw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICByZXR1cm4gbmV3IChleGVjKSBKU0FycmF5KGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKS0+YXJyYXlTdHJ1Y3R1cmUoKSwgdmFsdWVzKTsKICAgICB9CiAKLSAgICBjbGFzcyBE
eW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSk7CiAgICAgcHVibGljOgogICAgICAgICBEeW5hbWlj
R2xvYmFsT2JqZWN0U2NvcGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsT2JqZWN0KiBk
eW5hbWljR2xvYmFsT2JqZWN0KSAKICAgICAgICAgICAgIDogbV9keW5hbWljR2xvYmFsT2JqZWN0
U2xvdChjYWxsRnJhbWUtPmdsb2JhbERhdGEoKS5keW5hbWljR2xvYmFsT2JqZWN0KQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNMb2NrLmgKaW5kZXggMDViMzg4Yy4uNjRkN2E0YyAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0xvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIEpTTG9ja19oCiAKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIApAQCAtNTMsNyArNTIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0g
SlNMb2NrQmVoYXZpb3IgeyBTaWxlbmNlQXNzZXJ0aW9uc09ubHksIExvY2tGb3JSZWFsIH07CiAK
LSAgICBjbGFzcyBKU0xvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEpTTG9j
ayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTG9jayk7CiAgICAgcHVibGljOgog
ICAgICAgICBKU0xvY2soRXhlY1N0YXRlKik7CiAgICAgICAgIEpTTG9jayhKU0dsb2JhbERhdGEq
KTsKQEAgLTg5LDcgKzg5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgSlNMb2NrQmVo
YXZpb3IgbV9sb2NrQmVoYXZpb3I7CiAKLSAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERyb3BBbGxMb2Nrcyk7CiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIERyb3BBbGxMb2NrcyhFeGVjU3RhdGUqIGV4ZWMpOwogICAgICAgICAgICAg
RHJvcEFsbExvY2tzKEpTTG9ja0JlaGF2aW9yKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmpl
Y3QuY3BwCmluZGV4IGI1NDc3YTEuLjBiNzIyYjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09O
T2JqZWN0LmNwcApAQCAtNzAsNyArNzAsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1
ZSBtX3ZhbHVlOwogfTsKIAotY2xhc3MgU3RyaW5naWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5naWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lm
aWVyKTsKIHB1YmxpYzoKICAgICBTdHJpbmdpZmllcihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxh
Y2VyLCBKU1ZhbHVlIHNwYWNlKTsKICAgICB+U3RyaW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oCmluZGV4IDliYzgxZDQuLjBkNmQ5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTG9va3VwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApA
QCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jIEdldEZ1bmN0aW9uOwogICAgIHR5cGVkZWYgdm9pZCAoKlB1dEZ1bmN0
aW9uKShFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSB2YWx1ZSk7CiAK
LSAgICBjbGFzcyBIYXNoRW50cnkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3Mg
SGFzaEVudHJ5IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFy
IGF0dHJpYnV0ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXJrU3RhY2suaAppbmRleCBjM2VmYzhmLi4yYzNmNzk0IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKQEAgLTI3LDcgKzI3LDcgQEAKICNkZWZpbmUgTWFya1N0
YWNrX2gKIAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvT1NBbGxvY2F0b3IuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIAog
ICAgIGVudW0gTWFya1NldFByb3BlcnRpZXMgeyBNYXlDb250YWluTnVsbFZhbHVlcywgTm9OdWxs
VmFsdWVzIH07CiAgICAgCi0gICAgY2xhc3MgTWFya1N0YWNrIDogTm9uY29weWFibGUgeworICAg
IGNsYXNzIE1hcmtTdGFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtTdGFj
ayk7CiAgICAgcHVibGljOgogICAgICAgICBNYXJrU3RhY2sodm9pZCoganNBcnJheVZQdHIpCiAg
ICAgICAgICAgICA6IG1fanNBcnJheVZQdHIoanNBcnJheVZQdHIpCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggNThhYmRlNS4uMTcxNGJkMyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaApAQCAtMzEsNyArMzEsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBSZWdFeHBQcm90b3R5cGU7CiAgICAgc3RydWN0
IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZTsKIAotICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3Rv
clByaXZhdGUgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQ
cml2YXRlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgog
ICAgICAgICAvLyBHbG9iYWwgc2VhcmNoIGNhY2hlIC8gc2V0dGluZ3MKICAgICAgICAgUmVnRXhw
Q29uc3RydWN0b3JQcml2YXRlKCkKICAgICAgICAgICAgIDogbGFzdE51bVN1YlBhdHRlcm5zKDAp
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAppbmRleCAxOWRlOTI5Li5lM2JhZDli
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTU5LDggKzU5LDEwIEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIG1hdGNoKEV4ZWNTdGF0ZSopOwogCiAgICAg
ICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsKLQotICAgICAgICBz
dHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHB1YmxpYzoKKyAg
ICAgICAgc3RydWN0IFJlZ0V4cE9iamVjdERhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERh
dGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiByZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAg
ICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhwKQogICAgICAgICAgICAgICAgICwgbGFzdElu
ZGV4KGxhc3RJbmRleCkKQEAgLTcwLDcgKzcyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
ICAgICBSZWZQdHI8UmVnRXhwPiByZWdFeHA7CiAgICAgICAgICAgICBkb3VibGUgbGFzdEluZGV4
OwogICAgICAgICB9OwotCisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRyPFJlZ0V4cE9iamVj
dERhdGE+IGQ7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
Y29wZUNoYWluLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAw
YjE1YjY3Li42MzYyODJiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3Bl
Q2hhaW4uaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaApAQCAtMjEs
OCArMjEsNiBAQAogI2lmbmRlZiBTY29wZUNoYWluX2gKICNkZWZpbmUgU2NvcGVDaGFpbl9oCiAK
LSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xh
c3MgSlNHbG9iYWxEYXRhOwpAQCAtMzEsNyArMjksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU2NvcGVDaGFpbkl0ZXJhdG9yOwogICAgIAotICAg
IGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IFNjb3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWluTm9kZSogbmV4dCwgSlNP
YmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAgICAgICAgIDogbmV4dChu
ZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4IGYzNTg3Mjcu
LjNlMjc4NTcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdz
LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNT
dHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDcgKzM5LDggQEAgc3RhdGljIGlu
bGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZyAm
JiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJpbmdzU3Rv
cmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU21hbGxTdHJpbmdzU3RvcmFnZSgpOwogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRleCBkMWViZmIxMy4uYWM4NGZlOCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCkBAIC0zNyw3ICszNyw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIE1hcmtTdGFjazsKICAgICBjbGFzcyBTbWFsbFN0cmlu
Z3NTdG9yYWdlOwogCi0gICAgY2xhc3MgU21hbGxTdHJpbmdzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBTbWFsbFN0cmluZ3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTbWFsbFN0cmluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFNtYWxsU3RyaW5ncygpOwogICAgICAgICB+U21hbGxTdHJpbmdzKCk7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2ZC4uMjYzNTUwMSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYgKzEyMiw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFN5bWJvbFRhYmxl
RW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJbXBsPiA+
LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9sVGFibGU7CiAKICAgICBjbGFzcyBT
aGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8
U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAg
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4yNjgz
ZDEzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xh
c3MgSlNDZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBl
bXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlw
ZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgLyoKICAgICBJbnZhcmlhbnRzOgogICAgICAgICAqIEEgdmFsdWUg
ZW50ZXJzIHRoZSBXZWFrR0NNYXAgbWFya2VkLiAoR3VhcmFudGVlZCBieSBzZXQoKS4pCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oIGIvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrR0NQdHIuaAppbmRleCBhYzc3Y2YzLi42N2YxMWMzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvV2Vha0dDUHRyLmgKQEAgLTI4LDEyICsyOCwxMiBAQAogCiAjaW5jbHVkZSAiQ29s
bGVjdG9yLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21hcnQgcG9pbnRlciB3aG9zZSBnZXQo
KSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6IE5vbmNvcHlhYmxlIHsKK3RlbXBs
YXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dDUHRyKCkKICAgICAgICAgOiBtX3B0
cigwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRl
ZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCmluZGV4IDBj
MGU5OTcuLjhiNjU5NzcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVh
ZFJlZkNvdW50ZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3Vu
dGVkLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8gd2l0aCByZXNw
ZWN0IHRvIHRoZSBvcmlnaW5hbCBhbmQgYW55IG90aGVyIGNvcGllcy4gIFRoZSB1bmRlcmx5aW5n
IG1fZGF0YSBpcyBqb2ludGx5CiAgICAgLy8gb3duZWQgYnkgdGhlIG9yaWdpbmFsIGluc3RhbmNl
IGFuZCBhbGwgY29waWVzLgogICAgIHRlbXBsYXRlPGNsYXNzIFQ+Ci0gICAgY2xhc3MgQ3Jvc3NU
aHJlYWRSZWZDb3VudGVkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc1Ro
cmVhZFJlZkNvdW50ZWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVh
ZFJlZkNvdW50ZWQpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q3Jv
c3NUaHJlYWRSZWZDb3VudGVkPFQ+ID4gY3JlYXRlKFQqIGRhdGEpCiAgICAgICAgIHsKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0RhdGVNYXRoLmgKaW5kZXggY2I4NDcwOC4uZTBkZWIxYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL0RhdGVNYXRoLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgK
QEAgLTQzLDEwICs0MywxMCBAQAogI2RlZmluZSBEYXRlTWF0aF9oCiAKICNpbmNsdWRlIDxtYXRo
Lmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8
dGltZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKQEAgLTExNiw3ICsxMTYsOSBAQCBkb3VibGUgcGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVk
Q2hhcmFjdGVycyhFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBkYXRlU3RyaW5nKQogCiAvLyBJbnRl
bnRpb25hbGx5IG92ZXJyaWRkaW5nIHRoZSBkZWZhdWx0IHRtIG9mIHRoZSBzeXN0ZW0uCiAvLyBU
aGUgbWVtYmVycyBvZiB0bSBkaWZmZXIgb24gdmFyaW91cyBvcGVyYXRpbmcgc3lzdGVtcy4KLXN0
cnVjdCBHcmVnb3JpYW5EYXRlVGltZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBHcmVnb3JpYW5E
YXRlVGltZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JlZ29yaWFuRGF0ZVRpbWUpOwor
cHVibGljOgogICAgIEdyZWdvcmlhbkRhdGVUaW1lKCkKICAgICAgICAgOiBzZWNvbmQoMCkKICAg
ICAgICAgLCBtaW51dGUoMCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5o
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKaW5kZXggNzQ1ZTBiNi4uMWIxNmFmYyAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL0RlcXVlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgRGVxdWUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsK
ICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1
c3RvbWl6YWJsZSBvdmVycmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3Ig
bmV3L2RlbGV0ZQogLy8KIC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzog
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAg
IGNsYXNzIEZhc3RBbGxvY0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsK
IC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8g
RmFzdERlbGV0ZSBhc3N1bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVz
YWdlOgotLy8gICAgY2xhc3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsK
Ky8vICAgIGNsYXNzIFdpZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
Ky8vICAgIC4uLgorLy8gICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxj
aGFyPigpOwogLy8gICAgZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAK
IG5hbWVzcGFjZSBXVEYgewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1
YmxpYzogXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJu
IHA7IH0gXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1
cm4gcDsgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAot
ICAgIHsgXAotICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAg
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0g
XAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0g
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVy
bmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBc
Ci0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAot
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6Oklu
dGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAot
ICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAg
ICB7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpX
VEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6
OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNl
IHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAv
IGZhc3REZWxldGUKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2
IEBAIGNsYXNzIEZhc3RBbGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcg
V1RGOjpGYXN0QWxsb2NCYXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVj
dG9yOwogCiAjZW5kaWYgLy8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCmluZGV4IDRlZDc1YzUuLmI5N2Q4YzggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCkBAIC0yMiwxNCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gK
IAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSAiSGFzaE1hcC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25z
ID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBU
cmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZh
bHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFZhbHVlLCB1bnNp
Z25lZCwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzPiBJbXBsVHlwZTsKICAgICBwdWJsaWM6CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hNYXAuaAppbmRleCAwOTA5NGQxLi43NzMxNTQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvSGFzaE1hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKQEAg
LTI5LDcgKzI5LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBL
ZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERl
ZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsCiAgICAgICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9
IEhhc2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0
czxNYXBwZWRBcmc+ID4KLSAgICBjbGFzcyBIYXNoTWFwIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIEhhc2hNYXAgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAg
ICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNl
dC5oCmluZGV4IDY2NjM5ZTQuLmJlNmI5M2QgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9IYXNoU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApAQCAtMzUsNyAr
MzUsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SWRlbnRpdHlFeHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgdHlw
ZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaCwKLSAg
ICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBI
YXNoU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHNB
cmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hB
cmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCmluZGV4IGUxNGFjNDUuLmU5MTZlZjIgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVj
dCBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVB
cmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RI
YXNoU2V0Tm9kZUhhc2hGdW5jdGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFy
Zywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5h
bWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90
IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVs
dEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgTGlzdEhh
c2hTZXROb2RlPFZhbHVlQXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZTsKICAgICAgICAgdHlwZWRl
ZiBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2Rl
QWxsb2NhdG9yOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCmluZGV4IDQxODEzZDMuLjdkZGMxNGQgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
TG9ja2VyLmgKQEAgLTI4LDExICsyOCwxMSBAQAogI2lmbmRlZiBMb2NrZXJfaAogI2RlZmluZSBM
b2NrZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvY2tlcik7CiBwdWJsaWM6CiAgICAgTG9ja2VyKFQmIGxvY2thYmxlKSA6
IG1fbG9ja2FibGUobG9ja2FibGUpIHsgbV9sb2NrYWJsZS5sb2NrKCk7IH0KICAgICB+TG9ja2Vy
KCkgeyBtX2xvY2thYmxlLnVubG9jaygpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvTUQ1LmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuY3BwCmluZGV4IGM5MjZhN2IuLjdj
M2Y5ODMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9NRDUuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAiU3RyaW5n
RXh0cmFzLmgiCiAjaW5jbHVkZSAidGV4dC9DU3RyaW5nLmgiCiAjZW5kaWYKKyNpbmNsdWRlIDxz
dHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL01ENS5oCmluZGV4IDNjYWE4MTAuLmEwZGU1MDAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9NRDUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1LmgKQEAgLTMxLDYgKzMx
LDcgQEAKICNpZm5kZWYgV1RGX01ENV9oCiAjZGVmaW5lIFdURl9NRDVfaAogCisjaW5jbHVkZSA8
c3RkaW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV1RGIHsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9NZXNzYWdlUXVldWUuaAppbmRleCAxNDEwMGM5Li5kN2Q1NzEyIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL01lc3NhZ2VRdWV1ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8bGltaXRzPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBu
YW1lc3BhY2UgV1RGIHsKQEAgLTQ4LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8g
d2hlbiBtZXNzYWdlcyBhcmUgZmV0Y2hlZCBmcm9tIHRoZSBxdWV1ZS4KICAgICAvLyBFc3NlbnRp
YWxseSwgTWVzc2FnZVF1ZXVlIGFjdHMgYXMgYSBxdWV1ZSBvZiBPd25QdHI8RGF0YVR5cGU+Lgog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgotICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVF1ZXVlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2FnZVF1ZXVlKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IE1lc3NhZ2VRdWV1ZSgpIDogbV9raWxsZWQoZmFsc2UpIHsgfQogICAgICAgICB+TWVzc2FnZVF1
ZXVlKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaCBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyODVlZDJlLi4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKLSAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0g
KiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LQotI2lmbmRlZiBXVEZfTm9uY29weWFibGVfaAotI2RlZmluZSBXVEZfTm9uY29weWFibGVfaAot
Ci0jaWZuZGVmIF9faGFzX2ZlYXR1cmUKLSAgICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAot
I2VuZGlmCi0KLSNpZiBfX2hhc19mZWF0dXJlKGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKLSAgICAj
ZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBfUHJhZ21h
KCJjbGFuZyBkaWFnbm9zdGljIHB1c2giKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdu
b3N0aWMgaWdub3JlZCBcIi1XdW5rbm93bi1wcmFnbWFzXCIiKSBcCi0gICAgICAgIF9QcmFnbWEo
ImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAotICAg
ICAgICBwcml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikg
PSBkZWxldGU7IFwKLSAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNz
TmFtZSYpID0gZGVsZXRlOyBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9w
IikKLSNlbHNlCi0gICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwK
LSAgICAgICAgcHJpdmF0ZTogXAotICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFt
ZSYpOyBcCi0gICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUm
KQotI2VuZGlmCi0KLS8vIFdlIGRvbid0IHdhbnQgYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cCB0
byBwdWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgV1RGCi0vLyBuYW1lc3BhY2Ugd2hlbiB5b3Ug
dXNlIE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQgaW4gaXRzIG93biBuYW1lc3BhY2UuCi0KLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5hbWVzcGFjZSBXVEZOb25jb3B5YWJsZSB7Ci0KLSAg
ICBjbGFzcyBOb25jb3B5YWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKLSAgICAgICAgTm9u
Y29weWFibGUoY29uc3QgTm9uY29weWFibGUmKTsKLSAgICAgICAgTm9uY29weWFibGUmIG9wZXJh
dG9yPShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgIHByb3RlY3RlZDoKLSAgICAgICAgTm9uY29w
eWFibGUoKSB7IH0KLSAgICAgICAgfk5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgfTsKLQotfSAvLyBu
YW1lc3BhY2UgV1RGTm9uY29weWFibGUKLQotdXNpbmcgV1RGTm9uY29weWFibGU6Ok5vbmNvcHlh
YmxlOwotCi0jZW5kaWYgLy8gV1RGX05vbmNvcHlhYmxlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRy
LmgKaW5kZXggNjQzYjkwYi4uY2Q2NGVkYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKQEAg
LTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093bkFycmF5UHRyX2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIu
aCIKICNpbmNsdWRlICJPd25BcnJheVB0ckNvbW1vbi5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4K
QEAgLTM1LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
bGFzcyBQYXNzT3duQXJyYXlQdHI7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQ
dHI8VD4gYWRvcHRBcnJheVB0cihUKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBP
d25BcnJheVB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgT3duQXJyYXlQdHIgewogcHVibGljOgogICAgIHR5cGVkZWYgVCogUHRyVHlwZTsKIApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCkBAIC0yMywxMSArMjMsMTEgQEAK
ICNkZWZpbmUgT3duRmFzdE1hbGxvY1B0cl9oCiAKICNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCi0j
aW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICB0ZW1wbGF0
ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoT3duRmFzdE1hbGxvY1B0cik7CiAgICAgcHVibGljOgogICAg
ICAgICBleHBsaWNpdCBPd25GYXN0TWFsbG9jUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25QdHIuaAppbmRleCBjZGMyNzdjLi5mYjU5NDMyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0
ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAi
QXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0
ci5oIgogI2luY2x1ZGUgIk93blB0ckNvbW1vbi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIK
QEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUGFzc093blB0cjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRy
PFQ+IGFkb3B0UHRyKFQqKTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3Mg
T3duUHRyIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9p
bnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7CiAgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJU
eXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAxMmMzZTNkLi5kZGM4YTBmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaApAQCAtMiw2ICsyLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywg
MjAwOCwgMjAwOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMTExOCw0ICsxMTE5LDYxIEBACiAjaW5jbHVkZSAiR1R5cGVkZWZzLmgi
CiAjZW5kaWYKIAorLyogTm9uY29weWFibGUncyBpbXBsZW1lbnRhdGlvbiBhcyBhIG1hY3JvICov
CisKKyNpZm5kZWYgX19oYXNfZmVhdHVyZQorICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAw
CisjZW5kaWYKKworI2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQorICAg
ICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIF9QcmFn
bWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKKyAgICAgICAgX1ByYWdt
YSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCisg
ICAgICAgIHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUm
KSA9IGRlbGV0ZTsgXAorICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xh
c3NOYW1lJikgPSBkZWxldGU7IFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBw
b3AiKQorI2Vsc2UKKyAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkg
XAorICAgICAgICBwcml2YXRlOiBcCisgICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NO
YW1lJik7IFwKKyAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFt
ZSYpCisjZW5kaWYKKworLyogUHJvdmlkZXMgY3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBvcGVy
YXRvciBuZXcvZGVsZXRlICovCisKKyNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAor
cHVibGljOiBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1
cm4gcDsgfSBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJl
dHVybiBwOyB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBc
CisgICAgeyBcCisgICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAor
ICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJ
bnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAg
fSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApIFwKKyAgICB7IFwK
KyAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAorICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7
IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90IHNpemUp
IFwKKyAgICB7IFwKKyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBc
CisgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6
SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgIHJldHVybiBwOyBc
CisgICAgfSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkgXAor
ICAgIHsgXAorICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6
OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgICA6OldU
Rjo6ZmFzdEZyZWUocCk7IFwKKyAgICB9IFwKK3ByaXZhdGU6IFwKK3R5cGVkZWYgaW50IFRoaXNJ
c0hlcmVUb0ZvcmNlQVNlbWljb2xvbkFmdGVyVGhpc01hY3JvCisKICNlbmRpZiAvKiBXVEZfUGxh
dGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKaW5kZXggOGQ4YjMwMi4uZTA2MjI5NCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCkBAIC0yMiw3ICsyMiw3IEBACiAjZGVmaW5lIFJlZkNv
dW50ZWRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxl
LmgiCisjaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAt
MTMxLDcgKzEzMSw4IEBAIGlubGluZSB2b2lkIGFkb3B0ZWQoUmVmQ291bnRlZEJhc2UqIG9iamVj
dCkKIAogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBw
dWJsaWMgUmVmQ291bnRlZEJhc2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGljIFJlZkNvdW50ZWRCYXNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZWZDb3VudGVkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdm9pZCBkZXJlZigpCiAgICAgewpAQCAtMTQwLDYgKzE0MSw3IEBAIHB1
YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKKyAgICBSZWZDb3VudGVkKCkgeyB9CiAgICAgflJl
ZkNvdW50ZWQoKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
UmVmUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKaW5kZXggNmFmYTg4Ni4uZGZj
NjA1MiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMjMsOSArMjMsOCBAQAogI2lmbmRlZiBXVEZfUmVm
UHRyX2gKICNkZWZpbmUgV1RGX1JlZlB0cl9oCiAKLSNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5j
bHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIuaCIKKyNpbmNsdWRl
IDxhbGdvcml0aG0+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0zNiw3ICszNSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlIHsgSGFzaFRh
YmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQ
dHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xh
c3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cigpIDogbV9wdHIoMCkgeyB9CiAgICAgICAg
IEFMV0FZU19JTkxJTkUgUmVmUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpIHsgcmVmSWZOb3ROdWxs
KHB0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCmluZGV4IDdmNmViZmUuLjNjMDc2
Y2UgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaApAQCAtNDIsNyArNDIsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
TWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnLCB0eXBlbmFtZSBLZXlUcmFpdHNBcmcsIHR5cGVu
YW1lIE1hcHBlZFRyYWl0c0FyZz4KLSAgICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVk
QXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4gOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFyZywgSGFz
aEFyZywgS2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlUcmFpdHNB
cmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFp
dHM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQ
dGhyZWFkcy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVh
ZHMuaAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lm
bmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUgVGhyZWFkSWRlbnRp
ZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAvLyBIb2xkcyBUaHJl
YWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBhbmQgZW1wbG95cyBw
dGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFibHkgcmVtb3ZlCiAv
LyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVzIHJlZ3VsYXIgVGhy
ZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVzdHJ1Y3Rpb24uCi1j
bGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBU
aHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkSWRl
bnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVyRGF0YSgpOwogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oIGIvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAppbmRleCAzM2M2NjEyLi5hNmExY2YyIDEw
MDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKQEAgLTYyLDEyICs2MiwxMiBAQAog
I2luY2x1ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVz
Lmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU2FmZVNoYXJlZEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5pdGlhbFJl
ZkNvdW50ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uMTEzN2JkMiAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYgQEAKICNpZm5kZWYgV1RGX1Ro
cmVhZFNwZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNpZmljX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURTKQogI2luY2x1ZGUgPHB0aHJl
YWQuaD4KQEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIFRocmVhZFNwZWNp
ZmljVGhyZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRo
cmVhZFNwZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRT
cGVjaWZpYyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMoKTsKICAgICBUKiBvcGVyYXRv
ci0+KCk7CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGF0aWMgZGVzdHJv
eSh2b2lkKiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQTEFURk9STShRVCkgfHwgUExB
VEZPUk0oR1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBEYXRhIDogTm9uY29weWFibGUg
eworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YSk7
CisgICAgcHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBUaHJlYWRTcGVjaWZpYzxUPiog
b3duZXIpIDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30KICNpZiBQTEFURk9STShRVCkK
ICAgICAgICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMpOyB9CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwIGIvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2FkLi5kNzI5OTZhIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBm
aWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRv
d3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFk
aW5nLmNwcAppbmRleCA0OWRlNTllLi5mMmUwNTY1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNw
cApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RydWN0IE5ld1RocmVh
ZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdUaHJlYWRDb250ZXh0IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBOZXdUaHJlYWRDb250ZXh0
KFRocmVhZEZ1bmN0aW9uIGVudHJ5UG9pbnQsIHZvaWQqIGRhdGEsIGNvbnN0IGNoYXIqIG5hbWUp
CiAgICAgICAgIDogZW50cnlQb2ludChlbnRyeVBvaW50KQogICAgICAgICAsIGRhdGEoZGF0YSkK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRpbmcuaAppbmRleCAwNDQzNjVmLi5kYWVhMThlIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZGluZy5oCkBAIC02Niw3ICs2Niw2IEBACiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KICNp
bmNsdWRlIDx3dGYvTG9ja2VyLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVNoYXJlZC5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmggYi9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCmluZGV4IGMxMWE2Y2IuLjA2M2RlYzIgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaApAQCAtMzUsNyArMzUsNiBAQAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgPHdp
bmRvd3MuaD4KQEAgLTk2LDcgKzk1LDggQEAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVJlYWRXcml0
ZUxvY2s7CiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtQ29uZGl0aW9uOwogI2VuZGlmCiAgICAgCi1j
bGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNdXRleCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTXV0ZXgpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpAQCAtMTEzLDcgKzExMyw4IEBAIHByaXZh
dGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRleExvY2tlcjsKIAotY2xhc3MgUmVhZFdy
aXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFkV3JpdGVMb2NrIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVMb2NrKTsKIHB1YmxpYzoKICAgICBSZWFk
V3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2soKTsKQEAgLTEzMCw3ICsxMzEsOCBAQCBw
cml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9jayBtX3JlYWRXcml0ZUxvY2s7CiB9Owog
Ci1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhy
ZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRDb25kaXRpb24p
OwogcHVibGljOgogICAgIFRocmVhZENvbmRpdGlvbigpOwogICAgIH5UaHJlYWRDb25kaXRpb24o
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaAppbmRleCBmNzM3OTNmLi5iMzFjNjYyIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5o
CkBAIC0yMSwxNCArMjEsMTQgQEAKICNpZm5kZWYgV1RGX1ZlY3Rvcl9oCiAjZGVmaW5lIFdURl9W
ZWN0b3JfaAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotI2luY2x1ZGUgIk5vbmNvcHlh
YmxlLmgiCisjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgogI2luY2x1ZGUgIk5vdEZvdW5kLmgiCiAj
aW5jbHVkZSAiU3RkTGliRXh0cmFzLmgiCiAjaW5jbHVkZSAiVmFsdWVDaGVjay5oIgogI2luY2x1
ZGUgIlZlY3RvclRyYWl0cy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx1dGlsaXR5
PgorI2luY2x1ZGUgPHN0cmluZy5oPgogCiAjaWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSA8UURh
dGFTdHJlYW0+CkBAIC0yNzcsNyArMjc3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsK
QEAgLTQ4OCw3ICs0ODksOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0
b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBW
ZWN0b3JCdWZmZXI8VCwgaW5saW5lQ2FwYWNpdHk+IEJ1ZmZlcjsKICAgICAgICAgdHlwZWRlZiBW
ZWN0b3JUeXBlT3BlcmF0aW9uczxUPiBUeXBlT3BlcmF0aW9uczsKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhy
ZWFkRGF0YS5oCmluZGV4IDUwMTljMzMuLmQ5MjAxMGMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVh
ZERhdGEuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogLy8gVGhpcyB3YXMgRU5BQkxFKFdPUktF
UlMpIGluIFdlYkNvcmUsIGJ1dCB0aGlzIGlzIG5vdCBkZWZpbmVkIHdoZW4gY29tcGlsaW5nIEpT
Qy4KQEAgLTUxLDcgKzUwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKIHR5cGVkZWYgSGFzaE1hcDxj
b25zdCBjaGFyKiwgUmVmUHRyPFN0cmluZ0ltcGw+LCBQdHJIYXNoPGNvbnN0IGNoYXIqPiA+IExp
dGVyYWxJZGVudGlmaWVyVGFibGU7CiAKLWNsYXNzIElkZW50aWZpZXJUYWJsZSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJUYWJsZSB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgfklkZW50aWZpZXJUYWJsZSgpOwogCkBAIC04NCw3
ICs4NCw4IEBAIGNsYXNzIEF0b21pY1N0cmluZ1RhYmxlOwogCiB0eXBlZGVmIHZvaWQgKCpBdG9t
aWNTdHJpbmdUYWJsZURlc3RydWN0b3IpKEF0b21pY1N0cmluZ1RhYmxlKik7CiAKLWNsYXNzIFdU
RlRocmVhZERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV1RGVGhyZWFkRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV1RGVGhyZWFkRGF0YSk7CiBwdWJsaWM6CiAgICAg
V1RGVGhyZWFkRGF0YSgpOwogICAgIH5XVEZUaHJlYWREYXRhKCk7CmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS93dGYvZHRvYS5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKaW5k
ZXggYzg5YzAzNi4uYjViMTI2MSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2Eu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcApAQCAtNDE0LDcgKzQxNCwxMCBA
QCBzdGF0aWMgdm9pZCBtdWx0KEJpZ0ludCYgYVJlZiwgY29uc3QgQmlnSW50JiBiUmVmKQogICAg
IGFSZWYgPSBjOwogfQogCi1zdHJ1Y3QgUDVOb2RlIDogTm9uY29weWFibGUgeworc3RydWN0IFA1
Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUDVOb2RlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9CiAgICAgQmlnSW50IHZhbDsKICAg
ICBQNU5vZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmpl
Y3QvR093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCmluZGV4
IGNlYzNlNDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0
L0dPd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAg
LTI2LDcgKzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBleHRlcm4gIkMiIHZv
aWQgZ19mcmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJl
ZU93bmVkR1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lk
IGZyZWVPd25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQ
dHI8R0ZpbGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3du
UHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0
cigpIHsgZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
QnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQv
U3RyaW5nQnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAogI2RlZmluZSBTdHJpbmdCdWZmZXJf
aAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAjaW5jbHVkZSA8bGltaXRz
PgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nQnVmZmVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U3RyaW5nQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTdHJpbmdCdWZmZXIodW5zaWdu
ZWQgbGVuZ3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkKZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYv
dGV4dC9TdHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIuLjI2YmMxZDkgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZu
ZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
Ym9vbCBpc1N0cmluZ0ltcGwoKSB7IHJldHVybiAobV9yZWZDb3VudEFuZEZsYWdzICYgc19yZWZD
b3VudEludmFsaWRGb3JTdHJpbmdJbXBsKSAhPSBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0lt
cGw7IH0KICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQpA
QCAtNDUsOSArNDUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEJ1ZmZlclNoYXJlZCwKICAgICB9
OwogCi0gICAgdXNpbmcgTm9uY29weWFibGU6Om9wZXJhdG9yIG5ldzsKLSAgICB2b2lkKiBvcGVy
YXRvciBuZXcoc2l6ZV90LCB2b2lkKiBpblBsYWNlKSB7IEFTU0VSVChpblBsYWNlKTsgcmV0dXJu
IGluUGxhY2U7IH0KLQogICAgIC8vIEZvciBTbWFsbFN0cmluZ1N0b3JhZ2UsIHdoaWNoIGFsbG9j
YXRlcyBhbiBhcnJheSBhbmQgdXNlcyBhbiBpbi1wbGFjZSBuZXcuCiAgICAgU3RyaW5nSW1wbEJh
c2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0
b3IuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKaW5kZXggZmU2YTgw
OS4uYThiY2UxMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0
b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCkBAIC0yOSw3
ICsyOSw2IEBACiAjaWZuZGVmIFdURl9Db2xsYXRvcl9oCiAjZGVmaW5lIFdURl9Db2xsYXRvcl9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtMzksNyArMzgsOCBA
QCBzdHJ1Y3QgVUNvbGxhdG9yOwogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIGNsYXNzIENvbGxh
dG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb2xsYXRvciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENvbGxhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFJlc3VsdCB7IEVxdWFsID0gMCwgR3JlYXRlciA9
IDEsIExlc3MgPSAtMSB9OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4
SW50ZXJwcmV0ZXIuaCBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCmlu
ZGV4IDBmZDhhNTcuLmQ0MDQ1MTAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVn
ZXhJbnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRl
ci5oCkBAIC0zMTUsNyArMzE1LDggQEAgc3RydWN0IEJ5dGVUZXJtIHsKICAgICB9CiB9OwogCi1j
bGFzcyBCeXRlRGlzanVuY3Rpb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBCeXRl
RGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IEJ5dGVEaXNqdW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0ZXJucywgdW5zaWduZWQgZnJhbWVT
aXplKQogICAgICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVtU3VicGF0dGVybnMpCkBAIC0zMjgs
NyArMzI5LDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1fZnJhbWVTaXplOwogfTsKIAotc3Ry
dWN0IEJ5dGVjb2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0
dGVybiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQnl0ZWNv
ZGVQYXR0ZXJuKFBhc3NPd25QdHI8Qnl0ZURpc2p1bmN0aW9uPiBib2R5LCBWZWN0b3I8Qnl0ZURp
c2p1bmN0aW9uKj4gYWxsUGFyZW50aGVzZXNJbmZvLCBSZWdleFBhdHRlcm4mIHBhdHRlcm4sIEJ1
bXBQb2ludGVyQWxsb2NhdG9yKiBhbGxvY2F0b3IpCiAgICAgICAgIDogbV9ib2R5KGJvZHkpCiAg
ICAgICAgICwgbV9pZ25vcmVDYXNlKHBhdHRlcm4ubV9pZ25vcmVDYXNlKQpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaCBiL0phdmFTY3JpcHRDb3JlL3lhcnIv
UmVnZXhQYXR0ZXJuLmgKaW5kZXggNDQ1NjBhNC4uZmVlNzE5NiAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaAorKysgYi9KYXZhU2NyaXB0Q29yZS95YXJyL1Jl
Z2V4UGF0dGVybi5oCkBAIC03MCw3ICs3MCw5IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotc3Ry
dWN0IENoYXJhY3RlckNsYXNzIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xh
c3MgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIC8vIEFsbCBD
aGFyYWN0ZXJDbGFzcyBpbnN0YW5jZXMgaGF2ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRj
aGVzIGFuZCByYW5nZXMsCiAgICAgLy8gdGhleSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBm
b3IgZmFzdGVyIGxvb2t1cHMgKHdoaWNoIG11c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVk
IG1hdGNoZXMgYW5kIHJhbmdlcykKQEAgLTIxMSw3ICsyMTMsOSBAQCBzdHJ1Y3QgUGF0dGVyblRl
cm0gewogICAgIH0KIH07CiAKLXN0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NC
YXNlIHsKK3N0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rp
b24qIGRpc2p1bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAg
ICAsIG1fb25jZVRocm91Z2goZmFsc2UpCkBAIC0yNTIsNyArMjU2LDkgQEAgc3RydWN0IFBhdHRl
cm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6
IDE7CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7Citz
dHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
K3B1YmxpYzoKICAgICBQYXR0ZXJuRGlzanVuY3Rpb24oUGF0dGVybkFsdGVybmF0aXZlKiBwYXJl
bnQgPSAwKQogICAgICAgICA6IG1fcGFyZW50KHBhcmVudCkKICAgICAgICAgLCBtX2hhc0ZpeGVk
U2l6ZShmYWxzZSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZyBiL0phdmFT
Y3JpcHRHbHVlL0NoYW5nZUxvZwppbmRleCA5NjkzOTUyLi4wYzVhZmE4IDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMTItMDYgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
R2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAg
ICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMg
Z2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBh
bmQgCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25j
b3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTEyLTAxICBHZW9mZnJleSBHYXJlbiAgPGdnYXJl
bkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4OiBBZGRlZCBhIGZvcndhcmRpbmcgaGVh
ZGVyLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05v
bmNvcHlhYmxlLmggYi9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAot
LS0gYS9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaAor
KysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Ob25j
b3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA2MDg4ZDliLi42NTljN2VjIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTEyLTA2ICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFu
ZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxv
Y0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAj
NDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5o
ZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxl
LmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAq
IEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTEy
LTA1ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLiBSdW4gc29ydC1YY29kZS1wcm9qZWN0LWZpbGUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0Zv
cndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvV2ViQ29yZS9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzUx
MjY3Ny4uMDAwMDAwMAotLS0gYS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0jaWZuZGVmIFdlYkNvcmVfRldE
X05vbmNvcHlhYmxlX2gKLSNkZWZpbmUgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDNhMDRiYWMuLjFhMDdiN2EgMTAwNzU1Ci0tLSBhL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNjQwMDEsMTAgKzY0MDAxLDYgQEAKIAkJCQkJPgog
CQkJCTwvRmlsZT4KIAkJCQk8RmlsZQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXEZvcndhcmRpbmdI
ZWFkZXJzXHd0ZlxOb25jb3B5YWJsZS5oIgotCQkJCQk+Ci0JCQkJPC9GaWxlPgotCQkJCTxGaWxl
CiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE93bkFycmF5UHRy
LmgiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aAppbmRleCAyZWU1NmVlLi4wYzNmMDg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmgKQEAgLTU3LDcgKzU3LDggQEAgc3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQ
b3N0VHlwZSB7IFBvc3RTeW5jaHJvbm91c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xh
c3MgQVhPYmplY3RDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENh
Y2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQVhPYmplY3RDYWNoZSgpOwogICAgIH5BWE9i
amVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlw
dFNvdXJjZVByb3ZpZGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJj
ZVByb3ZpZGVyLmgKaW5kZXggODA5YTQ4OC4uYjY5NzZhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCisrKyBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlk
ZXIgOiBwdWJsaWMgU2NyaXB0U291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0
ZShDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hl
ZFNjcmlwdFNvdXJjZVByb3ZpZGVyKGNhY2hlZFNjcmlwdCkpOyB9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dD
Q29udHJvbGxlci5oCmluZGV4IDRjMjU0MDcuLjkxZjFlNGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0Nv
bnRyb2xsZXIuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIEdDQ29udHJvbGxlcl9oCiAj
ZGVmaW5lIEdDQ29udHJvbGxlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlICJUaW1lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBHQ0Nv
bnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdDQ29udHJvbGxlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdDQ29udHJvbGxlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgICAgICBmcmllbmQgR0NDb250cm9sbGVyJiBnY0NvbnRyb2xsZXIo
KTsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01C
aW5kaW5nLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCmluZGV4IDU0ZTlj
ZjYuLjc3M2I1NzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5n
LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaApAQCAtMzAsNyArMzAs
NiBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvTG9va3VwLmg+CiAjaW5jbHVkZSA8cnVudGltZS9XZWFr
R0NNYXAuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKaW5kZXggOTRiNmY3OC4uZjQzOTczMyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaApAQCAtMjgsNyArMjgsNiBA
QAogCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJl
aW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyByZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAg
LSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdpY2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdXcmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3Mg
V1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVnV3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3Rh
dGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFyZWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
TWFpblRocmVhZEV4ZWNTdGF0ZS5oCmluZGV4IDgxOTNkN2MuLjM0OWRjMTQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaApAQCAtMzAsMTEgKzMwLDExIEBA
CiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjZW5kaWYKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSlNN
YWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU01haW5UaHJl
YWRFeGVjU3RhdGUpOwogcHVibGljOgogICAgIHN0YXRpYyBKU0M6OkV4ZWNTdGF0ZSogY3VycmVu
dFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVs
ZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXgg
NmM5ZDBiYS4uNTlhZDZmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVs
ZWRBY3Rpb24uaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCkBA
IC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAqIHRpbWUgaW50ZXJ2YWws
IGVpdGhlciBvbmNlIG9yIHJlcGVhdGVkbHkuIFVzZWQgZm9yIHdpbmRvdy5zZXRUaW1lb3V0KCkK
ICAgICAqIGFuZCB3aW5kb3cuc2V0SW50ZXJ2YWwoKQogICAgICovCi0gICAgY2xhc3MgU2NoZWR1
bGVkQWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY2hlZHVsZWRBY3Rp
b24geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRBY3Rpb24pOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3du
UHRyPFNjaGVkdWxlZEFjdGlvbj4gY3JlYXRlKEpTQzo6RXhlY1N0YXRlKiwgRE9NV3JhcHBlcldv
cmxkKiBpc29sYXRlZFdvcmxkKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDYWNoZWRGcmFtZURhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgKaW5kZXggMTVjMjNjNS4uNWY2OTFkOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBAIC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBET01XaW5kb3c7CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxk
OwogCi0gICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDwgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpT
Qzo6UHJvdGVjdGVkUHRyPEpTRE9NV2luZG93PiA+IEpTRE9NV2luZG93U2V0OwogCiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5o
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDMxNzJjNjUu
LjMwMDBhYmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2
ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTU2
LDcgKzU2LDggQEAgY2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsK
IGNsYXNzIEphdmFTY3JpcHRDYWxsRnJhbWU7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDog
SlNDOjpEZWJ1Z2dlciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2Vy
dmVyIDogSlNDOjpEZWJ1Z2dlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVi
dWdTZXJ2ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
U2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2Zp
bGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgog
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNj
cmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5o
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCmluZGV4IDBjMDg2MTEuLjQ5NzE5
MmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNkZWZp
bmUgU2NyaXB0U3RhdGVfaAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgRXhlY1N0YXRl
OwpAQCAtNTIsNyArNTEsOCBAQCBjbGFzcyBQYWdlOwogLy8gRm9yIG5vdywgdGhlIHNlcGFyYXRp
b24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0eXBlZGVmIEpTQzo6RXhlY1N0YXRlIFNjcmlw
dFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0
IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKik7CiAgICAgflNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVK
U0NsaWVudERhdGEuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5o
CmluZGV4IDVkMDMzMjguLjZlMmQ3YmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUpTQ2xpZW50RGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpT
Q2xpZW50RGF0YS5oCkBAIC0yNCwxNyArMjQsMTggQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJX
b3JsZC5oIgogI2luY2x1ZGUgIkRPTU9iamVjdEhhc2hUYWJsZU1hcC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVu
dERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6SlNHbG9i
YWxEYXRhOjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlND
bGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIEpT
R2xvYmFsRGF0YVdvcmxkSXRlcmF0b3I7CiAgICAgZnJpZW5kIHZvaWQgaW5pdE5vcm1hbFdvcmxk
Q2xpZW50RGF0YShKU0M6OkpTR2xvYmFsRGF0YSopOwogCiBwdWJsaWM6CisgICAgV2ViQ29yZUpT
Q2xpZW50RGF0YSgpIHsgfQogICAgIHZpcnR1YWwgfldlYkNvcmVKU0NsaWVudERhdGEoKQogICAg
IHsKICAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQuY29udGFpbnMobV9ub3JtYWxXb3JsZC5nZXQo
KSkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9s
bGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaAppbmRl
eCBiZTdkYTRkLi40NTc4OTEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtl
clNjcmlwdENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlw
dENvbnRyb2xsZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90
ZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAt
NDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0VmFsdWU7
CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAotICAgIGNsYXNzIFdvcmtlclNjcmlwdENvbnRy
b2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdvcmtlclNjcmlwdENvbnRy
b2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJTY3JpcHRDb250cm9s
bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBXb3Jr
ZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgfldvcmtlclNjcmlw
dENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5o
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKaW5kZXggYzhiNGE0MS4uMDlkNTM0NSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9ET01EYXRhLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIC8vIHRocmVhZC4gIFRoZSBET01EYXRhIGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRo
ZSBET01EYXRhIGZvciBjaGlsZCB0aHJlYWRzCiAgICAgLy8gdXNlIGRpZmZlcmVudCBzdWJjbGFz
c2VzLgogICAgIC8vCi0gICAgY2xhc3MgRE9NRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgRE9NRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGEp
OwogICAgIHB1YmxpYzoKICAgICAgICAgRE9NRGF0YSgpOwogICAgICAgICB2aXJ0dWFsIH5ET01E
YXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAppbmRleCAzNzU4ZTIzLi44YzZjMDJj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNpbmNs
dWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL01haW5U
aHJlYWQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KQEAgLTE0OSw3ICsxNDgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8g
VGhpcyBjbGFzcyBkb2Vzbid0IG1hbmFnZSB0aGUgbGlmZXRpbWUgb2YgdGhlIHN0b3JlLiAgVGhl
IGRhdGEgc3RvcmUKICAgICAvLyBsaWZldGltZSBpcyBtYW5hZ2VkIGJ5IHN1YmNsYXNzZXMuCiAg
ICAgLy8KLSAgICBjbGFzcyBET01EYXRhU3RvcmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIERPTURhdGFTdG9yZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURh
dGFTdG9yZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIERPTVdyYXBwZXJNYXBUeXBlIHsK
ICAgICAgICAgICAgIERPTU5vZGVNYXAsCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNo
ZWRGcmFtZURhdGEuaAppbmRleCAxYWExZjYyLi5mNDJlODExIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTYwLDE0ICs2MCwxNCBAQCBwdWJsaWM6
CiAKICNpbmNsdWRlICJPd25IYW5kbGUuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZyYW1lOwog
Y2xhc3MgRE9NV2luZG93OwogCi1jbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNjcmlwdENhY2hlZEZyYW1lRGF0YSApOwogcHVibGljOgogICAgIFNj
cmlwdENhY2hlZEZyYW1lRGF0YShGcmFtZSopOwogICAgIH5TY3JpcHRDYWNoZWRGcmFtZURhdGEo
KSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIu
aCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAppbmRleCA1YzVkNmM2
Li40NDFhYjNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2Vy
dmVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC0z
OSw3ICszOSw2IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNo
Lmg+CiAKQEAgLTQ4LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1NlcnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oCmluZGV4IGI3NWEwNTQuLmUwOTY5ZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0UHJvZmlsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFBy
b2ZpbGVyLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIK
ICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogCi1jbGFz
cyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9m
aWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3Jp
cHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRT
dGF0ZS5oCmluZGV4IDExODEzYjAuLmRjMjQ3MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0U3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRl
LmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2lu
Y2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyArNDEsOCBAQCBj
bGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBTY3JpcHRTdGF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGUpOwogcHVibGljOgogICAgIGJvb2wgaGFkRXhjZXB0
aW9uKCkgeyByZXR1cm4gIW1fZXhjZXB0aW9uLklzRW1wdHkoKTsgfQogICAgIHZvaWQgc2V0RXhj
ZXB0aW9uKHY4OjpMb2NhbDx2ODo6VmFsdWU+IGV4Y2VwdGlvbikKQEAgLTc5LDcgKzc5LDggQEAg
cHVibGljOgogICAgIH5FbXB0eVNjcmlwdFN0YXRlKCkgeyB9CiB9OwogCi1jbGFzcyBTY3JpcHRT
dGF0ZVByb3RlY3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0
ZVByb3RlY3RlZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90
ZWN0ZWRQdHIpOwogcHVibGljOgogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCkgOiBtX3Nj
cmlwdFN0YXRlKDApIHsgfQogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRl
KiBzY3JpcHRTdGF0ZSkgOiBtX3NjcmlwdFN0YXRlKHNjcmlwdFN0YXRlKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvV2ViQ29yZS9i
aW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmluZGV4IDM2ZmMxZjYuLjJjMjg3
ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAK
QEAgLTEyOCw3ICsxMjgsOCBAQCBwcml2YXRlOgogCiAvLyBXcml0ZXIgaXMgcmVzcG9uc2libGUg
Zm9yIHNlcmlhbGl6aW5nIHByaW1pdGl2ZSB0eXBlcyBhbmQgc3RvcmluZwogLy8gaW5mb3JtYXRp
b24gdXNlZCB0byByZWNvbnN0cnVjdCBjb21wb3NpdGUgdHlwZXMuCi1jbGFzcyBXcml0ZXIgOiBO
b25jb3B5YWJsZSB7CitjbGFzcyBXcml0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdy
aXRlcik7CiBwdWJsaWM6CiAgICAgV3JpdGVyKCkKICAgICAgICAgOiBtX3Bvc2l0aW9uKDApCkBA
IC0zNzcsNyArMzc4LDggQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBjbGFzcyBT
dGF0ZUJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFN0YXRlQmFzZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0YXRlQmFzZSk7CiAgICAgcHVibGljOgogICAg
ICAgICB2aXJ0dWFsIH5TdGF0ZUJhc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlk
Z2UvQnJpZGdlLmggYi9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaAppbmRleCA1MGVmYzY0Li4wMGQ2
ZjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaAorKysgYi9XZWJDb3JlL2Jy
aWRnZS9CcmlkZ2UuaApAQCAtMjgsMTQgKzI4LDE1IEBACiAjZGVmaW5lIEJyaWRnZV9oCiAKICNp
bmNsdWRlICJCcmlkZ2VKU0MuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIEpTQyAgewogCiBuYW1lc3BhY2UgQmluZGluZ3MgewogCi1jbGFzcyBNZXRob2QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWV0aG9kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShNZXRob2QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBNZXRo
b2QoKSB7IH0KICAgICB2aXJ0dWFsIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogCiAg
ICAgdmlydHVhbCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9JZGVu
dGlmaWVyUmVwLmggYi9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKaW5kZXggOTliYWUw
Yi4uNWUxNTdjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCisr
KyBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAj
ZGVmaW5lIElkZW50aWZpZXJSZXBfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNp
bmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMu
aD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xh
c3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZp
ZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBJZGVudGlmaWVyUmVwKiBnZXQoaW50KTsKICAgICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0
KGNvbnN0IGNoYXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0Mu
aCBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaAppbmRleCA5Njk3NGQ5Li5lYmNmYWFk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKKysrIGIvV2ViQ29y
ZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01OSw4ICs1OSwxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNsYXNzIENsYXNzIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzcyk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIENsYXNzKCkgeyB9CiAgICAgdmly
dHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2Uq
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVsZCogZmllbGROYW1lZChjb25zdCBJZGVudGlm
aWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBKU1ZhbHVlIGZhbGxiYWNr
T2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJu
IGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsxMjcsOCBAQCBwcml2YXRlOgogICAgIFdlYWtH
Q1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVPYmplY3Q7CiB9OwogCi1jbGFzcyBBcnJheSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcnJheSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFycmF5KFBhc3NSZWZQdHI8Um9vdE9iamVjdD4p
OwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX3Jvb3QuaCBiL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCmluZGV4IGJhYmQ3YWQu
LjM5ZmIzNTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCisrKyBi
L1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZh
bHVlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKaW5kZXggODMzZDdmZS4uMTc0ZjFl
ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCisrKyBiL1dlYkNvcmUv
Y3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMzIsNiArMzIsNyBAQCBjbGFzcyBTdHlsZUNhY2hlZElt
YWdlOwogY2xhc3MgU3R5bGVJbWFnZTsKIAogY2xhc3MgQ1NTSW1hZ2VWYWx1ZSA6IHB1YmxpYyBD
U1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NT
SW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUp
OyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0
cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwpKTsgfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oIGIvV2ViQ29yZS9jc3MvQ1NT
SW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLmFkNGU5N2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Y3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAg
LTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVTaGVldDsKIGNsYXNzIE1lZGlhTGlz
dDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBDU1NSdWxlLCBwcml2YXRlIENhY2hl
ZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbXBvcnRSdWxlPiBjcmVhdGUoQ1NTU3R5bGVTaGVl
dCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGhyZWYsIFBhc3NSZWZQdHI8TWVkaWFMaXN0PiBtZWRp
YSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaCBiL1dlYkNv
cmUvY3NzL0NTU05hbWVzcGFjZS5oCmluZGV4IDYyMjVjMzYuLjkyNjM4ZjIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFj
ZS5oCkBAIC0yNiw3ICsyNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIHN0cnVj
dCBDU1NOYW1lc3BhY2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENTU05hbWVzcGFjZSB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU05hbWVzcGFjZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgQXRvbWljU3RyaW5nIHByZWZpeDsK
ICAgICAgICAgQXRvbWljU3RyaW5nIHVyaTsKICAgICAgICAgT3duUHRyPENTU05hbWVzcGFjZT4g
cGFyZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaAppbmRleCBlYjhiYjJkLi5hZWY4OWUzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMzMxLDcg
KzMzMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBpbnQgY3NzUHJvcGVydHlJRChjb25z
dCBTdHJpbmcmKTsKICAgICBpbnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3Ry
aW5nJik7CiAKLSAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5kU2NvcGUoQ1NTUGFyc2VyKiBw
YXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQogICAgICAgICB7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjk5NmU3ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBA
IC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7CiAgICAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNzIENTU1BhcnNlclZhbHVlTGlz
dCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1BhcnNlclZhbHVlTGlzdCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTUGFyc2VyVmFsdWVM
aXN0KCkKICAgICAgICAgOiBtX2N1cnJlbnQoMCkKQEAgLTgzLDcgKzg0LDkgQEAgcHJpdmF0ZToK
ICAgICBWZWN0b3I8Q1NTUGFyc2VyVmFsdWUsIDQ+IG1fdmFsdWVzOwogfTsKIAotc3RydWN0IENT
U1BhcnNlckZ1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rp
b24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIENTU1BhcnNl
clN0cmluZyBuYW1lOwogICAgIE93blB0cjxDU1NQYXJzZXJWYWx1ZUxpc3Q+IGFyZ3M7CiB9Owpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaCBiL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5LmgKaW5kZXggMTA2MTcxZC4uMTBlNTkzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHkuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCkBAIC0yOSw3ICsy
OSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ1NTUHJvcGVydHkgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQcm9wZXJ0eSB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHkoaW50IHByb3BJRCwgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0gZmFsc2UsIGludCBzaG9ydGhh
bmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAgICAgOiBtX2lkKHByb3BJRCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yLmNwcAppbmRleCBmYjhmNjk1Li40MmNkZjc5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBA
IC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBI
VE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9yQmFnIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxl
Y3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2VsZWN0b3JCYWcoKSB7IH0KICAgICB+Q1NTU2Vs
ZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzRW1wdHkoKSk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApp
bmRleCAwMGUyM2I5Li5kZGMwYWEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAgLTI0LDcgKzI0LDYgQEAKIAog
I2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50
cy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zMyw3ICszMiw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsKIAogICAgIC8vIHRoaXMg
Y2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVsZQotICAgIGNsYXNzIENT
U1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTZWxlY3RvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NTZWxlY3RvcigpCiAgICAgICAg
ICAgICA6IG1fcmVsYXRpb24oRGVzY2VuZGFudCkKQEAgLTMwMiw3ICszMDIsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHVuc2lnbmVkIHNwZWNpZmljaXR5Rm9yUGFnZSgpIGNvbnN0
OwogICAgICAgICB2b2lkIGV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3Q7CiAKLSAgICAgICAgc3Ry
dWN0IFJhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmFyZURhdGEoUGFzc093
blB0cjxDU1NTZWxlY3Rvcj4gdGFnSGlzdG9yeSkKICAgICAgICAgICAgICAgICA6IG1fYSgwKQog
ICAgICAgICAgICAgICAgICwgbV9iKDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvckxpc3QuaCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCmluZGV4IDllNDBlZjgu
LjcxY2VhNmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCisrKyBi
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oCkBAIC0yNywxMSArMjcsMTEgQEAKICNkZWZp
bmUgQ1NTU2VsZWN0b3JMaXN0X2gKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLWNsYXNz
IENTU1NlbGVjdG9yTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NTZWxlY3Rv
ckxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yTGlzdCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENTU1NlbGVjdG9yTGlzdCgpIDogbV9z
ZWxlY3RvckFycmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAKaW5kZXggNzJiNGE5Ny4uOThmMDQzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHAKQEAgLTM0OSw3ICszNDksOCBAQCBpZiAoaWQgPT0gcHJvcElEKSB7IFwKICAgICByZXR1
cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBDU1NSdWxlU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NSdWxlU2V0KTsKIHB1
YmxpYzoKICAgICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuaAppbmRleCBiNzE4NzUxLi4zZTJlYjc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCkBA
IC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBXZWJLaXRDU1NLZXlm
cmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOwogCi1jbGFzcyBNZWRpYVF1
ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlSZXN1bHQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlSZXN1bHQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5UmVzdWx0KGNvbnN0IE1lZGlh
UXVlcnlFeHAmIGV4cHIsIGJvb2wgcmVzdWx0KQogICAgICAgICA6IG1fZXhwcmVzc2lvbihleHBy
KQpAQCAtODIsNyArODMsOCBAQCBwdWJsaWM6CiB9OwogCiAgICAgLy8gVGhpcyBjbGFzcyBzZWxl
Y3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4gZWxlbWVudCBiYXNlZCBvbiBhIGNvbGxlY3Rp
b24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1N0eWxlU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0b3IoRG9jdW1lbnQqLCBTdHls
ZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hl
ZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVTaGVldCogcGFnZVVzZXJTaGVl
dCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KiBwYWdlR3JvdXBVc2VyU2hl
ZXRzLApAQCAtMjA5LDcgKzIxMSw4IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRBdmFpbGFibGUoKSB7IHJldHVybiBzX3N0eWxl
Tm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAgY2xhc3MgU2VsZWN0b3JDaGVja2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU2VsZWN0b3JDaGVja2VyIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdG9yQ2hlY2tlcik7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1bWVudCosIGJvb2wgc3RyaWN0
UGFyc2luZyk7CiAKQEAgLTMxNSw3ICszMTgsOCBAQCBwdWJsaWM6CiAgICAgICAgIFZlY3RvcjxN
ZWRpYVF1ZXJ5UmVzdWx0Kj4gbV92aWV3cG9ydERlcGVuZGVudE1lZGlhUXVlcnlSZXN1bHRzOwog
ICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQ1NTUnVsZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NS
dWxlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
Q1NTUnVsZURhdGEodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHIsIENTU1NlbGVjdG9yKiBz
ZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0gMCkKICAgICAgICAgICAgIDogbV9wb3NpdGlvbihwb3Mp
CkBAIC0zNDMsNyArMzQ3LDggQEAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YSogbV9uZXh0
OwogICAgIH07CiAKLSAgICBjbGFzcyBDU1NSdWxlRGF0YUxpc3QgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgQ1NTUnVsZURhdGFMaXN0KHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxl
KiBydWxlLCBDU1NTZWxlY3Rvciogc2VsKQogICAgICAgICAgICAgOiBtX2ZpcnN0KG5ldyBDU1NS
dWxlRGF0YShwb3MsIHJ1bGUsIHNlbCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5LmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKaW5kZXggMjgxMDA5Yi4uYTYzOGFjOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCisrKyBiL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnkuaApAQCAtMzcsNyArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
TWVkaWFRdWVyeUV4cDsKIAotY2xhc3MgTWVkaWFRdWVyeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBNZWRpYVF1ZXJ5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9y
IHsKICAgICAgICAgT25seSwgTm90LCBOb25lCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5RXZhbHVhdG9yLmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5k
ZXggMDBhYzM5NC4uMDdjNGQwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2
YWx1YXRvci5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNDks
NyArNDksOCBAQCBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogICogdGhlIGRldmljZSBjaGFyYWN0ZXJp
c3RpY3MgYXJlIG5vdCBrbm93bi4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGlu
ZwogICogb2Ygc3R5bGVzaGVldHMgdG8gb25seSB0aG9zZSB3aGljaCBhcmUgcHJvYmFibGUgdG8g
bWF0Y2guCiAgKi8KLWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciB7CisgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE1lZGlhUXVlcnlFdmFsdWF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxl
IG1lZGlhIHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3IgImFsbCIs
IGFuZCByZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaApp
bmRleCA3MmQzZmZmLi43ZTRkNDc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
RXhwLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICszOCw4IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAKLWNsYXNz
IE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRpYVF1ZXJ5
RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxNZWRpYVF1ZXJ5RXhwPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBtZWRp
YUZlYXR1cmUsIENTU1BhcnNlclZhbHVlTGlzdCogdmFsdWVzKTsKICAgICB+TWVkaWFRdWVyeUV4
cCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwIGIvV2Vi
Q29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCmluZGV4IDdmNWYxYjYuLjRhOGQyNWEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcAorKysgYi9XZWJDb3Jl
L2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBBc3luY1Nj
cmlwdFJ1bm5lcjo6ZXhlY3V0ZVNjcmlwdFNvb24oU2NyaXB0RWxlbWVudCogZGF0YSwgQ2FjaGVk
UmVzb3VyY2VIYW4KICAgICBBU1NFUlQoZWxlbWVudC0+aW5Eb2N1bWVudCgpKTsKIAogICAgIG1f
ZG9jdW1lbnQtPmluY3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKTsKLSAgICBtX3NjcmlwdHNU
b0V4ZWN1dGVTb29uLmFwcGVuZChtYWtlX3BhaXIoZGF0YSwgY2FjaGVkU2NyaXB0KSk7CisgICAg
bV9zY3JpcHRzVG9FeGVjdXRlU29vbi5hcHBlbmQoc3RkOjptYWtlX3BhaXIoZGF0YSwgY2FjaGVk
U2NyaXB0KSk7CiAgICAgZWxlbWVudC0+cmVmKCk7IC8vIEJhbGFuY2VkIGJ5IGRlcmVmKClzIGlu
IHRpbWVyRmlyZWQoKSBhbmQgZHRvci4KICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9B
c3luY1NjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaAppbmRl
eCAxYTA1MWE4Li4zZjcxZGYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1
bm5lci5oCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKQEAgLTI4LDcgKzI4
LDYgQEAKIAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzgsNyArMzcsOCBAQCBjbGFz
cyBDYWNoZWRTY3JpcHQ7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiAg
ICAgCi1jbGFzcyBBc3luY1NjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBBc3luY1NjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNTY3Jp
cHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxBc3luY1NjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkg
eyByZXR1cm4gbmV3IEFzeW5jU2NyaXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1Nj
cmlwdFJ1bm5lcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmggYi9X
ZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAppbmRleCA4NmEyMmIwLi43NTE0YWI2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAorKysgYi9XZWJDb3JlL2RvbS9ET01TdHJp
bmdNYXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBET01TdHJpbmdNYXBfaAogCiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDcgKzM0
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKIHR5cGVkZWYgaW50IEV4
Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIERPTVN0cmluZ01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBET01TdHJpbmdNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVN0cmlu
Z01hcCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgfkRP
TVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYzA4OGU0ZS4uOWY4Mjg0MSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtNDY1OCw3ICs0NjU4LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdl
U291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAgICAg
d2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2Fn
ZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4
dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgogICAgIFBlcmZvcm1UYXNrQ29udGV4dChQYXNzUmVmUHRyPERvY3VtZW50
V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVuY2UsIFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAgICAgOiBkb2N1bWVudFJlZmVyZW5jZShkb2N1
bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNrKHRhc2spCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oCmluZGV4IDk2ZmI3ZjMuLmUxMmYyM2YgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5oCkBAIC0zOCw4ICszOCwxMCBAQCBjbGFzcyBJbnRSZWN0Owog
Y2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogCi1jbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBEb2N1bWVudE1hcmtlckNvbnRy
b2xsZXIoKSB7IH0KICAgICB+RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyBkZXRhY2goKTsg
fQogCiAgICAgdm9pZCBkZXRhY2goKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50Lmgg
Yi9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGYwNWQzNmMuLmNkNDlkZTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAtMjQsNiAr
MjQsNyBAQAogI2lmbmRlZiBFdmVudF9oCiAjZGVmaW5lIEV2ZW50X2gKIAorI2luY2x1ZGUgIkNs
aXBib2FyZC5oIgogI2luY2x1ZGUgIkRPTVRpbWVTdGFtcC5oIgogI2luY2x1ZGUgIkV2ZW50VGFy
Z2V0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTMxLDggKzMyLDYgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgQ2xpcGJvYXJkOwotCiAgICAgY2xhc3Mg
RXZlbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudD4gewogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBQaGFzZVR5cGUgeyAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBi
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA0OTY4MDRlLi42ODZkOWIzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5oCkBAIC0xNzgsNyArMTc4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFwKIC8vIGVu
ZCBvZiBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gKIAotICAgIGNsYXNzIEV2ZW50TmFtZXMgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TmFtZXMgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShFdmVudE5hbWVzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5pdGlhbGl6YXRpb24gbWFjcm8g
d29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFjY2lkZW50YWwgY2FsbCB0byBF
dmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAgICAgICAgRXZlbnROYW1lcygp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uODFlZWI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3
ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3Rl
cmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhh
c2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1h
cDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50
VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAg
ICAgRXZlbnRUYXJnZXREYXRhKCk7CiAgICAgICAgIH5FdmVudFRhcmdldERhdGEoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50
ZXIuaCBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVy
LmgKaW5kZXggOWQxODM1YS4uMjZmN2ZkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAorKysgYi9XZWJDb3JlL2RvbS9JZ25v
cmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCkBAIC0yNywxMSArMjcsMTEgQEAK
ICNkZWZpbmUgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXJfaAogCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1l
bnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRl
Q291bnRJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWdub3JlRGVzdHJ1
Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IElnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKERvY3VtZW50KiBkb2N1bWVudCkKICAg
ICAgICAgOiBtX2NvdW50KGRvY3VtZW50ID8gJmRvY3VtZW50LT5tX2lnbm9yZURlc3RydWN0aXZl
V3JpdGVDb3VudCA6IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5u
ZWwuaCBiL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGYzMDhhMjkuLjA3
NjY4YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBi
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCkBAIC01NSw3ICs1NSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIE1lc3NhZ2VQb3J0Q2hhbm5lbCBpcyBhIHBsYXRmb3Jt
LWluZGVwZW5kZW50IGludGVyZmFjZSB0byB0aGUgcmVtb3RlIHNpZGUgb2YgYSBtZXNzYWdlIGNo
YW5uZWwuCiAgICAgLy8gSXQgYWN0cyBhcyBhIHdyYXBwZXIgYXJvdW5kIHRoZSBwbGF0Zm9ybS1k
ZXBlbmRlbnQgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwgaW1wbGVtZW50YXRpb24gd2hpY2gg
ZW5zdXJlcyB0aGF0IHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgY2xvc2UoKSBtZXRob2QgaXMgaW52
b2tlZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uCi0gICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNzYWdlUG9ydENoYW5uZWwpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNo
YW5uZWwoUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4sIFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+KTsK
IApAQCAtNzgsNyArNzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIFJldHVy
bnMgdHJ1ZSBpZiB0aGUgcHJveHkgY3VycmVudGx5IGNvbnRhaW5zIG1lc3NhZ2VzIGZvciB0aGlz
IHBvcnQuCiAgICAgICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiAKLSAgICAgICAgY2xh
c3MgRXZlbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXZlbnRE
YXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50RGF0YSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMg
UGFzc093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJyYXk+KTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEu
aAppbmRleCBhYjIwOGQyLi43MzUwZjgwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Ob2RlUmFy
ZURhdGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5v
bmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8RHluYW1pY05vZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7
CiAgICAgTm9kZUxpc3RTZXQgbV9saXN0c1dpdGhDYWNoZXM7CiAgICAgCkBAIC02Nyw3ICs2OSw4
IEBAIHByaXZhdGU6CiAgICAgfQogfTsKICAgICAKLWNsYXNzIE5vZGVSYXJlRGF0YSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBOb2RlUmFyZURhdGEgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKE5vZGVSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOiAg
ICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAgICA6IG1fdGFiSW5kZXgoMCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5h
bWUuaAppbmRleCAzNGZjMDY5Li5jYjk1ZjIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9RdWFs
aWZpZWROYW1lLmgKKysrIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0zMiw3ICsz
Miw4IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCog
bV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFsaWZpZWROYW1lIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgUXVhbGlmaWVkTmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291
bnRlZDxRdWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRl
eCAwN2M1OWRiLi41MjUwZjNlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50
LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBAIC0zMiw2ICszMiw3IEBAIGNs
YXNzIFNjcmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBTY3Jp
cHRFbGVtZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2NyaXB0RWxlbWVudChFbGVtZW50KiwgYm9v
bCBjcmVhdGVkQnlQYXJzZXIsIGJvb2wgaXNFdmFsdWF0ZWQpOwogICAgIHZpcnR1YWwgflNjcmlw
dEVsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCBiNDZhMGY0
Li40NTY2YTYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0xMTYsOCAr
MTE2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCByZWYoKSB7IHJlZlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogICAgICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogCi0gICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVi
bGljOgorICAgICAgICAgICAgVGFzaygpIHsgfQogICAgICAgICAgICAgdmlydHVhbCB+VGFzaygp
OwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqKSA9IDA7CiAgICAgICAgICAgICAvLyBDZXJ0YWluIHRhc2tzIGdldCBtYXJrZWQgc3Bl
Y2lhbGx5IHNvIHRoYXQgdGhleSBhcmVuJ3QgZGlzY2FyZGVkLCBhbmQgYXJlIGV4ZWN1dGVkLCB3
aGVuIHRoZSBjb250ZXh0IGlzIHNodXR0aW5nIGRvd24gaXRzIG1lc3NhZ2UgcXVldWUuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmggYi9XZWJDb3JlL2RvbS9TcGFj
ZVNwbGl0U3RyaW5nLmgKaW5kZXggODI2ZTZiZC4uNmViODkzYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCisrKyBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJp
bmcuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFz
cyBTcGFjZVNwbGl0U3RyaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
U3BhY2VTcGxpdFN0cmluZ0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGFj
ZVNwbGl0U3RyaW5nRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgU3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wg
c2hvdWxkRm9sZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxk
Rm9sZENhc2Uoc2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oCmluZGV4IGY5N2FmY2YuLjZjMDE0YTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L1RyYW5zZm9ybVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBA
IC0yMyw3ICsyMyw2IEBACiAjaWYgRU5BQkxFKFhTTFQpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYg
dm9pZCogUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5z
Zm9ybVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291
cmNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBUcmFuc2Zvcm1Tb3Vy
Y2UoY29uc3QgUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2UmIHNvdXJjZSk7CiAgICAgICAgIH5UcmFu
c2Zvcm1Tb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNh
dG9yLmggYi9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCmluZGV4IDE3ZWEzMTku
LmRlNTdlZmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgK
KysrIGIvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBVc2VyR2VzdHVyZUluZGljYXRvcl9oCiAjZGVmaW5lIFVzZXJHZXN0dXJlSW5k
aWNhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTM2LDcgKzM1LDggQEAgZW51bSBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0
ZSB7CiAgICAgRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZQogfTsKIAotY2xhc3Mg
VXNlckdlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlckdl
c3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJHZXN0dXJlSW5k
aWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUo
KSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZSA9PSBEZWZpbml0ZWx5UHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlOyB9CiAgICAgc3RhdGljIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIGdl
dFVzZXJHZXN0dXJlU3RhdGUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCBiL1dl
YkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggNmM3MTA3OS4uYmMz
YWNlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3Iu
aAorKysgYi9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3
ICsyNiw2IEBACiAjaWZuZGVmIFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUg
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0z
NCw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9k
ZTsKIAotY2xhc3MgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgYm9vbCBwcm9jZXNzaW5nVXNlclR5cGluZ0dlc3R1cmUoKTsKICAgICBzdGF0aWMgTm9kZSog
Zm9jdXNlZEVsZW1lbnRBdEdlc3R1cmVTdGFydCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXIuaCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKaW5k
ZXggZTNkM2NjMi4uZWU4MWQ3OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQ
YXJzZXIuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCkBAIC03MSw2ICs3
MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAgY2xhc3MgWE1MRG9jdW1l
bnRQYXJzZXIgOiBwdWJsaWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBwdWJsaWMgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTERvY3VtZW50UGFyc2VyPiBjcmVh
dGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGcmFtZVZpZXcqIHZpZXcpCiAgICAgICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAgYi9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCmluZGV4IDIzZjk4ODMuLmJjYmEzMjAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysr
IGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUs
MTAgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBQZW5kaW5nQ2FsbGJhY2tzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdD
YWxsYmFja3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwog
cHVibGljOgorICAgIFBlbmRpbmdDYWxsYmFja3MoKSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNr
cygpCiAgICAgewogICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oIGIvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCmluZGV4IDU4ZThhNmIuLjhmNDE5MzMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9XZWJDb3JlL2Rv
bS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgWE1M
RG9jdW1lbnRQYXJzZXJTY29wZV9oCiAjZGVmaW5lIFhNTERvY3VtZW50UGFyc2VyU2NvcGVfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBFTkFCTEUoWFNMVCkKICNpbmNs
dWRlIDxsaWJ4bWwvdHJlZS5oPgpAQCAtMzYsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKIAotICAgIGNsYXNzIFhNTERvY3Vt
ZW50UGFyc2VyU2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFhNTERvY3Vt
ZW50UGFyc2VyU2NvcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxEb2N1bWVu
dFBhcnNlclNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2Nv
cGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKTsKICAgICAgICAg
flhNTERvY3VtZW50UGFyc2VyU2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9E
ZWxldGVCdXR0b25Db250cm9sbGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29u
dHJvbGxlci5oCmluZGV4IDEyODZjMDcuLjRkOTI4YzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRp
dGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsK
IGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVsZXRl
QnV0dG9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9u
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlbGV0
ZUJ1dHRvbkNvbnRyb2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5n
L1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggZmI1MmU1Ni4uMWM3YjcxMyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2Vk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCkBAIC01OSw3ICs1OSw4IEBAIGVudW0g
RUZyYWdtZW50VHlwZSB7IEVtcHR5RnJhZ21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRy
ZWVGcmFnbWVudCB9OwogCiAvLyAtLS0gUmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MK
IAotY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSZXBsYWNlbWVudEZyYWdtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNl
bWVudEZyYWdtZW50KTsKIHB1YmxpYzoKICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50
KiwgRG9jdW1lbnRGcmFnbWVudCosIGJvb2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVj
dGlvbiYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxl
ci5oIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCA4Y2M4OWU0
Li5kNTU2MGY1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxl
ci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTMyLDcg
KzMyLDYgQEAKICNpbmNsdWRlICJTY3JvbGxCZWhhdmlvci5oIgogI2luY2x1ZGUgIlRpbWVyLmgi
CiAjaW5jbHVkZSAiVmlzaWJsZVNlbGVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgVmlz
aWJsZVBvc2l0aW9uOwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVj
dGlvbmFsU2VsZWN0aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2Vs
ZWN0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25D
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBFQWx0ZXJhdGlv
biB7IEFsdGVyYXRpb25Nb3ZlLCBBbHRlcmF0aW9uRXh0ZW5kIH07CiAgICAgZW51bSBFRGlyZWN0
aW9uIHsgRGlyZWN0aW9uRm9yd2FyZCwgRGlyZWN0aW9uQmFja3dhcmQsIERpcmVjdGlvblJpZ2h0
LCBEaXJlY3Rpb25MZWZ0IH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNr
aW5nSGVscGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXgg
MjI3NTMwZi4uOGI1YzY5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2lu
Z0hlbHBlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAt
NzIsNyArNzIsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgaW50IG1fY2hlY2tpbmdMZW5ndGg7
CiB9OwogCi1jbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgVGV4dENoZWNraW5nSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0
Q2hlY2tpbmdIZWxwZXIpOwogcHVibGljOgogICAgIFRleHRDaGVja2luZ0hlbHBlcihFZGl0b3JD
bGllbnQqLCBQYXNzUmVmUHRyPFJhbmdlPik7CiAgICAgflRleHRDaGVja2luZ0hlbHBlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9XZWJDb3JlL2Vk
aXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCBhM2VkZDM4Li42MWM5ZWU1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcv
VGV4dEl0ZXJhdG9yLmNwcApAQCAtNjEsNyArNjEsOCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOwogLy8gQ2FzZSBmb2xkaW5nIGlzIGFsc28gZG9uZSBpZiB0aGUgQ2FzZUluc2Vuc2l0aXZl
IG9wdGlvbiBpcyBzcGVjaWZpZWQuCiAvLyBNYXRjaGVzIGFyZSBmdXJ0aGVyIGZpbHRlcmVkIGlm
IHRoZSBBdFdvcmRTdGFydHMgb3B0aW9uIGlzIHNwZWNpZmllZCwgYWx0aG91Z2ggc29tZQogLy8g
bWF0Y2hlcyBpbnNpZGUgYSB3b3JkIGFyZSBwZXJtaXR0ZWQgaWYgVHJlYXRNZWRpYWxDYXBpdGFs
QXNXb3JkU3RhcnQgaXMgc3BlY2lmaWVkIGFzIHdlbGwuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25z
dCBTdHJpbmcmIHRhcmdldCwgRmluZE9wdGlvbnMpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApA
QCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQgc3Rv
cCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoK
ICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9y
bVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVt
LmggYi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4uMTJh
NzAxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisrKyBi
L1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFz
cyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAv
LyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9p
bnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVy
LXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBM
b2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQg
YmVmb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgg
Yi9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIw
YWM0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisr
KyBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgsOCBA
QCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmlsZVN5
c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0NhbGxi
YWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBlbmFt
ZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxsYmFj
a0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJlc3Vs
dFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlwZSog
b2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29u
dHJvbGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmluZGV4
IGU4OWUzMmIuLjk3ZWQ2YjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2Fy
ZENvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVy
LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKICNk
ZWZpbmUgQmFja0ZvcndhcmRDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgog
CkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3RvcnlJ
dGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgQmFja0ZvcndhcmRDb250cm9sbGVyKFBhZ2UqLCBQYXNzUmVm
UHRyPEJhY2tGb3J3YXJkTGlzdD4pOwogICAgIH5CYWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaCBiL1dlYkNvcmUvaGlzdG9yeS9Q
YWdlQ2FjaGUuaAppbmRleCA3MWFlNWFkLi5jZjJhMGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAgY2xhc3MgUGFnZTsKICAgICAKLSAg
ICBjbGFzcyBQYWdlQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VD
YWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDYWNoZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSog
cGFnZUNhY2hlKCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rp
b25DYWNoZS5oIGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEu
LjhlNGEwNjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAorKysg
Yi9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlvbkNhY2hl
IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBD
b2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNh
Y2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uOGY2ZmQ0ZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL0RPTVNl
dHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJs
aWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVNldHRhYmxlVG9r
ZW5MaXN0PiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9ET01Ub2tl
bkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAppbmRleCA1ZGYyZWRlLi4wYjc1
YjY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29y
ZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0yNywxNSArMjcsMTYgQEAKIAogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgRE9NVG9rZW5MaXN0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVRva2VuTGlzdCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRE9NVG9rZW5MaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CisgICAgRE9NVG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0KCkg
e307CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCmluZGV4IDI2M2EwNTcuLjcwYjkwOTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
QEAgLTEyMTEsNyArMTIxMSw5IEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVT
ZXBhcmF0ZUZyb21BdHRyaWJ1dGUoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3Ry
dWN0IEV2ZW50SGFuZGxpbmdTdGF0ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEV2ZW50SGFu
ZGxpbmdTdGF0ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAg
UmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fY3VyclJhZGlvOwogICAgIGJvb2wgbV9pbmRldGVy
bWluYXRlOwogICAgIGJvb2wgbV9jaGVja2VkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hU
TUxQYXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKaW5kZXgg
NTBkZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWly
a3MuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcs
MTMgQEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsg
fQogICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBmMjc1
YWU4Li5jNzE3YzE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJF
eGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MCw3ICs0OSw4IEBA
IGNsYXNzIFJlbmRlclN0eWxlOwogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRo
ZSB0eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBl
eHBvc2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQg
dG8gY2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRU
eXBlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxl
bWVudCosIGNvbnN0IEF0b21pY1N0cmluZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0
VHlwZT4gY3JlYXRlVGV4dChIVE1MSW5wdXRFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvU3RlcFJhbmdlLmggYi9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggY2UwNDRl
YS4uMWYxNjZiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1dl
YkNvcmUvaHRtbC9TdGVwUmFuZ2UuaApAQCAtMjIsMTMgKzIyLDEzIEBACiAjZGVmaW5lIFN0ZXBS
YW5nZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7
CiAKLWNsYXNzIFN0ZXBSYW5nZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFu
Z2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAg
Ym9vbCBoYXNTdGVwOwogICAgIGRvdWJsZSBzdGVwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L1ZhbGlkYXRpb25NZXNzYWdlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaApp
bmRleCBmZTE4YjZiLi5mODNhNWU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlv
bk1lc3NhZ2UuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaApAQCAtMzIs
NyArMzIsNiBAQAogI2RlZmluZSBWYWxpZGF0aW9uTWVzc2FnZV9oCiAKICNpbmNsdWRlICJUaW1l
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNDAsNyArMzksOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ7CiAKLWNs
YXNzIFZhbGlkYXRpb25NZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlk
YXRpb25NZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGF0aW9uTWVzc2Fn
ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRhdGlvbk1lc3NhZ2U+IGNy
ZWF0ZShIVE1MRm9ybUNvbnRyb2xFbGVtZW50Kik7CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1s
L1ZhbGlkaXR5U3RhdGUuaAppbmRleCA1MzJkZGIyLi5jM2ZjZGZjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRl
LmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBWYWxp
ZGl0eVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkaXR5U3RhdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBj
cmVhdGUoSFRNTEZvcm1Db250cm9sRWxlbWVudCogY29udHJvbCkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGEyNWU4YTEuLjE1OTQ1
NDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dC5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBA
IC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQw
LDggQEAgY2xhc3MgSFRNTFZpZGVvRWxlbWVudDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9i
amVjdDsKIAotY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDYW52YXNSZW5kZXJpbmdDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwog
ICAgIHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBD
U1NQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2Fk
U2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwog
cHVibGljOgogICAgIENTU1ByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li5mZjYxODZkIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysr
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC0zMCw3ICsz
MCw2IEBACiAjaW5jbHVkZSAiSFRNTEVsZW1lbnRTdGFjay5oIgogI2luY2x1ZGUgIkhUTUxGb3Jt
YXR0aW5nRWxlbWVudExpc3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEF0b21pY0hUTUxU
b2tlbjsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0
cnVjdGlvblNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsK
IHB1YmxpYzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2Ny
aXB0aW5nUGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25z
dHJ1Y3Rpb25TaXRlKCk7CkBAIC04OSw3ICs4OSw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVs
ZW1lbnQqIGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVm
UHRyPEhUTUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9G
b3N0ZXJQYXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJl
Y3RUb0Zvc3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVk
aXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0
VG9Gb3N0ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAg
ICAgIDogbV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxE
b2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIu
aAppbmRleCAwNTA1M2RmLi41YTU2MDJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3Vt
ZW50UGFyc2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNs
YXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJs
aWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1
bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MRWxlbWVudFN0YWNrLmgKaW5kZXggOGE4ZTE2MC4uYTMyZWZhYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgSFRN
TEVsZW1lbnRTdGFja19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM5LDEyICszOCwxNCBA
QCBjbGFzcyBRdWFsaWZpZWROYW1lOwogCiAvLyBOT1RFOiBUaGUgSFRNTDUgc3BlYyB1c2VzIGEg
YmFja3dhcmRzIChncm93cyBkb3dud2FyZCkgc3RhY2suICBXZSdyZSB1c2luZwogLy8gbW9yZSBz
dGFuZGFyZCAoZ3Jvd3MgdXB3YXJkcykgc3RhY2sgdGVybWlub2xvZ3kgaGVyZS4KLWNsYXNzIEhU
TUxFbGVtZW50U3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTEVsZW1lbnRT
dGFjayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEVsZW1lbnRTdGFjayk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAg
ICB+SFRNTEVsZW1lbnRTdGFjaygpOwogCi0gICAgY2xhc3MgRWxlbWVudFJlY29yZCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRWxlbWVudFJlY29yZCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEVsZW1lbnRSZWNvcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgfkVs
ZW1lbnRSZWNvcmQoKTsgLy8gUHVibGljIGZvciB+UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1
YmIuLmY3NWZhNTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRp
bmdFbGVtZW50TGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEVsZW1lbnQ7CiAKIC8vIFRoaXMgbWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0
YWNrLgotY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9y
bWF0dGluZ0VsZW1lbnRMaXN0KCk7CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCmluZGV4IGE3MDliZDkuLjY0MmU0MzQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9m
IHRoZSBhZnRlckluc2VydGlvblBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRh
dGEgYXQgdGhlIGVuZCBvZiB0aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0g
dG8gdGhlICJsYXN0IiBzdHJpbmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShIVE1MSW5wdXRTdHJlYW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAg
ICAgICAgIDogbV9sYXN0KCZtX2ZpcnN0KQpAQCAtMTI4LDcgKzEyOSw4IEBAIHByaXZhdGU6CiAg
ICAgU2VnbWVudGVkU3RyaW5nKiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJl
Y29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGlj
OgogICAgIGV4cGxpY2l0IEluc2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5w
dXRTdHJlYW0pCiAgICAgICAgIDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCmluZGV4IDViZTMzYjAuLjY0NzYwMjIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCAr
MjgsMTQgQEAKIAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1l
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7
CiAKLWNsYXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIgOiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQ
YXJzZXJTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50
UGFyc2VyKiBwYXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUHJlbG9hZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2Fu
bmVyLmgKaW5kZXggOTRhOTBlNi4uYmVkNzdmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
cmVsb2FkU2Nhbm5lci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNj
YW5uZXIuaCIKICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJp
bmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6
ZXI7CiBjbGFzcyBTZWdtZW50ZWRTdHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIEhUTUxQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaCBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCmluZGV4IDZjZjc0ZDguLjk4NmY3YmQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBi
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9z
dDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKLWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSFRNTFNjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0
ZShEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmggYi9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oCmluZGV4IDQyY2RkYjguLjFjYmMxNTEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVG9rZW4uaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAK
ICNpbmNsdWRlICJOYW1lZE5vZGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9r
ZW4pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewog
ICAgICAgICBVbmluaXRpYWxpemVkLApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAg
Ly8gd2FudCB0byBlbmQgdXAgd2l0aCBhIGNsZWFuZXIgaW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3
byBjbGFzc2VzLgogICAgIGZyaWVuZCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiAKLSAgICBjbGFz
cyBEb2N0eXBlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRG9jdHlwZURh
dGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N0eXBlRGF0YSk7CiAgICAgcHVi
bGljOgogICAgICAgICBEb2N0eXBlRGF0YSgpCiAgICAgICAgICAgICA6IG1faGFzUHVibGljSWRl
bnRpZmllcihmYWxzZSkKQEAgLTM1Miw3ICszNTMsOCBAQCBwcml2YXRlOgogCiAvLyBGSVhNRTog
VGhpcyBjbGFzcyBzaG91bGQgZXZlbnR1YWxseSBiZSBuYW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBt
b3ZlIHRoZQogLy8gZXhpdGluZyBIVE1MVG9rZW4gdG8gYmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxU
b2tlbml6ZXIuCi1jbGFzcyBBdG9taWNIVE1MVG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQXRvbWljSFRNTFRva2VuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdG9taWNI
VE1MVG9rZW4pOwogcHVibGljOgogICAgIEF0b21pY0hUTUxUb2tlbihIVE1MVG9rZW4mIHRva2Vu
KQogICAgICAgICA6IG1fdHlwZSh0b2tlbi50eXBlKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
aXplci5oCmluZGV4IGYxNmIwNDkuLmI1MGFhNDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRva2VuaXplci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2Vu
aXplci5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEhUTUxUb2tlbml6ZXJfaAogCiAjaW5j
bHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEVs
ZW1lbnQ7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2Vu
aXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgZW51bSBTdGF0ZSB7CiAgICAgICAgIERhdGFTdGF0ZSwKQEAgLTE3
Miw3ICsxNzIsOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gaHR0cDovL3d3dy53aGF0
d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5w
dXQtc3RyZWFtCi0gICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IoSFRNTFRva2VuaXplciogdG9rZW5p
emVyKQogICAgICAgICAgICAgOiBtX3Rva2VuaXplcih0b2tlbml6ZXIpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggM2QzOTEzMS4uMDQzMWNmOSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMjQwLDcgKzI0MCw4IEBAIEhUTUxG
b3JtRWxlbWVudCogY2xvc2VzdEZvcm1BbmNlc3RvcihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8v
IG5hbWVzcGFjZQogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9r
ZW5CdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpF
eHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShF
eHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRl
cm5hbENoYXJhY3RlclRva2VuQnVmZmVyKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAg
IDogbV9jdXJyZW50KHRva2VuLmNoYXJhY3RlcnMoKS5kYXRhKCkpCkBAIC0yMzM0LDcgKzIzMzUs
OCBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cmVwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tl
biYgdG9rZW4pCiAgICAgcHJvY2Vzc0VuZFRhZyh0b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVl
QnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRmFrZUluc2VydGlvbk1vZGUpOwogcHVibGljOgogICAgIEZha2VJbnNlcnRpb25Nb2Rl
KEhUTUxUcmVlQnVpbGRlciogdHJlZUJ1aWxkZXIsIEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAg
ICAgOiBtX3RyZWVCdWlsZGVyKHRyZWVCdWlsZGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmgKaW5kZXggMGU3NTk3Yy4uYjc0OWU3NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdF
bGVtZW50TGlzdC5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9UZXh0UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgpAQCAtNTAsNyArNDksOCBAQCBjbGFzcyBIVE1MVG9rZW47CiBj
bGFzcyBIVE1MRG9jdW1lbnQ7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShIVE1MVHJlZUJ1aWxkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0
ZShIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wg
cmVwb3J0RXJyb3JzLCBib29sIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIw
Myw3ICsyMDMsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNp
bmdJbkJvZHlNb2RlQW5kUmVzZXRNb2RlKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZv
aWQgcmVzZXRGb3JlaWduSW5zZXJ0aW9uTW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJz
aW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJz
aW5nQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2lu
Z0NvbnRleHQpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgp
OwogICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVt
ZW50KiBjb250ZXh0RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2
Li44MTU1NjM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbElu
Y3JlbWVudGVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1l
bnRlci5oCkBAIC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
TmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVz
dGluZ0xldmVsSW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdM
ZXZlbEluY3JlbWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNy
ZW1lbnRlcih1bnNpZ25lZCYgbmVzdGluZ0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVs
KCZuZXN0aW5nTGV2ZWwpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVz
c2FnZS5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCAzNTFjNTg0
Li4yOTE3Mzc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5o
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDgg
QEAgY2xhc3MgU2NyaXB0Q2FsbEZyYW1lOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3Mg
U2NyaXB0VmFsdWU7CiAKLWNsYXNzIENvbnNvbGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIENvbnNvbGVNZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25z
b2xlTWVzc2FnZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbnNv
bGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbSwgdW5zaWduZWQgbGksIGNvbnN0IFN0cmluZyYgdSwgdW5zaWduZWQgZyk7CiAg
ICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZl
bCwgY29uc3QgU3RyaW5nJiBtLCBQYXNzUmVmUHRyPFNjcmlwdEFyZ3VtZW50cz4sIFBhc3NSZWZQ
dHI8U2NyaXB0Q2FsbFN0YWNrPiwgdW5zaWduZWQgZyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHQuaAppbmRleCBmODBjZmI0Li5mZjhkMzhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdEhvc3QuaCIKICNp
bmNsdWRlICJTY3JpcHRPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50LmgKaW5kZXggMTFmMTBjZS4uNDliZTJhOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTI4
LDcgKzI4LDYgQEAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoT0ZGTElORV9XRUJf
QVBQTElDQVRJT05TKQogCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVj
dDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xh
c3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KElu
c3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IGU1N2MwODkuLjI0ZGZl
MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEwMCw3ICsx
MDAsOCBAQCBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0
SGFuZHNoYWtlUmVzcG9uc2U7CiAjZW5kaWYKIAotY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3Bl
Y3RvckRhdGFiYXNlUmVzb3VyY2U+ID4gRGF0YWJhc2VSZXNvdXJjZXNNYXA7CiAgICAgdHlwZWRl
ZiBIYXNoTWFwPGludCwgUmVmUHRyPEluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZT4gPiBET01T
dG9yYWdlUmVzb3VyY2VzTWFwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGVidWdnZXJBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJB
Z2VudC5oCmluZGV4IGFkYzkyNWEuLmUxMzcyOWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTUyLDcgKzUyLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50
VHlwZSB7CiAgICAgTmF0aXZlQnJlYWtwb2ludERlYnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFz
cyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGlj
IFNjcmlwdERlYnVnTGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9y
Q29udHJvbGxlciosIEluc3BlY3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9y
RGVidWdnZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5oCmluZGV4IDlkY2FhNWEuLmJjZWUxZGEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTMzLDcgKzMzLDYg
QEAKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2Ny
aXB0U3RhdGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBj
bGFzcyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6
IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29u
dHJvbGxlciosIFBhZ2UqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFn
ZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXgg
ZTY3ODQ4ZC4uMWM0OWI5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UHJvZmlsZXJBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVy
QWdlbnQuaApAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0
OwogY2xhc3MgU2NyaXB0SGVhcFNuYXBzaG90OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xh
c3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bnNwZWN0b3JQcm9maWxlckFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0
b3JQcm9maWxlckFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3Rv
ckNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggYmMxZTAyNy4u
ODFhZDQ5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVB
Z2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApA
QCAtNzAsNyArNzAsOCBAQCBlbnVtIFRpbWVsaW5lUmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVS
ZXNvdXJjZVJlcXVlc3RUaW1lbGluZVJlY29yZFR5cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVu
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFn
ZW50KEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5l
QWdlbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaCBiL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0
Q2FjaGUuaAppbmRleCAxMDE2YWVkLi5kZGQ1MDcwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCkBAIC0zOCw3ICszOCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIVFRQSGVhZGVyTWFwOwogICAgIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
SXRlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZUl0ZW0geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09y
aWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0o
Ym9vbCBjcmVkZW50aWFscykKICAgICAgICAgICAgIDogbV9hYnNvbHV0ZUV4cGlyeVRpbWUoMCkK
QEAgLTYzLDcgKzY0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBIZWFkZXJzU2V0
IG1faGVhZGVyczsKICAgICB9OwogCi0gICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRSZXN1bHRDYWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3Jp
Z2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlJiBz
aGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRl
eCBlYmYzYTI1Li4zYTNjYzY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuaApAQCAtNDcsNiArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlckNsaWVudDsKIAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1Ymxp
YyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShEb2N1bWVudCosIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9h
ZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFi
bGVMb2FkZXI+IGNyZWF0ZShEb2N1bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaCBiL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50V3JpdGVyLmgKaW5kZXggNWZiM2RjMS4uZmI5MzYwNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dFdyaXRlci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgU2VjdXJpdHlP
cmlnaW47CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogCi1jbGFzcyBEb2N1bWVudFdyaXRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudFdyaXRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRXcml0ZXIpOwogcHVibGljOgogICAgIERvY3VtZW50
V3JpdGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oIGIvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggMmFjOGRkMC4uMTY0MGRk
YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTIxNCw4ICsyMTQsMTAgQEAgcHVibGljOgogI2Vu
ZGlmCiB9OwogCi1jbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9h
ZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNs
aWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRW1wdHlGcmFtZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgorICAgIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0
eUZyYW1lTG9hZGVyQ2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwgdm9pZCBmcmFtZUxvYWRlckRl
c3Ryb3llZCgpIHsgfQogCkBAIC0zODMsOCArMzg1LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRl
eHQoKSB7IHJldHVybiBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KIH07
CiAKLWNsYXNzIEVtcHR5RWRpdG9yQ2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RWRpdG9yQ2xpZW50IDogcHVibGljIEVkaXRvckNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlFZGl0b3JDbGllbnQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsg
fQogICAgIHZpcnR1YWwgfkVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lk
IHBhZ2VEZXN0cm95ZWQoKSB7IH0KIApAQCAtNDk2LDggKzUwMCwxMCBAQCBwdWJsaWM6CiB9Owog
CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50
IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlDb250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7IH0K
ICAgICB2aXJ0dWFsIH5FbXB0eUNvbnRleHRNZW51Q2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwg
dm9pZCBjb250ZXh0TWVudURlc3Ryb3llZCgpIHsgfQogCkBAIC01MTksOCArNTI1LDEwIEBAIHB1
YmxpYzoKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIAogI2lmIEVOQUJMRShEUkFH
X1NVUFBPUlQpCi1jbGFzcyBFbXB0eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eURyYWdDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eURyYWdDbGllbnQoKSB7IH0KICAg
ICB2aXJ0dWFsIH5FbXB0eURyYWdDbGllbnQoKSB7fQogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVy
Zm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb24sIERyYWdEYXRh
KikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFn
U291cmNlQWN0aW9uLCBjb25zdCBJbnRQb2ludCYsIENsaXBib2FyZCopIHsgfQpAQCAtNTMyLDgg
KzU0MCwxMCBAQCBwdWJsaWM6CiB9OwogI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAK
LWNsYXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIElu
c3BlY3RvckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlJbnNwZWN0b3JD
bGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eUluc3Bl
Y3RvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1
Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4ZjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9u
LmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9ybVN1Ym1pc3Npb24gOiBwdWJsaWMgUmVmQ291
bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGljOgogICAgIGVudW0gTWV0aG9kIHsgR2V0TWV0
aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFzcyBBdHRyaWJ1dGVzIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGljOgogICAgICAgICBBdHRyaWJ1dGVzKCkKICAg
ICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9kKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNzZh
ZDk3Ny4uNmE3NjNkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVj
dCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0JhY2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2Fk
VHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBw
dWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUqLCBGcmFtZUxvYWRlckNsaWVudCopOwogICAg
IH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJT
dGF0ZU1hY2hpbmUuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgK
aW5kZXggYzM0MDhjMi4uMWRkZjJlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRl
TWFjaGluZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpZm5kZWYgRnJhbWVMb2FkZXJTdGF0ZU1h
Y2hpbmVfaAogI2RlZmluZSBGcmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBFbmNhcHN1bGF0
ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxvYWRlci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlm
ZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdoaWNoIHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhl
IGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVyIGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1l
TG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9h
ZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRlclN0
YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNvcmUv
bG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5kZXggMWJmNTA3Mi4uNGZiODYzYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC0zMiw3ICszMiw2IEBACiAKICNpbmNsdWRlICJG
cmFtZUxvYWRlclR5cGVzLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5
SXRlbTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRy
b2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3RvcnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAg
ICBlbnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBkYXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNr
Rm9yd2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDk0YTIxYTQuLmE4MzZm
NzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJD
b3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBz
dHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFnZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2VuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdl
RXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbWFn
ZUV2ZW50U2VuZGVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgYi9XZWJDb3JlL2xvYWRl
ci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCA3YzY5MWFlLi5jYWZjOWVlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9XZWJDb3Jl
L2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtNTEsNyArNTEsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjaGVkdWxlZE5hdmlnYXRpb24gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbiB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2NoZWR1bGVkTmF2aWdhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFNjaGVkdWxlZE5hdmlnYXRpb24oZG91YmxlIGRlbGF5LCBib29sIGxvY2tI
aXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExpc3QsIGJvb2wgd2FzRHVyaW5nTG9hZCwgYm9v
bCBpc0xvY2F0aW9uQ2hhbmdlKQogICAgICAgICA6IG1fZGVsYXkoZGVsYXkpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9O
YXZpZ2F0aW9uU2NoZWR1bGVyLmgKaW5kZXggMTQwMGMyNS4uZjE0ZDA1MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L05hdmlnYXRpb25TY2hlZHVsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBGcmFtZTsKIHN0
cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbjsKIAotY2xh
c3MgTmF2aWdhdGlvblNjaGVkdWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOYXZp
Z2F0aW9uU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOYXZpZ2F0aW9uU2No
ZWR1bGVyKTsKIHB1YmxpYzoKICAgICBOYXZpZ2F0aW9uU2NoZWR1bGVyKEZyYW1lKik7CiAgICAg
fk5hdmlnYXRpb25TY2hlZHVsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1BpbmdM
b2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAppbmRleCBlYjQzMTY2Li4zZjU2
M2ExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvUGluZ0xvYWRlci5oCkBAIC0zNCw3ICszNCw2IEBACiAKICNpbmNsdWRlICJSZXNv
dXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAvLyB0byBhbGxv
dyB0aGUgbG9hZCB0byBsaXZlIGxvbmcgZW5vdWdoIHRvIGVuc3VyZSB0aGUgbWVzc2FnZSB3YXMg
YWN0dWFsbHkgc2VudC4KIC8vIFRoZXJlZm9yZSwgYXMgc29vbiBhcyBhIGNhbGxiYWNrIGlzIHJl
Y2VpdmVkIGZyb20gdGhlIFJlc291cmNlSGFuZGxlLCB0aGlzIGNsYXNzIAogLy8gd2lsbCBjYW5j
ZWwgdGhlIGxvYWQgYW5kIGRlbGV0ZSBpdHNlbGYuCi1jbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0
ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBpbmdM
b2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQaW5nTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwgY29uc3QgS1VSTCYgdXJsKTsKICAgICBz
dGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtV
UkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNo
ZWNrZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAppbmRleCA1NDE3MjljLi4z
MTE4ZGFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIE5h
dmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNw
b25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQb2xpY3lDaGVja2Vy
KTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVz
c1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjY1ZGQxYzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NU
cmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJv
Z3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIAogc3RhdGlj
IGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2
OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29weWFibGUgeworc3RydWN0IFByb2dyZXNz
SXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUHJvZ3Jlc3NJdGVtKGxvbmcgbG9uZyBsZW5n
dGgpIAogICAgICAgICA6IGJ5dGVzUmVjZWl2ZWQoMCkKICAgICAgICAgLCBlc3RpbWF0ZWRMZW5n
dGgobGVuZ3RoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKaW5kZXggNWQ1YjZiMi4uNjBl
YjhmZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZp
bmUgUHJvZ3Jlc3NUcmFja2VyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0zNiw3ICszNSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgUmVzb3Vy
Y2VSZXNwb25zZTsKIHN0cnVjdCBQcm9ncmVzc0l0ZW07CiAKLWNsYXNzIFByb2dyZXNzVHJhY2tl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9ncmVzc1RyYWNrZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJhY2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFByb2dyZXNzVHJhY2tlcigpOwogICAgIH5Qcm9ncmVzc1RyYWNr
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaCBiL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaAppbmRleCBiNmRlMzEyLi4xNTcxZDFjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9SZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCkBAIC0zMSw3
ICszMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZTsK
ICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKIAotICAgIGNsYXNzIFJlcXVlc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlcXVlc3QgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZXF1ZXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBSZXF1ZXN0KENhY2hlZFJlc291cmNlTG9hZGVyKiwgQ2FjaGVkUmVzb3Vy
Y2UqLCBib29sIGluY3JlbWVudGFsLCBTZWN1cml0eUNoZWNrUG9saWN5LCBib29sIHNlbmRSZXNv
dXJjZUxvYWRDYWxsYmFja3MpOwogICAgICAgICB+UmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uMjcwNDA2YSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaWZuZGVmIFJlc291cmNl
TG9hZE5vdGlmaWVyX2gKICNkZWZpbmUgUmVzb3VyY2VMb2FkTm90aWZpZXJfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDMsNyAr
NDIsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBj
bGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmllcik7CiBwdWJsaWM6CiAgICAgUmVz
b3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hl
ZHVsZXIuaAppbmRleCA4NGY4ODQ1Li4yOWM3NGRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRTY2hlZHVsZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDcgKzQyLDggQEAgY2xhc3MgUmVzb3VyY2VS
ZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRl
ckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBmcmllbmQgUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKTsKIApAQCAtNjYsNyArNjYs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpOwog
ICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVzb3VyY2VMb2FkU2NoZWR1bGVyPiop
OwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
b3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAgICAgSG9zdEluZm9ybWF0aW9uKGNv
bnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhvc3RJbmZvcm1hdGlvbigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVy
L1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uZDExZDliOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9TdWJmcmFt
ZUxvYWRlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBXaWRn
ZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIuIEl0IGhhbmRsZXMgdGhlIGhpZ2hl
ciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJhbWVzIGFuZCBwbHVnaW5zLgotY2xh
c3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3ViZnJhbWVM
b2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1YmZyYW1lTG9hZGVyKTsKIHB1Ymxp
YzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmgKaW5kZXggZjQxYTc3NC4uYmMxYTNiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApA
QCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyX2gKICNkZWZpbmUgVGhy
ZWFkYWJsZUxvYWRlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNjUsNyAr
NjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBVc2VmdWwgZm9yIGRvaW5nIGxv
YWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90IHRocmVhZHNhZmUsIAogICAgIC8v
IGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBtYWluIHRocmVhZCku
Ci0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRo
cmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJl
c291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2Fk
ZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCos
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7
CkBAIC03NSw2ICs3NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkZXJl
ZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAg
ICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9h
ZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAw
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIGIvV2ViQ29y
ZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmluZGV4IGJjZjY4YmUuLmNlYThiMGYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKQEAgLTMxLDE0ICszMSwx
NCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKICNkZWZpbmUgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVzb3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNsaWVudCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXJDbGllbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRT
ZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLypieXRlc1NlbnQqLywgdW5zaWduZWQgbG9uZyBs
b25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8pIHsgfQogCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNh
dGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgeyB9CiAKICAgICBwcm90
ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVMb2FkZXJDbGllbnQoKSB7IH0KICAgICAgICAgdmly
dHVhbCB+VGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAgIH07CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmggYi9XZWJDb3Jl
L2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCmluZGV4IGQzYzFhOWYuLmQ0
ZmVhY2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRX
cmFwcGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBw
ZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3Jh
cHBlcl9oCiAKICNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvVGhyZWFkaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRo
cmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIu
aAppbmRleCA4MWRhMmUwLi42NWNjNjM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Xb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJs
ZUxvYWRlci5oCkBAIC01NCw2ICs1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgY2xhc3MgV29ya2VyVGhy
ZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFibGVMb2FkZXI+
LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hy
b25vdXNseShXb3JrZXJDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShXb3JrZXJD
b250ZXh0KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNv
bnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29u
c3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaCBiL1dlYkNvcmUvbG9hZGVy
L2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCmluZGV4IDI5ZDA3NDkuLjkxYWMyOGIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5o
CkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNp
bmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAt
NTMsNyArNTIsOCBAQCBlbnVtIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVPcHRpb24gewogICAgIEFw
cGxpY2F0aW9uQ2FjaGVVcGRhdGVXaXRob3V0QnJvd3NpbmdDb250ZXh0CiB9OwogCi1jbGFzcyBB
cHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUsIFJlc291cmNlSGFuZGxl
Q2xpZW50IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IFJlc291cmNlSGFuZGxlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlR3JvdXApOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBcHBsaWNhdGlvbkNhY2hlR3Jv
dXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5ID0gZmFsc2UpOyAgICAKICAg
ICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUv
QXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li5hMWYyODQxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKQEAgLTU4LDcgKzU4
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3QgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlSG9zdCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIFN0YXR1cyBudW1lcmljIHZh
bHVlcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBIVE1MNSBzcGVjLgogICAgICAgICBlbnVtIFN0YXR1
cyB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
U3RvcmFnZS5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3Jh
Z2UuaAppbmRleCA3ZGIzNGU2Li44YmZkZjEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgdGVtcGxh
dGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwogY2xhc3MgU2VjdXJpdHlPcmln
aW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIGVudW0gRmFpbHVyZVJlYXNvbiB7CiAgICAgICAgIE9yaWdpblF1b3RhUmVh
Y2hlZCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNl
Q29sbGVjdGlvbi5oIGIvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uLmgKaW5kZXggOWQ2MzBkMS4uZmQyZGRiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKQEAgLTM5LDcgKzM5LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24pOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IDlhNTRj
NTMuLmFlNmY3NTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291
cmNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtNDks
NyArNDksOCBAQCBjbGFzcyBSZXF1ZXN0OwogLy8gQSByZXNvdXJjZSB0aGF0IGlzIGhlbGQgaW4g
dGhlIGNhY2hlLiBDbGFzc2VzIHdobyB3YW50IHRvIHVzZSB0aGlzIG9iamVjdCBzaG91bGQgZGVy
aXZlCiAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xpZW50LCB0byBnZXQgdGhlIGZ1bmN0aW9uIGNh
bGxzIGluIGNhc2UgdGhlIHJlcXVlc3RlZCBkYXRhIGhhcyBhcnJpdmVkLgogLy8gVGhpcyBjbGFz
cyBhbHNvIGRvZXMgdGhlIGFjdHVhbCBjb21tdW5pY2F0aW9uIHdpdGggdGhlIGxvYWRlciB0byBv
YnRhaW4gdGhlIHJlc291cmNlIGZyb20gdGhlIG5ldHdvcmsuCi1jbGFzcyBDYWNoZWRSZXNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJpZW5kIGNsYXNzIEluc3Bl
Y3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
Q2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uMjFlYTAyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaWZuZGVmIENhY2hl
ZFJlc291cmNlQ2xpZW50X2gKICNkZWZpbmUgQ2FjaGVkUmVzb3VyY2VDbGllbnRfaAogCi0jaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3ZlcmxvYWQgb25lIG9mIHRoZSAz
IGZ1bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGll
bnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFzcyBDYWNoZWRSZXNvdXJj
ZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgdmlydHVhbCB+Q2FjaGVkUmVzb3VyY2VDbGllbnQoKSB7IH0KIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggZjM3MWEwZS4uNmQ0YTdh
MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
aAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC00
Nyw3ICs0Nyw4IEBAIGNsYXNzIEltYWdlTG9hZGVyOwogY2xhc3MgS1VSTDsKIAogLy8gVGhlIENh
Y2hlZFJlc291cmNlTG9hZGVyIG1hbmFnZXMgdGhlIGxvYWRpbmcgb2Ygc2NyaXB0cy9pbWFnZXMv
c3R5bGVzaGVldHMgZm9yIGEgc2luZ2xlIGRvY3VtZW50LgotY2xhc3MgQ2FjaGVkUmVzb3VyY2VM
b2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlTG9hZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiBmcmllbmQgY2xh
c3MgSW1hZ2VMb2FkZXI7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmluZGV4IDE1Y2U5
ZGEuLmQwODQ5ZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaApAQCAtMzEsNyArMzEs
NiBAQAogI2luY2x1ZGUgImxvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBA
IC03MSw3ICs3MCw4IEBAIGNsYXNzIEtVUkw7CiAvLyBpdHMgbWVtYmVyIHZhcmlhYmxlcykgYXJl
IGFsbG9jYXRlZCBpbiBub24tcHVyZ2VhYmxlIFRDLW1hbGxvYydkIG1lbW9yeSBzbyB3ZSB3b3Vs
ZCBzZWUgc2xpZ2h0bHkKIC8vIG1vcmUgbWVtb3J5IHVzZSBkdWUgdG8gdGhpcy4KIAotY2xhc3Mg
TWVtb3J5Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVtb3J5Q2FjaGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lbW9yeUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBjYWNoZSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oIGIvV2ViQ29yZS9sb2Fk
ZXIvaWNvbi9JY29uRGF0YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5lYzg3YmY0IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBAIC02Miw4ICs2MSw4IEBAIGVudW0gSWNv
bkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0
YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0YWJhc2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogLy8gKioqIE1haW4gVGhyZWFkIE9ubHkgKioqCiBwdWJsaWM6CiAgICAgdm9pZCBzZXRD
bGllbnQoSWNvbkRhdGFiYXNlQ2xpZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJh
c2VDbGllbnQuaAppbmRleCBjMjEwZDdkLi40YWUyZWM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlQ2xpZW50LmgKQEAgLTMwLDE1ICszMCwxNiBAQAogI2RlZmluZSBJY29uRGF0
YWJhc2VDbGllbnRfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogLy8gQWxsIG9mIHRoZXNlIGNsaWVudCBtZXRob2RzIHdpbGwgYmUg
Y2FsbGVkIGZyb20gYSBub24tbWFpbiB0aHJlYWQKIC8vIFRha2UgYXBwcm9wcmlhdGUgbWVhc3Vy
ZXMKICAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25EYXRhYmFzZUNsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNlQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CisgICAgSWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVh
bCB+SWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCBib29sIHBlcmZvcm1JbXBv
cnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVtb3Zl
QWxsSWNvbnMoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKaW5kZXggMWViYWM0OC4uN2Q4
MDg5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lu
Y2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3LDcgKzM2LDggQEAgY2xhc3MgRnJhbWU7CiBj
bGFzcyBLVVJMOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1jbGFzcyBJY29uTG9hZGVyIDogcHJp
dmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShJY29uTG9hZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1lKik7
CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFn
ZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKaW5kZXgg
ZjdjY2I4Zi4uYTVlNTVhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJM
UmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKQEAgLTMx
LDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTUxLDcgKzUwLDggQEAgcHVibGljOgogICAgIFN0cmluZyBpY29uVVJMOwog
fTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQ
YWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJMUmVjb3JkKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUGFnZVVSTFJlY29yZChjb25z
dCBTdHJpbmcmIHBhZ2VVUkwpOwogICAgIH5QYWdlVVJMUmVjb3JkKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9sb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCmluZGV4IDgx
OGY1NmYuLjIzMjA0MzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaW5jbHVkZSAiU3Vi
cmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw4ICsz
NCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI7CiAgICAgY2xhc3MgUmVxdWVzdDsKIAotICAgIGNsYXNzIExvYWRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSwgcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgY2xhc3MgTG9h
ZGVyIDogU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShMb2FkZXIpOwogICAgIHB1YmxpYzoKKyAgICAgICAgTG9hZGVyKCkgeyB9CiAgICAgICAg
IH5Mb2FkZXIoKTsKIAogICAgICAgICB2b2lkIGxvYWQoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBD
YWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50YWwgPSB0cnVlLCBTZWN1cml0eUNoZWNrUG9s
aWN5ID0gRG9TZWN1cml0eUNoZWNrLCBib29sIHNlbmRSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSB0
cnVlKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBi
L1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCBmMTRhMzAyLi43MzEz
MWU1IDEwMDY0NAotLS0gYS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysr
IGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCiAgICAgY2xh
c3MgTm90aWZpY2F0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGlj
IEFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBF
dmVudFRhcmdldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3Qg
S1VSTCYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2Rl
JiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgTm90aWZpY2F0aW9u
Q29udGVudHMmIGNvbnRlbnRzLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNl
cHRpb25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaCBiL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAppbmRleCA4MzNiOTA5Li5hMjRkMTI2IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKKysrIGIvV2Vi
Q29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZu
ZGVmIENvbnRleHRNZW51Q29udHJvbGxlcl9oCiAjZGVmaW5lIENvbnRleHRNZW51Q29udHJvbGxl
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBFdmVudDsK
ICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudUNvbnRyb2xsZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51Q29udHJv
bGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRNZW51Q29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmggYi9X
ZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAwZTkwYTUyLi4zNjBlNDYzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2Uv
RHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlcjsKICAgICAKLSAg
ICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
RHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcmFnQ29udHJv
bGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgRHJh
Z0NvbnRyb2xsZXIoUGFnZSosIERyYWdDbGllbnQqKTsKICAgICAgICAgfkRyYWdDb250cm9sbGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggY2ExOWEwYy4uNDc4MDYxOCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
aApAQCAtODAsNyArODAsOCBAQCBleHRlcm4gY29uc3QgaW50IEdlbmVyYWxEcmFnSHlzdGVyZXNp
czsKIAogZW51bSBIaXRUZXN0U2Nyb2xsYmFycyB7IFNob3VsZEhpdFRlc3RTY3JvbGxiYXJzLCBE
b250SGl0VGVzdFNjcm9sbGJhcnMgfTsKIAotY2xhc3MgRXZlbnRIYW5kbGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEV2ZW50SGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRXZlbnRIYW5kbGVyKTsKIHB1YmxpYzoKICAgICBFdmVudEhhbmRsZXIoRnJhbWUqKTsKICAg
ICB+RXZlbnRIYW5kbGVyKCk7CkBAIC0yMjIsNyArMjIzLDEwIEBAIHByaXZhdGU6CiAgICAgICAg
IFBlcmZvcm1EcmFnQW5kRHJvcAogICAgIH07CiAKLSAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVyRHJh
Z1N0YXRlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXJEcmFnU3RhdGUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIEV2ZW50SGFuZGxl
ckRyYWdTdGF0ZSgpIHsgfQogICAgICAgICBSZWZQdHI8Tm9kZT4gbV9kcmFnU3JjOyAvLyBlbGVt
ZW50IHRoYXQgbWF5IGJlIGEgZHJhZyBzb3VyY2UsIGZvciB0aGUgY3VycmVudCBtb3VzZSBnZXN0
dXJlCiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNMaW5rOwogICAgICAgICBib29sIG1fZHJhZ1Ny
Y0lzSW1hZ2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IGZmZWQ1OTIuLjEwYWQ2YmEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJj
ZS5oCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJl
YWRhYmxlTG9hZGVyOwogCiAgICAgY2xhc3MgRXZlbnRTb3VyY2UgOiBwdWJsaWMgUmVmQ291bnRl
ZDxFdmVudFNvdXJjZT4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVu
dFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0Zv
Y3VzQ29udHJvbGxlci5oCmluZGV4IGJlNTFjNzcuLjI4NTBkODggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9s
bGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgogI2lu
Y2x1ZGUgIlNwYXRpYWxOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVudDsK
IGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGb2N1c0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBGb2N1c0NvbnRyb2xsZXIoUGFnZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvRnJhbWVUcmVlLmggYi9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKaW5kZXggOTRiOGQx
Ni4uYmFjNTQ3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCisrKyBiL1dl
YkNvcmUvcGFnZS9GcmFtZVRyZWUuaApAQCAtMjYsNyArMjYsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAgIGNsYXNzIEZyYW1lVHJlZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhbWVUcmVlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRnJhbWVUcmVlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZyYW1lVHJlZShGcmFt
ZSogdGhpc0ZyYW1lLCBGcmFtZSogcGFyZW50RnJhbWUpIAogICAgICAgICAgICAgOiBtX3RoaXNG
cmFtZSh0aGlzRnJhbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBi
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGIxNGQxMWIuLmY3YzJmZTUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCkBAIC0xMDYsNyArMTA2LDEwIEBAIGRvdWJsZSBGcmFtZVZpZXc6OnNfZGVmZXJy
ZWRSZXBhaW50RGVsYXlJbmNyZW1lbnREdXJpbmdMb2FkaW5nID0gMDsKIC8vIFRoZSBtYXhpbXVt
IG51bWJlciBvZiB1cGRhdGVXaWRnZXRzIGl0ZXJhdGlvbnMgdGhhdCBzaG91bGQgYmUgZG9uZSBi
ZWZvcmUgcmV0dXJuaW5nLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFVwZGF0ZVdpZGdldHNJ
dGVyYXRpb25zID0gMjsKIAotc3RydWN0IFNjaGVkdWxlZEV2ZW50IDogTm9uY29weWFibGUgewor
c3RydWN0IFNjaGVkdWxlZEV2ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVs
ZWRFdmVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIFNjaGVkdWxl
ZEV2ZW50KCkgeyB9CiAgICAgUmVmUHRyPEV2ZW50PiBtX2V2ZW50OwogICAgIFJlZlB0cjxOb2Rl
PiBtX2V2ZW50VGFyZ2V0OwogfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlv
bkNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAppbmRl
eCA3ZGIxOTUxLi45YTVkMDE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25D
b250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCkBA
IC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJHZW9sb2NhdGlvbi5oIgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNz
IEdlb2xvY2F0aW9uRXJyb3I7CiBjbGFzcyBHZW9sb2NhdGlvblBvc2l0aW9uOwogY2xhc3MgUGFn
ZTsKIAotY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
R2VvbG9jYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBHZW9sb2NhdGlvbkNvbnRyb2xs
ZXIoUGFnZSosIEdlb2xvY2F0aW9uQ2xpZW50Kik7CiAgICAgfkdlb2xvY2F0aW9uQ29udHJvbGxl
cigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaCBiL1dlYkNvcmUv
cGFnZS9Hcm91cFNldHRpbmdzLmgKaW5kZXggZmI2ZjZiNS4uMWJiYWQyYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaAorKysgYi9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0
aW5ncy5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGFn
ZUdyb3VwOwogCi1jbGFzcyBHcm91cFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEdyb3VwU2V0dGluZ3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyb3VwU2V0dGlu
Z3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9QYWdlLmggYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGE5Mzg5MzIuLmU0MTc4MjYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIlNjaGVk
dWxlUGFpci5oIgpAQCAtOTAsMTIgKzg5LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9u
QmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JB
bGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1
cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAg
ICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3Qg
UGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVu
dHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgUGFnZUNsaWVudHMoKTsKICAgICAgICAgICAgIH5QYWdlQ2xpZW50cygpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmggYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgK
aW5kZXggY2M0N2ZiYS4uNmQ3ZDZjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cC5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaApAQCAtMjcsNyArMjcsNiBAQAogI2Rl
ZmluZSBQYWdlR3JvdXBfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJMaW5rSGFzaC5oIgogI2luY2x1ZGUgIlVzZXJT
Y3JpcHQuaCIKICNpbmNsdWRlICJVc2VyU3R5bGVTaGVldC5oIgpAQCAtNDEsNyArNDAsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBTdG9yYWdlTmFt
ZXNwYWNlOwogCi0gICAgY2xhc3MgUGFnZUdyb3VwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBQYWdlR3JvdXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlR3Jv
dXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VH
cm91cChjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgICAgICBQYWdlR3JvdXAoUGFnZSopOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCmluZGV4IGQ0NDNlYmQuLmY3OTU2YzQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKQEAgLTI4LDcgKzI4LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIFBhZ2U7CiAKLSAgICBjbGFz
cyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFBhZ2VHcm91cExvYWREZWZlcnJlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBh
Z2VHcm91cExvYWREZWZlcnJlcik7CiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3JvdXBMb2Fk
RGVmZXJyZXIoUGFnZSosIGJvb2wgZGVmZXJTZWxmKTsKICAgICAgICAgflBhZ2VHcm91cExvYWRE
ZWZlcnJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oIGIvV2Vi
Q29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCmluZGV4IGFmOGIzMWUuLjViOTZkMTkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGx1Z2lu
SGFsdGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBI
YWx0YWJsZVBsdWdpbjsKIAotY2xhc3MgUGx1Z2luSGFsdGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFBsdWdpbkhhbHRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2lu
SGFsdGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUGx1Z2luSGFs
dGVyKFBsdWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaCBiL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IDA0YjEyNmEuLmI1MjYxYjIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
VGV4dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAgICBjbGFzcyBT
ZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGluZ3MgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2V0dGluZ3MoUGFnZSopOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaCBiL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5o
CmluZGV4IDQ1MzJkNDkuLjg1M2MwYWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJ
bnB1dC5oCisrKyBiL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCkBAIC0zNiw3ICszNiw2IEBA
CiAjaW5jbHVkZSAiU3BlZWNoSW5wdXRMaXN0ZW5lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Nyw3ICs0Niw4IEBAIGNsYXNzIFNwZWVj
aElucHV0TGlzdGVuZXI7CiAvLyBUaGlzIGNsYXNzIGNvbm5lY3RzIHRoZSBpbnB1dCBlbGVtZW50
cyByZXF1aXJpbmcgc3BlZWNoIGlucHV0IHdpdGggdGhlIHBsYXRmb3JtIHNwZWNpZmljCiAvLyBz
cGVlY2ggcmVjb2duaXRpb24gZW5naW5lLiBJdCBwcm92aWRlcyBtZXRob2RzIGZvciB0aGUgaW5w
dXQgZWxlbWVudHMgdG8gYWN0aXZhdGUgc3BlZWNoCiAvLyByZWNvZ25pdGlvbiBhbmQgbWV0aG9k
cyBmb3IgdGhlIHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUgdG8gcmV0dXJuIGJhY2sgdGhlIHJl
c3VsdHMuCi1jbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFNw
ZWVjaElucHV0TGlzdGVuZXIgeworY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgU3BlZWNoSW5w
dXRMaXN0ZW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BlZWNoSW5wdXQpOwogcHVi
bGljOgogICAgIFNwZWVjaElucHV0KFNwZWVjaElucHV0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+
U3BlZWNoSW5wdXQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmggYi9X
ZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCmluZGV4IDA2NTI0MzkuLjA1MTQwOTAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTY3Jp
cHQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVz
ZXJTY3JpcHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclNjcmlwdCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclNjcmlwdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0
ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaCBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVT
aGVldC5oCmluZGV4IGZhNDJlMmMuLjA2OGRmMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9V
c2VyU3R5bGVTaGVldC5oCisrKyBiL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCkBAIC0z
NSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclN0eWxlU2hl
ZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclN0eWxlU2hlZXQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTdHlsZVNoZWV0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgVXNlclN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNv
bnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJp
bmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1dlYkNvcmUvcGFnZS9YU1NB
dWRpdG9yLmgKaW5kZXggMmI3ODFmMS4uNWJlZWQ2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1hTU0F1ZGl0b3IuaAorKysgYi9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBAIC02OSw3ICs2
OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVudFBhcnNlcjo6
c2hvdWxkTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBleHRlcm5hbCBK
YXZhU2NyaXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVj
dCAtIHVzZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAgIC8vCi0gICAg
Y2xhc3MgWFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWFNTQXVk
aXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3IpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFhTU0F1ZGl0b3IoRnJhbWUq
KTsKICAgICAgICAgflhTU0F1ZGl0b3IoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkJhc2UuY3BwCmluZGV4IDY2MTcyZjcuLjY4NTUxZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25CYXNlLmNwcApAQCAtMjE5LDcgKzIxOSw4IEBAIGNsYXNzIFByb3BlcnR5V3Jh
cHBlckJhc2U7CiBzdGF0aWMgdm9pZCBhZGRTaG9ydGhhbmRQcm9wZXJ0aWVzKCk7CiBzdGF0aWMg
UHJvcGVydHlXcmFwcGVyQmFzZSogd3JhcHBlckZvclByb3BlcnR5KGludCBwcm9wZXJ0eUlEKTsK
IAotY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9wZXJ0
eVdyYXBwZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJv
cGVydHlXcmFwcGVyQmFzZShpbnQgcHJvcCkKICAgICAgICAgOiBtX3Byb3AocHJvcCkKQEAgLTQz
OCw3ICs0MzksOCBAQCBwdWJsaWM6CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNz
IEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0
eVdyYXBwZXJCYXNlLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRmlsbExheWVyUHJvcGVy
dHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcik7
CiBwdWJsaWM6CiAgICAgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKFQgKEZpbGxMYXll
cjo6KmdldHRlcikoKSBjb25zdCkKICAgICAgICAgOiBtX2dldHRlcihnZXR0ZXIpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgg
Yi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKaW5k
ZXggODkzYzcxNy4uYzg0ZGQ1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBOb2Rl
OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKLWNsYXNzIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRp
b25Db250cm9sbGVyUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Nv
bXBvc2l0ZUFuaW1hdGlvbi5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmlt
YXRpb24uaAppbmRleCAyNDlmNGMzLi4wZDBiYjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
YW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oCisrKyBiL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJJbXBs
aWNpdEFuaW1hdGlvbi5oIgogI2luY2x1ZGUgIktleWZyYW1lQW5pbWF0aW9uLmgiCiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2Uv
bWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCAyZGI3MTNmLi5iOThiY2IyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2Uv
bWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhh
bmRsZXI6OmN1cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCku
Z2V0KCk7CiB9CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q3VycmVudEV2ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZl
bnQgKik7CiAgICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0
ZW0uaAppbmRleCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVt
LmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xh
c3MgQXN5bmNGaWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5j
IGludGVyZmFjZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRp
b24uICBOb3RlIHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFz
cyBBc3luY0ZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxl
U3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVi
bGljOgogICAgIHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDgg
KzQxLDExIEBAIGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsK
IHN0cnVjdCBGaWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3Mgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJs
aWM6CisgICAgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2Fs
bGVkIHdoZW4gYSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHku
CiAgICAgdmlydHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFp
bmVkUG9vbC5oCmluZGV4IGQ0NGVlMWUuLmQ2NTU0MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vQXV0b2RyYWluZWRQb29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5l
ZFBvb2wuaApAQCAtMjksNyArMjksNiBAQAogI2lmbmRlZiBBdXRvZHJhaW5lZFBvb2xfaAogI2Rl
ZmluZSBBdXRvZHJhaW5lZFBvb2xfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
ICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwpAQCAtMzksNyArMzgs
OCBAQCBjbGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBBdXRvZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2Ry
YWluZWRQb29sIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwog
cHVibGljOgogICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAg
ICB+QXV0b2RyYWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRl
eHRNZW51LmggYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTMyMWVkNi4u
NTlhMDJiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRl
ZiBDb250ZXh0TWVudV9oCiAjZGVmaW5lIENvbnRleHRNZW51X2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVJdGVtLmgiCiAjaW5jbHVkZSAi
SGl0VGVzdFJlc3VsdC5oIgpAQCAtNDUsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgQ29udGV4dE1lbnVDbGllbnRFZmw7CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRl
eHRNZW51IDogcHVibGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51KGNvbnN0IEhp
dFRlc3RSZXN1bHQmKTsKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYs
IGNvbnN0IFBsYXRmb3JtTWVudURlc2NyaXB0aW9uKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vQ29udGV4dE1lbnVJdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRl
bS5oCmluZGV4IGU3MDI5MjEuLmQ5ZTI1NjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0u
aApAQCAtMjUyLDcgKzI1Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIHZv
aWQqIFBsYXRmb3JtTWVudUl0ZW1EZXNjcmlwdGlvbjsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29u
dGV4dE1lbnVJdGVtIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIENvbnRleHRN
ZW51SXRlbSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgQ29udGV4dE1lbnVJdGVtKFBsYXRmb3JtTWVudUl0ZW1EZXNjcmlwdGlvbik7CiAg
ICAgICAgIENvbnRleHRNZW51SXRlbShDb250ZXh0TWVudSogc3ViTWVudSA9IDApOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCmluZGV4IDQ3Y2Q1MzguLjBhNGE1MTUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBE
ZXByZWNhdGVkUHRyTGlzdF9oCiAKICNpbmNsdWRlICJEZXByZWNhdGVkUHRyTGlzdEltcGwuaCIK
LSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yOwogCi10
ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3Qgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJM
aXN0KCkgOiBpbXBsKGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJl
Y2F0ZWRQdHJMaXN0KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLmVmMjk5NTkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwx
MSBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNv
cHlhYmxlCi17CitjbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIERlcHJlY2F0ZWRMaXN0Tm9kZSh2b2lkICpkKSA6IGRhdGEoZCksIG5leHQoMCks
IHByZXYoMCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCmluZGV4IGIwNTA3ZjcuLjhmNjQ3NDggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9FdmVudExvb3AuaApAQCAtMjYsMTEgKzI2LDExIEBACiAjaWZuZGVmIEV2ZW50TG9vcF9o
CiAjZGVmaW5lIEV2ZW50TG9vcF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgRXZlbnRMb29wIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudExvb3AgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShFdmVudExvb3ApOwogICAgIHB1YmxpYzoKICAgICAgICAgRXZlbnRMb29wKCkKICAgICAg
ICAgICAgIDogbV9lbmRlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vR2Vv
bG9jYXRpb25TZXJ2aWNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5o
CmluZGV4IDE1ODVmNjUuLmQ2MGFlNmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vR2Vv
bG9jYXRpb25TZXJ2aWNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBHZW9sb2NhdGlvblNlcnZpY2VfaAogI2Rl
ZmluZSBHZW9sb2NhdGlvblNlcnZpY2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
NDIsNyArNDIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uU2Vydmlj
ZUVycm9yT2NjdXJyZWQoR2VvbG9jYXRpb25TZXJ2aWNlKikgPSAwOwogfTsKIAotY2xhc3MgR2Vv
bG9jYXRpb25TZXJ2aWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9u
U2VydmljZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2VvbG9jYXRpb25TZXJ2aWNlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgR2VvbG9jYXRpb25TZXJ2aWNlKiBjcmVhdGUoR2VvbG9jYXRp
b25TZXJ2aWNlQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+R2VvbG9jYXRpb25TZXJ2aWNlKCkgeyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vSG9zdFdpbmRvdy5oCmluZGV4IDc4ODJkNDguLjIyNTg4NGIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdp
bmRvdy5oCkBAIC0yNiwxNSArMjYsMTYgQEAKICNpZm5kZWYgSG9zdFdpbmRvd19oCiAjZGVmaW5l
IEhvc3RXaW5kb3dfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAi
V2lkZ2V0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3Vyc29yOwogCi1jbGFz
cyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RXaW5kb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKKyAgICBIb3N0V2luZG93KCkgeyB9CiAgICAgdmlydHVhbCB+SG9zdFdp
bmRvdygpIHsgfQogCiAgICAgLy8gUmVxdWVzdHMgdGhlIGhvc3QgaW52YWxpZGF0ZSB0aGUgd2lu
ZG93LCBub3QgdGhlIGNvbnRlbnRzLiAgSWYgaW1tZWRpYXRlIGlzIHRydWUgZG8gc28gc3luY2hy
b25vdXNseSwgb3RoZXJ3aXNlIGFzeW5jLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9L
aWxsUmluZy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCmluZGV4IDhlMjczNTAuLmI2
ODcyNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgS2lsbFJpbmcgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVu
ZChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLjkzNDU0MjAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9M
ZW5ndGguaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBMZW5ndGhfaAogCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIApAQCAtMzUs
NyArMzQsOSBAQCBjb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsg
Ly8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywg
UmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2lj
IH07CiAKLXN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIExlbmd0aCgpCiAgICAg
ICAgIDogbV92YWx1ZSgwKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGFz
dGVib2FyZC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggN2M1MDczNy4u
ZjBiMmU5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CkBAIC04MSw3ICs4MCw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIGNs
YXNzIEFyY2hpdmVSZXNvdXJjZTsKICAgICAKLWNsYXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUGFzdGVib2FyZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFzdGVib2FyZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogI2lmIFBMQVRG
T1JNKE1BQykKICAgICAvL0hlbHBlciBmdW5jdGlvbnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNo
YXJlIGNvZGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2
ZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCmluZGV4IGJj
MjhlODQuLmFlZTk1YjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXli
b2FyZEV2ZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQu
aApAQCAtNzUsNyArNzUsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHVpbnQzMjsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZW51bSBUeXBlIHsKICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMg
c3VjaCBhcyBNYWMgT1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBi
b3RoIHBoeXNpY2FsIHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
UHVyZ2VhYmxlQnVmZmVyLmgKaW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1
cmdlYWJsZUJ1ZmZlci5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVm
ZmVyX2gKIAogI2luY2x1ZGUgIlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1
ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNv
bnN0IGNoYXIqIGRhdGEsIHNpemVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9SdW5Mb29wVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgK
aW5kZXggNjVmMjUzZS4uZjhjNTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5M
b29wVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwx
NSArMzAsMTYgQEAKICNkZWZpbmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxl
UGFpci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUg
YWxsIGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUnVuTG9vcFRpbWVyQmFzZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsg
fQogICAgIHZpcnR1YWwgflJ1bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUo
Y29uc3QgU2NoZWR1bGVQYWlyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGJhclRoZW1lLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVm
YWY3YS4uZjEwNjkxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVt
ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYs
MTAgQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3Mg
U2Nyb2xsVmlldzsKIAotY2xhc3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU2Nyb2xsYmFyVGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9s
bGJhclRoZW1lKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU2Nyb2xs
YmFyVGhlbWUoKSB7IH0KICAgICB2aXJ0dWFsIH5TY3JvbGxiYXJUaGVtZSgpIHt9OwogCiAgICAg
dmlydHVhbCBib29sIHBhaW50KFNjcm9sbGJhciosIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IElu
dFJlY3QmIC8qZGFtYWdlUmVjdCovKSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1l
ci5oCmluZGV4IDViNWNkMTQuLjcxMWU2YjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
U2hhcmVkVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKQEAgLTI2
LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBTaGFyZWRUaW1lcl9oCiAjZGVmaW5lIFNoYXJlZFRpbWVy
X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICAvLyBFYWNoIHRocmVhZCBoYXMgaXRzIG93biBzaW5nbGUgaW5zdGFuY2Ugb2Ygc2hh
cmVkIHRpbWVyLCB3aGljaCBpbXBsZW1lbnRzIHRoaXMgaW50ZXJmYWNlLgogICAgIC8vIFRoaXMg
aW5zdGFuY2UgaXMgc2hhcmVkIGJ5IGFsbCB0aW1lcnMgaW4gdGhlIHRocmVhZC4KICAgICAvLyBO
b3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseTsgdXNlIHRoZSBUaW1lciBjbGFzcyBpbnN0
ZWFkLgotICAgIGNsYXNzIFNoYXJlZFRpbWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBTaGFyZWRUaW1lciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYXJlZFRp
bWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAgICBTaGFy
ZWRUaW1lcigpIHsgfQogICAgICAgICB2aXJ0dWFsIH5TaGFyZWRUaW1lcigpIHt9CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBzZXRGaXJlZEZ1bmN0aW9uKHZvaWQgKCopKCkpID0gMDsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmggYi9XZWJDb3JlL3BsYXRm
b3JtL1RocmVhZEdsb2JhbERhdGEuaAppbmRleCA5ZjU3ZjAwLi5lODQyYjdmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL1RocmVhZEdsb2JhbERhdGEuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogI2lmIEVOQUJM
RShXT1JLRVJTKQpAQCAtNDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3Ry
dWN0IFRFQ0NvbnZlcnRlcldyYXBwZXI7CiAgICAgY2xhc3MgVGhyZWFkVGltZXJzOwogCi0gICAg
Y2xhc3MgVGhyZWFkR2xvYmFsRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VGhyZWFkR2xvYmFsRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZEds
b2JhbERhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAg
ICAgICB+VGhyZWFkR2xvYmFsRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9U
aHJlYWRUaW1lcnMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXggYWI0
MjU5OC4uZjk5OTQwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCkBAIC0yNyw3ICsyNyw2IEBA
CiAjaWZuZGVmIFRocmVhZFRpbWVyc19oCiAjZGVmaW5lIFRocmVhZFRpbWVyc19oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzcsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgVGltZXJCYXNlOwogCiAgICAgLy8gQSBjb2xsZWN0aW9uIG9mIHRpbWVycyBw
ZXIgdGhyZWFkLiBLZXB0IGluIFRocmVhZEdsb2JhbERhdGEuCi0gICAgY2xhc3MgVGhyZWFkVGlt
ZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRUaW1lcnMgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRUaW1lcnMpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgK
aW5kZXggYzQ0NDNkYS4uODVmMGRhZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1l
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lm
bmRlZiBUaW1lcl9oCiAjZGVmaW5lIFRpbWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVs
ZW1lbnQ7CiAKLWNsYXNzIFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBU
aW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRpbWVyQmFzZSgpOwogICAgIHZpcnR1YWwg
flRpbWVyQmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaAppbmRleCA5ZDlhYzFmLi5iODcyYWRkIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL1RyZWVTaGFyZWQuaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBUcmVlU2hhcmVk
X2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0zMiw3ICszMSw4IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQ7
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGFkb3B0ZWQoVHJlZVNoYXJlZDxUPiopOwogI2Vu
ZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQgOiBwdWJsaWMgTm9u
Y29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVHJlZVNoYXJlZCk7CiBwdWJsaWM6CiAgICAgVHJlZVNoYXJl
ZCgpCiAgICAgICAgIDogbV9yZWZDb3VudCgxKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24v
QW5pbWF0aW9uTGlzdC5oCmluZGV4IDlhMzM0Y2EuLmJmOGZmOWYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBBbmltYXRpb25MaXN0IDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworY2xhc3MgQW5pbWF0aW9uTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uTGlzdCgpIHsgfQogICAgIEFuaW1hdGlvbkxpc3QoY29u
c3QgQW5pbWF0aW9uTGlzdCYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb0J1cy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQzMThi
ODEuLjM5OGUxMjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTMwLDcgKzMwLDYg
QEAKICNkZWZpbmUgQXVkaW9CdXNfaAogCiAjaW5jbHVkZSAiQXVkaW9DaGFubmVsLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTM5LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogLy8gQW4gQXVkaW9CdXMgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2Ygb25lIG9yIG1v
cmUgQXVkaW9DaGFubmVscy4KIC8vIFRoZSBkYXRhIGxheW91dCBpcyAicGxhbmFyIiBhcyBvcHBv
c2VkIHRvICJpbnRlcmxlYXZlZCIuCiAvLyBBbiBBdWRpb0J1cyB3aXRoIG9uZSBjaGFubmVsIGlz
IG1vbm8sIGFuIEF1ZGlvQnVzIHdpdGggdHdvIGNoYW5uZWxzIGlzIHN0ZXJlbywgZXRjLgotY2xh
c3MgQXVkaW9CdXMgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQnVzICB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVkaW9CdXMgKTsKIHB1YmxpYzoKICAgICBlbnVtIHsK
ICAgICAgICAgQ2hhbm5lbExlZnQgPSAwLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0NoYW5uZWwuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVs
LmgKaW5kZXggNjgxNjgzMC4uNzMyNWU5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hh
bm5lbC5oCkBAIC0zMCwxNCArMzAsMTQgQEAKICNkZWZpbmUgQXVkaW9DaGFubmVsX2gKIAogI2lu
Y2x1ZGUgIkF1ZGlvQXJyYXkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuIEF1
ZGlvQ2hhbm5lbCByZXByZXNlbnRzIGEgYnVmZmVyIG9mIG5vbi1pbnRlcmxlYXZlZCBmbG9hdGlu
Zy1wb2ludCBhdWRpbyBzYW1wbGVzLgogLy8gVGhlIFBDTSBzYW1wbGVzIGFyZSBub3JtYWxseSBh
c3N1bWVkIHRvIGJlIGluIGEgbm9taW5hbCByYW5nZSAtMS4wIC0+ICsxLjAKLWNsYXNzIEF1ZGlv
Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0NoYW5uZWwgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlvQ2hhbm5lbCk7CiBwdWJsaWM6CiAgICAgLy8gTWVt
b3J5IGNhbiBiZSBleHRlcm5hbGx5IHJlZmVyZW5jZWQsIG9yIGNhbiBiZSBpbnRlcm5hbGx5IGFs
bG9jYXRlZCB3aXRoIGFuIEF1ZGlvRmxvYXRBcnJheS4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
RkRhdGFiYXNlLmgKaW5kZXggYzMzYjM4Zi4uMzUxNDY5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0hSVEZEYXRhYmFzZS5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlICJIUlRGRWxldmF0
aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgSFJURktlcm5lbDsKIAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSFJURkRhdGFiYXNlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxI
UlRGRGF0YWJhc2U+IGNyZWF0ZShkb3VibGUgc2FtcGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9IUlRGRWxldmF0aW9uLmgKaW5kZXggYjM4OGIzNC4uZjQ0NDQ0OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSFJU
RkVsZXZhdGlvbl9oCiAKICNpbmNsdWRlICJIUlRGS2VybmVsLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQzLDcgKzQyLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBIUlRGRWxldmF0aW9uIGNvbnRhaW5zIGFsbCBvZiB0
aGUgSFJURktlcm5lbHMgKG9uZSBsZWZ0IGVhciBhbmQgb25lIHJpZ2h0IGVhciBwZXIgYXppbXV0
aCBhbmdsZSkgZm9yIGEgcGFydGljdWxhciBlbGV2YXRpb24uCiAKLWNsYXNzIEhSVEZFbGV2YXRp
b24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFJURkVsZXZhdGlvbiB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSFJURkVsZXZhdGlvbik7CiBwdWJsaWM6CiAgICAgLy8gTG9hZHMg
YW5kIHJldHVybnMgYW4gSFJURkVsZXZhdGlvbiB3aXRoIHRoZSBnaXZlbiBIUlRGIGRhdGFiYXNl
IHN1YmplY3QgbmFtZSBhbmQgZWxldmF0aW9uIGZyb20gYnJvd3NlciAob3IgV2ViS2l0LmZyYW1l
d29yaykgcmVzb3VyY2VzLgogICAgIC8vIE5vcm1hbGx5LCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBz
aW5nbGUgSFJURiBkYXRhYmFzZSBzZXQsIGJ1dCB0aGlzIEFQSSBzdXBwb3J0cyB0aGUgcG9zc2li
aWxpdHkgb2YgbXVsdGlwbGUgb25lcyB3aXRoIGRpZmZlcmVudCBuYW1lcy4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaCBiL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAppbmRleCAxZDY5OTIxLi5kNWFk
YTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9t
aXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5o
CkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBJbnRQb2lu
dDsKIAogICAgIGNsYXNzIENsaXBib2FyZENocm9taXVtIDogcHVibGljIENsaXBib2FyZCwgcHVi
bGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICB+Q2xpcGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBA
QCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MK
IC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1z
dHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEo
KQogICAgICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCAyZTRlOTYyLi5mMGMzMGFmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gK
ICNkZWZpbmUgQ29sb3JfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApA
QCAtNzUsNyArNzQsOCBAQCBpbmxpbmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsg
cmV0dXJuIChjb2xvciA+PiA4KSAmIDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdC
QTMyIGNvbG9yKSB7IHJldHVybiBjb2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFu
bmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xh
c3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCks
IG1fdmFsaWQoZmFsc2UpIHsgfQogICAgIENvbG9yKFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wp
LCBtX3ZhbGlkKHRydWUpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Db250ZXh0U2hhZG93LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNo
YWRvdy5jcHAKaW5kZXggODdhMWM1Yy4uMDcyNWE5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ29u
dGV4dFNoYWRvdy5oIgogCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogdXNpbmcgV1RGOjptaW47CiB1c2luZyBXVEY6Om1heDsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAxNDllYTc5Li5jZmNhOTgw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC01Myw3ICs1Myw5
IEBAIEZvbnRDYWNoZTo6Rm9udENhY2hlKCkKIHsKIH0KIAotc3RydWN0IEZvbnRQbGF0Zm9ybURh
dGFDYWNoZUtleSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNo
ZUtleSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgRm9udFBs
YXRmb3JtRGF0YUNhY2hlS2V5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5ID0gQXRvbWljU3Ry
aW5nKCksIHVuc2lnbmVkIHNpemUgPSAwLCB1bnNpZ25lZCB3ZWlnaHQgPSAwLCBib29sIGl0YWxp
YyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzUHJpbnRlckZv
bnQgPSBmYWxzZSwgRm9udFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRl
cmluZ01vZGUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiA9IEhvcml6b250YWwpCiAgICAg
ICAgIDogbV9zaXplKHNpemUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRl
eCBlNjg0NWQ5Li44NmY4YzY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgK
QEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3MgRm9udFNlbGVj
dG9yOwogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnRDYWNoZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBGb250Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZvbnRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGZyaWVu
ZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnREYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRh
LmgKaW5kZXggZWU5NGE5OC4uNDMyNzk1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERh
dGEuaApAQCAtMjcsMTQgKzI3LDE0IEBACiAjZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNp
bXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250RGF0YSgpCiAgICAgICAgIDog
bV9tYXhHbHlwaFBhZ2VUcmVlTGV2ZWwoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ds
eXBoTWV0cmljc01hcC5oCmluZGV4IGZhODViY2MuLjNlMTNmYmIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaApAQCAtNDAsNyArNDAsOCBAQCB0eXBlZGVm
IHVuc2lnbmVkIHNob3J0IEdseXBoOwogCiBjb25zdCBmbG9hdCBjR2x5cGhTaXplVW5rbm93biA9
IC0xOwogCi10ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgOiBwdWJsaWMg
Tm9uY29weWFibGUgewordGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgR2x5cGhNZXRyaWNzTWFwIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHbHlwaE1ldHJpY3NNYXApOwogcHVibGljOgogICAg
IEdseXBoTWV0cmljc01hcCgpIDogbV9maWxsZWRQcmltYXJ5UGFnZShmYWxzZSkgeyB9CiAgICAg
fkdseXBoTWV0cmljc01hcCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuaAppbmRleCA2OWQ5ZTE2Li42NjRkZmJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbnRS
ZWN0LmgiCiAjaW5jbHVkZSAiUGF0aC5oIgogI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
CiAjaWYgUExBVEZPUk0oQ0cpCkBAIC0xNDksNyArMTQ4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBJbnRlcnBvbGF0aW9uSGlnaAogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGlj
c0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JhcGhpY3NDb250ZXh0
KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0Kik7CiAgICAgICAgIH5HcmFwaGljc0NvbnRleHQoKTsK
QEAgLTM1NCw3ICszNTQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0
U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGRJbmNs
dWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7CiAKLSAgICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgeworICAg
ICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93c0JpdG1hcCk7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFdpbmRvd3NCaXRtYXAoSERDLCBJbnRTaXplKTsKICAgICAgICAg
ICAgIH5XaW5kb3dzQml0bWFwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dDNELmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dDNELmgKaW5kZXggYzJkNWMyNC4uN2MwN2JlYiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtMzEsNyArMzEsNiBAQAogCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5
IHRvIGF2b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9uIGZvciBOT19FUlJPUi4KICNpZiAoKFBMQVRG
T1JNKENIUk9NSVVNKSAmJiBPUyhXSU5ET1dTKSkgfHwgUExBVEZPUk0oV0lOKSB8fCAoUExBVEZP
Uk0oUVQpICYmIE9TKFdJTkRPV1MpKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKaW5kZXggOTI4OGRmNC4uOThkY2M0NyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgK
QEAgLTgzLDcgKzgzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHNoYWRv
d3NJZ25vcmVUcmFuc2Zvcm1zOwogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQ
cml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQ
cml2YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJp
dmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgR3Jh
cGhpY3NDb250ZXh0UHJpdmF0ZSgpCiAgICAgICAgICAgICA6IG1fdXBkYXRpbmdDb250cm9sVGlu
dHMoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4
IDk5MWNhMzIuLjUzMmQwY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NMYXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NM
YXllci5oCkBAIC0xMDQsNyArMTA0LDggQEAgY2xhc3MgVGltaW5nRnVuY3Rpb247CiAvLyBCYXNl
IGNsYXNzIGZvciBhbmltYXRpb24gdmFsdWVzIChhbHNvIHVzZWQgZm9yIHRyYW5zaXRpb25zKS4g
SGVyZSB0bwogLy8gcmVwcmVzZW50IHZhbHVlcyBmb3IgcHJvcGVydGllcyBiZWluZyBhbmltYXRl
ZCB2aWEgdGhlIEdyYXBoaWNzTGF5ZXIsCiAvLyB3aXRob3V0IHB1bGxpbmcgaW4gc3R5bGUtcmVs
YXRlZCBkYXRhIGZyb20gb3V0c2lkZSBvZiB0aGUgcGxhdGZvcm0gZGlyZWN0b3J5LgotY2xhc3Mg
QW5pbWF0aW9uVmFsdWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uVmFs
dWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvblZhbHVlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uVmFsdWUoZmxvYXQga2V5VGlt
ZSwgUGFzc1JlZlB0cjxUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24gPSAwKQogICAgICAg
ICA6IG1fa2V5VGltZShrZXlUaW1lKQpAQCAtMTU2LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAKIC8v
IFVzZWQgdG8gc3RvcmUgYSBzZXJpZXMgb2YgdmFsdWVzIGluIGEga2V5ZnJhbWUgbGlzdC4gVmFs
dWVzIHdpbGwgYWxsIGJlIG9mIHRoZSBzYW1lIHR5cGUsCiAvLyB3aGljaCBjYW4gYmUgaW5mZXJy
ZWQgZnJvbSB0aGUgcHJvcGVydHkuCi1jbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoS2V5ZnJhbWVWYWx1ZUxpc3QpOwogcHVibGljOgogCiAgICAgS2V5ZnJhbWVWYWx1
ZUxpc3QoQW5pbWF0ZWRQcm9wZXJ0eUlEIHByb3BlcnR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZUJ1ZmZlci5oCmluZGV4IDgyMmEwZmYuLjVkNDhhOGMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBVbm11bHRpcGxpZWQKICAgICB9OwogCi0gICAgY2xhc3MgSW1hZ2VCdWZm
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEltYWdlQnVmZmVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVy
IG9uIGFsbG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VC
dWZmZXI+IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2Ug
PSBDb2xvclNwYWNlRGV2aWNlUkdCKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZVNvdXJjZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJj
ZS5oCmluZGV4IGFlYjE1NjEuLjkxY2VlNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlU291cmNlLmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSW1hZ2VTb3VyY2VfaAogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShXWCkKQEAgLTExNyw3ICsxMTYs
OCBAQCBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0
aW9uTG9vcEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAot
Y2xhc3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3Vy
Y2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAg
ICBJbWFnZVNvdXJjZShib29sIHByZW11bHRpcGx5QWxwaGEgPSB0cnVlLCBib29sIGlnbm9yZUdh
bW1hQW5kQ29sb3JQcm9maWxlID0gZmFsc2UpOwogICAgIH5JbWFnZVNvdXJjZSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCAyMzVjMWZkLi44N2ZhOTA2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcg
KzE0Nyw5IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxN
ZWRpYVBsYXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1z
dHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxh
eWVyRmFjdG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTWVkaWFQbGF5ZXJGYWN0
b3J5KENyZWF0ZU1lZGlhRW5naW5lUGxheWVyIGNvbnN0cnVjdG9yLCBNZWRpYUVuZ2luZVN1cHBv
cnRlZFR5cGVzIGdldFN1cHBvcnRlZFR5cGVzLCBNZWRpYUVuZ2luZVN1cHBvcnRzVHlwZSBzdXBw
b3J0c1R5cGVBbmRDb2RlY3MpIAogICAgICAgICA6IGNvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKQog
ICAgICAgICAsIGdldFN1cHBvcnRlZFR5cGVzKGdldFN1cHBvcnRlZFR5cGVzKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGE1MDZhNmUuLmY3ZTViNzAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTM3LDcgKzM3LDYgQEAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCkBA
IC0xNDgsNyArMTQ3LDggQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBNZWRpYVBsYXll
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKIAogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyPiBjcmVhdGUoTWVkaWFQ
bGF5ZXJDbGllbnQqIGNsaWVudCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oCmluZGV4IGQ5NTYyODYuLjZhYmUyNTggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMzYsOCArMzYsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW50UmVjdDsKIGNsYXNzIEludFNpemU7CiAKLWNs
YXNzIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZp
cnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgK
aW5kZXggNDIzYTc5Mi4uMzA5YTZjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9QYXRoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTI4
LDcgKzI4LDYgQEAKICNpZm5kZWYgUGF0aF9oCiAjZGVmaW5lIFBhdGhfaAogCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiAjaWYgUExB
VEZPUk0oQ0cpCkBAIC0xMDAsNyArOTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0
eXBlZGVmIHZvaWQgKCpQYXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRo
RWxlbWVudCopOwogCi0gICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICBjbGFzcyBQYXRoIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBQYXRoKCk7CiAgICAgICAgIH5QYXRoKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKaW5kZXggNTg0NzdkYi4uMDZjN2ZlMSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaApAQCAt
MzYsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7
CiBjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZUNsaWVudDsKIAotY2xhc3MgVGlsZWRCYWNraW5nU3Rv
cmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGVkQmFja2luZ1N0b3JlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGlsZWRCYWNraW5nU3RvcmUoVGlsZWRCYWNraW5nU3Rv
cmVDbGllbnQqKTsKICAgICB+VGlsZWRCYWNraW5nU3RvcmUoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5k
ZXggZGFjMzFmOC4uNGYzOTRmOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAK
ICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9k
ZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIHR5cGVkZWYgc3RydWN0IEZUX0ZhY2VSZWNfKiAgRlRfRmFjZTsKIHR5cGVkZWYgc3Ry
dWN0IF9jYWlyb19mb250X2ZhY2UgY2Fpcm9fZm9udF9mYWNlX3Q7CkBAIC0zNSw3ICszNCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoRlRfRmFjZSwgU2hhcmVkQnVmZmVyKik7CiAgICAgfkZvbnRDdXN0b21QbGF0Zm9y
bURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
R0xFUzJDYW52YXMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJD
YW52YXMuaAppbmRleCA2ZmMxYTBlLi44MTlmOTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCkBAIC0zOSw3ICszOSw2IEBACiAjaW5j
bHVkZSAiVGV4dHVyZS5oIgogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgR3JhcGhp
Y3NDb250ZXh0M0Q7CiBjbGFzcyBTaGFyZWRHcmFwaGljc0NvbnRleHQzRDsKIAotY2xhc3MgR0xF
UzJDYW52YXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR0xFUzJDYW52YXMgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEdMRVMyQ2FudmFzKTsKIHB1YmxpYzoKICAgICBHTEVTMkNh
bnZhcyhTaGFyZWRHcmFwaGljc0NvbnRleHQzRCosIERyYXdpbmdCdWZmZXIqLCBjb25zdCBJbnRT
aXplJik7CiAgICAgfkdMRVMyQ2FudmFzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaAppbmRleCA1MzFk
NjUyLi4zYzcxYWM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKQEAgLTQzLDcgKzQzLDYgQEAKICNp
bmNsdWRlICJTa0JpdG1hcC5oIgogI2luY2x1ZGUgIlZpZGVvTGF5ZXJDaHJvbWl1bS5oIgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAppbmRleCAxZjMzNTI3
Li41MjZhODdiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2lu
Y2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJUcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIGNsYXNzIExh
eWVyQ2hyb21pdW07CiAKLWNsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlclN1cmZhY2VDaHJvbWl1bSk7CiAgICAgZnJpZW5kIGNsYXNzIExheWVy
UmVuZGVyZXJDaHJvbWl1bTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJTdXJmYWNlQ2hy
b21pdW0oTGF5ZXJDaHJvbWl1bSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKaW5kZXggYjZiZWY5MS4uMjc1MTI1OCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lX
aW4uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5j
eVdpbi5oCkBAIC0zNSw3ICszNSw2IEBACiAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIK
ICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5j
bHVkZSAid3RmL093blB0ci5oIgogCiBjbGFzcyBTa0JpdG1hcDsKQEAgLTU0LDcgKzUzLDggQEAg
Y2xhc3MgVHJhbnNwYXJlbmN5V2luX09wYXF1ZUNvbXBvc2l0ZUxheWVyX1Rlc3Q7CiAvLyB0aGF0
IGlzIGNvbXBvc2l0ZWQgbGF0ZXIgbWFudWFsbHkuIFRoaXMgaXMgdG8gZ2V0IGFyb3VuZCBXaW5k
b3dzJyBpbmFiaWxpdHkKIC8vIHRvIGhhbmRsZSB0aGUgYWxwaGEgY2hhbm5lbCwgc2VtaXRyYW5z
cGFyZW50IHRleHQsIGFuZCB0cmFuc2Zvcm1lZCBmb3JtCiAvLyBjb250cm9scy4KLWNsYXNzIFRy
YW5zcGFyZW5jeVdpbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc3BhcmVuY3lX
aW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW5jeVdpbik7CiBwdWJsaWM6
CiAgICAgZW51bSBMYXllck1vZGUgewogICAgICAgICAvLyBObyBleHRyYSBsYXllciBpcyBjcmVh
dGVkLiBEcmF3aW5nIHdpbGwgaGFwcGVuIHRvIHRoZSBzb3VyY2UuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKaW5kZXggOWY3OTg4OS4uZTM1NjU5MiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaApAQCAt
MzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJJbnRT
aXplLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpZiBQTEFURk9STShNQUMpCkBA
IC03Nyw4ICs3NiwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVN
KQotICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXaWxsUHVibGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CisgICAgICAgIFdpbGxQdWJs
aXNoQ2FsbGJhY2soKSB7IH0KICAgICAgICAgdmlydHVhbCB+V2lsbFB1Ymxpc2hDYWxsYmFjaygp
IHsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxQdWJsaXNoKCkgPSAwOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3Np
Zmllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmll
ci5oCmluZGV4IGM2NjU4NDQuLjFiZDY3YjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKQEAgLTMwLDE0ICszMCwxNCBAQAog
I2lmbmRlZiBMb29wQmxpbm5DbGFzc2lmaWVyX2gKICNkZWZpbmUgTG9vcEJsaW5uQ2xhc3NpZmll
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBGbG9hdFBvaW50OwogCiAvLyBDbGFzc2lmaWVzIGN1YmljIGN1cnZlcyBpbnRv
IHNwZWNpZmljIHR5cGVzLgotY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb29wQmxpbm5DbGFzc2lmaWVyKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdHlwZXMg
b2YgY3ViaWMgY3VydmVzLgogICAgIGVudW0gQ3VydmVUeXBlIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5o
CmluZGV4IGVhM2Q3ZTMuLmQwMWU2YzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaApAQCAtMzAsMTkg
KzMwLDIwIEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludDNELmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5u
Q29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBQZXJmb3JtcyBhIGxv
Y2FsaXplZCB0cmlhbmd1bGF0aW9uIG9mIHRoZSB0cmlhbmdsZSBtZXNoCiAvLyBjb3JyZXNwb25k
aW5nIHRvIHRoZSBmb3VyIGNvbnRyb2wgcG9pbnQgdmVydGljZXMgb2YgYSBjdWJpYyBjdXJ2ZQog
Ly8gc2VnbWVudC4KLWNsYXNzIExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvcik7CiBwdWJsaWM6CiAg
ICAgLy8gVGhlIHZlcnRpY2VzIHRoYXQgdGhlIHRyaWFuZ3VsYXRvciBvcGVyYXRlcyB1cG9uLCBj
b250YWluaW5nIGJvdGgKICAgICAvLyB0aGUgcG9zaXRpb24gaW5mb3JtYXRpb24gYXMgd2VsbCBh
cyB0aGUgY3ViaWMgdGV4dHVyZQogICAgIC8vIGNvb3JkaW5hdGVzLgotICAgIGNsYXNzIFZlcnRl
eCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVydGV4IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVmVydGV4KTsKICAgICBwdWJsaWM6CiAgICAgICAgIFZlcnRleCgp
CiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlublRleHR1cmVDb29yZHMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlublRleHR1cmVDb29yZHMuaAppbmRleCA1ZmRlYjNiLi5iMjlhOGY1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jk
cy5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiTG9vcEJsaW5uQ2xhc3NpZmllci5oIgog
I2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0YW50cy5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L1BPREFyZW5hLmgKaW5kZXggZjY4YmFlZi4uNWZlZWYwNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSA8c3Rk
aW50Lmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvRmFzdE1h
bGxvYy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CkBAIC0xNTgsNyArMTU3LDggQEAgcHJpdmF0ZToKICAgICB9CiAKICAgICAvLyBNYW5h
Z2VzIGEgY2h1bmsgb2YgbWVtb3J5IGFuZCBpbmRpdmlkdWFsIGFsbG9jYXRpb25zIG91dCBvZiBp
dC4KLSAgICBjbGFzcyBDaHVuayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2h1
bmsgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHVuayk7CiAgICAgcHVibGljOgog
ICAgICAgICAvLyBBbGxvY2F0ZXMgYSBibG9jayBvZiBtZW1vcnkgb2YgdGhlIGdpdmVuIHNpemUg
ZnJvbSB0aGUgcGFzc2VkCiAgICAgICAgIC8vIEFsbG9jYXRvci4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmgKaW5kZXggMzIwY2U2MC4uZmExZTI3
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxU
cmVlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVl
LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJQT0RJbnRlcnZhbC5oIgogI2luY2x1ZGUg
IlBPRFJlZEJsYWNrVHJlZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00NCw4ICs0Myw4IEBAIHN0cnVjdCBWYWx1ZVRvU3RyaW5nOwogLy8g
c3VwcG9ydHMgZWZmaWNpZW50IChPKGxnIG4pKSBpbnNlcnRpb24sIHJlbW92YWwgYW5kIHF1ZXJ5
aW5nIG9mCiAvLyBpbnRlcnZhbHMgaW4gdGhlIHRyZWUuCiB0ZW1wbGF0ZTxjbGFzcyBULCBjbGFz
cyBVc2VyRGF0YSA9IHZvaWQqPgotY2xhc3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIE5vbmNv
cHlhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFBPRFJlZEJsYWNrVHJlZTxQ
T0RJbnRlcnZhbDxULCBVc2VyRGF0YT4gPiB7CitjbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJs
aWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQT0RJbnRlcnZhbFRyZWUpOwogcHVibGljOgogICAgIC8vIFR5cGVk
ZWYgdG8gcmVkdWNlIHR5cGluZyB3aGVuIGRlY2xhcmluZyBpbnRlcnZhbHMgdG8gYmUgc3RvcmVk
IGluCiAgICAgLy8gdGhpcyB0cmVlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9QT0RSZWRCbGFja1RyZWUuaAppbmRleCA2ZDU5NTRjLi5iMGQ5MThmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaApAQCAtNzQsNyArNzQs
NiBAQAogCiAjaW5jbHVkZSAiUE9EQXJlbmEuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
ICNpZm5kZWYgTkRFQlVHCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTk4LDcgKzE5Nyw4IEBA
IHByb3RlY3RlZDoKICAgICAvLyBUaGUgYmFzZSBOb2RlIGNsYXNzIHdoaWNoIGlzIHN0b3JlZCBp
biB0aGUgdHJlZS4gTm9kZXMgYXJlIG9ubHkKICAgICAvLyBhbiBpbnRlcm5hbCBjb25jZXB0OyB1
c2VycyBvZiB0aGUgdHJlZSBkZWFsIG9ubHkgd2l0aCB0aGUgZGF0YQogICAgIC8vIHRoZXkgc3Rv
cmUgaW4gaXQuCi0gICAgY2xhc3MgTm9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgTm9kZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgLy8gQ29uc3RydWN0b3IuIE5ld2x5LWNyZWF0ZWQgbm9kZXMgYXJlIGNvbG9y
ZWQgcmVkLgogICAgICAgICBleHBsaWNpdCBOb2RlKGNvbnN0IFQmIGRhdGEpCkBAIC02NTksNyAr
NjU5LDggQEAgcHJpdmF0ZToKICAgICAvLyBIZWxwZXIgY2xhc3MgZm9yIHNpemUoKQogCiAgICAg
Ly8gQSBWaXNpdG9yIHdoaWNoIHNpbXBseSBjb3VudHMgdGhlIG51bWJlciBvZiB2aXNpdGVkIGVs
ZW1lbnRzLgotICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciwgcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDb3VudGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIENvdW50
ZXIoKQogICAgICAgICAgICAgOiBtX2NvdW50KDApIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9TaGFkZXIuaAppbmRleCBlNWJkOGRlLi5iNTY2MGZmIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9TaGFkZXIuaApAQCAtMzEsNyArMzEsNiBAQAogI2lmbmRlZiBTaGFkZXJfaAog
I2RlZmluZSBTaGFkZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzks
OCBAQCBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIGNs
YXNzIENvbG9yOwogCi1jbGFzcyBTaGFkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2hhZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTaGFkZXIpOwogcHJvdGVjdGVkOgog
ICAgIFNoYWRlcihHcmFwaGljc0NvbnRleHQzRCosIHVuc2lnbmVkIHByb2dyYW0pOwogICAgIH5T
aGFkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGlu
Z0RhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAppbmRl
eCAxYmRjNTFhLi5kY2E4YWI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9UaWxpbmdEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGls
aW5nRGF0YS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGlsaW5nRGF0YV9oCiAjZGVm
aW5lIFRpbGluZ0RhdGFfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgSW50UmVjdDsKIAotY2xh
c3MgVGlsaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxpbmdEYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxpbmdEYXRhKTsKIHB1YmxpYzoKICAgICBUaWxp
bmdEYXRhKGludCBtYXhUZXh0dXJlU2l6ZSwgaW50IHRvdGFsU2l6ZVgsIGludCB0b3RhbFNpemVZ
LCBib29sIGhhc0JvcmRlclRleGVscyk7CiAgICAgaW50IG1heFRleHR1cmVTaXplKCkgY29uc3Qg
eyByZXR1cm4gbV9tYXhUZXh0dXJlU2l6ZTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5j
cHAKaW5kZXggNjM1ZmVmZi4uYmY2MGFiZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIu
Y3BwCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiR093blB0ci5oIgogI2luY2x1ZGUgIkdS
ZWZQdHIuaCIKICNpbmNsdWRlICJOZXR3b3JraW5nQ29udGV4dC5oIgotI2luY2x1ZGUgIk5vbmNv
cHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKQEAg
LTM2LDcgKzM1LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLWNsYXNzIFN0cmVh
bWluZ0NsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xp
ZW50IHsKK2NsYXNzIFN0cmVhbWluZ0NsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyZWFtaW5nQ2xpZW50KTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFN0cmVhbWluZ0NsaWVudChXZWJLaXRXZWJTcmMqKTsKICAgICAgICAgdmly
dHVhbCB+U3RyZWFtaW5nQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGNjMzQ4ZTMuLjg2
Zjk5YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3Uv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCwxNCArMjQsMTQgQEAKICNpbmNsdWRlICJG
b250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiAgICAgY2xhc3Mg
U2hhcmVkQnVmZmVyOwogCi0gICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25j
b3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICAgICAgfkZvbnRDdXN0
b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjMTE4NThjLi5kODE1MTYxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUu
aCIKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9DRkJhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0eXBlZGVmIHN0cnVjdCBD
R0ZvbnQqIENHRm9udFJlZjsKIHR5cGVkZWYgVUludDMyIEFUU0ZvbnRDb250YWluZXJSZWY7CkBA
IC0zNiw3ICszNSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURh
dGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAg
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXIsIENH
Rm9udFJlZiBjZ0ZvbnQpCiAgICAgICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKQogICAg
ICAgICAsIG1fY2dGb250KGNnRm9udCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCAyNGZkOGEwLi44M2M4ZjVhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC0yNSw3
ICsyNSw2IEBACiAKICNpbmNsdWRlIDxvcGVudmcuaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDEsNyArNDAsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxhdGZv
cm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFp
bnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7CiAg
ICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2Li5lZTcy
MDAxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNl
T3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9w
ZW5WRy5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8ZWdsLmg+CiAjZW5kaWYKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQy
LDcgKzQxLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3VsZCBtYWtl
IGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxlbWVudGF0
aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7CiAgICAg
ICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCA2YzQx
ZDQ3Li5kNWYzMjQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsMTQgKzI1LDE2IEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRC
dWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgewor
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1Ymxp
YzoKKyAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgfkZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoKTsKIAogICAgIC8vIGZvciB1c2Ugd2l0aCBRRm9udERhdGFiYXNlOjphZGRBcHBs
aWNhdGlvbkZvbnQvcmVtb3ZlQXBwbGljYXRpb25Gb250CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IDFjNTdlMjkuLmYyNjgzNzAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCkBA
IC0zMiw3ICszMiw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRm9udFBsYXRm
b3JtRGF0YVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFBsYXRmb3Jt
RGF0YVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRQbGF0Zm9ybURhdGFQ
cml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9udFBsYXRm
b3JtRGF0YVByaXZhdGUoKQogICAgICAgICA6IHJlZkNvdW50KDEpCkBAIC02Miw4ICs2MywxMCBA
QCBwdWJsaWM6CiAKIAogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgRm9udFBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5kZXgg
YmJiY2VkYi4uZDMwNjZmMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTE3Niw3ICsxNzYsOCBAQCBzdGF0aWMgaW5saW5l
IFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6
Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBHcmFwaGljc0Nv
bnRleHRQbGF0Zm9ybVByaXZhdGUoUVBhaW50ZXIqLCBjb25zdCBRQ29sb3ImIGluaXRpYWxTb2xp
ZENvbG9yKTsKICAgICB+R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKaW5kZXggNmJk
ZmIzOS4uOWZhZDdlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9U
cmFuc3BhcmVuY3lMYXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJh
bnNwYXJlbmN5TGF5ZXIuaApAQCAtNDIsNyArNDIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXN0cnVjdCBUcmFuc3BhcmVuY3lMYXllciA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFRy
YW5zcGFyZW5jeUxheWVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBUcmFuc3BhcmVuY3lMYXllcihjb25zdCBRUGFpbnRlciogcCwgY29uc3QgUVJlY3QgJnJl
Y3QsIHFyZWFsIG9wYWNpdHksIFFQaXhtYXAmIGFscGhhTWFzaykKICAgICAgICAgOiBwaXhtYXAo
cmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKQogICAgICAgICAsIG9wYWNpdHkob3BhY2l0eSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCmluZGV4IGU1MWI2YjYuLjA4M2U1OGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAt
MzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZv
bnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2lmIE9TKFdJTkRPV1MpCiAjaW5jbHVkZSAiUGxhdGZvcm1T
dHJpbmcuaCIKQEAgLTQ5LDcgKzQ4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7Citw
dWJsaWM6CiAjaWYgT1MoV0lORE9XUykKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEhBTkRM
RSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgIDogbV9mb250UmVm
ZXJlbmNlKGZvbnRSZWZlcmVuY2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKaW5kZXgg
NWUxMmFkNi4uNDQ4MzVhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaApAQCAtMzEs
MTQgKzMxLDE0IEBACiAjaWZuZGVmIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZV9oCiAj
ZGVmaW5lIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZV9oCiAKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYTsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBUaGlzIGNsYXNzIGp1c3QgaG9sZHMgb250byBhIFBsYXRmb3JtQ29u
dGV4dFNraWEgZm9yIEdyYXBoaWNzQ29udGV4dC4KLWNsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRm
b3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlKFBsYXRmb3JtQ29udGV4dFNraWEqIHBsYXRmb3JtQ29udGV4dCkKICAgICAgICAgOiBt
X2NvbnRleHQocGxhdGZvcm1Db250ZXh0KSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCmluZGV4IDExYjMxMWEuLjMxYjYx
OTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNv
bnRleHRTa2lhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3Jt
Q29udGV4dFNraWEuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmluZSBQbGF0Zm9ybUNvbnRleHRT
a2lhX2gKIAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIk5vbmNvcHlh
YmxlLmgiCiAKICNpbmNsdWRlICJTa0Rhc2hQYXRoRWZmZWN0LmgiCiAjaW5jbHVkZSAiU2tEcmF3
TG9vcGVyLmgiCkBAIC02Nyw3ICs2Niw4IEBAIGNsYXNzIFRleHR1cmU7CiAvLyByZXNwb25zaWJs
ZSBmb3IgbWFuYWdpbmcgdGhlIHBhaW50aW5nIHN0YXRlIHdoaWNoIGlzIHN0b3JlIGluIHNlcGFy
YXRlCiAvLyBTa1BhaW50IG9iamVjdHMuIFRoaXMgY2xhc3MgcHJvdmlkZXMgdGhlIGFkYXB0b3Ig
dGhhdCBhbGxvd3MgdGhlIHBhaW50aW5nCiAvLyBzdGF0ZSB0byBiZSBwdXNoZWQgYW5kIHBvcHBl
ZCBhbG9uZyB3aXRoIHRoZSBiaXRtYXAuCi1jbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsYXRmb3JtQ29udGV4dFNraWEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBsYXRmb3JtQ29udGV4dFNraWEpOwogcHVibGljOgogICAgIC8vIEZv
ciBwcmludGluZywgdGhlcmUgc2hvdWxkbid0IGJlIGFueSBjYW52YXMuIGNhbnZhcyBjYW4gYmUg
TlVMTC4gSWYgeW91CiAgICAgLy8gc3VwcGx5IGEgTlVMTCBjYW52YXMsIHlvdSBjYW4gYWxzbyBj
YWxsIHNldENhbnZhcyBsYXRlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaAppbmRleCBiYWVlMTAyLi44ZDJmODc0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJh
bnNmb3JtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmlu
ZVRyYW5zZm9ybS5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25N
YXRyaXguaCIKIAogI2luY2x1ZGUgPHN0cmluZy5oPiAvLyBmb3IgbWVtY3B5Ci0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogI2lmIFBMQVRGT1JNKENHKQogI2luY2x1ZGUgPENvcmVH
cmFwaGljcy9DR0FmZmluZVRyYW5zZm9ybS5oPgpAQCAtNTUsNyArNTQsOCBAQCBjbGFzcyBJbnRQ
b2ludDsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKIAotY2xh
c3MgQWZmaW5lVHJhbnNmb3JtIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQWZmaW5l
VHJhbnNmb3JtIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0
eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMw
ZGEzNzcuLjk4MWUxZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUcmFuc2Zvcm1PcGVyYXRpb25zKGJv
b2wgbWFrZUlkZW50aXR5ID0gZmFsc2UpOwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmggYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAppbmRl
eCA5NmI0YmFhLi4xYmIwNjVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaApAQCAtMzAsNyArMzAs
NiBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2lu
Y2x1ZGUgPHN0cmluZy5oPiAvL2ZvciBtZW1jcHkKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFz
ZS5oPgogCiAjaWYgUExBVEZPUk0oQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQWZmaW5l
VHJhbnNmb3JtLmg+CkBAIC02Miw3ICs2MSw4IEBAIGNsYXNzIEZsb2F0UG9pbnQzRDsKIGNsYXNz
IEZsb2F0UmVjdDsKIGNsYXNzIEZsb2F0UXVhZDsKIAotY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRy
aXggOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBkb3Vi
bGUgTWF0cml4NFs0XVs0XTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDFiZGYyNzAuLjE2MjhlZWIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9k
ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250
KiBDR0ZvbnRSZWY7CiAKQEAgLTM0LDcgKzMzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVy
ZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250
UmVmZXJlbmNlKQogICAgICAgICAsIG1fbmFtZShuYW1lKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaApp
bmRleCAzYWI1MmI4Li4wNjk5MWM4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaApAQCAtMjQsNyAr
MjQsNiBAQAogCiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPGNhaXJv
Lmg+CiAKQEAgLTMzLDcgKzMyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBs
YXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJs
aWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjYWlyb19mb250X2ZhY2VfdCogZm9udEZh
Y2UpCiAgICAgICAgIDogbV9mb250RmFjZShmb250RmFjZSkKICAgICB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKaW5kZXggYzIx
NjE0MC4uNTk1MWU0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
TG9jYWxXaW5kb3dzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0xvY2FsV2luZG93c0NvbnRleHQuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIExvY2FsV2luZG93c0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TG9jYWxXaW5kb3dzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxXaW5kb3dzQ29udGV4dChH
cmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCwgYm9v
bCBzdXBwb3J0QWxwaGFCbGVuZCA9IHRydWUsIGJvb2wgbWF5Q3JlYXRlQml0bWFwID0gdHJ1ZSkK
ICAgICAgICAgOiBtX2dyYXBoaWNzQ29udGV4dChncmFwaGljc0NvbnRleHQpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCmluZGV4IGVmYWYyMTguLmZlNjBjOGYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCkBAIC0zNCw3ICszNCw2
IEBACiAjaW5jbHVkZSA8UVRNTC5oPgogI2luY2x1ZGUgPFF1aWNrVGltZUNvbXBvbmVudHMuaD4K
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKQEAgLTYz
LDcgKzYyLDggQEAgdW5pb24gVXBwUGFyYW0gewogc3RhdGljIFZlY3RvcjxDRlN0cmluZ1JlZj4q
IGdTdXBwb3J0ZWRUeXBlcyA9IDA7CiBzdGF0aWMgU0ludDMyIHF1aWNrVGltZVZlcnNpb24gPSAw
OwogCi1jbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFFU
TW92aWVUYXNrQ2xpZW50IHsKK2NsYXNzIFFUTW92aWVQcml2YXRlIDogcHVibGljIFFUTW92aWVU
YXNrQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVE1vdmllUHJpdmF0ZSk7CiBw
dWJsaWM6CiAgICAgUVRNb3ZpZVByaXZhdGUoKTsKICAgICB+UVRNb3ZpZVByaXZhdGUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAKaW5kZXgg
ZTEzZjczMi4uMjY4NjEyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vUVRNb3ZpZUdXb3JsZC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
UVRNb3ZpZUdXb3JsZC5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlIDxRdWlja1RpbWVD
b21wb25lbnRzLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vUVRUcmFjay5jcHAKaW5kZXggMDkxNDJiYy4uYmY4MGE4MSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKQEAgLTMxLDcgKzMxLDggQEAKIAogdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIAotY2xhc3MgUVRUcmFja1ByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUVRUcmFja1ByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFFU
VHJhY2tQcml2YXRlKTsKIHB1YmxpYzoKICAgICBRVFRyYWNrUHJpdmF0ZSgpOwogICAgIH5RVFRy
YWNrUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
V0tDQUNGQ29udGV4dEZsdXNoZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dL
Q0FDRkNvbnRleHRGbHVzaGVyLmgKaW5kZXggMTdlYzQxZC4uMWU5OTBhMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCkBA
IC0yOCw3ICsyOCw2IEBACiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAK
QEAgLTM2LDcgKzM1LDggQEAgc3RydWN0IFdLQ0FDRkNvbnRleHQ7CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgV0tDQUNGQ29udGV4dEZsdXNoZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgV0tDQUNGQ29udGV4dEZsdXNoZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdLQ0FDRkNvbnRleHRGbHVzaGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV0tDQUNGQ29udGV4
dEZsdXNoZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKaW5kZXggNzYzZmZmYS4uYTE2NmU4MSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIu
aApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiV0tDQUNG
TGF5ZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC01Niw3ICs1NSw4IEBA
IHB1YmxpYzoKIC8vIEZJWE1FOiBDdXJyZW50bHkgdGhlcmUgaXMgYSBXS0NBQ0ZMYXllclJlbmRl
cmVyIGZvciBlYWNoIFdlYlZpZXcgYW5kIGVhY2gKIC8vIGhhcyBpdHMgb3duIENBUmVuZGVyT0dM
Q29udGV4dCBhbmQgRGlyZWN0M0REZXZpY2U5LCB3aGljaCBpcyBpbmVmZmljaWVudC4KIC8vICho
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4NTUpCi1jbGFzcyBXS0NB
Q0ZMYXllclJlbmRlcmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkxheWVy
UmVuZGVyZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdLQ0FDRkxheWVyUmVuZGVyZXIp
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdLQ0FDRkxheWVyUmVuZGVyZXI+IGNy
ZWF0ZShXS0NBQ0ZMYXllclJlbmRlcmVyQ2xpZW50Kik7CiAgICAgfldLQ0FDRkxheWVyUmVuZGVy
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggYWJkYzBmMi4uZjIyNzZhYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKQEAgLTI0LDcgKzI0LDYgQEAKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzcsNyArMzYsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB1bnJlZ2lzdGVyRm9udChjb25zdCBTdHJpbmcmIGZvbnROYW1lKSA9IDA7CiAgICAgfTsKIAot
ICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgICAgIDogbV9uYW1l
KG5hbWUpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvRm9udFBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5j
ZS9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggZTczYTdiMi4uOTg2MjdkNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTI4
LDcgKzI4LDYgQEAKICNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJGb250
T3JpZW50YXRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KIAogdHlwZWRl
ZiBzdHJ1Y3QgdGFnVEVYVE1FVFJJQ1cgVEVYVE1FVFJJQzsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKaW5kZXgg
YTUyNjU4Zi4uZmJlMWEyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKQEAgLTQzOSw3ICs0MzksOCBAQCBz
dGF0aWMgdm9pZCByb3RhdGVCaXRtYXAoU2hhcmVkQml0bWFwKiBkZXN0Qm1wLCBjb25zdCBTaGFy
ZWRCaXRtYXAqIHNvdXJjZUJtcCwgYwogICAgICAgICBfcm90YXRlQml0bWFwPHVuc2lnbmVkLCBm
YWxzZT4oZGVzdEJtcCwgc291cmNlQm1wLCB0cmFuc2Zvcm0pOwogfQogCi1jbGFzcyBUcmFuc3Bh
cmVudExheWVyREMgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc3BhcmVudExheWVyREMgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW50TGF5ZXJEQyk7CiBwdWJsaWM6CiAg
ICAgVHJhbnNwYXJlbnRMYXllckRDKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSogZGF0
YSwgSW50UmVjdCYgb3JpZ1JlY3QsIGNvbnN0IEludFJlY3QqIHJlY3RCZWZvcmVUcmFuc2Zvcm0g
PSAwLCBpbnQgYWxwaGEgPSAyNTUsIGJvb2wgcGFpbnRJbWFnZSA9IGZhbHNlKTsKICAgICB+VHJh
bnNwYXJlbnRMYXllckRDKCk7CkBAIC01NTksNyArNTYwLDggQEAgdm9pZCBUcmFuc3BhcmVudExh
eWVyREM6OmZpbGxBbHBoYUNoYW5uZWwoKQogICAgIH0KIH0KIAotY2xhc3MgU2NvcGVEQ1Byb3Zp
ZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgU2NvcGVEQ1Byb3ZpZGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY29wZURDUHJvdmlkZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNj
b3BlRENQcm92aWRlcihHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEpCiAgICAg
ICAgIDogbV9kYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGNjMzQ4ZTMuLjg2Zjk5YjIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0yNCwxNCArMjQsMTQgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIK
ICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCi0g
ICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgKaW5kZXggZTE0YTU4My4uMGMwN2MwNyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9y
IGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICAvLyBDcmVhdGVkIGZyb20gdGhlIEV2
ZW50SGFuZGxlckd0ayB0byBiZSB1c2VkIGJ5IHRoZSBkb20KICAgICBjbGFzcyBDbGlwYm9hcmRH
dGsgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPENsaXBib2FyZEd0az4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBw
b2xpY3ksIEd0a0NsaXBib2FyZCogY2xpcGJvYXJkLCBGcmFtZSogZnJhbWUpCiAgICAgICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCmluZGV4
IGYyMDlkZGEuLjY3MDkxNWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVj
b2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9JbWFnZURlY29kZXIuaApAQCAtMjIxLDcgKzIyMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAvLyBzZXRNYXhOdW1QaXhlbHMoKSB0byBzcGVjaWZ5IHRoZSBiaWdnZXN0IHNpemUgdGhh
dCBkZWNvZGVkIGltYWdlcyBjYW4KICAgICAvLyBoYXZlLiBJbWFnZSBkZWNvZGVycyB3aWxsIGRl
ZmxhdGUgdGhvc2UgaW1hZ2VzIHRoYXQgYXJlIGJpZ2dlciB0aGFuCiAgICAgLy8gbV9tYXhOdW1Q
aXhlbHMuIChOb3Qgc3VwcG9ydGVkIGJ5IGFsbCBpbWFnZSBkZWNvZGVycyB5ZXQpCi0gICAgY2xh
c3MgSW1hZ2VEZWNvZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZURl
Y29kZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZURlY29kZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2Rlcihi
b29sIHByZW11bHRpcGx5QWxwaGEsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUpCiAg
ICAgICAgICAgICA6IG1fc2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aAppbmRleCA3MTg3ZWNmLi4zOWVhZGRhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9DbGlwYm9hcmRNYWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMu
aApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFz
cyBDbGlwYm9hcmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPENsaXBib2FyZE1hYz4gY3JlYXRlKENsaXBib2FyZFR5cGUgY2xpcGJvYXJk
VHlwZSwgTlNQYXN0ZWJvYXJkICpwYXN0ZWJvYXJkLCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9s
aWN5LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9M
b2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaAppbmRleCA5MGJlYjQwLi5iOTkwZDc0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQu
aApAQCAtMTcsNyArMTcsNiBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8K
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWZkZWYgX19PQkpDX18KIEBjbGFz
cyBOU0dyYXBoaWNzQ29udGV4dDsKQEAgLTMxLDcgKzMwLDggQEAgY2xhc3MgR3JhcGhpY3NDb250
ZXh0OwogICAgIAogLy8gVGhpcyBjbGFzcyBhdXRvbWF0aWNhbGx5IHNhdmVzIGFuZCByZXN0b3Jl
cyB0aGUgY3VycmVudCBOU0dyYXBoaWNzQ29udGV4dCBmb3IKIC8vIGZ1bmN0aW9ucyB3aGljaCBj
YWxsIG91dCBpbnRvIEFwcEtpdCBhbmQgcmVseSBvbiB0aGUgY3VycmVudENvbnRleHQgYmVpbmcg
c2V0Ci1jbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQpOwogcHVibGljOgogICAgIExv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4
dCk7CiAgICAgfkxvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0gYi9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TaGFyZWRUaW1lck1hYy5tbQppbmRleCBjYzlmZjE3Li40NDZiZGFjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbQorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TaGFyZWRUaW1lck1hYy5tbQpAQCAtMjksNyArMjksNiBAQAogI2ltcG9ydCA8SU9L
aXQvSU9NZXNzYWdlLmg+CiAjaW1wb3J0IDxJT0tpdC9wd3JfbWd0L0lPUE1MaWIuaD4KICNpbXBv
cnQgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW1wb3J0IDx3dGYvTm9uY29weWFibGUuaD4KICNpbXBv
cnQgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW1wb3J0IDx3dGYvVW51c2VkUGFyYW0uaD4KIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAppbmRleCAxZmY2MzQ0Li5jMWY1NTIyIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaApAQCAtMTQ1LDYgKzE0NSw3IEBAIHByaXZhdGU6CiB0
eXBlZGVmIFZlY3RvcjxCbG9iRGF0YUl0ZW0+IEJsb2JEYXRhSXRlbUxpc3Q7CiAKIGNsYXNzIEJs
b2JEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxCbG9iRGF0YT4gY3JlYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAppbmRleCA4N2QwZWYzLi4xMTJlMzE1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCkBAIC0yMywxNCArMjMsMTQgQEAK
IAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBEb2N1bWVudDsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9ybURhdGFCdWls
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvcm1EYXRhQnVpbGRlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRm9ybURhdGFCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgVGV4dEVuY29kaW5nIGVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQoY29uc3QgU3RyaW5nJiBh
Y2NlcHRDaGFyc2V0LCBEb2N1bWVudCogZG9jdW1lbnQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCmluZGV4IGQxZjJkYjQuLmZlYTQzOTRk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZp
ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVm
aW5lIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaWYgUExBVEZPUk0oTUFDKQogCkBAIC02MSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFz
cyBOZXR3b3JrU3RhdGVOb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3
b3JrU3RhdGVOb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRl
Tm90aWZpZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBOZXR3b3Jr
U3RhdGVOb3RpZmllcigpOwogICAgIHZvaWQgc2V0TmV0d29ya1N0YXRlQ2hhbmdlZEZ1bmN0aW9u
KHZvaWQgKCopKCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZUludGVybmFsLmgKaW5kZXggOWNjY2VjZC4uYzI5OWNlNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCkBAIC04MCw3ICs4MCw4
IEBAIGNsYXNzIE5TVVJMQ29ubmVjdGlvbjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBSZXNvdXJjZUhhbmRsZUNsaWVudDsKIAotICAgIGNsYXNzIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUhhbmRsZUludGVybmFs
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZXNvdXJj
ZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGMsIGJvb2wgZGVmZXJzTG9hZGlu
ZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAgICAgICA6IG1fY2xpZW50KGMpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAppbmRleCAz
M2ExODRlLi5mNzk1ODRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlcXVlc3RCYXNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICAvLyBEbyBub3Qg
dXNlIHRoaXMgdHlwZSBkaXJlY3RseS4gIFVzZSBSZXNvdXJjZVJlcXVlc3QgaW5zdGVhZC4KLSAg
ICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAg
IGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VS
ZXF1ZXN0LCBiYXNlZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAg
ZW51bSBUYXJnZXRUeXBlIHsKQEAgLTIwNSw3ICsyMDYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNv
bXBhcmUoYSwgYik7IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVz
dCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAot
ICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFi
bGUgeworICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRh
QmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKKyAgICAgICAgQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSgpIHsgfQogICAgICAgICBLVVJMIG1fdXJs
OwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IG1fY2FjaGVQb2xpY3k7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4
IDljNTRiYWIuLmUwNzc0YzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlc3BvbnNlQmFzZS5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIFJlc291cmNlUmVzcG9u
c2U7CiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YTsKIAogLy8gRG8gbm90
IHVzZSB0aGlzIGNsYXNzIGRpcmVjdGx5LCB1c2UgdGhlIGNsYXNzIFJlc3BvbnNlUmVzcG9uc2Ug
aW5zdGVhZAotY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2UgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8UmVzb3VyY2VSZXNwb25zZT4g
YWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhPik7CiAKQEAg
LTE3NSw3ICsxNzYsMTAgQEAgcHJpdmF0ZToKIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYikgeyByZXR1cm4g
UmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbXBhcmUoYSwgYik7IH0KIGlubGluZSBib29sIG9wZXJh
dG9yIT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
YikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLXN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVz
cG9uc2VEYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDcm9zc1RocmVhZFJlc291cmNl
UmVzcG9uc2VEYXRhQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UpOworcHVibGljOgorICAgIENyb3NzVGhyZWFkUmVzb3Vy
Y2VSZXNwb25zZURhdGFCYXNlKCkgeyB9CiAgICAgS1VSTCBtX3VybDsKICAgICBTdHJpbmcgbV9t
aW1lVHlwZTsKICAgICBsb25nIGxvbmcgbV9leHBlY3RlZENvbnRlbnRMZW5ndGg7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApp
bmRleCBhM2ZmZWIyLi5jOGJiN2Y4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTYwLDcgKzYwLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJWkUgODE5MgogCi1jbGFzcyBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJs
aWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlICYsIFZlY3RvcjxjaGFyPiYpOwog
ICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKaW5kZXggMzhkOWNkMS4uZjUwNTQw
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRs
ZVdpbi5jcHAKQEAgLTc2LDcgKzc2LDggQEAgc3RhdGljIFN0cmluZyBxdWVyeUhUVFBIZWFkZXIo
SElOVEVSTkVUIHJlcXVlc3RIYW5kbGUsIERXT1JEIGluZm9MZXZlbCkKIH0KIAogCi1jbGFzcyBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJs
aWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNv
cmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPGNoYXI+JiwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAppbmRleCA1YWNhMWE2Li5mYjVhYmVmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcg
YW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICBjbGFzcyBDbGlwYm9hcmRRdCA6IHB1YmxpYyBD
bGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBR
TWltZURhdGEqIHJlYWRhYmxlQ2xpcGJvYXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBT
UUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEZ1bGw7CiBleHRlcm4g
Y29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsKIAotY2xhc3MgU1FMaXRlRGF0YWJhc2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlRGF0YWJhc2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsKICAgICBmcmllbmQgY2xhc3MgU1FMaXRlVHJh
bnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0YWJhc2UoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlU3RhdGVtZW50LmgKaW5kZXggMTQ0NGYwZS4uZmQxYWJmYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVtZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgU1FMaXRlU3RhdGVtZW50KFNRTGl0ZURhdGFiYXNlJiwgY29uc3QgU3RyaW5n
Jik7CiAgICAgflNRTGl0ZVN0YXRlbWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRy
YW5zYWN0aW9uLmgKaW5kZXggOTI0MjQxZi4uOWUzM2NmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVUcmFuc2FjdGlvbi5oCkBAIC0yNiwxNCArMjYsMTMgQEAKICNpZm5kZWYgU1FMaXRl
VHJhbnNhY3Rpb25faAogI2RlZmluZSBTUUxpdGVUcmFuc2FjdGlvbl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxpdGVE
YXRhYmFzZTsKIAotY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUK
LXsKK2NsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
UUxpdGVUcmFuc2FjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IFNRTGl0ZVRyYW5zYWN0aW9uKFNRTGl0ZURhdGFiYXNlJiBkYiwgYm9vbCByZWFkT25seSA9IGZh
bHNlKTsKICAgICB+U1FMaXRlVHJhbnNhY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVz
b2x2ZXIuaAppbmRleCAxZjg3MTE1Li4wNTZlZDcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvQmlkaVJlc29sdmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlS
ZXNvbHZlci5oCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIEJpZGlSZXNvbHZlcl9oCiAKICNp
bmNsdWRlICJCaWRpQ29udGV4dC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0x
MjYsNyArMTI1LDggQEAgc3RydWN0IEJpZGlDaGFyYWN0ZXJSdW4gewogICAgIEJpZGlDaGFyYWN0
ZXJSdW4qIG1fbmV4dDsKIH07CiAKLXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVu
PiBjbGFzcyBCaWRpUmVzb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPGNs
YXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQmlkaVJlc29sdmVyKTsKIHB1YmxpYyA6CiAgICAgQmlkaVJlc29sdmVy
KCkKICAgICAgICAgOiBtX2RpcmVjdGlvbihXVEY6OlVuaWNvZGU6Ok90aGVyTmV1dHJhbCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKaW5kZXggZjE2MTFlNS4uNTM2
ZWQ0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9u
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKQEAgLTMw
LDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWd1bGFyRXhwcmVz
c2lvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlZ3VsYXJFeHByZXNzaW9uIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVz
c2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4
cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAppbmRleCBjNmFmMzhhLi4xMmNm
NjQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNp
bmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBAIC01Nyw4ICs1
NiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFi
bGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAotICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgorICAgICAgICBUZXh0Q29kZWMoKSB7IH0KICAgICAgICAgdmlydHVhbCB+VGV4dENvZGVjKCk7
CiAKICAgICAgICAgU3RyaW5nIGRlY29kZShjb25zdCBjaGFyKiBzdHIsIHNpemVfdCBsZW5ndGgs
IGJvb2wgZmx1c2ggPSBmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90
cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNj
b2Rlci9Gb250VHJhbnNjb2Rlci5oCmluZGV4IDY3ZGI5NzcuLmJmZmY5M2UgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaApAQCAtMzIs
NyArMzIsNiBAQAogI2RlZmluZSBGb250VHJhbnNjb2Rlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzks
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250RGVzY3JpcHRpb247CiBjbGFzcyBU
ZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvbnRUcmFuc2NvZGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEZvbnRUcmFuc2NvZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250
VHJhbnNjb2Rlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZvaWQg
Y29udmVydChTdHJpbmcmIHRleHQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRF
bmNvZGluZyogPSAwKSBjb25zdDsKICAgICBib29sIG5lZWRzVHJhbnNjb2RpbmcoY29uc3QgRm9u
dERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9DbGlwYm9hcmRXaW4uaAppbmRleCBjZTY0Yjg1Li43NzlkYTI2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9DbGlwYm9hcmRXaW4uaApAQCAtNDEsNiArNDEsNyBAQCBjbGFzcyBXQ0RhdGFPYmplY3Q7
CiAKIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcgYW5kIGRy
b3AgYW5kIGNvcHkvcGFzdGUKIGNsYXNzIENsaXBib2FyZFdpbiA6IHB1YmxpYyBDbGlwYm9hcmQs
IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUo
Q2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJRGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xp
cGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZl
Ny4uZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2Fn
ZUJyb2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJy
b2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVu
ZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGlj
OgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlz
dGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93
TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0
YWJhc2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmluZGV4IGIxNDYwNWYu
LmM0MTJjMDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisr
KyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFj
a2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVnaW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5E
YXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2Ug
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGx1Z2luRGF0YWJhc2UoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIu
aCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKaW5kZXggNjEw
ZTg5Yy4uMjliYzRlNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJl
YWRTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVk
dWxlci5oCkBAIC0zNiw3ICszNiw4IEBAIHR5cGVkZWYgTlBQX3QqIE5QUDsKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIHZvaWQgTWFpblRocmVhZEZ1bmN0aW9u
KHZvaWQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaCBiL1dl
YkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggZGVhZWM5OS4uYTk5YjZlYiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAorKysgYi9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luVmlldy5oCkBAIC05Myw3ICs5Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgUGx1Z2luU3RhdHVzTG9hZGVkU3VjY2Vzc2Z1bGx5CiAgICAgfTsKIAotICAgIGNsYXNzIFBs
dWdpblJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBsdWdpblJlcXVl
c3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5SZXF1ZXN0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5SZXF1ZXN0KGNv
bnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNh
dGlvbiwgdm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91bGRBbGxvd1BvcHVwcykKICAgICAgICAg
ICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5J
bmZvLmgKaW5kZXggNWU2ZjYxOS4uZDc3ZDZjYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvQ29sdW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApAQCAt
MzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm8g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29sdW1uSW5mbyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIENvbHVtbkluZm8oKQogICAgICAgICA6IG1fZGVzaXJlZENvbHVtbldpZHRoKDApCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvQ291bnRlck5vZGUuaAppbmRleCA1MjlkNDA5Li41NTVlODFhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNkZWZpbmUgQ291bnRlck5vZGVfaAogCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiAvLyBUaGlzIGltcGxlbWVudHMgYSBjb3VudGVy
IHRyZWUgdGhhdCBpcyB1c2VkIGZvciBmaW5kaW5nIHBhcmVudHMgaW4gY291bnRlcnMoKSBsb29r
dXAsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAppbmRleCBjY2EzZTQyLi5iYmE2MDFlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL0xheW91dFN0YXRlLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkludFJlY3Qu
aCIKICNpbmNsdWRlICJJbnRTaXplLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyArMzYsOCBAQCBjbGFzcyBSZW5kZXJBcmVu
YTsKIGNsYXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgTGF5b3V0
U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5b3V0U3RhdGUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlKTsKIHB1YmxpYzoKICAgICBMYXlvdXRTdGF0
ZSgpCiAgICAgICAgIDogbV9jbGlwcGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQXJlbmEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKaW5k
ZXggMzIxMzlmYi4uNzg3YTY4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QXJlbmEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCkBAIC0zNiwxMyAr
MzYsMTMgQEAKICNkZWZpbmUgUmVuZGVyQXJlbmFfaAogCiAjaW5jbHVkZSAiQXJlbmEuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0
aWMgY29uc3Qgc2l6ZV90IGdNYXhSZWN5Y2xlZFNpemUgPSA0MDA7CiAKLWNsYXNzIFJlbmRlckFy
ZW5hIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckFyZW5hIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZW5kZXJBcmVuYSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFJlbmRlckFyZW5hKHVuc2lnbmVkIGFyZW5hU2l6ZSA9IDQwOTYpOwogICAg
IH5SZW5kZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggNTE1MzIxOC4uYTA2
Y2Q4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0zNTQsNyArMzU0LDkgQEAgcHJpdmF0
ZToKICAgICAgICAgYm9vbCBldmVySGFkTGF5b3V0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRmxv
YXRpbmdPYmplY3QgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmxvYXRpbmdPYmplY3QpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVz
ZXMgYml0cyBzbyB5b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBi
b3RoIGxlZnQgYW5kIHJpZ2h0LgogICAgICAgICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBG
bG9hdFJpZ2h0ID0gMiwgRmxvYXRCb3RoID0gMyB9OwogCkBAIC02ODEsNyArNjgzLDkgQEAgcHJp
dmF0ZToKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogbV9jb250aW51YXRpb247CiAgICAgCiAg
ICAgLy8gQWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1k
ZWZhdWx0IHZhbHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFi
bGUgeworICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworICAgIHB1YmxpYzoKICAgICAgICAgUmVuZGVyQmxvY2tSYXJlRGF0YShjb25zdCBSZW5kZXJC
bG9jayogYmxvY2spIAogICAgICAgICAgICAgOiBtX21hcmdpbnMocG9zaXRpdmVNYXJnaW5CZWZv
cmVEZWZhdWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5CZWZvcmVEZWZhdWx0KGJsb2NrKSwgcG9z
aXRpdmVNYXJnaW5BZnRlckRlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkFmdGVyRGVmYXVs
dChibG9jaykpCiAgICAgICAgICAgICAsIG1fcGFnaW5hdGlvblN0cnV0KDApCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggYmQxOTE2NS4uNmI3ZjE5OSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtNTMsNyAr
NTMsOCBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGNMb3dRdWFsaXR5VGltZVRocmVzaG9sZCA9IDAu
NTAwOyAvLyA1MDAgbXMKIHR5cGVkZWYgcGFpcjxSZW5kZXJCb3hNb2RlbE9iamVjdCosIGNvbnN0
IHZvaWQqPiBMYXN0UGFpbnRTaXplTWFwS2V5OwogdHlwZWRlZiBIYXNoTWFwPExhc3RQYWludFNp
emVNYXBLZXksIEludFNpemU+IExhc3RQYWludFNpemVNYXA7CiAKLWNsYXNzIEltYWdlUXVhbGl0
eUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VRdWFsaXR5Q29u
dHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VRdWFsaXR5Q29udHJvbGxl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEltYWdlUXVhbGl0eUNv
bnRyb2xsZXIoKTsKICAgICBib29sIHNob3VsZFBhaW50QXRMb3dRdWFsaXR5KEdyYXBoaWNzQ29u
dGV4dCosIFJlbmRlckJveE1vZGVsT2JqZWN0KiwgSW1hZ2UqLCBjb25zdCB2b2lkKiBsYXllciwg
Y29uc3QgSW50U2l6ZSYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJh
bWVTZXQuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKaW5kZXggZDBhYjM0
Ni4uMWU1MTFkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03Myw3ICs3Myw4
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1NwbGl0ID0gLTE7
CiAKLSAgICBjbGFzcyBHcmlkQXhpcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
R3JpZEF4aXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmlkQXhpcyk7CiAgICAg
cHVibGljOgogICAgICAgICBHcmlkQXhpcygpOwogICAgICAgICB2b2lkIHJlc2l6ZShpbnQpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCmluZGV4IDIzNDY3MTIuLmEyMGM1
NWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKQEAgLTI5LDEzICsy
OSwxMyBAQAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2VIYW5kbGUuaCIKICNpbmNsdWRlICJTdHlsZUltYWdlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0Owog
Ci1jbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlbmRlckltYWdlUmVzb3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcklt
YWdlUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmgKaW5kZXggZmIzYWI2Ny4uMDFhMmYxOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBDb21wb3NpdGluZ0xheWVyVHlw
ZSB7CiAvLyAKIC8vIFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJhY2tpbmcgZm9yIGVhY2ggUmVu
ZGVyTGF5ZXIgdGhhdCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBSZW5kZXJMYXllckJhY2tpbmcg
OiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJMYXllckJhY2tpbmcoUmVuZGVyTGF5ZXIqKTsK
ICAgICB+UmVuZGVyTGF5ZXJCYWNraW5nKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNYXJxdWVlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKaW5k
ZXggNzk5OThlZC4uOThmZGRiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaApAQCAtNTMs
NyArNTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJMYXllcjsKIAogLy8g
VGhpcyBjbGFzcyBoYW5kbGVzIHRoZSBhdXRvLXNjcm9sbGluZyBvZiBsYXllcnMgd2l0aCBvdmVy
ZmxvdzogbWFycXVlZS4KLWNsYXNzIFJlbmRlck1hcnF1ZWUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUmVuZGVyTWFycXVlZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVy
TWFycXVlZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGV4cGxpY2l0
IFJlbmRlck1hcnF1ZWUoUmVuZGVyTGF5ZXIqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJNYXJxdWVl
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAppbmRleCAyNTNhNjcyLi5kOGYyZTVlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUKIC8vIEV4YW1wbGVzIG9mIHZpc3VhbCBvdmVyZmxvdyBhcmUgc2hhZG93cywgdGV4
dCBzdHJva2UgKGFuZCBldmVudHVhbGx5IG91dGxpbmUgYW5kIGJvcmRlci1pbWFnZSkuCiAKIC8v
IFRoaXMgb2JqZWN0IGlzIGFsbG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMg
aGF2ZSBub24tZGVmYXVsdCB2YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCi1jbGFzcyBSZW5kZXJP
dmVyZmxvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJPdmVyZmxvdyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyT3ZlcmZsb3cpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBkZWZh
dWx0UmVjdCA9IEludFJlY3QoKSkgCiAgICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxvdyhkZWZh
dWx0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNv
dXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBl
ci5oCmluZGV4IDIwMTUzZTkuLjgxYzc5ZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xp
cHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE93
blB0cjxJbWFnZUJ1ZmZlcj4gY2xpcE1hc2tJbWFnZTsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNlbGVjdGlvbkluZm8uaAppbmRleCBhMDlmYzFhLi40NWNhODEzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQogICAgICAgICA6
IG1fb2JqZWN0KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3Lmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggYjVkMDI5NC4uMTNhMjM3MiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtMjU2LDcgKzI1Niw4IEBAIHZvaWQgdG9SZW5kZXJW
aWV3KGNvbnN0IFJlbmRlclZpZXcqKTsKIAogCiAvLyBTdGFjay1iYXNlZCBjbGFzcyB0byBhc3Np
c3Qgd2l0aCBMYXlvdXRTdGF0ZSBwdXNoL3BvcAotY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGVNYWludGFpbmVyKTsKIHB1YmxpYzoK
ICAgICAvLyBjdG9yIHRvIHB1c2ggbm93CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRl
clZpZXcqIHZpZXcsIFJlbmRlckJveCogcm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJs
ZVN0YXRlID0gZmFsc2UsIGludCBwYWdlSGVpZ2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdl
ZCA9IGZhbHNlLCBDb2x1bW5JbmZvKiBjb2xJbmZvID0gMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyV2lkZ2V0UHJvdGVjdG9yLmgKaW5kZXggNzg4MzA0Yy4uOGJmNmFjOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgOiBwcml2YXRl
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKTsKIHB1YmxpYzoKICAgICBSZW5k
ZXJXaWRnZXRQcm90ZWN0b3IoUmVuZGVyV2lkZ2V0KiBvYmplY3QpCiAgICAgICAgIDogbV9vYmpl
Y3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJU
b29scy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCmluZGV4IDli
Y2M3YTQuLjkyMjU4MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVm
ZmVyVG9vbHMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgK
QEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiSW1hZ2VCdWZm
ZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC0zMiw3ICszMSw4IEBAIGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBoaWNzQ29u
dGV4dDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdJbWFnZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgYm9vbCBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlVGFy
Z2V0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjbGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0LCBPd25Q
dHI8SW1hZ2VCdWZmZXI+JiwgQ29sb3JTcGFjZSk7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3Vi
dHJlZVRvSW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXIqLCBSZW5kZXJPYmplY3QqLCBjb25zdCBBZmZp
bmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxh
eW91dEluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAppbmRl
eCA4ZjU5NzAzNS4uMDcyYjRiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFy
a2VyTGF5b3V0SW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dElu
Zm8uaApAQCAtMjMsNyArMjMsNiBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiUmVuZGVy
T2JqZWN0LmgiCiAjaW5jbHVkZSAiU1ZHTWFya2VyRGF0YS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDggQEAgc3Ry
dWN0IE1hcmtlckxheW91dCB7CiAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKIH07CiAKLWNs
YXNzIFNWR01hcmtlckxheW91dEluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
TWFya2VyTGF5b3V0SW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHTWFya2VyTGF5
b3V0SW5mbyk7CiBwdWJsaWM6CiAgICAgU1ZHTWFya2VyTGF5b3V0SW5mbygpOwogICAgIH5TVkdN
YXJrZXJMYXlvdXRJbmZvKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNv
dXJjZXMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCmluZGV4IDQ5NTkxY2Yu
LmM0NjYzNTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCkBAIC0yMiw3ICsyMiw2IEBACiAK
ICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKQEAgLTM4LDcgKzM3LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VN
YXNrZXI7CiBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2YgcmVzb3Vy
Y2VzIGFzc29jaWF0ZWQgd2l0aCBhIFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3VyY2VzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNo
ZS5oCmluZGV4IDRhNjE1NzAuLjA4OWI2MjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2Vz
Q2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRl
clNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdS
ZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXND
YWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDYWNoZSgpOwog
ICAgIH5TVkdSZXNvdXJjZXNDYWNoZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNl
c0N5Y2xlU29sdmVyLmgKaW5kZXggZTYzZWU2My4uMzQxMjU4ZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCkBAIC0yOSw3ICsyOSw4IEBAIGNsYXNzIFJl
bmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZH
UmVzb3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIpOwogcHVibGljOgogICAgIFNWR1Jl
c291cmNlc0N5Y2xlU29sdmVyKFJlbmRlck9iamVjdCosIFNWR1Jlc291cmNlcyopOwogICAgIH5T
VkdSZXNvdXJjZXNDeWNsZVNvbHZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
VGFibGVMYXlvdXQuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKaW5kZXggZTBm
YThlZS4uYmUwMWM2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCkBAIC0yMSwxMyArMjEsMTMg
QEAKICNpZm5kZWYgVGFibGVMYXlvdXRfaAogI2RlZmluZSBUYWJsZUxheW91dF9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBS
ZW5kZXJUYWJsZTsKIAotY2xhc3MgVGFibGVMYXlvdXQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgVGFibGVMYXlvdXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhYmxlTGF5b3V0
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGFibGVMYXlvdXQoUmVu
ZGVyVGFibGUqIHRhYmxlKQogICAgICAgICA6IG1fdGFibGUodGFibGUpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJh
bnNmb3JtU3RhdGUuaAppbmRleCAwYjRjYTQ2Li4zNmZjNmVjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5z
Zm9ybVN0YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgog
I2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtU3RhdGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVHJhbnNmb3JtU3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRyYW5zZm9ybVN0YXRlKTsKIHB1YmxpYzoKICAgICBlbnVtIFRyYW5zZm9ybURpcmVjdGlv
biB7IEFwcGx5VHJhbnNmb3JtRGlyZWN0aW9uLCBVbmFwcGx5SW52ZXJzZVRyYW5zZm9ybURpcmVj
dGlvbiB9OwogICAgIGVudW0gVHJhbnNmb3JtQWNjdW11bGF0aW9uIHsgRmxhdHRlblRyYW5zZm9y
bSwgQWNjdW11bGF0ZVRyYW5zZm9ybSB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
VmVydGljYWxQb3NpdGlvbkNhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0
aW9uQ2FjaGUuaAppbmRleCA0ZGVhZWY1Li5iMjViMmY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Jl
bmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9W
ZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBjb25zdCBpbnQgUG9zaXRp
b25Ub3AgPSAtMHg3ZmZmZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvbkJvdHRvbSA9IDB4N2ZmZmZm
ZmY7CiBjb25zdCBpbnQgUG9zaXRpb25VbmRlZmluZWQgPSAweDgwMDAwMDAwOwogCi1jbGFzcyBW
ZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmVydGlj
YWxQb3NpdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0aWNhbFBvc2l0
aW9uQ2FjaGUpOwogcHVibGljOgogICAgIFZlcnRpY2FsUG9zaXRpb25DYWNoZSgpCiAgICAgeyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAppbmRleCA0Zjk2NGEyLi4xNWY2OTEy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKQEAgLTMzLDcgKzMzLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTdHlsZUltYWdlOwogCi1zdHJ1Y3QgQ29udGVu
dERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ29udGVudERhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENvbnRlbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlwZShDT05URU5UX05PTkUpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2FkLi44MTQw
MzllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAgLTMwLDcg
KzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29udGVudCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb3VudGVyQ29udGVudChjb25zdCBB
dG9taWNTdHJpbmcmIGlkZW50aWZpZXIsIEVMaXN0U3R5bGVUeXBlIHN0eWxlLCBjb25zdCBBdG9t
aWNTdHJpbmcmIHNlcGFyYXRvcikKICAgICAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKaW5kZXggNDlmYjI5NC4uODQ3ZThkZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKQEAgLTU5LDcgKzU5LDggQEAgc3RydWN0IEZp
bGxTaXplIHsKICAgICBMZW5ndGhTaXplIHNpemU7CiB9OwogCi1jbGFzcyBGaWxsTGF5ZXIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGaWxsTGF5ZXIgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZpbGxMYXllcihFRmlsbExheWVyVHlwZSk7CiAg
ICAgfkZpbGxMYXllcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hh
ZG93RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCmluZGV4IGNh
ODNhZjAuLmEzZGRmMTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRv
d0RhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKQEAgLTI2
LDcgKzI2LDYgQEAKICNkZWZpbmUgU2hhZG93RGF0YV9oCiAKICNpbmNsdWRlICJDb2xvci5oIgot
I2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzcsNyArMzYsOCBAQCBlbnVtIFNoYWRvd1N0eWxlIHsgTm9ybWFsLCBJbnNldCB9OwogCiAv
LyBUaGlzIHN0cnVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCBzaGFkb3dzIGZvciB0aGUgdGV4
dC1zaGFkb3cgYW5kIGJveC1zaGFkb3cgcHJvcGVydGllcy4KIAotY2xhc3MgU2hhZG93RGF0YSA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFNoYWRvd0RhdGEgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAgICA6IG1f
eCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxk
ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKaW5kZXgg
MzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5r
QnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7CiAvLyBQ
aGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQsIGNvbXB1
dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVkIGluIHRo
ZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQaGFzZSB0
aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBwbGllZCB0
byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVuZ3RoKS4K
IAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0
Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICsz
OCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0
cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAv
LyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0
RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwog
cHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQg
YnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQwNThkOC4u
NjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5o
CkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVyU1ZHSW5s
aW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNo
IGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBv
YmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmUo
KTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7IHJldHVy
biBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkzZWYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZH
UmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsK
IGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0
TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1i
YXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25z
dCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMwLDcgKzMw
LDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAvLyBIZWxw
ZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2VybmluZycg
LyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1RleHRMYXlv
dXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlv
dXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0
RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmco
Y29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNr
LmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4uZTFkZjU5
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1dlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNrIGlzIGNv
bXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNyZWF0ZSB0
byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25p
emVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIp
OwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigpOwogCkBAIC02Nyw3ICs2
OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHZpcnR1YWwgfkRhdGFiYXNlVGFzaygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2VUcmFja2VyLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgK
aW5kZXggNzE0NWU2Yi4uYTFhNWJkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFi
YXNlVHJhY2tlci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaApAQCAt
NTYsNyArNTYsOCBAQCBjbGFzcyBEYXRhYmFzZVRyYWNrZXJDbGllbnQ7CiBzdHJ1Y3QgU2VjdXJp
dHlPcmlnaW5UcmFpdHM7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKENIUk9NSVVNKQogCi1jbGFzcyBE
YXRhYmFzZVRyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUcmFj
a2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRyYWNrZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplVHJh
Y2tlcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlUGF0aCk7CiAgICAgc3RhdGljIERhdGFiYXNlVHJh
Y2tlciYgdHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdU
cmFuc2FjdGlvbk1vbml0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rp
b25Nb25pdG9yLmgKaW5kZXggNzgzYTczMS4uNGZjYzIzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNp
ZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDQs
NyArNDMsOCBAQCBjbGFzcyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U7CiAvLyBGSVhN
RTogbW92ZSB0aGUgdmVjdG9yIG9mIHRyYW5zYWN0aW9ucyB0byBUTFMuIEtlZXBpbmcgaXQgc3Rh
dGljCiAvLyB3aWxsIG5vdCB3b3JrIG9uY2Ugd2UgYWRkIHN1cHBvcnQgZm9yIHdvcmtlcnMuIEFu
b3RoZXIgcG9zc2libGUKIC8vIHNvbHV0aW9uIGlzIHRvIGtlZXAgdGhlIHZlY3RvciBpbiB0aGUg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KLWNsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0
b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9u
aXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9u
aXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYWRkUGVuZGluZ1RyYW5zYWN0aW9uKElE
QlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSopOwogICAgIHN0YXRpYyB2b2lkIHJlbW92ZVBl
bmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmggYi9XZWJDb3JlL3N0b3Jh
Z2UvTG9jYWxTdG9yYWdlVGFzay5oCmluZGV4IGEyZTM1ZWEuLjI3YThlYjUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdl
L0xvY2FsU3RvcmFnZVRhc2suaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkOwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0
aGlzIGNsYXNzIHRvIFN0b3JhZ2VUYXNrCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsU3RvcmFnZVRhc2spOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQsIEFy
ZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvV2ViQ29yZS9zdG9y
YWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLmEyYzc4YzYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJDb3JlL3N0
b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAvLyBGSVhNRTogUmVu
YW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRo
cmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFk
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFkKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093
blB0cjxMb2NhbFN0b3JhZ2VUaHJlYWQ+IGNyZWF0ZSgpOwogICAgICAgICB+TG9jYWxTdG9yYWdl
VGhyZWFkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2Vy
LmggYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKaW5kZXggZWM5NjIwYy4u
ODJkN2M3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5o
CisrKyBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaApAQCAtNDEsNyArNDEs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogY2xhc3Mg
T3JpZ2luVXNhZ2VSZWNvcmQ7CiAKLWNsYXNzIE9yaWdpblF1b3RhTWFuYWdlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE9yaWdpblF1b3RhTWFuYWdlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIE9yaWdpblF1b3RhTWFuYWdlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaCBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2Fn
ZVJlY29yZC5oCmluZGV4IGE4MzBlNjguLjc1NTdlYWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Rv
cmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2Fn
ZVJlY29yZC5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gT2Jq
ZWN0cyBvZiB0aGlzIGNsYXNzIGNhbiBiZSB1c2VkIGZyb20gbXVsdGlwbGUgdGhyZWFkcyB3aXRo
IGV4dGVybmFsIHN5bmNocm9uaXphdGlvbi4KIC8vIFN0cmluZyBhcmd1bWVudHMgYXJlIGFsc28g
c3VwcG9zZWQgdG8gYmUgZGVlcGx5IGNvcGllZCBieSB0aGUgY2FsbGVyIHdoZW4gbmVjZXNzYXJ5
LgotY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
T3JpZ2luVXNhZ2VSZWNvcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9yaWdpblVzYWdl
UmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgT3JpZ2luVXNh
Z2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9u
Q2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBm
ZWQwNjU3Li4zOTg4OGQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rp
b25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApA
QCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCArNDAsMTAg
QEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhlIFNRTFRyYW5z
YWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGludGVyZXN0ZWQK
IC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGluIGEgdHJhbnNh
Y3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
KyAgICBTUUxUcmFuc2FjdGlvbkNsaWVudCgpIHsgfQogICAgIHZvaWQgZGlkQ29tbWl0V3JpdGVU
cmFuc2FjdGlvbihBYnN0cmFjdERhdGFiYXNlKik7CiAgICAgdm9pZCBkaWRFeGVjdXRlU3RhdGVt
ZW50KEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICBib29sIGRpZEV4Y2VlZFF1b3RhKEFic3RyYWN0
RGF0YWJhc2UqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5o
CmluZGV4IDk0MzYwYzAuLmZkNzY3ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9TUUxU
cmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0
aW9uQ29vcmRpbmF0b3IuaApAQCAtNDMsOCArNDMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgY2xhc3MgU1FMVHJhbnNhY3Rpb247CiAKLSAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTUUxUcmFuc2FjdGlv
bkNvb3JkaW5hdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rp
b25Db29yZGluYXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAg
ICAgICAgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcigpIHsgfQogICAgICAgICB2b2lkIGFjcXVp
cmVMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgcmVsZWFzZUxvY2soU1FMVHJh
bnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCBzaHV0ZG93bigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmggYi9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4
dGVuc2lvbnMuaAppbmRleCBhMGNmMmJiLi4wZWQ2MmE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2
Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4
dGVuc2lvbnMuaApAQCAtMzgsNyArMzgsOCBAQCBjbGFzcyBTVkdTdHlsZWRFbGVtZW50OwogY2xh
c3MgU1ZHU01JTEVsZW1lbnQ7CiBjbGFzcyBTVkdTVkdFbGVtZW50OwogCi1jbGFzcyBTVkdEb2N1
bWVudEV4dGVuc2lvbnMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRG9jdW1lbnRF
eHRlbnNpb25zIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdEb2N1bWVudEV4dGVuc2lv
bnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hT
ZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNW
R0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRl
OgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRp
bmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0Nh
Y2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5z
aW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRh
aW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBz
dWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZH
IGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Zn
L1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgK
aW5kZXggNDI3NmM0YS4uZGEwZjRjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTIx
LDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICszMCw4IEBA
IGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZHRWxl
bWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBTVkdFbGVtZW50UmFyZURhdGEoKQogICAgICAgICA6IG1fY3Vyc29yRWxlbWVudCgw
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaCBiL1dlYkNvcmUvc3ZnL1NW
R0ZvbnREYXRhLmgKaW5kZXggZTg5N2E1OS4uZjIwMmQyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dmcvU1ZHRm9udERhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCkBAIC0yNSw3
ICsyNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHRm9udERhdGEgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRm9udERhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR0ZvbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgU1ZHRm9udERhdGEoU1ZHRm9udEZhY2VFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+U1ZH
Rm9udERhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgg
Yi9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCmluZGV4IGMwYWU3ZjMuLjhlNDNiOTQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKKysrIGIvV2ViQ29yZS9zdmcv
U1ZHUGF0aEJsZW5kZXIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAjaWYgRU5BQkxFKFNWRykKICNp
bmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU1ZHUGF0aEJsZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJs
ZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCbGVuZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUvc3ZnL1NW
R1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uMWY0NWRmOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0
ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3RyZWFtX2gK
IAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTQzLDcg
KzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXplb2Yo
dW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhC
eXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFt
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR1BhdGhC
eXRlU3RyZWFtPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhDb25zdW1lci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKaW5kZXggYjdjNWU3
My4uZGJiZGNhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKKysr
IGIvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2lm
IEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQwLDggKzM5LDEwIEBAIGVu
dW0gUGF0aFBhcnNpbmdNb2RlIHsKICAgICBVbmFsdGVyZWRQYXJzaW5nCiB9OwogCi1jbGFzcyBT
VkdQYXRoQ29uc3VtZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aENvbnN1
bWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQ29uc3VtZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoQ29uc3VtZXIoKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgaW5jcmVtZW50UGF0aFNlZ21lbnRDb3VudCgpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgY29udGludWVDb25zdW1pbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFu
dXAoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmggYi9XZWJD
b3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKaW5kZXggNzY3OWE5NS4uMDk2MTMxYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhQ
YXJzZXIuaApAQCAtMjksMTIgKzI5LDEyIEBACiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgi
CiAjaW5jbHVkZSAiU1ZHUGF0aFNlZy5oIgogI2luY2x1ZGUgIlNWR1BhdGhTb3VyY2UuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhQYXJzZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU1ZHUGF0aFBhcnNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHUGF0aFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJj
ZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLjc3YmY5ZmEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJDb3JlL3N2
Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU1ZHUGF0aFNvdXJjZSgpIHsg
fQogICAgIHZpcnR1YWwgflNWR1BhdGhTb3VyY2UoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBo
YXNNb3JlRGF0YSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1ZpZXdT
cGVjLmggYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCmluZGV4IDY4NmNlYzMuLmNkMTBjYTQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIvV2ViQ29yZS9zdmcv
U1ZHVmlld1NwZWMuaApAQCAtMzIsOCArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBTVkdFbGVtZW50OwogCiBjbGFzcyBTVkdWaWV3U3BlYyA6IHB1YmxpYyBTVkdGaXRUb1ZpZXdC
b3gsCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdab29tQW5kUGFuLAotICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAgICBwdWJs
aWMgU1ZHWm9vbUFuZFBhbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVmlld1NwZWMp
OwogcHVibGljOgogICAgIFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
U1ZHSW1hZ2UuY3BwCmluZGV4IGM5ODA0YWUuLmU4YTA2NTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
c3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHAKQEAgLTU1LDcgKzU1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDogcHVibGljIEVtcHR5
Q2hyb21lQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdJbWFnZUNocm9tZUNs
aWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0ltYWdlQ2hy
b21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJDb3JlL3dl
YmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJDb3JlL3dl
YmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGbG9hdDMy
QXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1lQW5hbHlz
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAgICAgUmVh
bHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIv
V2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDVi
Mzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMp
CiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsg
fQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25z
dCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29u
bmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDljNTIz
NzcuLmEzOWNkMGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFu
bmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDks
NiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5l
bENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVi
bGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJTb2Nr
ZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2ViU29j
a2V0Q2hhbm5lbENsaWVudCogY2xpZW50LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
cHJvdG9jb2wpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJTb2NrZXRDaGFubmVsKGNvbnRleHQs
IGNsaWVudCwgdXJsLCBwcm90b2NvbCkpOyB9CiAgICAgICAgIHZpcnR1YWwgfldlYlNvY2tldENo
YW5uZWwoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hh
a2UuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAppbmRleCBhNWI0
MjYwLi4zNzFkODUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFu
ZHNoYWtlLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCkBA
IC0zNywxMyArMzcsMTMgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
IldlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRIYW5kc2hh
a2VSZXNwb25zZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi0gICAgY2xh
c3MgV2ViU29ja2V0SGFuZHNoYWtlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBX
ZWJTb2NrZXRIYW5kc2hha2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJTb2Nr
ZXRIYW5kc2hha2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBNb2RlIHsKICAgICAgICAg
ICAgIEluY29tcGxldGUsIE5vcm1hbCwgRmFpbGVkLCBDb25uZWN0ZWQKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXgg
MzY2ZTRmYS4uOWYwYjAxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtl
clRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgV29y
a2VyTG9hZGVyUHJveHk7CiBjbGFzcyBXb3JrZXJSdW5Mb29wOwogCiBjbGFzcyBXb3JrZXJUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdv
cmtlckNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5n
JiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQogICAg
IHsKQEAgLTc3LDcgKzc4LDggQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICAvLyBHZW5lcmF0
ZWQgYnkgdGhlIGJyaWRnZS4gIFRoZSBQZWVyIGFuZCBpdHMgYnJpZGdlIHNob3VsZCBoYXZlIGlk
ZW50aWNhbAogICAgIC8vIGxpZmV0aW1lcy4KLSAgICBjbGFzcyBQZWVyIDogcHVibGljIFdlYlNv
Y2tldENoYW5uZWxDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGVlciA6
IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGVlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxD
bGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJv
eHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01v
ZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRl
eCAyMWUxNGExLi40OTAyYWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJl
ZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24g
b2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFz
cyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gSW52b2tlZCBvbmNlIHRoZSB3
b3JrZXIgc2NyaXB0IGhhcyBiZWVuIGxvYWRlZCB0byBmaXJlIHVwIHRoZSB3b3JrZXIgdGhyZWFk
LgogICAgICAgICB2b2lkIHdvcmtlclNjcmlwdExvYWRlZChTaGFyZWRXb3JrZXJQcm94eSYsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHdvcmtlclNjcmlwdCwgUGFzc093
blB0cjxNZXNzYWdlUG9ydENoYW5uZWw+KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb250ZXh0LmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCmluZGV4IDVk
MTVkOTQuLjA4NDY0MjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmgKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTQ1LDcgKzE0NSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpc0Nsb3NpbmcoKSB7IHJldHVy
biBtX2Nsb3Npbmc7IH0KIAogICAgICAgICAvLyBBbiBvYnNlcnZlciBpbnRlcmZhY2UgdG8gYmUg
bm90aWZpZWQgd2hlbiB0aGUgd29ya2VyIHRocmVhZCBpcyBnZXR0aW5nIHN0b3BwZWQuCi0gICAg
ICAgIGNsYXNzIE9ic2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
T2JzZXJ2ZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT2JzZXJ2ZXIpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBPYnNlcnZlcihXb3JrZXJDb250ZXh0Kik7CiAg
ICAgICAgICAgICB2aXJ0dWFsIH5PYnNlcnZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaAppbmRleCAzMzkzN2NlLi40ZGU5MGRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIldvcmtlckxvYWRl
clByb3h5LmgiCiAjaW5jbHVkZSAiV29ya2VyT2JqZWN0UHJveHkuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CkBAIC00Niw3ICs0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIGNsYXNzIFdvcmtlcjsKIAotICAgIGNsYXNz
IFdvcmtlck1lc3NhZ2luZ1Byb3h5IDogcHVibGljIFdvcmtlckNvbnRleHRQcm94eSwgcHVibGlj
IFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHksIHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2Vy
Q29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2Fk
ZXJQcm94eSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlck1lc3NhZ2luZ1By
b3h5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBXb3Jr
ZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclJ1bkxvb3AuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCmlu
ZGV4IDgzZjI0M2YuLjdiMzE0OWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJS
dW5Mb29wLmNwcAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKQEAgLTEw
NCw3ICsxMDQsOCBAQCBTdHJpbmcgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKQogICAgIHJl
dHVybiBTdHJpbmcoKTsKIH0KIAotY2xhc3MgUnVuTG9vcFNldHVwIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJ1bkxvb3BTZXR1cCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVu
TG9vcFNldHVwKTsKIHB1YmxpYzoKICAgICBSdW5Mb29wU2V0dXAoV29ya2VyUnVuTG9vcCYgcnVu
TG9vcCkKICAgICAgICAgOiBtX3J1bkxvb3AocnVuTG9vcCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSdW5Mb29wLmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5o
CmluZGV4IDlkNGVkZmQuLjNmZWI0ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJSdW5Mb29wLmgKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaApAQCAtNjUs
NyArNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3RhdGljIFN0cmluZyBk
ZWZhdWx0TW9kZSgpOwogCi0gICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAg
ICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAg
ICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLjlj
ZDRkNWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5j
bHVkZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNsdWRlICJE
YXRhYmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3
b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVj
dCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJU
aHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFk
U3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4gY3JlYXRlKGNvbnN0IEtVUkwm
IHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAg
Yi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggZmM3ZWI5ZS4uMmI3NzIwNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjUsNyArNjUsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3Vu
dGVyKCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0
YXRpY0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRh
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBYTUxIdHRwUmVxdWVzdFN0YXRp
Y0RhdGEoKTsKICAgICBTdHJpbmcgbV9wcm94eUhlYWRlclByZWZpeDsKICAgICBTdHJpbmcgbV9z
ZWNIZWFkZXJQcmVmaXg7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5o
IGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCBiYzY4MTVkLi5iMTVkMzU4IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUveG1s
L1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgVGV4dFJlc291cmNlRGVj
b2RlcjsKIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKIGNsYXNzIFhNTEh0dHBSZXF1ZXN0IDog
cHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHBy
aXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
KSB7IHJldHVybiBhZG9wdFJlZihuZXcgWE1MSHR0cFJlcXVlc3QoY29udGV4dCkpOyB9CiAgICAg
flhNTEh0dHBSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Np
b25Ob2RlLmggYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKaW5kZXggYzA0ZDQ1
Yi4uOTNmYjg1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5o
CisrKyBiL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaApAQCAtMzksNyArMzksOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogICAgICAgICAK
LSAgICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250ZXh0IDogRmFzdEFsbG9jQmFzZSB7CisgICAg
ICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCB7CisgICAgICAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBu
b2RlOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAg
ICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIEV2YWx1YXRpb25D
b250ZXh0JiBldmFsdWF0aW9uQ29udGV4dCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9Y
UGF0aE5vZGVTZXQuaCBiL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCmluZGV4IGQ1YzQ3YmUu
LjYxOWQ5MWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCisrKyBiL1dl
YkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAKLSAgICAgICAgY2xhc3MgTm9kZVNldCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgY2xhc3MgTm9kZVNldCB7CisgICAgICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgTm9kZVNldCgpIDogbV9pc1NvcnRlZCh0cnVlKSwgbV9zdWJ0cmVlc0FyZURpc2pvaW50KGZh
bHNlKSB7IH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhQYXJz
ZXIuaCBiL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKaW5kZXggMGVlNDQ3YS4uZjQ5YjQ0YiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3htbC9Y
UGF0aFBhcnNlci5oCkBAIC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgICAgIFRva2VuKGludCB0LCBFcVRlc3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBlcW9wKHYp
IHt9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICAgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBhcnNlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFBhcnNlcigpOwog
ICAgICAgICAgICAgflBhcnNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhQcmVk
aWNhdGUuaCBiL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKaW5kZXggNWYyNDgyYS4uMzYw
MDE1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAorKysgYi9XZWJD
b3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCkBAIC0xMDUsNyArMTA1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29u
c3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogICAgICAgICB9OwogCi0gICAgICAg
IGNsYXNzIFByZWRpY2F0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFBy
ZWRpY2F0ZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVkaWNhdGUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJl
ZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5k
ZXggZWMwMjJiMy4uYjAzMWJhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgK
KysrIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAg
IGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAg
ICAgICBjbGFzcyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIGVudW0gQXhpcyB7CiAgICAgICAgICAgICAgICAgQW5jZXN0b3JB
eGlzLCBBbmNlc3Rvck9yU2VsZkF4aXMsIEF0dHJpYnV0ZUF4aXMsCkBAIC00OSw3ICs1MCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICBTZWxmQXhpcwogICAgICAgICAg
ICAgfTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgY2xhc3MgTm9kZVRlc3QgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CisgICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCB7CisgICAgICAgICAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICAgICAgZW51bSBLaW5kIHsKICAgICAgICAgICAgICAgICAgICAgVGV4dE5vZGVUZXN0
LCBDb21tZW50Tm9kZVRlc3QsIFByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBBbnlOb2Rl
VGVzdCwgTmFtZVRlc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaCBi
L1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAppbmRleCBmM2E5MzE4Li41YzBjYThhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKKysrIGIvV2ViQ29yZS94bWwvWFNM
SW1wb3J0UnVsZS5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IENhY2hlZFhTTFN0eWxlU2hlZXQ7CiAKIGNsYXNzIFhTTEltcG9ydFJ1bGUgOiBwdWJsaWMgU3R5
bGVCYXNlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxl
PiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikK
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCBiNmViYTIxLi4wZmIxMmRjIDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMi0wNiAgWm9sdGFuIEhv
cnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFs
bG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNh
biByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4g
Q2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcg
dG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1
bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJk
aW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0xOCAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxv
Y2FsaXplZC50eHQ6IFVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3Vu
ZE9iamVjdC5oCmluZGV4IDc2OWU4M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvQm91bmRPYmplY3QuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2Jq
ZWN0LmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAKICNpbmNs
dWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogLy8gQm91bmRPYmplY3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBt
YXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2Fs
bHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0Lgot
Y2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmpl
Y3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAg
ICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRo
aXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNw
cCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4
NjBjYjEuLjU5YzIxNzcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1h
bmFnZXIuY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCiAj
aW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVu
YXRlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29sIERlYnVn
Z2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBu
YW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpD
bGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDog
cHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2Fs
bGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2Fs
bGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuaAppbmRleCA2NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSA8
djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNzIFdlYlZp
ZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5kbGVyLiBJ
ZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFuZGxlIHN1
Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8vIGl0c2Vs
Ziwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1jbGFzcyBE
ZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWJ1Z2dl
ckFnZW50TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJBZ2VudE1h
bmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVnZ2VyQWdl
bnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFjaChEZWJ1
Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2Y2FkIDEw
MDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1w
bC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
LmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
X2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3BlY3RvckZy
b250ZW5kSG9zdDsKQEAgLTQ0LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBX
ZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7
CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJ
bnNwZWN0b3JGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICwgcHVibGljIE5vbmNvcHlhYmxlICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAg
ICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29s
c0Zyb250ZW5kQ2xpZW50KiwgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFs
IH5JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5kZXggOWY0Y2U4Ny4uZDExYjhmMyAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTYwLDcgKzYwLDYg
QEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIK
ICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5k
SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmlu
ZGV4IDg2NmExY2IuLmIwODUzMzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRv
b2xzRnJvbnRlbmRJbXBsLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0LDggQEAg
c3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwogCi1j
bGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xz
RnJvbnRlbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2Vi
RGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9vbHNG
cm9udGVuZEltcGwpOwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAogICAg
ICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmNwcAppbmRleCA0NDIyZTFiLi4yNmI5NmJjIDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCkBAIC0yODAsNyArMjgwLDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1w
bCogV2ViRnJhbWVJbXBsOjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQog
CiAvLyBTaW1wbGUgY2xhc3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZp
b3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2Fu
IGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQ
cmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJv
bWVQcmludENvbnRleHQoRnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFt
ZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEwMy4uMWU5
MjQ3NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgK
KysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2
LDcgQEAgc3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdl
YlBvcHVwTWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJh
bWVsZXNzU2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMg
UmVmQ291bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgLy8gV2ViV2lkZ2V0CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCk7
CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXJFZmwuaCBiL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlckVmbC5oCmluZGV4IDRiYmFlMjUuLjY3YzQ2MDggMTAwNjQ0Ci0tLSBhL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oCisrKyBi
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5o
CkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1Ymxp
YzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBw
b3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCBkNGJiZWEyLi4zZmI4YjE2IDEw
MDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnQu
aCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
cik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAgIHZpcnR1
YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25s
b2FkLmNwcAppbmRleCAxOGI2NGFiLi5lMjZhNWM0IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRkb3dubG9hZC5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93
bmxvYWQuY3BwCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpbmNsdWRlIDxnbGliL2dpMThuLWxpYi5o
PgogI2luY2x1ZGUgIkdSZWZQdHIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCkBAIC01NCw3ICs1Myw4IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogICogb3V0IHdoYXQgaXMgdG8gYmUgZG93bmxvYWRlZCwg
YW5kIGRvIGl0IGl0c2VsZi4KICAqLwogCi1jbGFzcyBEb3dubG9hZENsaWVudCA6IHB1YmxpYyBO
b25jb3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIERvd25sb2Fk
Q2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEb3dubG9hZENsaWVudCk7CiAgICAgcHVibGljOgogICAgICAgICBEb3dubG9hZENs
aWVudChXZWJLaXREb3dubG9hZCopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0ZvcndhcmRp
bmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvV2ViS2l0L21hYy9Gb3J3YXJkaW5nSGVhZGVy
cy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUwODAy
NC4uMDAwMDAwMAotLS0gYS9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5
YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2ltcG9ydCA8SmF2YVNjcmlwdENv
cmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQv
TmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmggYi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCmluZGV4IGY3ODRhZGUuLjRmMmM1NjYgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5LmgKKysrIGIvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbklu
c3RhbmNlUHJveHkuaApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBkZW1h
cnNoYWxWYWx1ZUZyb21BcnJheShKU0M6OkV4ZWNTdGF0ZSosIE5TQXJyYXkgKmFycmF5LCBOU1VJ
bnRlZ2VyJiBpbmRleCwgSlNDOjpKU1ZhbHVlJiByZXN1bHQpOwogICAgIHZvaWQgZGVtYXJzaGFs
VmFsdWVzKEpTQzo6RXhlY1N0YXRlKiwgZGF0YV90IHZhbHVlc0RhdGEsIG1hY2hfbXNnX3R5cGVf
bnVtYmVyX3QgdmFsdWVzTGVuZ3RoLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiByZXN1bHQp
OwogCi0gICAgY2xhc3MgTG9jYWxPYmplY3RNYXAgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
TG9jYWxPYmplY3RNYXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbE9iamVj
dE1hcCk7CiAgICAgcHVibGljOgogICAgICAgICBMb2NhbE9iamVjdE1hcCgpOwogICAgICAgICB+
TG9jYWxPYmplY3RNYXAoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRh
YmFzZVRyYWNrZXJDbGllbnQubW0gYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFj
a2VyQ2xpZW50Lm1tCmluZGV4IDI5MTM3MzkuLjY1YWJhNDMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9t
YWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KKysrIGIvV2ViS2l0L21hYy9T
dG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQpAQCAtNTIsNyArNTIsOCBAQCBXZWJE
YXRhYmFzZVRyYWNrZXJDbGllbnQ6On5XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQoKQogewogfQog
Ci1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERpZE1vZGlm
eU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWluVGhy
ZWFkKFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudCogY2xpZW50LCBTZWN1cml0eU9yaWdpbiogb3Jp
Z2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJLaXRfcGNoLmggYi9XZWJLaXQv
cXQvV2ViS2l0X3BjaC5oCmluZGV4IDFkZDRkNTIuLmUwOTVlZjQgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9XZWJLaXRfcGNoLmgKKysrIGIvV2ViS2l0L3F0L1dlYktpdF9wY2guaApAQCAtNzIsNyAr
NzIsNiBAQAogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1RDU3lz
dGVtQWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
VW51c2VkUGFyYW0uaD4KICNpbmNsdWRlIDx3dGYvQWx3YXlzSW5saW5lLmg+CmRpZmYgLS1naXQg
YS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmggYi9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50
LmgKaW5kZXggYTkzYTNjMi4uNjcyNTEwNyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01FbnVt
VmFyaWFudC5oCisrKyBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaApAQCAtMjksMTIgKzI5
LDEyIEBACiAjZGVmaW5lIE5PTUlOTUFYCiAjaW5jbHVkZSA8dW5rbnduLmg+CiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgIkNPTVZhcmlhbnRTZXR0ZXIuaCIKIAog
dGVtcGxhdGU8dHlwZW5hbWUgQ29udGFpbmVyVHlwZT4KLWNsYXNzIENPTUVudW1WYXJpYW50IDog
cHVibGljIElFbnVtVkFSSUFOVCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENPTUVudW1W
YXJpYW50IDogcHVibGljIElFbnVtVkFSSUFOVCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q09NRW51bVZhcmlhbnQpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCogYWRv
cHQoQ29udGFpbmVyVHlwZSYpOwogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCogY3JlYXRlSW5z
dGFuY2UoY29uc3QgQ29udGFpbmVyVHlwZSYpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9DT01Q
cm9wZXJ0eUJhZy5oIGIvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCmluZGV4IDYxMGMzNjcu
LjJiNTdhNjcgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcuaAorKysgYi9X
ZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKQEAgLTI5LDEzICsyOSwxMyBAQAogI2RlZmluZSBO
T01JTk1BWA0KICNpbmNsdWRlIDx1bmtud24uaD4NCiANCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+DQogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+DQogDQogI2luY2x1ZGUgIkNPTVZhcmlh
bnRTZXR0ZXIuaCINCiANCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtl
eVR5cGUgPSB0eXBlbmFtZSBXVEY6OlN0cmluZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFt
ZSBXVEY6OlN0cmluZ0hhc2g+DQotY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3Bl
cnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiwgTm9uY29weWFibGUgew0KK2NsYXNzIENPTVBy
b3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIElQcm9wZXJ0eUJhZzIgew0K
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01Qcm9wZXJ0eUJhZyk7DQogcHVibGljOg0KICAg
ICB0eXBlZGVmIEhhc2hNYXA8S2V5VHlwZSwgVmFsdWVUeXBlLCBIYXNoVHlwZT4gSGFzaE1hcFR5
cGU7DQogDQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmggYi9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCA5YWM4YzY5
Li43NTMxODg4IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuaAorKysgYi9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaApAQCAtMTAy
LDcgKzEwMiw4IEBAIHByaXZhdGU6CiAgICAgaW50IG1fZHJhZ1N0YXJ0T2Zmc2V0OwogfTsKIAot
Y2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJp
dmF0ZUZ1bGxzY3JlZW5DbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVl
bkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAgIHZp
cnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcCBiL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2Vy
LmNwcAppbmRleCBiZGNiNTQ5Li5lMmI4MWUxIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkRh
dGFiYXNlTWFuYWdlci5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
CkBAIC01Miw3ICs1Miw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0VxdWFsKExQQ1dTVFIgczEs
IExQQ1dTVFIgczIpCiAgICAgcmV0dXJuICF3Y3NjbXAoczEsIHMyKTsKIH0KIAotY2xhc3MgRGF0
YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVBy
b3BlcnR5QmFnIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZURldGFpbHNQcm9w
ZXJ0eUJhZyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFn
KiBjcmVhdGVJbnN0YW5jZShjb25zdCBEYXRhYmFzZURldGFpbHMmKTsKIApAQCAtMzI4LDcgKzMy
OSw4IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRGF0YWJhc2VNYW5hZ2VyOjpkZWxl
dGVEYXRhYmFzZSgKICAgICByZXR1cm4gU19PSzsKIH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2lu
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEaWRNb2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFRvTWFpblRocmVhZChXZWJEYXRhYmFzZU1hbmFnZXIq
IGRhdGFiYXNlTWFuYWdlciwgU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oIGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3Iu
aAppbmRleCAwNTNhNTkzLi5jZDMyNGE4IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkluc3Bl
Y3Rvci5oCisrKyBiL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKQEAgLTMwLDExICszMCwxMSBA
QAogI2RlZmluZSBXZWJJbnNwZWN0b3JfaAogCiAjaW5jbHVkZSAiV2ViS2l0LmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGNsYXNzIFdlYlZpZXc7CiAKLWNsYXNzIFdlYkluc3Bl
Y3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUs
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMgSVdlYklu
c3BlY3RvciwgcHVibGljIElXZWJJbnNwZWN0b3JQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShXZWJJbnNwZWN0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJJbnNwZWN0b3Iq
IGNyZWF0ZUluc3RhbmNlKFdlYlZpZXcqKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJM
b2NhbGl6YWJsZVN0cmluZ3MuY3BwIGIvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3Mu
Y3BwCmluZGV4IGRhNmIyMjEuLmU5Yjk5YWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViTG9j
YWxpemFibGVTdHJpbmdzLmNwcAorKysgYi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5n
cy5jcHAKQEAgLTcyLDcgKzcyLDggQEAgc3RhdGljIExvY2FsaXplZFN0cmluZ01hcCBmcmFtZXdv
cmtMb2NTdHJpbmdzKCkKICAgICByZXR1cm4gbWFwOwogfQogCi1jbGFzcyBMb2NhbGl6ZWRTdHJp
bmcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxpemVkU3RyaW5nIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbGl6ZWRTdHJpbmcpOwogcHVibGljOgogICAgIExvY2Fs
aXplZFN0cmluZyhDRlN0cmluZ1JlZiBzdHJpbmcpCiAgICAgICAgIDogbV9jZlN0cmluZyhzdHJp
bmcpCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmggYi9XZWJLaXQvd2lu
L1dlYlNjcmlwdFdvcmxkLmgKaW5kZXggZjA4OGE3Mi4uMDE1MTFkZSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCisrKyBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQu
aApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRE9NV3Jh
cHBlcldvcmxkOwogfQogCi1jbGFzcyBXZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSwgcHVibGljIElXZWJTY3JpcHRXb3JsZCB7CitjbGFzcyBXZWJTY3JpcHRXb3JsZCA6IHB1Ymxp
YyBJV2ViU2NyaXB0V29ybGQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNjcmlwdFdv
cmxkKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViU2NyaXB0V29ybGQqIHN0YW5kYXJkV29ybGQo
KTsKICAgICBzdGF0aWMgQ09NUHRyPFdlYlNjcmlwdFdvcmxkPiBjcmVhdGVJbnN0YW5jZSgpOwpk
aWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oIGIvV2ViS2l0L3dp
bi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCmluZGV4IGEyZDZkNTYuLjZlMzc0N2QgMTAwNjQ0Ci0t
LSBhL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaAorKysgYi9XZWJLaXQvd2luL1dl
YlNlcmlhbGl6ZWRKU1ZhbHVlLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIH0KIAotY2xhc3MgV2ViU2VyaWFs
aXplZEpTVmFsdWUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpT
VmFsdWUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsKK2NsYXNzIFdlYlNl
cmlhbGl6ZWRKU1ZhbHVlIDogcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElX
ZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdl
YlNlcmlhbGl6ZWRKU1ZhbHVlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09NUHRyPFdlYlNlcmlh
bGl6ZWRKU1ZhbHVlPiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVS
TFBhdHRlcm4uaAppbmRleCBlOGY2YjY3Li40Mjg1NGI0IDEwMDY0NAotLS0gYS9XZWJLaXQvd2lu
L1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCisrKyBiL1dlYktpdC93aW4vV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmgKQEAgLTMyLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIFVzZXJDb250ZW50VVJMUGF0dGVybjsKIH0KIAotY2xhc3MgV2ViVXNlckNvbnRlbnRV
UkxQYXR0ZXJuIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlVzZXJDb250ZW50VVJM
UGF0dGVybiB7CitjbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgSVdlYlVz
ZXJDb250ZW50VVJMUGF0dGVybiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViVXNlckNv
bnRlbnRVUkxQYXR0ZXJuKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09NUHRyPFdlYlVzZXJDb250
ZW50VVJMUGF0dGVybj4gY3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwYzJjNGM3Li5hZTVmN2Y1IDEwMDY0
NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDEwLTEyLTA2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCBy
aWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAg
SW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRp
bmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisg
ICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRh
dGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2Uu
aCBpbmNsdWRlcy4KKwogMjAxMC0xMi0wNSAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+
CiAKICAgICAgICAgV2luZG93cyBwcm9kdWN0aW9uIGJ1aWxkIGZpeApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oIGIvV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCmluZGV4IDgxMTMyMzYuLjhlZmZiMGQgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaAorKysgYi9X
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmgKQEAgLTI2LDcgKzI2LDYg
QEAKICNpZm5kZWYgQmluYXJ5U2VtYXBob3JlX2gKICNkZWZpbmUgQmluYXJ5U2VtYXBob3JlX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQ
cmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIv
UGxhdGZvcm0vTW9kdWxlLmggYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCmluZGV4IDA4MjVi
ZjYuLmVjMWFjY2QgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKKysrIGIv
V2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBNb2R1
bGVfaAogI2RlZmluZSBNb2R1bGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC0z
OSw3ICszOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBNb2R1bGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTW9kdWxlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNb2R1bGUpOwogcHVibGljOgogICAgIE1vZHVsZShjb25zdCBTdHJpbmcmIHBhdGgpOwogICAg
IH5Nb2R1bGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5Lmgg
Yi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCmluZGV4IDA1ZGMwZGQuLmE4NmI5ZmQg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKKysrIGIvV2ViS2l0
Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBTaGFy
ZWRNZW1vcnlfaAogI2RlZmluZSBTaGFyZWRNZW1vcnlfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogCkBAIC01Miw3ICs1MSw4IEBAIHB1YmxpYzoKICAgICAgICAgUmVhZFdyaXRl
CiAgICAgfTsKIAotICAgIGNsYXNzIEhhbmRsZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBI
YW5kbGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIYW5kbGUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgSGFuZGxlKCk7CiAgICAgICAgIH5IYW5kbGUoKTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaCBiL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAppbmRleCAwYWMxMjY2Li5mYTk5M2I1
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5
LmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCkBA
IC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiUGx1Z2luQ29udHJvbGxlci5oIgogI2luY2x1ZGUg
IlJ1bkxvb3AuaCIKICNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIGIv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCBhNGY5NDhiLi44MzJk
MDJmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisr
KyBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTM5LDYgKzM5LDcg
QEAgY2xhc3MgV2ViUHJvY2Vzc0Nvbm5lY3Rpb247CiBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVyczsKICAgICAgICAgCiBjbGFzcyBQbHVnaW5Qcm9jZXNzIDogQ2hpbGRQcm9j
ZXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGx1Z2luUHJvY2VzcyYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktp
dDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgK
aW5kZXggNzhmZTFmNC4uOGM1ZThlMyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQ
cm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTI3LDEzICsy
NywxMSBAQAogI2RlZmluZSBDaGlsZFByb2Nlc3NfaAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Y2xhc3MgQ2hpbGRQcm9jZXNzIDogcHJvdGVjdGVkIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVu
dCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hpbGRQcm9jZXNzKTsKLQogcHJvdGVjdGVk
OgogICAgIENoaWxkUHJvY2VzcygpOwogICAgIH5DaGlsZFByb2Nlc3MoKTsKZGlmZiAtLWdpdCBh
L1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaCBiL1dlYktp
dDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAppbmRleCBkMzM2M2Y5
Li43ZTBmZWYxIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVz
c2FnZVJlY2VpdmVyLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3Nh
Z2VSZWNlaXZlci5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9ucHJ1bnRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5oIGIvV2Vi
S2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmgKaW5kZXggZTRjMDBjNS4uM2RjOTI0
YiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmgKKysr
IGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmgKQEAgLTI5LDcgKzI5LDYg
QEAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNpbmNsdWRlIDxXZWJDb3JlL25wcnVu
dGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oIGIvV2Vi
S2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5oCmluZGV4IGY1ZmI1NzYuLjUxMTI2NTggMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaAorKysgYi9XZWJLaXQy
L1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgU2Fu
ZGJveEV4dGVuc2lvbl9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9GaW5kSW5kaWNhdG9yV2luZG93LmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJ
bmRpY2F0b3JXaW5kb3cuaAppbmRleCBlODg4OWI2Li4zZjVmYWRhIDEwMDY0NAotLS0gYS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaAorKysgYi9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaApAQCAtMjYsNyArMjYsNiBA
QAogI2lmbmRlZiBGaW5kSW5kaWNhdG9yV2luZG93X2gKICNkZWZpbmUgRmluZEluZGljYXRvcldp
bmRvd19oCiAKLSNpbXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NP
d25QdHIuaD4KICNpbXBvcnQgPHd0Zi9SZWZQdHIuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIu
aD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01h
bmFnZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIu
aAppbmRleCBjMjY1ZjJlMi4uMGRjN2E5YyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJM
RShQTFVHSU5fUFJPQ0VTUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2Ug
Q29yZUlQQyB7CkBAIC00MSw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgUGx1
Z2luUHJvY2Vzc1Byb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1Byb3h5OwogCi1jbGFzcyBQbHVnaW5Q
cm9jZXNzTWFuYWdlciA6IE5vbmNvcHlhYmxlICB7CitjbGFzcyBQbHVnaW5Qcm9jZXNzTWFuYWdl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUHJvY2Vzc01hbmFnZXIpOwogcHVi
bGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5j
cHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3Bw
CmluZGV4IGZlN2Q4OTYuLjllMTc0MmUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcApAQCAtMjU2LDcgKzI1Niw4IEBAIFZl
Y3RvcjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6cGx1Z2luc0RpcmVjdG9yaWVzKCkKICAgICBy
ZXR1cm4gZGlyZWN0b3JpZXM7CiB9CiAKLWNsYXNzIFBhdGhXYWxrZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUGF0aFdhbGtlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGF0
aFdhbGtlcik7CiBwdWJsaWM6CiAgICAgUGF0aFdhbGtlcihjb25zdCBTdHJpbmcmIGRpcmVjdG9y
eSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3Zp
ZGVyLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKaW5kZXggMDE1
NTE1Yy4uYTQyOGQ1YiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQ
cm92aWRlci5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaApA
QCAtMzEsMTMgKzMxLDEzIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9MaW5rSGFzaC5oPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkNvbnRl
eHQ7CiAgICAgCi1jbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIDogTm9uY29weWFibGUgeworY2xh
c3MgVmlzaXRlZExpbmtQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmlzaXRl
ZExpbmtQcm92aWRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgVmlzaXRlZExpbmtQcm92aWRl
cihXZWJDb250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9h
ZHMvRG93bmxvYWQuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaApp
bmRleCA1NGYzMjVhLi5mYzFjZjBlIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3du
bG9hZC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiAjaWYgUExBVEZPUk0oTUFD
KQpAQCAtNTksNyArNTgsNiBAQCBjbGFzcyBXZWJQYWdlOwogCiBjbGFzcyBEb3dubG9hZCA6IHB1
YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyPERvd25sb2FkPiB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRG93bmxvYWQpOwotCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8RG93
bmxvYWQ+IGNyZWF0ZSh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmKTsKICAgICB+RG93bmxvYWQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCmluZGV4IDFmMjdiODYuLmI2NmRhYzcgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgKKysrIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaApAQCAtMjcsNyAr
MjcsNiBAQAogI2RlZmluZSBEb3dubG9hZE1hbmFnZXJfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCmluZGV4IDY3MzdiZDQuLjFiNDMxNDUgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaAor
KysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKQEAg
LTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1Byb3RlY3QuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL25wcnVudGltZV9pbnRlcm5hbC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBKU0dsb2JhbE9iamVjdDsK
QEAgLTQwLDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOUFJ1bnRpbWVPYmpl
Y3RNYXA7CiAgICAgCiAvLyBOUEpTT2JqZWN0IGlzIGFuIE5QT2JqZWN0IHRoYXQgd3JhcHMgYSBK
U09iamVjdC4KLWNsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMgTlBPYmplY3QsIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMgTlBPYmplY3QgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE5QSlNPYmplY3QpOwogcHVibGljOgogICAgIHN0YXRpYyBOUEpTT2JqZWN0KiBj
cmVhdGUoTlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RNYXAsIEpTQzo6SlNPYmplY3QqIGpzT2Jq
ZWN0KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaAppbmRleCBkN2JhODUzLi42OGE4MGQwIDEwMDY0
NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlv
bk1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5f
UFJPQ0VTUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAvLyBNYW5hZ2VzIHBsdWctaW4g
cHJvY2VzcyBjb25uZWN0aW9ucyBmb3IgdGhlIGdpdmVuIHdlYiBwcm9jZXNzLgpAQCAtMzgsNyAr
MzcsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b247CiAgICAgICAgIAotY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyIDogTm9u
Y29weWFibGUgeworY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIpOwogcHVi
bGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXImIHNoYXJlZCgp
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxl
ci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaAppbmRleCAx
MTBhN2E0Li45YmI2ZjI3IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9G
aW5kQ29udHJvbGxlci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250
cm9sbGVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJQYWdlT3ZlcmxheS5oIgogI2lu
Y2x1ZGUgIldlYkZpbmRPcHRpb25zLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
Ykluc3BlY3Rvci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmgK
aW5kZXggMjFhNzUyOS4uYjcwOTA4MiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
SW5zcGVjdG9yLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
IGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGZiOWIyNjcuLjM5ZDdhNDUgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMC0xMi0wNiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBH
ZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAg
ICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBn
ZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFu
ZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVyaXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVt
ZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5oIGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NC
YXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBGb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMi0wNCAgQW50b25pbyBHb21lcyAgPGFnb21lc0By
aW0uY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KQEAgLTIwNjk0
LDcgKzIwNzA2LDcgQEAKIAogMjAxMC0wNy0wNyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FA
YXBwbGUuY29tPgogCi0gICAgICAgIENvbW1lbnQgb3V0IGEgcGFydCBvZiBUZXN0TmV0c2NhcGVQ
bHVnaW4gdGhhdCBjYXVzZWQgdGVzdHPCoHRvIGZhaWwgb24gVGlnZXIgYW5kIExlb3BhcmQuCisg
ICAgICAgIENvbW1lbnQgb3V0IGEgcGFydCBvZiBUZXN0TmV0c2NhcGVQbHVnaW4gdGhhdCBjYXVz
ZWQgdGVzdHPCIHRvIGZhaWwgb24gVGlnZXIgYW5kIExlb3BhcmQuCiAKICAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vbWFpbi5jcHA6CiAgICAgICAgIChOUFBfTmV3
KToKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFk
ZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2Fy
ZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGY4NDg0ZDIuLjAwMDAwMDAKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSArMCww
IEBACi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaCBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAppbmRleCA2
Y2I2MzhlLi5iZDM2ZDU4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCkBAIC00NSw3ICs0NSw2IEBACiAKICNpbmNsdWRlICJD
cHBWYXJpYW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCkBAIC01OCw3ICs1Nyw4IEBAIHR5cGVkZWYgVmVjdG9yPENwcFZhcmlhbnQ+IENwcEFy
Z3VtZW50TGlzdDsKIAogLy8gQ3BwQm91bmRDbGFzcyBsZXRzIHlvdSBtYXAgSmF2YXNjcmlwdCBt
ZXRob2QgY2FsbHMgYW5kIHByb3BlcnR5IGFjY2Vzc2VzCiAvLyBkaXJlY3RseSB0byBDKysgbWV0
aG9kIGNhbGxzIGFuZCBDcHBWYXJpYW50KiB2YXJpYWJsZSBhY2Nlc3MuCi1jbGFzcyBDcHBCb3Vu
ZENsYXNzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENwcEJvdW5kQ2xhc3MgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENwcEJvdW5kQ2xhc3MpOwogcHVibGljOgogICAgIGNsYXNz
IFByb3BlcnR5Q2FsbGJhY2sgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAppbmRleCBlMTQ3OGQw
Li4wZGFjNGM3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9EUlREZXZUb29sc0FnZW50LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiVGFz
ay5oIgogI2luY2x1ZGUgIldlYkRldlRvb2xzQWdlbnRDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIApAQCAtNDksOCArNDgsOCBAQCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsK
IAogY2xhc3MgRFJURGV2VG9vbHNDbGllbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQWdlbnQgOiBw
dWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50Q2xpZW50Ci0gICAgICAgICAgICAgICAgICAg
ICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERSVERldlRvb2xzQWdlbnQgOiBwdWJs
aWMgV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEUlREZXZUb29sc0FnZW50KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29sc0FnZW50KCk7
CiAgICAgdmlydHVhbCB+RFJURGV2VG9vbHNBZ2VudCgpIHt9CmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaAppbmRleCA5
Y2ExNDAyLi4wMzBkNjg3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNs
dWRlICJEUlREZXZUb29sc0NhbGxBcmdzLmgiCiAjaW5jbHVkZSAiVGFzay5oIgogI2luY2x1ZGUg
IldlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDgs
OCArNDcsOCBAQCBjbGFzcyBXZWJWaWV3OwogCiBjbGFzcyBEUlREZXZUb29sc0FnZW50OwogCi1j
bGFzcyBEUlREZXZUb29sc0NsaWVudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRl
bmRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9u
dGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNDbGllbnQp
OwogcHVibGljOgogICAgIERSVERldlRvb2xzQ2xpZW50KERSVERldlRvb2xzQWdlbnQqLCBXZWJL
aXQ6OldlYlZpZXcqKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0NsaWVudCgpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25D
b250cm9sbGVyLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2
aWdhdGlvbkNvbnRyb2xsZXIuaAppbmRleCBiNjcxNDg5Li44NTAyYTk2IDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xs
ZXIuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdh
dGlvbkNvbnRyb2xsZXIuaApAQCAtMTExLDcgKzExMSw4IEBAIHB1YmxpYzoKIAogLy8gVGVzdCBz
aGVsbCdzIE5hdmlnYXRpb25Db250cm9sbGVyLiBUaGUgZ29hbCBpcyB0byBiZSBhcyBjbG9zZSB0
byB0aGUgQ2hyb21lCiAvLyB2ZXJzaW9uIGFzIHBvc3NpYmxlLgotY2xhc3MgVGVzdE5hdmlnYXRp
b25Db250cm9sbGVyOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGVzdE5hdmlnYXRpb25D
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0TmF2aWdhdGlvbkNvbnRy
b2xsZXIpOwogcHVibGljOgogICAgIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcihOYXZpZ2F0aW9u
SG9zdCopOwogICAgIH5UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oIGIv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmgK
aW5kZXggMzg4MzFkOS4uOTYxOGRjNCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmgKKysrIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmgKQEAgLTQxLDEyICs0MSwx
MiBAQAogCiAjaW5jbHVkZSAic2tpYS9leHQvcGxhdGZvcm1fY2FudmFzLmgiCiAjaW5jbHVkZSAi
dGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL2NvcmUvU2tDb2xvci5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAvLyBTa2lhIGZvcndhcmQgZGVjbGFyYXRpb25zCiBzdHJ1Y3QgU2tJ
UmVjdDsKIAotY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFdlYlRoZW1lQ29udHJvbERSVCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vi
VGhlbWVDb250cm9sRFJUKTsKIHB1YmxpYzoKICAgICAvLyBUaGlzIGxpc3Qgb2Ygc3RhdGVzIG1v
c3RseSBtaXJyb3JzIHRoZSBsaXN0IGluIFdlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCiAg
ICAgLy8gYnV0IGlzIG1haW50YWluZWQgc2VwYXJhdGVseSBzaW5jZSB0aGF0IGlzbid0IHB1Ymxp
YyBhbmQgYWxzbyB0byBtaW5pbWl6ZQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKaW5kZXggZTUwODg2Yi4uNTM2MmZi
MyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhl
bWVFbmdpbmVEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJUaGVtZUVuZ2luZURSVC5oCkBAIC00OCw5ICs0OCw5IEBACiAjZGVmaW5lIFdlYlRoZW1lRW5n
aW5lRFJUX2gKIAogI2luY2x1ZGUgIndpbi9XZWJUaGVtZUVuZ2luZS5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCi1jbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJL
aXQ6OldlYlRoZW1lRW5naW5lLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVF
bmdpbmVEUlQgOiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV2ViVGhlbWVFbmdpbmVEUlQpOwogcHVibGljOgogICAgIFdlYlRoZW1lRW5n
aW5lRFJUKCkge30KIApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0
V2luZG93LmggYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaAppbmRleCBh
MjczNGVkLi44MTNiMTllIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hv
c3RXaW5kb3cuaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaApA
QCAtMjYsMTEgKzI2LDEyIEBACiAjZGVmaW5lIEhvc3RXaW5kb3dfaAogCiAjaW5jbHVkZSA8d2lu
ZG93cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9QbGF0
Zm9ybS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0QVBJVGVzdCB7CiAKLWNsYXNzIEhvc3RXaW5kb3cg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7CiBwdWJsaWM6CiAgICAgSG9zdFdpbmRvdygpOwogICAg
IH5Ib3N0V2luZG93KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rl
c3RzQ29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xs
ZXIuaAppbmRleCAxMWI0NTdkLi5iZGNjNDU1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJL
aXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdEFQSVRl
c3QvVGVzdHNDb250cm9sbGVyLmgKQEAgLTI4LDEzICsyOCwxMyBAQAogI2luY2x1ZGUgPHdpbmRv
d3MuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0QVBJVGVzdCB7
CiAKIGNsYXNzIFRlc3Q7CiAKLWNsYXNzIFRlc3RzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBUZXN0c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRlc3RzQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRlc3RzQ29udHJvbGxlciYg
c2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dEludm9jYXRpb24uaCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRp
b24uaAppbmRleCBmZWMxZjdhLi5iYjA0ZTIwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCkBAIC0yNywxMSArMjcsMTIgQEAKICNkZWZpbmUgVGVz
dEludm9jYXRpb25faAogCiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1JldGFpblB0ci5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogCiBuYW1l
c3BhY2UgV1RSIHsKIAotY2xhc3MgVGVzdEludm9jYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVGVzdEludm9jYXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3RJ
bnZvY2F0aW9uKTsKIHB1YmxpYzoKICAgICBUZXN0SW52b2NhdGlvbihjb25zdCBjaGFyKik7CiAg
ICAgflRlc3RJbnZvY2F0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75700</attachid>
            <date>2010-12-06 08:43:35 -0800</date>
            <delta_ts>2010-12-07 06:43:40 -0800</delta_ts>
            <desc>updated proposed patch</desc>
            <filename>hetfo2.patch</filename>
            <type>text/plain</type>
            <size>327975</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjA5NzE3MDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBTdGF0aWNWYWx1ZUVudHJ5KEpTT2Jq
ZWN0R2V0UHJvcGVydHlDYWxsYmFjayBfZ2V0UHJvcGVydHksIEpTT2JqZWN0U2V0UHJvcGVydHlD
YWxsYmFjayBfc2V0UHJvcGVydHksIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQog
ICAgICAgICA6IGdldFByb3BlcnR5KF9nZXRQcm9wZXJ0eSksIHNldFByb3BlcnR5KF9zZXRQcm9w
ZXJ0eSksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNDUsNyArNDcsOSBAQCBz
dHJ1Y3QgU3RhdGljVmFsdWVFbnRyeSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiB9OwogCi1zdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFN0YXRpY0Z1bmN0aW9uRW50cnkoSlNP
YmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrIF9jYWxsQXNGdW5jdGlvbiwgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAgICAgICAgIDogY2FsbEFzRnVuY3Rpb24oX2NhbGxBc0Z1
bmN0aW9uKSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC02Miw3ICs2Niw5IEBA
IHN0cnVjdCBPcGFxdWVKU0NsYXNzOwogCiAvLyBBbiBPcGFxdWVKU0NsYXNzIChKU0NsYXNzKSBp
cyBjcmVhdGVkIHdpdGhvdXQgYSBjb250ZXh0LCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGFueSBj
b250ZXh0LCBldmVuIGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KIC8vIFRoaXMgc3RydWN0dXJlIGhv
bGRzIGRhdGEgbWVtYmVycyB0aGF0IHZhcnkgYWNyb3NzIGNvbnRleHQgZ3JvdXBzLgotc3RydWN0
IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBPcGFxdWVK
U0NsYXNzQ29udGV4dERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE9w
YXF1ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4
Y2E4Li5kNmRlNDI2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0
ODAsOSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJl
ZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LXN0cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEpCiAgICAgICAgIDogcmVmQ291bnQoMCkKICAgICAgICAgLCBnbG9iYWxEYXRh
KGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggYWE0ZmEzMi4uM2Q5NWVhMCAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEwLTEyLTA2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAg
ICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3Rz
IGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUg
YW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IE1vdmUg
RmFzdEFsbG9jQmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIFBsYXRmb3JtLmgKKyAgICAg
ICAgKiB3dGYvTm9uY29weWFibGUuaCA6IFJlbW92ZWQuIE5vbmNvcHlhYmxlJ3MgbWFjcm8gaW1w
bGVtZW50YXRpb24ncyBtb3ZlZCB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6IEFkZCBOb25jb3B5YWJsZSdzIGFuZCBGYXN0QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50
YXRpb24uCisKIDIwMTAtMTItMDUgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFdpbmRvd3MgcHJvZHVjdGlvbiBidWlsZCBmaXgKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL0dOVW1ha2VmaWxlLmFtIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KaW5k
ZXggODlmOWFiNy4uYTgzMTE4YSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZp
bGUuYW0KKysrIGIvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTQ2Nyw3ICs0Njcs
NiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTUQ1
LmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBcCiAJSmF2YVNjcmlwdENv
cmUvd3RmL05vbkNvcHlpbmdTb3J0LmggXAotCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvTm90Rm91bmQuaCBcCiAJSmF2YVNjcmlwdENvcmUv
d3RmL051bGxQdHIuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmggXApkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaSBiL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKaW5kZXggNjc2YTM1ZC4uODQ4M2E0ZCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQorKysgYi9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5neXBpCkBAIC0zOTgsNyArMzk4LDYgQEAKICAgICAgICAgICAgICd3
dGYvTWF0aEV4dHJhcy5oJywKICAgICAgICAgICAgICd3dGYvTWVzc2FnZVF1ZXVlLmgnLAogICAg
ICAgICAgICAgJ3d0Zi9Ob25Db3B5aW5nU29ydC5oJywKLSAgICAgICAgICAgICd3dGYvTm9uY29w
eWFibGUuaCcsCiAgICAgICAgICAgICAnd3RmL05vdEZvdW5kLmgnLAogICAgICAgICAgICAgJ3d0
Zi9PU0FsbG9jYXRvcldpbi5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9PU0FsbG9jYXRvci5oJywK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RG
LnZjcHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZj
cHJvagppbmRleCA0YTNlODU5Li5hYTNjMTg5IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKKysrIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCkBAIC02NTMsMTAgKzY1Myw2IEBA
CiAJCQk+CiAJCTwvRmlsZT4KIAkJPEZpbGUKLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXE5v
bmNvcHlhYmxlLmgiCi0JCQk+Ci0JCTwvRmlsZT4KLQkJPEZpbGUKIAkJCVJlbGF0aXZlUGF0aD0i
Li5cLi5cd3RmXE5vbkNvcHlpbmdTb3J0LmgiCiAJCQk+CiAJCTwvRmlsZT4KZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGU3ZGUwZTEuLmMyZDRhNDEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDQ2LDcgKzQ0Niw2
IEBACiAJCUJDMThDNDNDMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg2QjAyNTU1OTdEMDFG
RjYwRjcgLyogTWF0aE9iamVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUJDMThDNDNFMEUxNkY1Q0QwMEIzNDQ2MCAvKiBNZXNzYWdlUXVldWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUU3OThC
MEQ2Q0E1M0QwMEZFQTNCQSAvKiBNZXNzYWdlUXVldWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQzRjBFMTZGNUNEMDBCMzQ0NjAgLyog
Tm9kZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2
OTJBODZFMDI1NTU5N0QwMUZGNjBGNyAvKiBOb2Rlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKCk7IH07IH07Ci0JCUJDMThDNDQwMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb25jb3B5YWJs
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwM0Y1
NjkwOTkxMTkwMDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NDEwRTE2RjVDRDAwQjM0NDYwIC8q
IE51bWJlckNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzI2ODBDMzBFMTZENEU5MDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3Iu
aCAqLzsgfTsKIAkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVjdG9y
Lmx1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMy
NjgwRTYwRTE2RDUyMzAwQTA2RTkyIC8qIE51bWJlckNvbnN0cnVjdG9yLmx1dC5oICovOyB9Owog
CQlCQzE4QzQ0MzBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyT2JqZWN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg3MTAyNTU1OTdEMDFGRjYw
RjcgLyogTnVtYmVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTg4Myw3ICs4ODIsNiBAQAogCQk5MDVCMDJBRDBFMjg2NDBGMDA2REY4
ODIgLyogUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlZkNvdW50ZWRMZWFrQ291bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwRDM0NjlCMEUyODUyODAwMDk0OTJFRSAvKiBSZWZDb3VudGVkTGVha0Nv
dW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmQ291bnRlZExlYWtD
b3VudGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNTY3MDk5MTE4RkEw
MEFENzFCOCAvKiBPd25QdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3du
UHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTkzMDNGNTY5MDk5MTE5MDAwMEFE
NzFCOCAvKiBOb25jb3B5YWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
b25jb3B5YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzAzRjVBNDA5OTEx
QTU4MDBBRDcxQjggLyogT3duQXJyYXlQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gT3duQXJyYXlQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJD
MzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTMwNTJDMzMwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhcnNlckFyZW5hLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yMjE3LDcgKzIyMTUsNiBAQAogCQkJCTdFRkYwMDY0MEVDMDVBOUEw
MEFBN0M5MyAvKiBOb2RlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0M0YwRTE2RjVD
RDAwQjM0NDYwIC8qIE5vZGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUUxQTNERjEyMkI4OTQ1
MDBCMjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDMThDNDQw
MEUxNkY1Q0QwMEIzNDQ2MCAvKiBOb25jb3B5YWJsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBB
MjcyNjMwRTUwQTA2MzAwRTk2RTE1IC8qIE5vdEZvdW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzE4QzQ0MTBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMThDNDQyMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5s
dXQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0
cmFjdE1hY3JvQXNzZW1ibGVyLmgKaW5kZXggMDdiZDcwMi4uZmQ0YmMxMyAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCkBAIC0yOCw3
ICsyOCw2IEBACiAKICNpbmNsdWRlICJDb2RlTG9jYXRpb24uaCIKICNpbmNsdWRlICJNYWNyb0Fz
c2VtYmxlckNvZGVSZWYuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvVW51c2VkUGFyYW0uaD4KIAogI2lmIEVOQUJMRShBU1NFTUJMRVIpCmRpZmYgLS1naXQg
YS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oIGIvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0xpbmtCdWZmZXIuaAppbmRleCBlMzhiOWQ0Li4wMzA0MmY4IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgRFVN
UF9DT0RFIDAKIAogI2luY2x1ZGUgPE1hY3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01MCw3ICs0OSw4IEBAIG5hbWVz
cGFjZSBKU0MgewogLy8gICAqIFRoZSBhZGRyZXNzIG9mIGEgTGFiZWwgcG9pbnRpbmcgaW50byB0
aGUgY29kZSBtYXkgYmUgcmVzb2x2ZWQuCiAvLyAgICogVGhlIHZhbHVlIHJlZmVyZW5jZWQgYnkg
YSBEYXRhTGFiZWwgbWF5IGJlIHNldC4KIC8vCi1jbGFzcyBMaW5rQnVmZmVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExpbmtCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExpbmtCdWZmZXIpOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIENvZGVSZWY7
CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVQdHIgQ29kZVB0cjsKICAgICB0eXBlZGVm
IE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBMYWJlbDsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmggYi9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUmVw
YXRjaEJ1ZmZlci5oCmluZGV4IDcyY2Y2YjIuLmU1YTZlMmQgMTAwNjQ0Ci0tLSBhL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9SZXBhdGNoQnVmZmVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShBU1NF
TUJMRVIpCiAKICNpbmNsdWRlIDxNYWNyb0Fzc2VtYmxlci5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAppbmRleCA3ZWNhNzJhLi5kZGVhOGUzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaApAQCAtMjQyLDcgKzI0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH0KICNlbmRpZgog
Ci0gICAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IENvZGVCbG9jayB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBm
cmllbmQgY2xhc3MgSklUOwogICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlw
dEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0Kiwg
UGFzc1JlZlB0cjxTb3VyY2VQcm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9s
VGFibGUqIHN5bWJvbFRhYmxlLCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc3LDggKzU3OCwx
MCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgVmVjdG9yPFJlZlB0cjxGdW5jdGlvbkV4ZWN1
dGFibGU+ID4gbV9mdW5jdGlvbkV4cHJzOwogCiAgICAgICAgIFN5bWJvbFRhYmxlKiBtX3N5bWJv
bFRhYmxlOwotCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
IHB1YmxpYzoKKyAgICAgICAgc3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBWZWN0b3I8SGFu
ZGxlckluZm8+IG1fZXhjZXB0aW9uSGFuZGxlcnM7CiAKICAgICAgICAgICAgIC8vIFJhcmUgQ29u
c3RhbnRzCkBAIC01OTksNiArNjAyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBW
ZWN0b3I8Q2FsbFJldHVybk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQ+IG1fY2FsbFJldHVybkluZGV4
VmVjdG9yOwogI2VuZGlmCiAgICAgICAgIH07CisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRy
PFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0
cnVjdGlvbi5oCmluZGV4IGM2NDY4YTUuLmYwNzdjYmYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
SW5zdHJ1Y3Rpb24uaApAQCAtNTQsNyArNTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBTdHJ1Y3R1cmVDaGFpbjsKIAogICAgIC8vIFN0cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9p
ZF9zZWxmX2xpc3QgYW5kIG9wX2dldF9ieV9pZF9wcm90b19saXN0IGluc3RydWN0aW9uIHRvIGhv
bGQgZGF0YSBvZmYgdGhlIG1haW4gb3Bjb2RlIHN0cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBo
aWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHlt
b3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgIHB1YmxpYzoKICAgICAgICAgc3RydWN0IFBvbHltb3JwaGljU3R1YkluZm8gewog
ICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAgICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NT
dHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmggYi9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9TYW1wbGluZ1Rvb2wuaAppbmRleCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaApAQCAtMTQyLDcgKzE0Miw4IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBmcmllbmQgY2xhc3MgSG9zdENhbGxSZWNvcmQ7CiAgICAgICAgIAogI2lm
IEVOQUJMRShPUENPREVfU0FNUExJTkcpCi0gICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCogc2FtcGxpbmdUb29sKQogICAgICAgICAg
ICAgICAgIDogbV9zYW1wbGluZ1Rvb2woc2FtcGxpbmdUb29sKQpAQCAtMTcyLDcgKzE3Myw4IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgfQogICAgICAgICB9OwogI2Vsc2UKLSAgICAg
ICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNz
IENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29y
ZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29s
KikKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmgKaW5kZXggYTkwZjc1Ni4uMWQyYmQwOCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAK
ICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2luY2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVk
ZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBj
bGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sg
VmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3Rh
Y2sgRnVuY3Rpb25TdGFjazsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9SZWdpc3RlcklELmggYi9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5o
CmluZGV4IDM1MzJhZDguLjc4ZDQ5ZDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9SZWdpc3RlcklELmgKKysrIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1Jl
Z2lzdGVySUQuaApAQCAtMzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAj
aW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgUmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0
ZXJJRCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1
YmxpYzoKICAgICAgICAgUmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaCBiL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBkZmJlNjU4Li43NDAw
MDFkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCkBAIC0zMiw3ICsz
Miw4IEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7Ci0gICAg
Y2xhc3MgQ2FjaGVkQ2FsbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ2FjaGVk
Q2FsbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZENhbGwpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENhY2hlZENhbGwoQ2FsbEZy
YW1lKiBjYWxsRnJhbWUsIEpTRnVuY3Rpb24qIGZ1bmN0aW9uLCBpbnQgYXJnQ291bnQpCiAgICAg
ICAgICAgICA6IG1fdmFsaWQoZmFsc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuaAppbmRleCA0Nzc5MGNmLi43NTNkOTBlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJf
aAogCiAjaW5jbHVkZSAiQXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNp
bmNsdWRlICJKU0NlbGwuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmpl
Y3QuaCIKQEAgLTY1LDcgKzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4
TGFyZ2VUaHJlYWRSZWVudHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRo
ID0gMzIgfTsKIAotICAgIGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIEludGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNo
ZWRDYWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyLmggYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3Rlci5oCmlu
ZGV4IDM4ZDE2NDcuLjM5NDQ2NDIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIu
aApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRl
IDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDcsNyArNDYsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYgRXhlY1N0YXRlIENhbGxGcmFtZTsKIAot
ICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6RmFzdEFsbG9jQmFzZSB7CisgICAgY2xh
c3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIFJlZ2lzdGVyKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVn
aXN0ZXJGaWxlLmgKaW5kZXggZDlmNmEyYi4uNjgyMjAzNSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJSZWdp
c3Rlci5oIgogI2luY2x1ZGUgIldlYWtHQ1B0ci5oIgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1BhZ2VSZXNlcnZhdGlvbi5o
PgogI2luY2x1ZGUgPHd0Zi9WTVRhZ3MuaD4KIApAQCAtODksNyArODgsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJG
aWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQg
Y2xhc3MgSklUOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRy
eSB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDRkMjUxM2QuLjcyNTQ3ZWIgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3Mg
UmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIExleGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGV4ZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIENoYXJhY3RlciBtYW5p
cHVsYXRpb24gZnVuY3Rpb25zLgogICAgICAgICBzdGF0aWMgYm9vbCBpc1doaXRlU3BhY2UoaW50
IGNoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBi
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDY5MzBmNjMuLmM2YTBiOGQgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xMzc0LDcgKzEzNzQsOSBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgUGFyYW1ldGVyTm9kZSogbV9uZXh0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgU2Nv
cGVOb2RlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBTY29wZU5vZGVEYXRhIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICB0
eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlw
ZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwogCkBA
IC0xNDcwLDYgKzE0NzIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9OwogCiAgICAgY2xhc3Mg
RnVuY3Rpb25QYXJhbWV0ZXJzIDogcHVibGljIFZlY3RvcjxJZGVudGlmaWVyPiwgcHVibGljIFJl
ZkNvdW50ZWQ8RnVuY3Rpb25QYXJhbWV0ZXJzPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RnVuY3Rpb25Q
YXJhbWV0ZXJzPiBjcmVhdGUoUGFyYW1ldGVyTm9kZSogZmlyc3RQYXJhbWV0ZXIpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBGdW5jdGlvblBhcmFtZXRlcnMoZmlyc3RQYXJhbWV0ZXIpKTsgfQogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggNjU0OTA2Ny4uNDUyYTNlMSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlBhcnNlckFyZW5hLmgiCiAjaW5j
bHVkZSAiU291cmNlUHJvdmlkZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKQEAgLTQ1LDggKzQ0LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXJzZXJBcmVuYURhdGEgOiBQYXJzZXJB
cmVuYURlbGV0YWJsZSB7IFQgZGF0YTsgfTsKIAotICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFyc2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAg
ICAgICBQYXJzZXIoKSB7IH0KICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFBhcnNlZE5vZGU+CiAg
ICAgICAgIFBhc3NSZWZQdHI8UGFyc2VkTm9kZT4gcGFyc2UoSlNHbG9iYWxPYmplY3QqIGxleGlj
YWxHbG9iYWxPYmplY3QsIERlYnVnZ2VyKiwgRXhlY1N0YXRlKiwgY29uc3QgU291cmNlQ29kZSYg
c291cmNlLCBGdW5jdGlvblBhcmFtZXRlcnMqLCBKU1BhcnNlclN0cmljdG5lc3Mgc3RyaWN0bmVz
cywgSlNPYmplY3QqKiBleGNlcHRpb24pOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyQXJlbmEuaCBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5o
CmluZGV4IDdjMTgwOWUuLjgyZmI4MDggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJBcmVuYS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5o
CkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFBhcnNlckFyZW5h
RGVsZXRhYmxlOwogICAgIGNsYXNzIFBhcnNlckFyZW5hUmVmQ291bnRlZDsKIAotICAgIGNsYXNz
IElkZW50aWZpZXJBcmVuYSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJZGVu
dGlmaWVyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29uc3QgSWRlbnRpZmllciYgbWFrZUlkZW50aWZp
ZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgp
OwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50aWZpZXIoSlNHbG9i
YWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01OSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAgfQogCi0gICAgY2xh
c3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyQXJlbmEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXJBcmVuYSk7CiAgICAgcHVibGljOgog
ICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAgICB+UGFyc2VyQXJlbmEoKTsKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL0phdmFTY3JpcHRDb3JlL3Bj
cmUvcGNyZV9leGVjLmNwcAppbmRleCBmNDg5OWYyLi4wYmZmM2FkIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcGNyZS9w
Y3JlX2V4ZWMuY3BwCkBAIC00Niw2ICs0Niw3IEBAIHRoZSBKYXZhU2NyaXB0IHNwZWNpZmljYXRp
b24uIFRoZXJlIGFyZSBhbHNvIHNvbWUgc3VwcG9ydGluZyBmdW5jdGlvbnMuICovCiAjaW5jbHVk
ZSAicGNyZV9pbnRlcm5hbC5oIgogCiAjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3Ry
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKQEAgLTExMiw3ICsxMTMsOSBAQCBzdHJ1Y3QgQnJhY2tldENoYWluTm9kZSB7CiAgICAg
Y29uc3QgVUNoYXIqIGJyYWNrZXRTdGFydDsKIH07CiAKLXN0cnVjdCBNYXRjaEZyYW1lIDogRmFz
dEFsbG9jQmFzZSB7CitzdHJ1Y3QgTWF0Y2hGcmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CiAgICAgUmV0dXJuTG9jYXRpb24gcmV0dXJuTG9jYXRpb247CiAgICAg
c3RydWN0IE1hdGNoRnJhbWUqIHByZXZpb3VzRnJhbWU7CiAgICAgCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oIGIvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRleCA3NmMxNDcwLi5hOTgyN2MwIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2Rl
ZmluZSBDYWxsSWRlbnRpZmllcl9oCiAKICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNp
bmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAg
ICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3Ry
dWN0IENhbGxJZGVudGlmaWVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgcHVibGljOgogICAgICAgICBVU3RyaW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3Vy
bDsKICAgICAgICAgdW5zaWduZWQgbV9saW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaCBiL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1Byb2Zp
bGVyLmgKaW5kZXggZjljMmNjYi4uZjg4NzQ2ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
cHJvZmlsZXIvUHJvZmlsZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
ci5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFVTdHJpbmc7
CiAgICAgc3RydWN0IENhbGxJZGVudGlmaWVyOyAgICAKIAotICAgIGNsYXNzIFByb2ZpbGVyIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFByb2ZpbGVyIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUHJvZmls
ZXIqKiBlbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNjMjAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJnTGlzdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlz
dC5oCkBAIC0yNSwxNCArMjUsMTQgQEAKICNpbmNsdWRlICJDYWxsRnJhbWUuaCIKICNpbmNsdWRl
ICJSZWdpc3Rlci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIGNsYXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZEFyZ3VtZW50QnVmZmVyKTsKICAg
ICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW5saW5lQ2FwYWNpdHkg
PSA4OwogICAgICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlciwgaW5saW5lQ2FwYWNpdHk+IFZl
Y3RvclR5cGU7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi5mZTkw
MGEyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcgKzMzLDEwIEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgOiBOb25jb3B5YWJs
ZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0aXZhdGlvbiogYWN0
aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCmluZGV4IDc0
MDg5YTUuLmRiMmQxZDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNo
ZWRUcmFuc2l0aW9uT3B0aW1pemVyLmgKQEAgLTI3LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRj
aGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAjZGVmaW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1p
emVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0
LmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9u
T3B0aW1pemVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXIoSlNPYmplY3QqIG9iamVjdCkKICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKaW5kZXggZGQyNmJjMy4uNWNiMWU0MSAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8d3Rm
L0ZpeGVkQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFnZUFsbG9jYXRpb24uaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgpAQCAtODcsNyArODYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBIZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAg
ICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJlYWQ7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAxZTIyYjZhLi5iNTNhZTQzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC0yMiw3ICsyMiw2IEBACiAj
ZGVmaW5lIENvbW1vbklkZW50aWZpZXJzX2gKIAogI2luY2x1ZGUgIklkZW50aWZpZXIuaCIKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gTWFya2VkQXJndW1lbnRCdWZmZXIgb2Yg
cHJvcGVydHkgbmFtZXMsIHBhc3NlZCB0byBhIG1hY3JvIHNvIHdlIGNhbiBkbyBzZXQgdGhlbSB1
cCB2YXJpb3VzCiAvLyB3YXlzIHdpdGhvdXQgcmVwZWF0aW5nIHRoZSBsaXN0LgpAQCAtODQsNyAr
ODMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb21tb25JZGVudGlmaWVycyB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgQ29tbW9uSWRlbnRpZmllcnMo
SlNHbG9iYWxEYXRhKik7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oIGIvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuaAppbmRleCA3ZDQ5MjlkLi43MzYzYWY4IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVk
ZSAiTWFya1N0YWNrLmgiCiAjaW5jbHVkZSAiU3RydWN0dXJlLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKaW5kZXggNzE0OTk5Zi4uMGM1YmJlZCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNDY1LDcgKzQ2NSw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICByZXR1cm4gbmV3IChleGVjKSBKU0FycmF5KGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKS0+YXJyYXlTdHJ1Y3R1cmUoKSwgdmFsdWVzKTsKICAgICB9CiAKLSAgICBjbGFzcyBE
eW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSk7CiAgICAgcHVibGljOgogICAgICAgICBEeW5hbWlj
R2xvYmFsT2JqZWN0U2NvcGUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTR2xvYmFsT2JqZWN0KiBk
eW5hbWljR2xvYmFsT2JqZWN0KSAKICAgICAgICAgICAgIDogbV9keW5hbWljR2xvYmFsT2JqZWN0
U2xvdChjYWxsRnJhbWUtPmdsb2JhbERhdGEoKS5keW5hbWljR2xvYmFsT2JqZWN0KQpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaCBiL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNMb2NrLmgKaW5kZXggMDViMzg4Yy4uNjRkN2E0YyAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0xvY2suaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
TG9jay5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIEpTTG9ja19oCiAKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKIApAQCAtNTMsNyArNTIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0g
SlNMb2NrQmVoYXZpb3IgeyBTaWxlbmNlQXNzZXJ0aW9uc09ubHksIExvY2tGb3JSZWFsIH07CiAK
LSAgICBjbGFzcyBKU0xvY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEpTTG9j
ayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTG9jayk7CiAgICAgcHVibGljOgog
ICAgICAgICBKU0xvY2soRXhlY1N0YXRlKik7CiAgICAgICAgIEpTTG9jayhKU0dsb2JhbERhdGEq
KTsKQEAgLTg5LDcgKzg5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgSlNMb2NrQmVo
YXZpb3IgbV9sb2NrQmVoYXZpb3I7CiAKLSAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRHJvcEFsbExvY2tzIHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERyb3BBbGxMb2Nrcyk7CiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIERyb3BBbGxMb2NrcyhFeGVjU3RhdGUqIGV4ZWMpOwogICAgICAgICAgICAg
RHJvcEFsbExvY2tzKEpTTG9ja0JlaGF2aW9yKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmpl
Y3QuY3BwCmluZGV4IGI1NDc3YTEuLjBiNzIyYjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09O
T2JqZWN0LmNwcApAQCAtNzAsNyArNzAsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1
ZSBtX3ZhbHVlOwogfTsKIAotY2xhc3MgU3RyaW5naWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3RyaW5naWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lm
aWVyKTsKIHB1YmxpYzoKICAgICBTdHJpbmdpZmllcihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxh
Y2VyLCBKU1ZhbHVlIHNwYWNlKTsKICAgICB+U3RyaW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oCmluZGV4IDliYzgxZDQuLjBkNmQ5OGYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTG9va3VwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApA
QCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jIEdldEZ1bmN0aW9uOwogICAgIHR5cGVkZWYgdm9pZCAoKlB1dEZ1bmN0
aW9uKShFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSB2YWx1ZSk7CiAK
LSAgICBjbGFzcyBIYXNoRW50cnkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3Mg
SGFzaEVudHJ5IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFy
IGF0dHJpYnV0ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXJrU3RhY2suaAppbmRleCBjM2VmYzhmLi4yYzNmNzk0IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKQEAgLTI3LDcgKzI3LDcgQEAKICNkZWZpbmUgTWFya1N0
YWNrX2gKIAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvT1NBbGxvY2F0b3IuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIAog
ICAgIGVudW0gTWFya1NldFByb3BlcnRpZXMgeyBNYXlDb250YWluTnVsbFZhbHVlcywgTm9OdWxs
VmFsdWVzIH07CiAgICAgCi0gICAgY2xhc3MgTWFya1N0YWNrIDogTm9uY29weWFibGUgeworICAg
IGNsYXNzIE1hcmtTdGFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtTdGFj
ayk7CiAgICAgcHVibGljOgogICAgICAgICBNYXJrU3RhY2sodm9pZCoganNBcnJheVZQdHIpCiAg
ICAgICAgICAgICA6IG1fanNBcnJheVZQdHIoanNBcnJheVZQdHIpCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmggYi9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggNThhYmRlNS4uMTcxNGJkMyAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaApAQCAtMzEsNyArMzEsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBSZWdFeHBQcm90b3R5cGU7CiAgICAgc3RydWN0
IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZTsKIAotICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3Rv
clByaXZhdGUgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQ
cml2YXRlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgog
ICAgICAgICAvLyBHbG9iYWwgc2VhcmNoIGNhY2hlIC8gc2V0dGluZ3MKICAgICAgICAgUmVnRXhw
Q29uc3RydWN0b3JQcml2YXRlKCkKICAgICAgICAgICAgIDogbGFzdE51bVN1YlBhdHRlcm5zKDAp
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAppbmRleCAxOWRlOTI5Li5lM2JhZDli
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTU5LDggKzU5LDEwIEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIG1hdGNoKEV4ZWNTdGF0ZSopOwogCiAgICAg
ICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoQ2FsbERhdGEmKTsKLQotICAgICAgICBz
dHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHB1YmxpYzoKKyAg
ICAgICAgc3RydWN0IFJlZ0V4cE9iamVjdERhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERh
dGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiByZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAg
ICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhwKQogICAgICAgICAgICAgICAgICwgbGFzdElu
ZGV4KGxhc3RJbmRleCkKQEAgLTcwLDcgKzcyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
ICAgICBSZWZQdHI8UmVnRXhwPiByZWdFeHA7CiAgICAgICAgICAgICBkb3VibGUgbGFzdEluZGV4
OwogICAgICAgICB9OwotCisgICAgcHJpdmF0ZToKICAgICAgICAgT3duUHRyPFJlZ0V4cE9iamVj
dERhdGE+IGQ7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
Y29wZUNoYWluLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAw
YjE1YjY3Li42MzYyODJiIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3Bl
Q2hhaW4uaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaApAQCAtMjEs
OCArMjEsNiBAQAogI2lmbmRlZiBTY29wZUNoYWluX2gKICNkZWZpbmUgU2NvcGVDaGFpbl9oCiAK
LSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xh
c3MgSlNHbG9iYWxEYXRhOwpAQCAtMzEsNyArMjksOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU2NvcGVDaGFpbkl0ZXJhdG9yOwogICAgIAotICAg
IGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IFNjb3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWluTm9kZSogbmV4dCwgSlNP
YmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAgICAgICAgIDogbmV4dChu
ZXh0KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3Bw
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4IGYzNTg3Mjcu
LjNlMjc4NTcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdz
LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNT
dHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQwLDcgKzM5LDggQEAgc3RhdGljIGlu
bGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmluZyAm
JiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJpbmdzU3Rv
cmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU21hbGxTdHJpbmdzU3RvcmFnZSgpOwogCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRleCBkMWViZmIxMy4uYWM4NGZlOCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCkBAIC0zNyw3ICszNyw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIE1hcmtTdGFjazsKICAgICBjbGFzcyBTbWFsbFN0cmlu
Z3NTdG9yYWdlOwogCi0gICAgY2xhc3MgU21hbGxTdHJpbmdzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBTbWFsbFN0cmluZ3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTbWFsbFN0cmluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFNtYWxsU3RyaW5ncygpOwogICAgICAgICB+U21hbGxTdHJpbmdzKCk7CmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2ZC4uMjYzNTUwMSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYgKzEyMiw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFN5bWJvbFRhYmxl
RW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJbXBsPiA+
LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9sVGFibGU7CiAKICAgICBjbGFzcyBT
aGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8
U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xUYWJsZT4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsgfQogICAg
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAppbmRleCAzOWE5MWM1Li4yNjgz
ZDEzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xh
c3MgSlNDZWxsOwogCiAvLyBBIEhhc2hNYXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBl
bXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlw
ZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgLyoKICAgICBJbnZhcmlhbnRzOgogICAgICAgICAqIEEgdmFsdWUg
ZW50ZXJzIHRoZSBXZWFrR0NNYXAgbWFya2VkLiAoR3VhcmFudGVlZCBieSBzZXQoKS4pCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oIGIvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrR0NQdHIuaAppbmRleCBhYzc3Y2YzLi42N2YxMWMzIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvV2Vha0dDUHRyLmgKQEAgLTI4LDEyICsyOCwxMiBAQAogCiAjaW5jbHVkZSAiQ29s
bGVjdG9yLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21hcnQgcG9pbnRlciB3aG9zZSBnZXQo
KSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6IE5vbmNvcHlhYmxlIHsKK3RlbXBs
YXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dDUHRyKCkKICAgICAgICAgOiBtX3B0
cigwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRl
ZC5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCmluZGV4IDBj
MGU5OTcuLjhiNjU5NzcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVh
ZFJlZkNvdW50ZWQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3Vu
dGVkLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8gd2l0aCByZXNw
ZWN0IHRvIHRoZSBvcmlnaW5hbCBhbmQgYW55IG90aGVyIGNvcGllcy4gIFRoZSB1bmRlcmx5aW5n
IG1fZGF0YSBpcyBqb2ludGx5CiAgICAgLy8gb3duZWQgYnkgdGhlIG9yaWdpbmFsIGluc3RhbmNl
IGFuZCBhbGwgY29waWVzLgogICAgIHRlbXBsYXRlPGNsYXNzIFQ+Ci0gICAgY2xhc3MgQ3Jvc3NU
aHJlYWRSZWZDb3VudGVkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc1Ro
cmVhZFJlZkNvdW50ZWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVh
ZFJlZkNvdW50ZWQpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q3Jv
c3NUaHJlYWRSZWZDb3VudGVkPFQ+ID4gY3JlYXRlKFQqIGRhdGEpCiAgICAgICAgIHsKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0RhdGVNYXRoLmgKaW5kZXggY2I4NDcwOC4uZTBkZWIxYiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL0RhdGVNYXRoLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgK
QEAgLTQzLDEwICs0MywxMCBAQAogI2RlZmluZSBEYXRlTWF0aF9oCiAKICNpbmNsdWRlIDxtYXRo
Lmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8
dGltZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKQEAgLTExNiw3ICsxMTYsOSBAQCBkb3VibGUgcGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVk
Q2hhcmFjdGVycyhFeGVjU3RhdGUqLCBjb25zdCBjaGFyKiBkYXRlU3RyaW5nKQogCiAvLyBJbnRl
bnRpb25hbGx5IG92ZXJyaWRkaW5nIHRoZSBkZWZhdWx0IHRtIG9mIHRoZSBzeXN0ZW0uCiAvLyBU
aGUgbWVtYmVycyBvZiB0bSBkaWZmZXIgb24gdmFyaW91cyBvcGVyYXRpbmcgc3lzdGVtcy4KLXN0
cnVjdCBHcmVnb3JpYW5EYXRlVGltZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBHcmVnb3JpYW5E
YXRlVGltZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JlZ29yaWFuRGF0ZVRpbWUpOwor
cHVibGljOgogICAgIEdyZWdvcmlhbkRhdGVUaW1lKCkKICAgICAgICAgOiBzZWNvbmQoMCkKICAg
ICAgICAgLCBtaW51dGUoMCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5o
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKaW5kZXggNzQ1ZTBiNi4uMWIxNmFmYyAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL0RlcXVlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgRGVxdWUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsK
ICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAppbmRleCBiYjE4MjVlLi5iNmE1MzQ2IDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAgLTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1
c3RvbWl6YWJsZSBvdmVycmlkZXMgb2YgZmFzdE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3Ig
bmV3L2RlbGV0ZQogLy8KIC8vIFByb3ZpZGVkIGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzog
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIC8vICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAg
IGNsYXNzIEZhc3RBbGxvY0Jhc2U7CiAvLwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsK
IC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KGFyZyk7CkBAIC00OCw3ICs0OCwxMCBAQAogLy8g
RmFzdERlbGV0ZSBhc3N1bWVzIHRoYXQgdGhlIHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVz
YWdlOgotLy8gICAgY2xhc3MgV2lkZ2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsK
Ky8vICAgIGNsYXNzIFdpZGdldCB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQK
Ky8vICAgIC4uLgorLy8gICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRyID0gZmFzdE5ldzxj
aGFyPigpOwogLy8gICAgZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTg1LDQyICs4OCw2IEBACiAK
IG5hbWVzcGFjZSBXVEYgewogCi0jZGVmaW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKLXB1
YmxpYzogXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJu
IHA7IH0gXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCwgdm9pZCogcCkgeyByZXR1
cm4gcDsgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgXAot
ICAgIHsgXAotICAgICAgICB2b2lkKiBwID0gOjpXVEY6OmZhc3RNYWxsb2Moc2l6ZSk7IFwKLSAg
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAgICByZXR1cm4gcDsgXAotICAgIH0g
XAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCi0gICAgeyBcCi0g
ICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVy
bmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBc
Ci0gICAgfSBcCi0gICAgXAotICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBc
Ci0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAot
ICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgOjpXVEY6Oklu
dGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICByZXR1cm4gcDsgXAot
ICAgIH0gXAotICAgIFwKLSAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHApIFwKLSAg
ICB7IFwKLSAgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpX
VEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAotICAgICAgICAgOjpXVEY6
OmZhc3RGcmVlKHApOyBcCi0gICAgfSBcCi1wcml2YXRlOgotCi1jbGFzcyBGYXN0QWxsb2NCYXNl
IHsKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCAgCi19OwotCiAgICAgLy8gZmFzdE5ldyAv
IGZhc3REZWxldGUKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtNDEwLDcgKzM3Nyw2
IEBAIGNsYXNzIEZhc3RBbGxvY0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcg
V1RGOjpGYXN0QWxsb2NCYXNlOwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVj
dG9yOwogCiAjZW5kaWYgLy8gRmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCmluZGV4IDRlZDc1YzUuLmI5N2Q4YzggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRl
ZFNldC5oCkBAIC0yMiwxNCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3VudGVkU2V0X2gK
IAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAj
aW5jbHVkZSAiSGFzaE1hcC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV1RG
IHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25z
ID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBU
cmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZh
bHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFZhbHVlLCB1bnNp
Z25lZCwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzPiBJbXBsVHlwZTsKICAgICBwdWJsaWM6CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hNYXAuaAppbmRleCAwOTA5NGQxLi43NzMxNTQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvSGFzaE1hcC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKQEAg
LTI5LDcgKzI5LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBL
ZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERl
ZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsCiAgICAgICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9
IEhhc2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0
czxNYXBwZWRBcmc+ID4KLSAgICBjbGFzcyBIYXNoTWFwIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIEhhc2hNYXAgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAg
ICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNl
dC5oCmluZGV4IDY2NjM5ZTQuLmJlNmI5M2QgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9IYXNoU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApAQCAtMzUsNyAr
MzUsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
SWRlbnRpdHlFeHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgdHlw
ZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaCwKLSAg
ICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBI
YXNoU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHNB
cmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hB
cmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCmluZGV4IGUxNGFjNDUuLmU5MTZlZjIgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVj
dCBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVB
cmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RI
YXNoU2V0Tm9kZUhhc2hGdW5jdGlvbnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFy
Zywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5h
bWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90
IGlubGluZUNhcGFjaXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVs
dEhhc2g8VmFsdWVBcmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgTGlzdEhh
c2hTZXROb2RlPFZhbHVlQXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZTsKICAgICAgICAgdHlwZWRl
ZiBMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2Rl
QWxsb2NhdG9yOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCmluZGV4IDQxODEzZDMuLjdkZGMxNGQgMTAwNjQ0Ci0t
LSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
TG9ja2VyLmgKQEAgLTI4LDExICsyOCwxMSBAQAogI2lmbmRlZiBMb2NrZXJfaAogI2RlZmluZSBM
b2NrZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvY2tlcik7CiBwdWJsaWM6CiAgICAgTG9ja2VyKFQmIGxvY2thYmxlKSA6
IG1fbG9ja2FibGUobG9ja2FibGUpIHsgbV9sb2NrYWJsZS5sb2NrKCk7IH0KICAgICB+TG9ja2Vy
KCkgeyBtX2xvY2thYmxlLnVubG9jaygpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93
dGYvTUQ1LmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuY3BwCmluZGV4IGM5MjZhN2IuLjdj
M2Y5ODMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuY3BwCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9NRDUuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAiU3RyaW5n
RXh0cmFzLmgiCiAjaW5jbHVkZSAidGV4dC9DU3RyaW5nLmgiCiAjZW5kaWYKKyNpbmNsdWRlIDxz
dHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXVEYg
ewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5oIGIvSmF2YVNjcmlwdENvcmUv
d3RmL01ENS5oCmluZGV4IDNjYWE4MTAuLmEwZGU1MDAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL3d0Zi9NRDUuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1LmgKQEAgLTMxLDYgKzMx
LDcgQEAKICNpZm5kZWYgV1RGX01ENV9oCiAjZGVmaW5lIFdURl9NRDVfaAogCisjaW5jbHVkZSA8
c3RkaW50Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV1RGIHsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9NZXNzYWdlUXVldWUuaAppbmRleCAxNDEwMGM5Li5kN2Q1NzEyIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL01lc3NhZ2VRdWV1ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8bGltaXRzPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBu
YW1lc3BhY2UgV1RGIHsKQEAgLTQ4LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8g
d2hlbiBtZXNzYWdlcyBhcmUgZmV0Y2hlZCBmcm9tIHRoZSBxdWV1ZS4KICAgICAvLyBFc3NlbnRp
YWxseSwgTWVzc2FnZVF1ZXVlIGFjdHMgYXMgYSBxdWV1ZSBvZiBPd25QdHI8RGF0YVR5cGU+Lgog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgotICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVF1ZXVlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2FnZVF1ZXVlKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IE1lc3NhZ2VRdWV1ZSgpIDogbV9raWxsZWQoZmFsc2UpIHsgfQogICAgICAgICB+TWVzc2FnZVF1
ZXVlKCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaCBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyODVlZDJlLi4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMp
IDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
Ci0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKLSAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0g
KiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LQotI2lmbmRlZiBXVEZfTm9uY29weWFibGVfaAotI2RlZmluZSBXVEZfTm9uY29weWFibGVfaAot
Ci0jaWZuZGVmIF9faGFzX2ZlYXR1cmUKLSAgICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAot
I2VuZGlmCi0KLSNpZiBfX2hhc19mZWF0dXJlKGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKLSAgICAj
ZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBfUHJhZ21h
KCJjbGFuZyBkaWFnbm9zdGljIHB1c2giKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdu
b3N0aWMgaWdub3JlZCBcIi1XdW5rbm93bi1wcmFnbWFzXCIiKSBcCi0gICAgICAgIF9QcmFnbWEo
ImNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCBcIi1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAotICAg
ICAgICBwcml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikg
PSBkZWxldGU7IFwKLSAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNz
TmFtZSYpID0gZGVsZXRlOyBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9w
IikKLSNlbHNlCi0gICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwK
LSAgICAgICAgcHJpdmF0ZTogXAotICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFt
ZSYpOyBcCi0gICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUm
KQotI2VuZGlmCi0KLS8vIFdlIGRvbid0IHdhbnQgYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cCB0
byBwdWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgV1RGCi0vLyBuYW1lc3BhY2Ugd2hlbiB5b3Ug
dXNlIE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQgaW4gaXRzIG93biBuYW1lc3BhY2UuCi0KLSNpbmNs
dWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5hbWVzcGFjZSBXVEZOb25jb3B5YWJsZSB7Ci0KLSAg
ICBjbGFzcyBOb25jb3B5YWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKLSAgICAgICAgTm9u
Y29weWFibGUoY29uc3QgTm9uY29weWFibGUmKTsKLSAgICAgICAgTm9uY29weWFibGUmIG9wZXJh
dG9yPShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgIHByb3RlY3RlZDoKLSAgICAgICAgTm9uY29w
eWFibGUoKSB7IH0KLSAgICAgICAgfk5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgfTsKLQotfSAvLyBu
YW1lc3BhY2UgV1RGTm9uY29weWFibGUKLQotdXNpbmcgV1RGTm9uY29weWFibGU6Ok5vbmNvcHlh
YmxlOwotCi0jZW5kaWYgLy8gV1RGX05vbmNvcHlhYmxlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRy
LmgKaW5kZXggNjQzYjkwYi4uY2Q2NGVkYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L093bkFycmF5UHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKQEAg
LTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgV1RGX093bkFycmF5UHRyX2gKIAogI2luY2x1ZGUgIkFz
c2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIu
aCIKICNpbmNsdWRlICJPd25BcnJheVB0ckNvbW1vbi5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4K
QEAgLTM1LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
bGFzcyBQYXNzT3duQXJyYXlQdHI7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQ
dHI8VD4gYWRvcHRBcnJheVB0cihUKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBP
d25BcnJheVB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgT3duQXJyYXlQdHIgewogcHVibGljOgogICAgIHR5cGVkZWYgVCogUHRyVHlwZTsKIApk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCkBAIC0yMywxMSArMjMsMTEgQEAK
ICNkZWZpbmUgT3duRmFzdE1hbGxvY1B0cl9oCiAKICNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCi0j
aW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICB0ZW1wbGF0
ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoT3duRmFzdE1hbGxvY1B0cik7CiAgICAgcHVibGljOgogICAg
ICAgICBleHBsaWNpdCBPd25GYXN0TWFsbG9jUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25QdHIuaAppbmRleCBjZGMyNzdjLi5mYjU5NDMyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0
ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAi
QXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0
ci5oIgogI2luY2x1ZGUgIk93blB0ckNvbW1vbi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIK
QEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUGFzc093blB0cjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRy
PFQ+IGFkb3B0UHRyKFQqKTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3Mg
T3duUHRyIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9p
bnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7CiAgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJU
eXBlOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAxMmMzZTNkLi5kZGM4YTBmIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaApAQCAtMiw2ICsyLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywg
MjAwOCwgMjAwOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIFJlc2Vh
cmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMTExOCw0ICsxMTE5LDYxIEBACiAjaW5jbHVkZSAiR1R5cGVkZWZzLmgi
CiAjZW5kaWYKIAorLyogTm9uY29weWFibGUncyBpbXBsZW1lbnRhdGlvbiBhcyBhIG1hY3JvICov
CisKKyNpZm5kZWYgX19oYXNfZmVhdHVyZQorICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAw
CisjZW5kaWYKKworI2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQorICAg
ICNkZWZpbmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIF9QcmFn
bWEoImNsYW5nIGRpYWdub3N0aWMgcHVzaCIpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlh
Z25vc3RpYyBpZ25vcmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKKyAgICAgICAgX1ByYWdt
YSgiY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCisg
ICAgICAgIHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUm
KSA9IGRlbGV0ZTsgXAorICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xh
c3NOYW1lJikgPSBkZWxldGU7IFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBw
b3AiKQorI2Vsc2UKKyAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkg
XAorICAgICAgICBwcml2YXRlOiBcCisgICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NO
YW1lJik7IFwKKyAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFt
ZSYpCisjZW5kaWYKKworLyogUHJvdmlkZXMgY3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBvcGVy
YXRvciBuZXcvZGVsZXRlICovCisKKyNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAor
cHVibGljOiBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1
cm4gcDsgfSBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJl
dHVybiBwOyB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBc
CisgICAgeyBcCisgICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAor
ICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJ
bnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAg
fSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApIFwKKyAgICB7IFwK
KyAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50
ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAorICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7
IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90IHNpemUp
IFwKKyAgICB7IFwKKyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBc
CisgICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6
SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgIHJldHVybiBwOyBc
CisgICAgfSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkgXAor
ICAgIHsgXAorICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6
OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgICA6OldU
Rjo6ZmFzdEZyZWUocCk7IFwKKyAgICB9IFwKK3ByaXZhdGU6IFwKK3R5cGVkZWYgaW50IFRoaXNJ
c0hlcmVUb0ZvcmNlQVNlbWljb2xvbkFmdGVyVGhpc01hY3JvCisKICNlbmRpZiAvKiBXVEZfUGxh
dGZvcm1faCAqLwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKaW5kZXggOGQ4YjMwMi4uZTA2MjI5NCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCkBAIC0yMiw3ICsyMiw3IEBACiAjZGVmaW5lIFJlZkNv
dW50ZWRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxl
LmgiCisjaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAt
MTMxLDcgKzEzMSw4IEBAIGlubGluZSB2b2lkIGFkb3B0ZWQoUmVmQ291bnRlZEJhc2UqIG9iamVj
dCkKIAogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBw
dWJsaWMgUmVmQ291bnRlZEJhc2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGljIFJlZkNvdW50ZWRCYXNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZWZDb3VudGVkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdm9pZCBkZXJlZigpCiAgICAgewpAQCAtMTQwLDYgKzE0MSw3IEBAIHB1
YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKKyAgICBSZWZDb3VudGVkKCkgeyB9CiAgICAgflJl
ZkNvdW50ZWQoKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
UmVmUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKaW5kZXggNmFmYTg4Ni4uYjA3
Yjg5NCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMjMsOSArMjMsOSBAQAogI2lmbmRlZiBXVEZfUmVm
UHRyX2gKICNkZWZpbmUgV1RGX1JlZlB0cl9oCiAKLSNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5j
bHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIuaCIKKyNpbmNsdWRl
IDxhbGdvcml0aG0+CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNl
IFdURiB7CiAKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICBlbnVtIEhh
c2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUgeyBIYXNoVGFibGVEZWxldGVkVmFsdWUgfTsKIAotICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUg
UmVmUHRyKCkgOiBtX3B0cigwKSB7IH0KICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoVCog
cHRyKSA6IG1fcHRyKHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQ
dHJIYXNoTWFwLmgKaW5kZXggN2Y2ZWJmZS4uM2MwNzZjZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRy
SGFzaE1hcC5oCkBAIC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hB
cmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAg
IGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0Fy
ZywgTWFwcGVkVHJhaXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBI
YXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBl
ZFRyYWl0c0FyZz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2
YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAgICAgICAgIHR5
cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCmluZGV4IDNhZjg3YTguLmVkMWJh
MmMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0
aHJlYWRzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRo
cmVhZHMuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRocmVhZElkZW50aWZpZXJEYXRh
UHRocmVhZHNfaAogI2RlZmluZSBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAog
bmFtZXNwYWNlIFdURiB7CiAKIC8vIEhvbGRzIFRocmVhZElkZW50aWZpZXIgaW4gdGhlIHRocmVh
ZC1zcGVjaWZpYyBzdG9yYWdlIGFuZCBlbXBsb3lzIHB0aHJlYWRzLXNwZWNpZmljIDItcGFzcyBk
ZXN0cnVjdGlvbiB0byByZWxpYWJseSByZW1vdmUKIC8vIFRocmVhZElkZW50aWZpZXIgZnJvbSB0
aHJlYWRNYXAuIEl0IGFzc3VtZXMgcmVndWxhciBUaHJlYWRTcGVjaWZpYyB0eXBlcyBkb24ndCB1
c2UgbXVsdGlwbGUtcGFzcyBkZXN0cnVjdGlvbi4KLWNsYXNzIFRocmVhZElkZW50aWZpZXJEYXRh
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRocmVhZElkZW50aWZpZXJEYXRhIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRJZGVudGlmaWVyRGF0YSk7CiBwdWJsaWM6CiAg
ICAgflRocmVhZElkZW50aWZpZXJEYXRhKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNo
YXJlZC5oCmluZGV4IDMzYzY2MTIuLmE2YTFjZjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaApAQCAtNjIsMTIgKzYyLDEyIEBACiAjaW5jbHVkZSAiUGxhdGZvcm0uaCIKIAog
I2luY2x1ZGUgPHd0Zi9BdG9taWNzLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAK
LWNsYXNzIFRocmVhZFNhZmVTaGFyZWRCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFRocmVhZFNhZmVTaGFyZWRCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRT
YWZlU2hhcmVkQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRo
cmVhZFNhZmVTaGFyZWRCYXNlKGludCBpbml0aWFsUmVmQ291bnQgPSAxKQogICAgICAgICA6IG1f
cmVmQ291bnQoaW5pdGlhbFJlZkNvdW50KQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZFNwZWNpZmljLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApp
bmRleCA5M2VkNDY2Li4xMTM3YmQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkU3BlY2lmaWMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApA
QCAtNDEsNyArNDEsNiBAQAogI2lmbmRlZiBXVEZfVGhyZWFkU3BlY2lmaWNfaAogI2RlZmluZSBX
VEZfVGhyZWFkU3BlY2lmaWNfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNp
ZiBVU0UoUFRIUkVBRFMpCiAjaW5jbHVkZSA8cHRocmVhZC5oPgpAQCAtNjEsNyArNjAsOCBAQCBu
YW1lc3BhY2UgV1RGIHsKIHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYK
IAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9u
Y29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBU
aHJlYWRTcGVjaWZpYygpOwogICAgIFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg0LDkgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHN0YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0Uo
UFRIUkVBRFMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1Mp
Ci0gICAgc3RydWN0IERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERh
dGEoVCogdmFsdWUsIFRocmVhZFNwZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93
bmVyKG93bmVyKSB7fQogI2lmIFBMQVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXIt
PmRlc3Ryb3kodGhpcyk7IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRT
cGVjaWZpY1dpbi5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
CmluZGV4IGYyYzBjYWQuLmQ3Mjk5NmEgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTcGVjaWZpY1dpbi5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNp
ZmljV2luLmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5j
bHVkZSAiVGhyZWFkU3BlY2lmaWMuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
I2lmIFVTRShQVEhSRUFEUykKICNlcnJvciBUaGlzIGZpbGUgc2hvdWxkIG5vdCBiZSBjb21waWxl
ZCBieSBwb3J0cyB0aGF0IGRvIG5vdCB1c2UgV2luZG93cyBuYXRpdmUgVGhyZWFkU3BlY2lmaWMg
aW1wbGVtZW50YXRpb24uCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5n
LmNwcCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDQ5ZGU1OWUuLmYy
ZTA1NjUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCkBAIC0zMCw3ICszMCw5IEBACiAKIG5h
bWVzcGFjZSBXVEYgewogCi1zdHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2Ug
eworc3RydWN0IE5ld1RocmVhZENvbnRleHQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgogICAgIE5ld1RocmVhZENvbnRleHQoVGhyZWFkRnVuY3Rpb24gZW50cnlQb2lu
dCwgdm9pZCogZGF0YSwgY29uc3QgY2hhciogbmFtZSkKICAgICAgICAgOiBlbnRyeVBvaW50KGVu
dHJ5UG9pbnQpCiAgICAgICAgICwgZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZGluZy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5oCmluZGV4
IDA0NDM2NWYuLmRhZWExOGUgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRp
bmcuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKQEAgLTY2LDcgKzY2LDYg
QEAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KICNp
bmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlU2hhcmVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGlu
Z1ByaW1pdGl2ZXMuaD4KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Z1ByaW1pdGl2ZXMuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgK
aW5kZXggYzExYTZjYi4uMDYzZGVjMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZGluZ1ByaW1pdGl2ZXMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJp
bWl0aXZlcy5oCkBAIC0zNSw3ICszNSw2IEBACiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgogI2luY2x1ZGUgPHd0Zi9Mb2NrZXIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogI2lmIE9TKFdJTkRPV1MpCiAjaW5jbHVkZSA8d2luZG93cy5oPgpAQCAtOTYsNyArOTUsOCBA
QCB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1Db25kaXRpb247CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE11dGV4KCk7CiAgICAgfk11
dGV4KCk7CkBAIC0xMTMsNyArMTEzLDggQEAgcHJpdmF0ZToKIAogdHlwZWRlZiBMb2NrZXI8TXV0
ZXg+IE11dGV4TG9ja2VyOwogCi1jbGFzcyBSZWFkV3JpdGVMb2NrIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlYWRXcml0ZUxvY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
YWRXcml0ZUxvY2spOwogcHVibGljOgogICAgIFJlYWRXcml0ZUxvY2soKTsKICAgICB+UmVhZFdy
aXRlTG9jaygpOwpAQCAtMTMwLDcgKzEzMSw4IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1SZWFk
V3JpdGVMb2NrIG1fcmVhZFdyaXRlTG9jazsKIH07CiAKLWNsYXNzIFRocmVhZENvbmRpdGlvbiA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRDb25kaXRpb24geworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRocmVhZENvbmRpdGlvbik7CiBwdWJsaWM6CiAgICAgVGhyZWFkQ29u
ZGl0aW9uKCk7CiAgICAgflRocmVhZENvbmRpdGlvbigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1ZlY3Rvci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCmluZGV4IGY3
Mzc5M2YuLmIzMWM2NjIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKQEAgLTIxLDE0ICsyMSwxNCBAQAogI2lm
bmRlZiBXVEZfVmVjdG9yX2gKICNkZWZpbmUgV1RGX1ZlY3Rvcl9oCiAKLSNpbmNsdWRlICJGYXN0
QWxsb2NCYXNlLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlICJGYXN0TWFs
bG9jLmgiCiAjaW5jbHVkZSAiTm90Rm91bmQuaCIKICNpbmNsdWRlICJTdGRMaWJFeHRyYXMuaCIK
ICNpbmNsdWRlICJWYWx1ZUNoZWNrLmgiCiAjaW5jbHVkZSAiVmVjdG9yVHJhaXRzLmgiCiAjaW5j
bHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHV0aWxpdHk+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAK
ICNpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxRRGF0YVN0cmVhbT4KQEAgLTI3Nyw3ICsyNzcs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4K
LSAgICBjbGFzcyBWZWN0b3JCdWZmZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBWZWN0b3JCdWZmZXJCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVj
dG9yQnVmZmVyQmFzZSk7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGFsbG9jYXRlQnVmZmVy
KHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICAgICAgewpAQCAtNDg4LDcgKzQ4OSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHkgPSAwPgotICAgIGNsYXNzIFZlY3RvciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICBjbGFzcyBWZWN0b3IgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIFZlY3RvckJ1ZmZlcjxULCBpbmxpbmVDYXBh
Y2l0eT4gQnVmZmVyOwogICAgICAgICB0eXBlZGVmIFZlY3RvclR5cGVPcGVyYXRpb25zPFQ+IFR5
cGVPcGVyYXRpb25zOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERh
dGEuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKaW5kZXggNTAxOWMzMy4u
ZDkyMDEwYyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaAor
KysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFz
aC5oPgogCiAvLyBUaGlzIHdhcyBFTkFCTEUoV09SS0VSUykgaW4gV2ViQ29yZSwgYnV0IHRoaXMg
aXMgbm90IGRlZmluZWQgd2hlbiBjb21waWxpbmcgSlNDLgpAQCAtNTEsNyArNTAsOCBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogdHlwZWRlZiBIYXNoTWFwPGNvbnN0IGNoYXIqLCBSZWZQdHI8U3RyaW5n
SW1wbD4sIFB0ckhhc2g8Y29uc3QgY2hhcio+ID4gTGl0ZXJhbElkZW50aWZpZXJUYWJsZTsKIAot
Y2xhc3MgSWRlbnRpZmllclRhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRl
bnRpZmllclRhYmxlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICB+SWRlbnRpZmllclRhYmxlKCk7CiAKQEAgLTg0LDcgKzg0LDggQEAgY2xhc3MgQXRvbWljU3Ry
aW5nVGFibGU7CiAKIHR5cGVkZWYgdm9pZCAoKkF0b21pY1N0cmluZ1RhYmxlRGVzdHJ1Y3Rvciko
QXRvbWljU3RyaW5nVGFibGUqKTsKIAotY2xhc3MgV1RGVGhyZWFkRGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBXVEZUaHJlYWREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXVEZUaHJlYWREYXRhKTsKIHB1YmxpYzoKICAgICBXVEZUaHJlYWREYXRhKCk7CiAgICAgfldU
RlRocmVhZERhdGEoKTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAppbmRleCBjODljMDM2Li5iNWIxMjYxIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUv
d3RmL2R0b2EuY3BwCkBAIC00MTQsNyArNDE0LDEwIEBAIHN0YXRpYyB2b2lkIG11bHQoQmlnSW50
JiBhUmVmLCBjb25zdCBCaWdJbnQmIGJSZWYpCiAgICAgYVJlZiA9IGM7CiB9CiAKLXN0cnVjdCBQ
NU5vZGUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUDVOb2RlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQNU5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBQ
NU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwogICAgIFA1Tm9kZSogbmV4dDsKIH07CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmggYi9KYXZhU2NyaXB0
Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKaW5kZXggY2VjM2U0My4uYTM3ZDk4ZiAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaW5jbHVk
ZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIGV4dGVybiAiQyIgdm9pZCBnX2ZyZWUodm9pZCopOwogCkBAIC00
MSw3ICs0MCw4IEBAIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRHUHRyPEdQYXR0ZXJuU3BlYz4o
R1BhdHRlcm5TcGVjKik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHRGlyPihHRGly
Kik7CiB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHRmlsZT4oR0ZpbGUqKTsKIAotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdPd25QdHIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIEdPd25QdHIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEdPd25QdHIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEdPd25QdHIoVCogcHRyID0g
MCkgOiBtX3B0cihwdHIpIHsgfQogICAgIH5HT3duUHRyKCkgeyBmcmVlT3duZWRHUHRyKG1fcHRy
KTsgfQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAppbmRleCBhNTQ2YmYzLi5l
NzNkMzhlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIu
aAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaApAQCAtMzAsMTMg
KzMwLDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmlj
b2RlL1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1j
bGFzcyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nQnVm
ZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdCdWZmZXIpOwogcHVibGljOgog
ICAgIGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNpZ25lZCBsZW5ndGgpCiAgICAgICAgIDogbV9s
ZW5ndGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
SW1wbEJhc2UuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgKaW5k
ZXggNjU2NzY3Mi4uMjZiYzFkOSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQv
U3RyaW5nSW1wbEJhc2UuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBs
QmFzZS5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5kZWYgU3RyaW5nSW1wbEJhc2VfaAogI2Rl
ZmluZSBTdHJpbmdJbXBsQmFzZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFz
cyBTdHJpbmdJbXBsQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdJbXBs
QmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5nSW1wbEJhc2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBib29sIGlzU3RyaW5nSW1wbCgpIHsgcmV0
dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0ltcGwp
ICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1wbDsgfQogICAgIHVuc2lnbmVkIGxlbmd0
aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBAIC00NSw5ICs0NSw2IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07CiAKLSAgICB1c2luZyBOb25jb3B5YWJs
ZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZvaWQqIGlu
UGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4gaW5QbGFjZTsgfQotCiAgICAgLy8gRm9y
IFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2NhdGVzIGFuIGFycmF5IGFuZCB1c2VzIGFu
IGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFzZSgpIHsgfQogCmRpZmYgLS1naXQgYS9K
YXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li5hOGJjZTEyIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi91bmljb2RlL0NvbGxhdG9yLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZm5kZWYgV1RGX0Nv
bGxhdG9yX2gKICNkZWZpbmUgV1RGX0NvbGxhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNv
ZGUvVW5pY29kZS5oPgogCkBAIC0zOSw3ICszOCw4IEBAIHN0cnVjdCBVQ29sbGF0b3I7CiAKIG5h
bWVzcGFjZSBXVEYgewogCi0gICAgY2xhc3MgQ29sbGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIENvbGxhdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29s
bGF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIGVu
dW0gUmVzdWx0IHsgRXF1YWwgPSAwLCBHcmVhdGVyID0gMSwgTGVzcyA9IC0xIH07CiAKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oIGIvSmF2YVNjcmlw
dENvcmUveWFyci9SZWdleEludGVycHJldGVyLmgKaW5kZXggMGZkOGE1Ny4uZDQwNDUxMCAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVyLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVyLmgKQEAgLTMxNSw3ICszMTUsOCBAQCBz
dHJ1Y3QgQnl0ZVRlcm0gewogICAgIH0KIH07CiAKLWNsYXNzIEJ5dGVEaXNqdW5jdGlvbiA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEJ5dGVEaXNqdW5jdGlvbiB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQnl0ZURpc2p1bmN0aW9uKHVuc2lnbmVk
IG51bVN1YnBhdHRlcm5zLCB1bnNpZ25lZCBmcmFtZVNpemUpCiAgICAgICAgIDogbV9udW1TdWJw
YXR0ZXJucyhudW1TdWJwYXR0ZXJucykKQEAgLTMyOCw3ICszMjksOSBAQCBwdWJsaWM6CiAgICAg
dW5zaWduZWQgbV9mcmFtZVNpemU7CiB9OwogCi1zdHJ1Y3QgQnl0ZWNvZGVQYXR0ZXJuIDogRmFz
dEFsbG9jQmFzZSB7CitzdHJ1Y3QgQnl0ZWNvZGVQYXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBCeXRlY29kZVBhdHRlcm4oUGFzc093blB0cjxCeXRl
RGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRlRGlzanVuY3Rpb24qPiBhbGxQYXJlbnRoZXNl
c0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJBbGxvY2F0b3IqIGFsbG9j
YXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBtX2lnbm9yZUNhc2UocGF0
dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4
UGF0dGVybi5oIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaAppbmRleCA0NDU2
MGE0Li5mZWU3MTk2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVy
bi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgKQEAgLTcwLDcgKzcw
LDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgOiBGYXN0
QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgLy8gQWxsIENoYXJhY3RlckNsYXNzIGluc3RhbmNlcyBo
YXZlIHRvIGhhdmUgdGhlIGZ1bGwgc2V0IG9mIG1hdGNoZXMgYW5kIHJhbmdlcywKICAgICAvLyB0
aGV5IG1heSBoYXZlIGFuIG9wdGlvbmFsIHRhYmxlIGZvciBmYXN0ZXIgbG9va3VwcyAod2hpY2gg
bXVzdCBtYXRjaCB0aGUKICAgICAvLyBzcGVjaWZpZWQgbWF0Y2hlcyBhbmQgcmFuZ2VzKQpAQCAt
MjExLDcgKzIxMyw5IEBAIHN0cnVjdCBQYXR0ZXJuVGVybSB7CiAgICAgfQogfTsKIAotc3RydWN0
IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFBhdHRlcm5BbHRl
cm5hdGl2ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUGF0
dGVybkFsdGVybmF0aXZlKFBhdHRlcm5EaXNqdW5jdGlvbiogZGlzanVuY3Rpb24pCiAgICAgICAg
IDogbV9wYXJlbnQoZGlzanVuY3Rpb24pCiAgICAgICAgICwgbV9vbmNlVGhyb3VnaChmYWxzZSkK
QEAgLTI1Miw3ICsyNTYsOSBAQCBzdHJ1Y3QgUGF0dGVybkFsdGVybmF0aXZlIDogRmFzdEFsbG9j
QmFzZSB7CiAgICAgYm9vbCBtX2NvbnRhaW5zQk9MIDogMTsKIH07CiAKLXN0cnVjdCBQYXR0ZXJu
RGlzanVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0ZXJuRGlzanVuY3Rpb24g
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBhdHRlcm5EaXNq
dW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAgICAgICAgIDogbV9wYXJl
bnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNlKQpkaWZmIC0tZ2l0IGEv
SmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCmluZGV4
IDk2OTM5NTIuLjBjNWFmYTggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwor
KysgYi9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMi0w
NiAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJs
ZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0
QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5
NiwgIzQ2NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZCAKKyAgICAgICAgRmFzdEFsbG9jQmFz
ZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29w
eWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCisgICAg
ICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJlbW92ZWQuCisKIDIw
MTAtMTItMDEgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBC
dWlsZCBmaXg6IEFkZGVkIGEgZm9yd2FyZGluZyBoZWFkZXIuCmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL0phdmFTY3JpcHRH
bHVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRHbHVlL0Zvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBA
QAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYwODhkOWIuLjY1OWM3
ZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTItMDYgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3Nlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKwor
ICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVj
dHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJs
ZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGlt
cGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFs
bG9jQmFzZS5oIGluY2x1ZGVzLgorCisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05v
bmNvcHlhYmxlLmg6IFJlbW92ZWQuCisKIDIwMTAtMTItMDUgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFJ1biBzb3J0LVhjb2RlLXByb2pl
Y3QtZmlsZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNv
cHlhYmxlLmggYi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTEyNjc3Li4wMDAwMDAwCi0tLSBhL1dlYkNv
cmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw0ICswLDAgQEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfTm9uY29weWFibGVfaAotI2RlZmluZSBX
ZWJDb3JlX0ZXRF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvTm9uY29w
eWFibGUuaD4KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXgg
M2EwNGJhYy4uMWEwN2I3YSAxMDA3NTUKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBA
IC02NDAwMSwxMCArNjQwMDEsNiBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCi0J
CQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hlYWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgi
Ci0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxG
b3J3YXJkaW5nSGVhZGVyc1x3dGZcT3duQXJyYXlQdHIuaCIKIAkJCQkJPgogCQkJCTwvRmlsZT4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCmluZGV4IDJlZTU2ZWUuLjBjM2YwODcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtNTcsNyArNTcsOCBAQCBz
dHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBvc3RUeXBlIHsgUG9zdFN5bmNocm9ub3Vz
bHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFzcyBBWE9iamVjdENhY2hlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4
Li5iNjk3NmFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3Vy
Y2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQ
cm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
YWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcj4gY3JlYXRlKENhY2hlZFNjcmlwdCogY2FjaGVkU2Ny
aXB0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIoY2Fj
aGVkU2NyaXB0KSk7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRy
b2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKaW5kZXggNGMyNTQw
Ny4uOTFmMWU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIu
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCkBAIC0yNiwxMiArMjYs
MTIgQEAKICNpZm5kZWYgR0NDb250cm9sbGVyX2gKICNkZWZpbmUgR0NDb250cm9sbGVyX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgR0NDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR0NDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGZy
aWVuZCBHQ0NvbnRyb2xsZXImIGdjQ29udHJvbGxlcigpOwogCiAgICAgcHVibGljOgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmgKaW5kZXggNTRlOWNmNi4uNzczYjU3MyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NQmluZGluZy5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8cnVudGltZS9M
b29rdXAuaD4KICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ01hcC5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0Mg
ewogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBw
ZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5mNDM5NzMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Rl
YnVnV3JhcHBlclNldC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJKU0RPTVdyYXBw
ZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgZGVsZXRlZCB3aXRob3V0IGJlaW5n
IHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGNhY2hlZCB0
d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNEZWJ1
Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVhZFNwZWNpZmljPEpTRGVi
dWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNEZWJ1Z1dyYXBwZXJTZXQmIHNo
YXJlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVj
U3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKaW5k
ZXggODE5M2Q3Yy4uMzQ5ZGMxNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01h
aW5UaHJlYWRFeGVjU3RhdGUuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVh
ZEV4ZWNTdGF0ZS5oCkBAIC0zMCwxMSArMzAsMTEgQEAKICNpZm5kZWYgTkRFQlVHCiAjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KICNlbmRpZgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTWFpblRocmVhZEV4ZWNTdGF0ZSk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIEpTQzo6RXhlY1N0YXRlKiBjdXJyZW50U3RhdGUoKQogICAgIHsgCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2YzlkMGJhLi41OWFkNmZjIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICogdGltZSBpbnRlcnZhbCwgZWl0aGVyIG9uY2Ugb3IgcmVwZWF0ZWRs
eS4gVXNlZCBmb3Igd2luZG93LnNldFRpbWVvdXQoKQogICAgICogYW5kIHdpbmRvdy5zZXRJbnRl
cnZhbCgpCiAgICAgKi8KLSAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVh
dGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAppbmRleCAxNWMyM2M1
Li41ZjY5MWQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZy
YW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRh
LmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdp
bmRvdzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNo
ZWRGcmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRG
cmFtZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgdHlwZWRlZiBIYXNo
TWFwPCBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgSlNDOjpQcm90ZWN0ZWRQdHI8SlNET01XaW5k
b3c+ID4gSlNET01XaW5kb3dTZXQ7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdERlYnVnU2VydmVyLmgKaW5kZXggMzE3MmM2NS4uMzAwMGFiZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBQYWdlR3Jv
dXA7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwogY2xhc3MgSmF2YVNjcmlwdENhbGxGcmFt
ZTsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBKU0M6OkRlYnVnZ2VyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1NlcnZlcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVk
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaCBi
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAppbmRleCAwNWU3YTI1Li5kNGRk
NjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCkBAIC0zMiwxMSArMzIsMTEg
QEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlw
dFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBT
dHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9w
KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdFN0YXRlLmgKaW5kZXggMGMwODYxMS4uNDk3MTkyYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogI2RlZmluZSBTY3JpcHRTdGF0ZV9oCiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGVjU3RhdGU7CkBAIC01Miw3ICs1MSw4IEBAIGNsYXNz
IFBhZ2U7CiAvLyBGb3Igbm93LCB0aGUgc2VwYXJhdGlvbiBpcyBwdXJlbHkgYnkgY29udmVudGlv
bi4KIHR5cGVkZWYgSlNDOjpFeGVjU3RhdGUgU2NyaXB0U3RhdGU7CiAKLWNsYXNzIFNjcmlwdFN0
YXRlUHJvdGVjdGVkUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIo
U2NyaXB0U3RhdGUqKTsKICAgICB+U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNmUyZDdiZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDE3ICsy
NCwxOCBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRE9NT2Jq
ZWN0SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xv
YmFsRGF0YTo6Q2xpZW50RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVK
U0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsK
ICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxE
YXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmly
dHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3Js
ZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjQ1Nzg5MTMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICsz
MSw2IEBACiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0
OwogCi0gICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2Vy
Q29udGV4dCopOwogICAgICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGEuaAppbmRleCBjOGI0YTQxLi4wOWQ1MzQ1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L0RPTURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApAQCAt
NDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gdGhyZWFkLiAgVGhlIERP
TURhdGEgZm9yIHRoZSBtYWluIHRocmVhZCBhbmQgdGhlIERPTURhdGEgZm9yIGNoaWxkIHRocmVh
ZHMKICAgICAvLyB1c2UgZGlmZmVyZW50IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBE
T01EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBE
T01EYXRhKCk7CiAgICAgICAgIHZpcnR1YWwgfkRPTURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURh
dGFTdG9yZS5oCmluZGV4IDM3NThlMjMuLjhjNmMwMmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRh
U3RvcmUuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvU3Rk
TGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtMTQ5LDcgKzE0OCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRvZXNuJ3QgbWFuYWdl
IHRoZSBsaWZldGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogICAgIC8vIGxpZmV0
aW1lIGlzIG1hbmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGFT
dG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YVN0b3JlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGVudW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAgICAgRE9NTm9kZU1hcCwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmluZGV4IDFhYTFm
NjIuLmY0MmU4MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURh
dGEuaApAQCAtNjAsMTQgKzYwLDE0IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93bkhhbmRsZS5o
IgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7CiAKLWNsYXNz
IFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Ny
aXB0Q2FjaGVkRnJhbWVEYXRhICB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhICk7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKEZyYW1l
Kik7CiAgICAgflNjcmlwdENhY2hlZEZyYW1lRGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDVjNWQ2YzYuLjQ0MWFiM2QgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHY4LWRlYnVnLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtNDgsNyArNDcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5l
cjsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU2NyaXB0RGVidWdTZXJ2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERl
YnVnU2VydmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJl
ZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggYjc1YTA1NC4uZTA5
NjllMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCisr
KyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzYsMTMgKzM2LDEz
IEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiAKLWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQo
U2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3Ry
aW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRl
LmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKaW5kZXggMTE4MTNiMC4uZGMy
NDcxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogCiAj
aW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSA8djguaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsK
IGNsYXNzIFBhZ2U7CiAKLWNsYXNzIFNjcmlwdFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNjcmlwdFN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0
ZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYWRFeGNlcHRpb24oKSB7IHJldHVybiAhbV9leGNlcHRp
b24uSXNFbXB0eSgpOyB9CiAgICAgdm9pZCBzZXRFeGNlcHRpb24odjg6OkxvY2FsPHY4OjpWYWx1
ZT4gZXhjZXB0aW9uKQpAQCAtNzksNyArNzksOCBAQCBwdWJsaWM6CiAgICAgfkVtcHR5U2NyaXB0
U3RhdGUoKSB7IH0KIH07CiAKLWNsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cik7CiBwdWJsaWM6CiAgICAg
U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKSA6IG1fc2NyaXB0U3RhdGUoMCkgeyB9CiAgICAgU2Ny
aXB0U3RhdGVQcm90ZWN0ZWRQdHIoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKSA6IG1fc2NyaXB0
U3RhdGUoc2NyaXB0U3RhdGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAKaW5kZXggMzZmYzFmNi4uMmMyODc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTI4LDcgKzEyOCw4IEBAIHByaXZh
dGU6CiAKIC8vIFdyaXRlciBpcyByZXNwb25zaWJsZSBmb3Igc2VyaWFsaXppbmcgcHJpbWl0aXZl
IHR5cGVzIGFuZCBzdG9yaW5nCiAvLyBpbmZvcm1hdGlvbiB1c2VkIHRvIHJlY29uc3RydWN0IGNv
bXBvc2l0ZSB0eXBlcy4KLWNsYXNzIFdyaXRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdyaXRl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV3JpdGVyKTsKIHB1YmxpYzoKICAgICBXcml0
ZXIoKQogICAgICAgICA6IG1fcG9zaXRpb24oMCkKQEAgLTM3Nyw3ICszNzgsOCBAQCBwdWJsaWM6
CiAgICAgfQogCiBwcml2YXRlOgotICAgIGNsYXNzIFN0YXRlQmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgU3RhdGVCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3RhdGVCYXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflN0YXRlQmFzZSgp
IHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1dlYkNvcmUvYnJp
ZGdlL0JyaWRnZS5oCmluZGV4IDUwZWZjNjQuLjAwZDZmMzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YnJpZGdlL0JyaWRnZS5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCkBAIC0yOCwxNCAr
MjgsMTUgQEAKICNkZWZpbmUgQnJpZGdlX2gKIAogI2luY2x1ZGUgIkJyaWRnZUpTQy5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDICB7CiAKIG5hbWVzcGFj
ZSBCaW5kaW5ncyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBNZXRob2QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1ldGhvZCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1ldGhvZCgpIHsgfQogICAgIHZpcnR1YWwgaW50
IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIH5NZXRob2QoKSB7IH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaCBiL1dlYkNvcmUvYnJp
ZGdlL0lkZW50aWZpZXJSZXAuaAppbmRleCA5OWJhZTBiLi41ZTE1N2MwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRp
ZmllclJlcC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSWRlbnRpZmllclJlcF9oCiAK
ICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNl
Lmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBJZGVudGlmaWVyUmVwIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclJlcCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChpbnQp
OwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hhciopOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvV2ViQ29yZS9icmlkZ2UvanNjL0Jy
aWRnZUpTQy5oCmluZGV4IDk2OTc0ZDkuLmViY2ZhYWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJp
ZGdlL2pzYy9CcmlkZ2VKU0MuaAorKysgYi9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgK
QEAgLTU5LDggKzU5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsK
IAotY2xhc3MgQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2xhc3MgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CisgICAgQ2xhc3MoKSB7IH0KICAgICB2aXJ0dWFsIE1ldGhvZExpc3QgbWV0aG9kc05h
bWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IEZpZWxkKiBmaWVsZE5hbWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0g
MDsKICAgICB2aXJ0dWFsIEpTVmFsdWUgZmFsbGJhY2tPYmplY3QoRXhlY1N0YXRlKiwgSW5zdGFu
Y2UqLCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4ganNVbmRlZmluZWQoKTsgfQpAQCAtMTI1
LDcgKzEyNyw4IEBAIHByaXZhdGU6CiAgICAgV2Vha0dDUHRyPFJ1bnRpbWVPYmplY3Q+IG1fcnVu
dGltZU9iamVjdDsKIH07CiAKLWNsYXNzIEFycmF5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEFycmF5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcnJheSk7CiBwdWJsaWM6CiAg
ICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7CiAgICAgdmlydHVhbCB+QXJyYXkoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oIGIvV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9yb290LmgKaW5kZXggYmFiZDdhZC4uMzlmYjM1NyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9yb290LmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9y
b290LmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaCBiL1dlYkNvcmUvY3NzL0NTU0lt
YWdlVmFsdWUuaAppbmRleCA4MzNkN2ZlLi4xNzRmMWVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCkBAIC0z
Miw2ICszMiw3IEBAIGNsYXNzIFN0eWxlQ2FjaGVkSW1hZ2U7CiBjbGFzcyBTdHlsZUltYWdlOwog
CiBjbGFzcyBDU1NJbWFnZVZhbHVlIDogcHVibGljIENTU1ByaW1pdGl2ZVZhbHVlLCBwcml2YXRl
IENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoKSB7IHJl
dHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSk7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDU1NJbWFnZVZhbHVlKHVybCkpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NJbXBvcnRSdWxlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKaW5kZXggMTBkMzAy
Ni4uYWQ0ZTk3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBi
L1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNo
ZWRDU1NTdHlsZVNoZWV0OwogY2xhc3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxl
IDogcHVibGljIENTU1J1bGUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENT
U0ltcG9ydFJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYg
aHJlZiwgUGFzc1JlZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5k
ZXggNjIyNWMzNi4uOTI2MzhmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNl
LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTTmFtZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgogICAgICAgICBBdG9taWNTdHJpbmcgcHJlZml4OwogICAgICAgICBBdG9taWNTdHJpbmcgdXJp
OwogICAgICAgICBPd25QdHI8Q1NTTmFtZXNwYWNlPiBwYXJlbnQ7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGViOGJi
MmQuLmFlZjg5ZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0zMzEsNyArMzMxLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGludCBjc3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYpOwogICAgIGludCBjc3NW
YWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJzZXJTdHJpbmcmKTsKIAotICAgIGNsYXNzIFNob3J0
aGFuZFNjb3BlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNob3J0aGFuZFNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBTaG9ydGhhbmRTY29wZShDU1NQYXJzZXIqIHBhcnNlciwgaW50IHByb3BJZCkgOiBtX3Bh
cnNlcihwYXJzZXIpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggOTkzYWUyOC4u
OTk2ZTc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKKysrIGIv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTU5LDcgKzU5LDggQEAgc3RydWN0IENT
U1BhcnNlclZhbHVlIHsKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjcmVhdGVDU1NWYWx1ZSgp
OwogfTsKIAotY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAgICAgICA6IG1fY3VycmVu
dCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1
ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxs
b2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ1NTUGFyc2VyU3RyaW5nIG5hbWU7CiAgICAgT3duUHRy
PENTU1BhcnNlclZhbHVlTGlzdD4gYXJnczsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5oIGIvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAppbmRleCAxMDYxNzFkLi4x
MGU1OTNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5LmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBDU1NQcm9wZXJ0eSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IENTU1Byb3BlcnR5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBDU1NQcm9wZXJ0eShpbnQgcHJvcElELCBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9v
bCBpbXBvcnRhbnQgPSBmYWxzZSwgaW50IHNob3J0aGFuZElEID0gMCwgYm9vbCBpbXBsaWNpdCA9
IGZhbHNlKQogICAgICAgICA6IG1faWQocHJvcElEKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IGZiOGY2
OTUuLjQyY2RmNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTM3LDggKzM3LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAotY2xhc3MgQ1NTU2Vs
ZWN0b3JCYWcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTU2VsZWN0b3JCYWcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yQmFnKTsKIHB1YmxpYzoKKyAgICBD
U1NTZWxlY3RvckJhZygpIHsgfQogICAgIH5DU1NTZWxlY3RvckJhZygpCiAgICAgewogICAgICAg
ICBBU1NFUlQoaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDAwZTIzYjkuLmRkYzBhYTAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuaApAQCAtMjQsNyArMjQsNiBAQAogCiAjaW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5o
IgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IENTU1NlbGVjdG9yQmFnOwogCiAgICAgLy8gdGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0
b3IgZm9yIGEgU3R5bGVSdWxlCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENTU1NlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIENTU1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5k
YW50KQpAQCAtMzAyLDcgKzMwMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5z
aWduZWQgc3BlY2lmaWNpdHlGb3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBz
ZXVkb1R5cGUoKSBjb25zdDsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJs
ZSB7CisgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBSYXJlRGF0YShQYXNzT3duUHRyPENTU1NlbGVjdG9yPiB0YWdIaXN0
b3J5KQogICAgICAgICAgICAgICAgIDogbV9hKDApCiAgICAgICAgICAgICAgICAgLCBtX2IoMCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3JMaXN0LmgKaW5kZXggOWU0MGVmOC4uNzFjZWE2ZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JM
aXN0LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBDU1NTZWxlY3Rvckxpc3RfaAogCiAj
aW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJyYXkoMCkgeyB9CiAgICAg
fkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCA3MmI0YTk3
Li45OGYwNDMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAor
KysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzQ5LDcgKzM0OSw4IEBA
IGlmIChpZCA9PSBwcm9wSUQpIHsgXAogICAgIHJldHVybjsgXAogfQogCi1jbGFzcyBDU1NSdWxl
U2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVTZXQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwogcHVibGljOgogICAgIENTU1J1bGVTZXQoKTsK
ICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCmluZGV4IGI3MTg3NTEuLjNl
MmViNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgY2xhc3MgU3R5
bGVkRWxlbWVudDsKIGNsYXNzIFdlYktpdENTU0tleWZyYW1lUnVsZTsKIGNsYXNzIFdlYktpdENT
U0tleWZyYW1lc1J1bGU7CiAKLWNsYXNzIE1lZGlhUXVlcnlSZXN1bHQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgTWVkaWFRdWVyeVJlc3VsdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTWVkaWFRdWVyeVJlc3VsdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIE1lZGlhUXVlcnlSZXN1bHQoY29uc3QgTWVkaWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1
bHQpCiAgICAgICAgIDogbV9leHByZXNzaW9uKGV4cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1Ymxp
YzoKIH07CiAKICAgICAvLyBUaGlzIGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBn
aXZlbiBlbGVtZW50IGJhc2VkIG9uIGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBj
bGFzcyBDU1NTdHlsZVNlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
U1NTdHlsZVNlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVT
ZWxlY3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
Q1NTU3R5bGVTZWxlY3RvcihEb2N1bWVudCosIFN0eWxlU2hlZXRMaXN0KiBhdXRob3JTaGVldHMs
IENTU1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVldCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBDU1NTdHlsZVNoZWV0KiBwYWdlVXNlclNoZWV0LCBjb25zdCBWZWN0b3I8UmVmUHRyPENT
U1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91cFVzZXJTaGVldHMsCkBAIC0yMDksNyArMjExLDggQEAg
cHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFJlbmRlclN0eWxlKiBzdHlsZU5v
dFlldEF2YWlsYWJsZSgpIHsgcmV0dXJuIHNfc3R5bGVOb3RZZXRBdmFpbGFibGU7IH0KIAotICAg
ICAgICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2VsZWN0b3JDaGVja2VyKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgU2VsZWN0
b3JDaGVja2VyKERvY3VtZW50KiwgYm9vbCBzdHJpY3RQYXJzaW5nKTsKIApAQCAtMzE1LDcgKzMx
OCw4IEBAIHB1YmxpYzoKICAgICAgICAgVmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQqPiBtX3ZpZXdw
b3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHM7CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1
bGVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NSdWxlRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0YSh1bnNpZ25lZCBwb3Ms
IENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNlbCwgQ1NTUnVsZURhdGEqIHByZXYgPSAw
KQogICAgICAgICAgICAgOiBtX3Bvc2l0aW9uKHBvcykKQEAgLTM0Myw3ICszNDcsOCBAQCBwdWJs
aWM6CiAgICAgICAgIENTU1J1bGVEYXRhKiBtX25leHQ7CiAgICAgfTsKIAotICAgIGNsYXNzIENT
U1J1bGVEYXRhTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTUnVsZURh
dGFMaXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NSdWxlRGF0
YUxpc3QodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwp
CiAgICAgICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaCBiL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnkuaAppbmRleCAyODEwMDliLi5hNjM4YWM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBN
ZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBlbnVtIFJlc3RyaWN0b3IgewogICAgICAgICBPbmx5LCBOb3QsIE5v
bmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaCBiL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRleCAwMGFjMzk0Li4wN2M0ZDBkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE1lZGlhUXVl
cnlFeHA7CiAgKiB0aGUgZGV2aWNlIGNoYXJhY3RlcmlzdGljcyBhcmUgbm90IGtub3duLiBUaGlz
IGNhbiBiZSB1c2VkIHRvIHBydW5lIHRoZSBsb2FkaW5nCiAgKiBvZiBzdHlsZXNoZWV0cyB0byBv
bmx5IHRob3NlIHdoaWNoIGFyZSBwcm9iYWJsZSB0byBtYXRjaC4KICAqLwotY2xhc3MgTWVkaWFR
dWVyeUV2YWx1YXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXZh
bHVhdG9yIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeUV2YWx1YXRvcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIC8qKiBDcmVhdGVzIGV2YWx1
YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBzaW1wbGUgbWVkaWEgcXVlcmllcwogICAgICAqICBF
dmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciAiYWxsIiwgYW5kIHJldHVybnMgdmFsdWUgb2YgXG1l
ZGlhRmVhdHVyZVJlc3VsdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5o
IGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCmluZGV4IDcyZDNmZmYuLjdlNGQ0NzcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAorKysgYi9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3MgTWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlFeHAgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVM
aXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAgYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5l
ci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNw
cApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFzeW5jU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0
U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBDYWNoZWRSZXNvdXJjZUhhbgogICAgIEFTU0VSVChl
bGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAgICAgbV9kb2N1bWVudC0+aW5jcmVtZW50TG9hZEV2
ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2NyaXB0c1RvRXhlY3V0ZVNvb24uYXBwZW5kKG1ha2Vf
cGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKKyAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFw
cGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKICAgICBlbGVtZW50LT5y
ZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYoKXMgaW4gdGltZXJGaXJlZCgpIGFuZCBkdG9yLgog
ICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX3RpbWVyLnN0YXJ0T25lU2hv
dCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9XZWJD
b3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCmluZGV4IDFhMDUxYTguLjNmNzFkZjMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9kb20v
QXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNzIENhY2hlZFNjcmlwdDsKIGNsYXNzIERv
Y3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVudDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVu
bmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEFzeW5jU2NyaXB0UnVu
bmVyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KSB7IHJldHVybiBuZXcgQXN5bmNTY3JpcHRS
dW5uZXIoZG9jdW1lbnQpOyB9CiAgICAgfkFzeW5jU2NyaXB0UnVubmVyKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaCBiL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5o
CmluZGV4IDg2YTIyYjAuLjc1MTRhYjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RPTVN0cmlu
Z01hcC5oCisrKyBiL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCkBAIC0yNyw3ICsyNyw2IEBA
CiAjZGVmaW5lIERPTVN0cmluZ01hcF9oCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBFbGVtZW50OwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAotY2xhc3MgRE9N
U3RyaW5nTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVN0cmluZ01hcCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NU3RyaW5nTWFwKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9NU3RyaW5nTWFwKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApp
bmRleCBjMDg4ZTRlLi45ZjgyODQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC00NjU4LDcgKzQ2NTgsOSBAQCB2
b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlw
ZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAogICAgICAgICB3aW5kb3ctPmNvbnNvbGUoKS0+YWRkTWVz
c2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwp
OwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0IDogTm9uY29weWFibGUgeworc3RydWN0
IFBlcmZvcm1UYXNrQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVyZm9ybVRh
c2tDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUGVyZm9y
bVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1lbnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJl
ZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQog
ICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRvY3VtZW50UmVmZXJlbmNlKQogICAgICAgICAs
IHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggOTZm
YjdmMy4uZTEyZjIzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250
cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAg
LTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7
CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgorICAgIERvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgfQogICAgIH5Eb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIoKSB7IGRldGFjaCgpOyB9CiAKICAgICB2b2lkIGRldGFjaCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5k
ZXggZjA1ZDM2Yy4uY2Q0OWRlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnQuaAorKysg
Yi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0yNCw2ICsyNCw3IEBACiAjaWZuZGVmIEV2ZW50X2gK
ICNkZWZpbmUgRXZlbnRfaAogCisjaW5jbHVkZSAiQ2xpcGJvYXJkLmgiCiAjaW5jbHVkZSAiRE9N
VGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgpAQCAtMzEsOCArMzIsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAg
ICBjbGFzcyBDbGlwYm9hcmQ7Ci0KICAgICBjbGFzcyBFdmVudCA6IHB1YmxpYyBSZWZDb3VudGVk
PEV2ZW50PiB7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFBoYXNlVHlwZSB7IApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
CmluZGV4IDQ5NjgwNGUuLjY4NmQ5YjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE3OCw3ICsxNzgsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1Jf
RUFDSAogCi0gICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRXZlbnROYW1lcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TmFt
ZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgaW50IGR1bW15OyAvLyBOZWVk
ZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgogICAgICAgICAvLyBQcml2YXRl
IHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2
ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5hbWVzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oIGIvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAppbmRleCBkZGNiNjYz
Li44MWVlYjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTgzLDcgKzgzLDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLCAxPiBFdmVu
dExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmcsIEV2ZW50
TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3RlbmVyTWFwOwogCi0gICAgc3RydWN0IEV2ZW50VGFy
Z2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRUYXJnZXREYXRhIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRUYXJnZXREYXRhKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBFdmVudFRhcmdldERhdGEoKTsKICAg
ICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9JZ25v
cmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIGIvV2ViQ29yZS9kb20vSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNy
ZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudElu
Y3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2
ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEln
bm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAgICAgICA6IG1fY291bnQoZG9jdW1lbnQg
PyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50IDogMCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvV2ViQ29yZS9kb20vTWVzc2Fn
ZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMDc2NjhhNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRD
aGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8g
TWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRv
IHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4KICAgICAvLyBJdCBhY3RzIGFz
IGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQ
b3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIHBsYXRmb3Jt
LWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4K
LSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5lbChQYXNzUmVmUHRyPE1lc3NhZ2VQ
b3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBAIC03OCw3ICs3OSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm94eSBjdXJy
ZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9ydC4KICAgICAgICAgYm9vbCBoYXNQ
ZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBFdmVudERhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERhdGEgeworICAgICAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
ICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEV2ZW50RGF0YT4gY3Jl
YXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc093blB0cjxNZXNzYWdl
UG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IGFiMjA4ZDIuLjczNTBmODAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9t
L05vZGVSYXJlRGF0YS5oCkBAIC0zNCw3ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IE5vZGVM
aXN0c05vZGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlTGlzdHNOb2RlRGF0
YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNl
dDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsKICAgICBOb2RlTGlzdFNldCBtX2xpc3Rz
V2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDggQEAgcHJpdmF0ZToKICAgICB9CiB9Owog
ICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5v
ZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZVJhcmVEYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6ICAgIAogICAgIE5vZGVSYXJlRGF0YSgpCiAg
ICAgICAgIDogbV90YWJJbmRleCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IDM0ZmMwNjkuLmNiOTVm
MjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9XZWJDb3Jl
L2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTMyLDcgKzMyLDggQEAgc3RydWN0IFF1YWxpZmllZE5h
bWVDb21wb25lbnRzIHsKICAgICBTdHJpbmdJbXBsKiBtX25hbWVzcGFjZTsKIH07CiAKLWNsYXNz
IFF1YWxpZmllZE5hbWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBRdWFsaWZpZWRO
YW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBjbGFzcyBR
dWFsaWZpZWROYW1lSW1wbCA6IHB1YmxpYyBSZWZDb3VudGVkPFF1YWxpZmllZE5hbWVJbXBsPiB7
CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oIGIv
V2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4IDA3YzU5ZGIuLjUyNTBmM2UgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2NyaXB0RWxlbWVudDsKIGNsYXNz
IFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2YXRlIENhY2hl
ZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBp
c0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQuLjQ1NjZhNjEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsxMTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9
CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9
CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CisgICAgICAgICAgICBUYXNrKCkg
eyB9CiAgICAgICAgICAgICB2aXJ0dWFsIH5UYXNrKCk7CiAgICAgICAgICAgICB2aXJ0dWFsIHZv
aWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0gMDsKICAgICAgICAgICAg
IC8vIENlcnRhaW4gdGFza3MgZ2V0IG1hcmtlZCBzcGVjaWFsbHkgc28gdGhhdCB0aGV5IGFyZW4n
dCBkaXNjYXJkZWQsIGFuZCBhcmUgZXhlY3V0ZWQsIHdoZW4gdGhlIGNvbnRleHQgaXMgc2h1dHRp
bmcgZG93biBpdHMgbWVzc2FnZSBxdWV1ZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NwYWNl
U3BsaXRTdHJpbmcuaCBiL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAppbmRleCA4MjZl
NmJkLi42ZWI4OTNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgK
KysrIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCkBAIC0yOCw3ICsyOCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNwYWNlU3BsaXRTdHJpbmdEYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTcGFjZVNwbGl0U3RyaW5nRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwYWNlU3BsaXRTdHJpbmdEYXRhKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTcGFjZVNwbGl0U3RyaW5n
RGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzaG91bGRGb2xkQ2FzZSkKICAgICAgICAg
ICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRGb2xkQ2FzZShzaG91bGRGb2xkQ2FzZSks
IG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1RyYW5zZm9y
bVNvdXJjZS5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKaW5kZXggZjk3YWZjZi4u
NmMwMTRhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKKysrIGIv
V2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAgLTIzLDcgKzIzLDYgQEAKICNpZiBFTkFC
TEUoWFNMVCkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVRyYW5zZm9ybVNv
dXJjZTsKICNlbmRpZgogCi0gICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2UgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUcmFuc2Zvcm1Tb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQbGF0Zm9ybVRyYW5zZm9y
bVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJjZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1VzZXJH
ZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uZGU1N2VmYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJDb3JlL2RvbS9Vc2VyR2Vz
dHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFVzZXJHZXN0dXJlSW5k
aWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRpY2F0b3JfaAogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzYsNyArMzUsOCBA
QCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBEZWZpbml0ZWx5Tm90UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0
YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KICAgICBzdGF0
aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1cmVTdGF0ZSgpIHsgcmV0
dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9V
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1
cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNhY2UxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dlYkNvcmUvZG9tL1VzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgVXNlclR5
cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRv
cl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0LDcgKzMzLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBVc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclR5cGluZ0dlc3R1
cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyVHlw
aW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxlbWVudEF0R2VzdHVyZVN0
YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oIGIvV2Vi
Q29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBlM2QzY2MyLi5lZTgxZDc5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvZG9t
L1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6IHB1YmxpYyBTY3JpcHRh
YmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8WE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZy
YW1lVmlldyogdmlldykKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGli
eG1sMi5jcHAKaW5kZXggMjNmOTg4My4uYmNiYTMyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlckxpYnhtbDIuY3BwCkBAIC03NSw4ICs3NSwxMCBAQCB1c2luZyBuYW1lc3BhY2Ugc3Rk
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBlbmRpbmdDYWxsYmFja3MgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAgUGVuZGluZ0NhbGxi
YWNrcygpIHsgfQogICAgIH5QZW5kaW5nQ2FsbGJhY2tzKCkKICAgICB7CiAgICAgICAgIGRlbGV0
ZUFsbFZhbHVlcyhtX2NhbGxiYWNrcyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1
bWVudFBhcnNlclNjb3BlLmggYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgK
aW5kZXggNThlOGE2Yi4uOGY0MTkzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXJTY29wZS5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBYTUxEb2N1bWVudFBhcnNlclNjb3BlX2gKICNk
ZWZpbmUgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogI2lmIEVOQUJMRShYU0xUKQogI2luY2x1ZGUgPGxpYnhtbC90cmVlLmg+CkBAIC0z
Niw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENhY2hlZFJlc291
cmNlTG9hZGVyOwogCi0gICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTERvY3VtZW50UGFyc2VyU2NvcGUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZShDYWNoZWRSZXNvdXJjZUxvYWRlciog
Y2FjaGVkUmVzb3VyY2VMb2FkZXIpOwogICAgICAgICB+WE1MRG9jdW1lbnRQYXJzZXJTY29wZSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaCBi
L1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKaW5kZXggMTI4NmMwNy4u
NGQ5MjhjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXIuaAorKysgYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCkBAIC0z
Niw3ICszNiw4IEBAIGNsYXNzIEhUTUxFbGVtZW50OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xh
c3MgVmlzaWJsZVNlbGVjdGlvbjsKIAotY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWxldGVCdXR0b25Db250cm9sbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEZWxldGVCdXR0b25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVsZXRlQnV0dG9uQ29udHJvbGxlcihGcmFtZSop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQu
Y3BwIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAppbmRleCBm
YjUyZTU2Li4xYzdiNzEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZC5jcHAKQEAgLTU5LDcgKzU5LDggQEAgZW51bSBFRnJhZ21lbnRUeXBlIHsgRW1wdHlGcmFn
bWVudCwgU2luZ2xlVGV4dE5vZGVGcmFnbWVudCwgVHJlZUZyYWdtZW50IH07CiAKIC8vIC0tLSBS
ZXBsYWNlbWVudEZyYWdtZW50IGhlbHBlciBjbGFzcwogCi1jbGFzcyBSZXBsYWNlbWVudEZyYWdt
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxhY2VtZW50RnJhZ21lbnQpOwogcHVibGljOgog
ICAgIFJlcGxhY2VtZW50RnJhZ21lbnQoRG9jdW1lbnQqLCBEb2N1bWVudEZyYWdtZW50KiwgYm9v
bCBtYXRjaFN0eWxlLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvU2Vs
ZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDhjYzg5ZTQuLmQ1NTYwZjUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5n
L1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlNjcm9s
bEJlaGF2aW9yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJWaXNpYmxlU2VsZWN0
aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAKIGVudW0gRGly
ZWN0aW9uYWxpdHlQb2xpY3kgeyBNYWtlTm9uRGlyZWN0aW9uYWxTZWxlY3Rpb24sIE1ha2VEaXJl
Y3Rpb25hbFNlbGVjdGlvbiB9OwogCi1jbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNlbGVjdGlvbkNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlvbk1vdmUsIEFsdGVy
YXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rpb24geyBEaXJlY3Rpb25Gb3J3YXJkLCBE
aXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQsIERpcmVjdGlvbkxlZnQgfTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBiL1dlYkNvcmUvZWRp
dGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCAyMjc1MzBmLi44YjVjNjkxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysrIGIvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAg
ICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNzIFRleHRDaGVja2lu
Z0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBlcik7CiBwdWJsaWM6
CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NSZWZQdHI8UmFuZ2U+
KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmlu
ZGV4IGEzZWRkMzguLjYxYzllZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC02MSw3
ICs2MSw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBDYXNlIGZvbGRpbmcgaXMg
YWxzbyBkb25lIGlmIHRoZSBDYXNlSW5zZW5zaXRpdmUgb3B0aW9uIGlzIHNwZWNpZmllZC4KIC8v
IE1hdGNoZXMgYXJlIGZ1cnRoZXIgZmlsdGVyZWQgaWYgdGhlIEF0V29yZFN0YXJ0cyBvcHRpb24g
aXMgc3BlY2lmaWVkLCBhbHRob3VnaCBzb21lCiAvLyBtYXRjaGVzIGluc2lkZSBhIHdvcmQgYXJl
IHBlcm1pdHRlZCBpZiBUcmVhdE1lZGlhbENhcGl0YWxBc1dvcmRTdGFydCBpcyBzcGVjaWZpZWQg
YXMgd2VsbC4KLWNsYXNzIFNlYXJjaEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTZWFyY2hCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlYXJjaEJ1ZmZlcik7
CiBwdWJsaWM6CiAgICAgU2VhcmNoQnVmZmVyKGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBGaW5kT3B0
aW9ucyk7CiAgICAgflNlYXJjaEJ1ZmZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBp
L0ZpbGVUaHJlYWQuaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKaW5kZXggZDdhYWJm
Ny4uNDUyMDVjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaAorKysg
Yi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCkBAIC01NCw3ICs1NCw4IEBAIHB1YmxpYzoK
ICAgICBib29sIHN0YXJ0KCk7CiAgICAgdm9pZCBzdG9wKCk7CiAKLSAgICBjbGFzcyBUYXNrIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGFzayk7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5UYXNrKCkg
eyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzaygpID0gMDsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCBiL1dlYkNvcmUvZmlsZWFwaS9Mb2Nh
bEZpbGVTeXN0ZW0uaAppbmRleCBiNzc5YTVmLi4xMmE3MDEyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmls
ZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIEZpbGVTeXN0ZW1DYWxsYmFjazsKIGNs
YXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIEtlZXBzIHBlci1wcm9jZXNzIGluZm9y
bWF0aW9uIGFuZCBwcm92aWRlcyBhbiBlbnRyeSBwb2ludCB0byBvcGVuIGEgZmlsZSBzeXN0ZW0u
Ci1jbGFzcyBMb2NhbEZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9j
YWxGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbEZpbGVTeXN0ZW0p
OwogcHVibGljOgogICAgIC8vIFJldHVybnMgYSBwZXItcHJvY2VzcyBpbnN0YW5jZSBvZiBMb2Nh
bEZpbGVTeXN0ZW0uCiAgICAgLy8gTm90ZSB0aGF0IExvY2FsRmlsZVN5c3RlbTo6aW5pdGlhbGl6
ZUxvY2FsRmlsZVN5c3RlbSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaCBiL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2Fs
bGJhY2tIZWxwZXIuaAppbmRleCAyNWU2NzM5Li4wMjBhYzQ5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL1N5bmND
YWxsYmFja0hlbHBlci5oCkBAIC01OCw3ICs1OCw4IEBAIGNsYXNzIEZpbGVFbnRyeVN5bmM7CiAK
IC8vIEEgaGVscGVyIHRlbXBsYXRlIGZvciBGaWxlU3lzdGVtU3luYyBpbXBsZW1lbnRhdGlvbi4K
IHRlbXBsYXRlIDx0eXBlbmFtZSBTdWNjZXNzQ2FsbGJhY2ssIHR5cGVuYW1lIE9ic2VydmVyVHlw
ZSwgdHlwZW5hbWUgQ2FsbGJhY2tBcmcsIHR5cGVuYW1lIFJlc3VsdFR5cGU+Ci1jbGFzcyBTeW5j
Q2FsbGJhY2tIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3luY0NhbGxiYWNr
SGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTeW5jQ2FsbGJhY2tIZWxwZXIpOwog
cHVibGljOgogICAgIHR5cGVkZWYgU3luY0NhbGxiYWNrSGVscGVyPFN1Y2Nlc3NDYWxsYmFjaywg
T2JzZXJ2ZXJUeXBlLCBDYWxsYmFja0FyZywgUmVzdWx0VHlwZT4gSGVscGVyVHlwZTsKICAgICBT
eW5jQ2FsbGJhY2tIZWxwZXIoT2JzZXJ2ZXJUeXBlKiBvYnNlcnZlciA9IDApCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmggYi9XZWJDb3JlL2hpc3Rv
cnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKaW5kZXggZTg5ZTMyYi4uOTdlZDZiOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaApAQCAtMjYsNyArMjYsNiBAQAogI2lm
bmRlZiBCYWNrRm9yd2FyZENvbnRyb2xsZXJfaAogI2RlZmluZSBCYWNrRm9yd2FyZENvbnRyb2xs
ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKQEAgLTM2LDcgKzM1LDggQEAgY2xhc3Mg
QmFja0ZvcndhcmRMaXN0OwogY2xhc3MgSGlzdG9yeUl0ZW07CiBjbGFzcyBQYWdlOwogCi1jbGFz
cyBCYWNrRm9yd2FyZENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQmFj
a0ZvcndhcmRDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCYWNrRm9yd2Fy
ZENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBCYWNr
Rm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NSZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAg
ICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5
L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCmluZGV4IDcxYWU1YWQu
LmNmMmEwZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAorKysgYi9X
ZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5
SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAotICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBmcmllbmQgUGFnZUNhY2hlKiBwYWdlQ2FjaGUoKTsKICAgICAgICAgCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmggYi9XZWJDb3JlL2h0bWwv
Q29sbGVjdGlvbkNhY2hlLmgKaW5kZXggZGYxZDFmYS4uOGU0YTA2NiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9u
Q2FjaGUuaApAQCAtMjksNyArMjksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVs
ZW1lbnQ7CiAKLXN0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBDb2xsZWN0aW9uQ2FjaGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGlj
OgogICAgIENvbGxlY3Rpb25DYWNoZSgpOwogICAgIENvbGxlY3Rpb25DYWNoZShjb25zdCBDb2xs
ZWN0aW9uQ2FjaGUmKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUmIG9wZXJhdG9yPShjb25zdCBDb2xs
ZWN0aW9uQ2FjaGUmIG90aGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxl
VG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaAppbmRleCAy
YjcxMWI0Li44ZjZmZDRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tl
bkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaApAQCAtMzUs
NiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBET01TZXR0YWJsZVRva2Vu
TGlzdCA6IHB1YmxpYyBET01Ub2tlbkxpc3QsIHB1YmxpYyBSZWZDb3VudGVkPERPTVNldHRhYmxl
VG9rZW5MaXN0PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1sL0RP
TVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLjBiNzViNjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
aHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAg
LTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBF
bGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01Ub2tlbkxpc3Qp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBET01Ub2tlbkxpc3QoKSB7
IH0KICAgICB2aXJ0dWFsIH5ET01Ub2tlbkxpc3QoKSB7fTsKIAogICAgIHZpcnR1YWwgdm9pZCBy
ZWYoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKaW5kZXggMjYzYTA1Ny4uNzBiOTA5
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApAQCAtMTIxMSw3ICsxMjExLDkgQEAgYm9v
bCBIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFyYXRlRnJvbUF0dHJpYnV0ZSgpIGNv
bnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdHJ1Y3QgRXZlbnRIYW5kbGluZ1N0YXRlIDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgRXZlbnRIYW5kbGluZ1N0YXRlIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBSZWZQdHI8SFRNTElucHV0RWxlbWVudD4g
bV9jdXJyUmFkaW87CiAgICAgYm9vbCBtX2luZGV0ZXJtaW5hdGU7CiAgICAgYm9vbCBtX2NoZWNr
ZWQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oIGIvV2ViQ29y
ZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAppbmRleCA1MGRlNzEwLi4zYmYyMmE0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCisrKyBiL1dlYkNvcmUvaHRtbC9I
VE1MUGFyc2VyUXVpcmtzLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MUGFyc2Vy
UXVpcmtzX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTm9kZTsKIAotY2xhc3Mg
SFRNTFBhcnNlclF1aXJrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2Vy
UXVpcmtzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyUXVpcmtzKTsKIHB1
YmxpYzoKICAgICBIVE1MUGFyc2VyUXVpcmtzKCkgeyB9CiAgICAgdmlydHVhbCB+SFRNTFBhcnNl
clF1aXJrcygpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oIGIvV2Vi
Q29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGYyNzVhZTguLmM3MTdjMTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgK
QEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgUmVuZGVyU3R5bGU7CiAvLyBB
biBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIHR5cGUtc3BlY2lmaWMgcGFydCBvZiBh
biBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90IGV4cG9zZSBpbnN0YW5jZXMgb2YgSW5wdXRU
eXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBpdCB0byBjbGFzc2VzCiAvLyBvdGhlciB0aGFu
IEhUTUxJbnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1dFR5cGUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1dFR5cGUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50KiwgY29uc3QgQXRvbWljU3RyaW5n
Jik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGVUZXh0KEhUTUxJbnB1
dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaCBiL1dlYkNv
cmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4xZjE2NmJmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCkBA
IC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJhbmdlX2gKIAogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAotY2xhc3MgU3RlcFJhbmdlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29sIGhhc1N0ZXA7CiAgICAgZG91Ymxl
IHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaCBiL1dl
YkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4IGZlMThiNmIuLmY4M2E1ZTggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUv
aHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFZhbGlk
YXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgSFRNTEZvcm1Db250cm9sRWxlbWVudDsKIAotY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRlKEhUTUxGb3JtQ29udHJvbEVsZW1l
bnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRt
bC9WYWxpZGl0eVN0YXRlLmggYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IDUz
MmRkYjIuLmMzZmNkZmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgK
KysrIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaApAQCAtMjksNyArMjksOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFZhbGlkaXR5U3RhdGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgVmFsaWRpdHlTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VmFsaWRpdHlTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPFZhbGlkaXR5U3RhdGU+IGNyZWF0ZShIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50KiBjb250cm9sKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dC5oIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0LmgKaW5kZXggYTI1ZThhMS4uMTU5NDU0NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRl
ICJHcmFwaGljc0xheWVyLmgiCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBIVE1MVmlkZW9FbGVt
ZW50OwogY2xhc3MgS1VSTDsKIGNsYXNzIFdlYkdMT2JqZWN0OwogCi1jbGFzcyBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDYW52YXNSZW5kZXJp
bmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+Q2FudmFzUmVuZGVy
aW5nQ29udGV4dCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVs
b2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCmlu
ZGV4IDdhYzI4MmYuLmZhZTk1YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NT
UHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2Fu
bmVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRG9jdW1l
bnQ7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENTU1ByZWxvYWRTY2FubmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1ByZWxvYWRTY2FubmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBwdWJsaWM6CiAgICAgQ1NTUHJlbG9hZFNj
YW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
Q29uc3RydWN0aW9uU2l0ZS5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9u
U2l0ZS5oCmluZGV4IDhiMDliZjUuLmZmNjE4NmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJIVE1MRWxl
bWVudFN0YWNrLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIgogI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKQEAg
LTQwLDcgKzM5LDggQEAgY2xhc3MgQXRvbWljSFRNTFRva2VuOwogY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBFbGVtZW50OwogCi1jbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSFRNTENvbnN0cnVjdGlvblNpdGUpOwogcHVibGljOgogICAgIEhUTUxDb25zdHJ1
Y3Rpb25TaXRlKERvY3VtZW50KiwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLCBib29sIGlz
UGFyc2luZ0ZyYWdtZW50KTsKICAgICB+SFRNTENvbnN0cnVjdGlvblNpdGUoKTsKQEAgLTg5LDcg
Kzg5LDggQEAgcHVibGljOgogICAgIEhUTUxGb3JtRWxlbWVudCogZm9ybSgpIGNvbnN0IHsgcmV0
dXJuIG1fZm9ybS5nZXQoKTsgfQogICAgIFBhc3NSZWZQdHI8SFRNTEZvcm1FbGVtZW50PiB0YWtl
Rm9ybSgpOwogCi0gICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQp
OwogICAgIHB1YmxpYzoKICAgICAgICAgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKEhUTUxD
b25zdHJ1Y3Rpb25TaXRlJiB0cmVlKQogICAgICAgICAgICAgOiBtX3RyZWUodHJlZSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmggYi9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IDA1MDUzZGYuLjVhNTYwMmYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKKysr
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtNTAsNiArNTAs
NyBAQCBjbGFzcyBTY3JpcHRDb250cm9sbGVyOwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAog
Y2xhc3MgSFRNTERvY3VtZW50UGFyc2VyIDogIHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJz
ZXIsIEhUTUxTY3JpcHRSdW5uZXJIb3N0LCBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRN
TERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBv
cnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxl
bWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAppbmRl
eCA4YThlMTYwLi5hMzJlZmFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2su
aApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxlbWVudFN0YWNrX2gKIAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNsYXNzIFF1YWxpZmllZE5hbWU7CiAK
IC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2FyZHMgKGdyb3dzIGRvd253YXJk
KSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJkIChncm93cyB1cHdhcmRzKSBz
dGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1lbnRTdGFjayA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgSFRNTEVsZW1lbnRTdGFjaygpOwogICAgIH5IVE1MRWxlbWVudFN0YWNrKCk7CiAK
LSAgICBjbGFzcyBFbGVtZW50UmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBFbGVtZW50UmVjb3JkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRWxlbWVudFJl
Y29yZCk7CiAgICAgcHVibGljOgogICAgICAgICB+RWxlbWVudFJlY29yZCgpOyAvLyBQdWJsaWMg
Zm9yIH5QYXNzT3duUHRyKCkKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9y
bWF0dGluZ0VsZW1lbnRMaXN0LmgKaW5kZXggYWNhMDViYi4uZjc1ZmE1MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKQEAgLTM1LDcgKzM1
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKIAogLy8gVGhpcyBtYXkg
ZW5kIHVwIG1lcmdlZCBpbnRvIEhUTUxFbGVtZW50U3RhY2suCi1jbGFzcyBIVE1MRm9ybWF0dGlu
Z0VsZW1lbnRMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxGb3JtYXR0aW5nRWxl
bWVudExpc3QpOwogcHVibGljOgogICAgIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKICAg
ICB+SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0
U3RyZWFtLmgKaW5kZXggYTcwOWJkOS4uNjQyZTQzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJ
bnB1dFN0cmVhbS5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIG1f
bGFzdCBpcyBhIHBvaW50ZXIgdG8gdGhlIGxhc3Qgb2YgdGhlIGFmdGVySW5zZXJ0aW9uUG9pbnQg
c3RyaW5ncy4KIC8vIFRoZSBuZXR3b3JrIGFkZHMgZGF0YSBhdCB0aGUgZW5kIG9mIHRoZSBJbnB1
dFN0cmVhbSwgd2hpY2ggYXBwZW5kcwogLy8gdGhlbSB0byB0aGUgImxhc3QiIHN0cmluZy4KLWNs
YXNzIEhUTUxJbnB1dFN0cmVhbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MSW5w
dXRTdHJlYW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxJbnB1dFN0cmVhbSk7CiBw
dWJsaWM6CiAgICAgSFRNTElucHV0U3RyZWFtKCkKICAgICAgICAgOiBtX2xhc3QoJm1fZmlyc3Qp
CkBAIC0xMjgsNyArMTI5LDggQEAgcHJpdmF0ZToKICAgICBTZWdtZW50ZWRTdHJpbmcqIG1fbGFz
dDsKIH07CiAKLWNsYXNzIEluc2VydGlvblBvaW50UmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEluc2VydGlvblBvaW50UmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJbnNlcnRpb25Qb2ludFJlY29yZCk7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSW5zZXJ0aW9u
UG9pbnRSZWNvcmQoSFRNTElucHV0U3RyZWFtJiBpbnB1dFN0cmVhbSkKICAgICAgICAgOiBtX2lu
cHV0U3RyZWFtKCZpbnB1dFN0cmVhbSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFBhcnNlclNjaGVkdWxlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2No
ZWR1bGVyLmgKaW5kZXggNWJlMzNiMC4uNjQ3NjAyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MUGFyc2VyU2NoZWR1bGVyLmgKQEAgLTI4LDE0ICsyOCwxNCBAQAogCiAjaW5jbHVkZSAiVGlt
ZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlcjsKIAotY2xhc3MgSFRNTFBhcnNlclNjaGVk
dWxlciA6ICBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBhcnNlclNjaGVkdWxlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclNjaGVkdWxlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxQYXJz
ZXJTY2hlZHVsZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNlcikKICAgICB7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAppbmRleCA5NGE5MGU2Li5iZWQ3
N2ZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5o
CisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKQEAgLTMwLDcg
KzMwLDYgQEAKICNpbmNsdWRlICJDU1NQcmVsb2FkU2Nhbm5lci5oIgogI2luY2x1ZGUgIkhUTUxU
b2tlbi5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDcgKzM4LDggQEAgY2xh
c3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTFRva2VuaXplcjsKIGNsYXNzIFNlZ21lbnRlZFN0cmlu
ZzsKIAotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBy
ZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSFRN
TFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0
UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uOTg2ZjdiZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
U2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJQZW5kaW5nU2NyaXB0
LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0
aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBG
cmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0OwogY2xhc3MgU2NyaXB0U291cmNlQ29k
ZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MU2NyaXB0
UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NPd25QdHI8SFRNTFNjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgSFRN
TFNjcmlwdFJ1bm5lckhvc3QqIGhvc3QpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVG9rZW4uaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKaW5k
ZXggNDJjZGRiOC4uMWNiYzE1MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VG9rZW4uaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCkBAIC0yNywxMyAr
MjcsMTMgQEAKICNkZWZpbmUgSFRNTFRva2VuX2gKIAogI2luY2x1ZGUgIk5hbWVkTm9kZU1hcC5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIEhUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW4gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIFVuaW5pdGlhbGl6ZWQsCkBA
IC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICAvLyB3YW50IHRvIGVuZCB1cCB3aXRoIGEg
Y2xlYW5lciBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdHdvIGNsYXNzZXMuCiAgICAgZnJpZW5kIGNs
YXNzIEF0b21pY0hUTUxUb2tlbjsKIAotICAgIGNsYXNzIERvY3R5cGVEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEb2N0eXBlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERvY3R5cGVEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvY3R5cGVEYXRh
KCkKICAgICAgICAgICAgIDogbV9oYXNQdWJsaWNJZGVudGlmaWVyKGZhbHNlKQpAQCAtMzUyLDcg
KzM1Myw4IEBAIHByaXZhdGU6CiAKIC8vIEZJWE1FOiBUaGlzIGNsYXNzIHNob3VsZCBldmVudHVh
bGx5IGJlIG5hbWVkIEhUTUxUb2tlbiBvbmNlIHdlIG1vdmUgdGhlCiAvLyBleGl0aW5nIEhUTUxU
b2tlbiB0byBiZSBpbnRlcm5hbCB0byB0aGUgSFRNTFRva2VuaXplci4KLWNsYXNzIEF0b21pY0hU
TUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdG9taWNIVE1MVG9rZW4gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY0hUTUxUb2tlbik7CiBwdWJsaWM6CiAgICAg
QXRvbWljSFRNTFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV90eXBlKHRva2Vu
LnR5cGUoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5o
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKaW5kZXggZjE2YjA0OS4uYjUw
YWE0MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKKysr
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKQEAgLTI4LDcgKzI4LDYgQEAK
ICNkZWZpbmUgSFRNTFRva2VuaXplcl9oCiAKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmcuaD4KQEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgRWxlbWVudDsKIGNsYXNzIEZyYW1lOwogY2xh
c3MgSFRNTFRva2VuOwogCi1jbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxUb2tlbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxU
b2tlbml6ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFN0
YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Miw4IEBAIHB1YmxpYzoKIAog
cHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3Vy
cmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAgICBjbGFzcyBJbnB1
dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW5w
dXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1
dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJbnB1dFN0cmVhbVBy
ZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAgICAgICA6IG1fdG9r
ZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRy
ZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApp
bmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxk
ZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1FbGVtZW50KiBjbG9zZXN0Rm9ybUFu
Y2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAKLWNsYXNzIEhUTUxU
cmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZm
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZm
ZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIo
QXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQodG9rZW4uY2hhcmFj
dGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVy
OjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICBwcm9jZXNzRW5k
VGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9k
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNl
cnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5zZXJ0aW9uTW9kZSk7
CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWlsZGVyKiB0cmVlQnVp
bGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1aWxkZXIodHJlZUJ1
aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5o
IGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRleCAwZTc1OTdjLi5i
NzQ5ZTc2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5o
CisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKQEAgLTMzLDcgKzMz
LDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgiCiAjaW5jbHVkZSAi
SFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC01
MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxEb2N1bWVudDsKIGNsYXNz
IE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUcmVl
QnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEhUTUxUcmVlQnVpbGRlcj4gY3JlYXRlKEhUTUxUb2tlbml6ZXIqIHRva2VuaXpl
ciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMsIGJvb2wgdXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MpCiAgICAgewpAQCAtMjAzLDcgKzIwMyw4IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBwcm9jZXNzRm9yZWlnbkNvbnRlbnRVc2luZ0luQm9keU1vZGVBbmRSZXNldE1vZGUo
QXRvbWljSFRNTFRva2VuJiB0b2tlbik7CiAgICAgdm9pZCByZXNldEZvcmVpZ25JbnNlcnRpb25N
b2RlKCk7CiAKLSAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRnJhZ21lbnRQYXJzaW5nQ29udGV4dCk7CiAgICAgcHVibGljOgog
ICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KCk7CiAgICAgICAgIEZyYWdtZW50UGFyc2lu
Z0NvbnRleHQoRG9jdW1lbnRGcmFnbWVudCosIEVsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBGcmFn
bWVudFNjcmlwdGluZ1Blcm1pc3Npb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNl
ci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5n
TGV2ZWxJbmNyZW1lbnRlci5oCmluZGV4IGM1OTc4NzYuLjgxNTU2MzUgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAorKysgYi9XZWJDb3Jl
L2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKQEAgLTI4LDcgKzI4LDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIpOwogcHVibGlj
OgogICAgIGV4cGxpY2l0IE5lc3RpbmdMZXZlbEluY3JlbWVudGVyKHVuc2lnbmVkJiBuZXN0aW5n
TGV2ZWwpCiAgICAgICAgIDogbV9uZXN0aW5nTGV2ZWwoJm5lc3RpbmdMZXZlbCkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggYi9XZWJDb3JlL2luc3BlY3Rv
ci9Db25zb2xlTWVzc2FnZS5oCmluZGV4IDM1MWM1ODQuLjI5MTczNzggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29uc29sZU1lc3NhZ2UuaApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBTY3JpcHRDYWxsRnJhbWU7
CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRWYWx1ZTsKIAotY2xhc3MgQ29u
c29sZU1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29uc29sZU1lc3NhZ2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCB1bnNpZ25lZCBsaSwg
Y29uc3QgU3RyaW5nJiB1LCB1bnNpZ25lZCBnKTsKICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdl
U291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIFBhc3NS
ZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCB1bnNp
Z25lZCBnKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Lmgg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5oCmluZGV4IGY4MGNmYjQuLmZmOGQz
OGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0LmgKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApAQCAtMzQsNyArMzQsNiBAQAogI2lu
Y2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1ZGUgIlNjcmlwdE9iamVjdC5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50Lmgg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAppbmRl
eCAxMWYxMGNlLi40OWJlMmE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtMjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpICYmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCiAKICNpbmNsdWRl
ICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQw
LDcgKzM5LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9yVmFsdWU7
CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJ
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVj
dG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmgKaW5kZXggZTU3YzA4OS4uMjRkZmUxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAwLDcgKzEwMCw4IEBAIGNsYXNzIFdlYlNvY2tldEhh
bmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZTsKICNlbmRp
ZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3Bl
Y3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0
eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQdHI8SW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZT4gPiBE
YXRhYmFzZVJlc291cmNlc01hcDsKICAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQdHI8SW5z
cGVjdG9yRE9NU3RvcmFnZVJlc291cmNlPiA+IERPTVN0b3JhZ2VSZXNvdXJjZXNNYXA7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKaW5kZXggYWRjOTI1YS4uZTEz
NzI5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaApAQCAt
NTIsNyArNTIsOCBAQCBlbnVtIERlYnVnZ2VyRXZlbnRUeXBlIHsKICAgICBOYXRpdmVCcmVha3Bv
aW50RGVidWdnZXJFdmVudFR5cGUKIH07CiAKLWNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQg
OiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKiwgSW5zcGVjdG9yRnJv
bnRlbmQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmggYi9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKaW5kZXggOWRj
YWE1YS4uYmNlZTFkYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50TG9jYWwuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAiSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDcgKzQwLDgg
QEAgY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9z
dDsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBw
dWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwogICAgIHZp
cnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBlNjc4NDhkLi4xYzQ5YjlkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysrIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC0zNSw3ICszNSw2IEBA
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDcs
NyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFwU25hcHNo
b3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0
b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciopOwogICAgIHZpcnR1
YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaAppbmRleCBiYzFlMDI3Li44MWFkNDkxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC03MCw3ICs3MCw4IEBAIGVudW0gVGlt
ZWxpbmVSZWNvcmRUeXBlIHsKICAgICBTY2hlZHVsZVJlc291cmNlUmVxdWVzdFRpbWVsaW5lUmVj
b3JkVHlwZSA9IDIwCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IDogU2NyaXB0
R0NFdmVudExpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kKTsKICAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oIGIvV2ViQ29yZS9s
b2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQuLmRk
ZDUwNzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNz
IENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJ
dGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbShib29sIGNyZWRlbnRpYWxzKQogICAgICAg
ICAgICAgOiBtX2Fic29sdXRlRXhwaXJ5VGltZSgwKQpAQCAtNjMsNyArNjQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEhlYWRlcnNTZXQgbV9oZWFkZXJzOwogICAgIH07CiAKLSAg
ICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGViZjNhMjUuLjNhM2NjNjQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC00Nyw2ICs0Nyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50Owog
CiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIsIHByaXZh
dGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxv
YWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1
ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJj
ZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVu
dFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCAyYWM4ZGQwLi4xNjQwZGRhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVtcHR5RnJh
bWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRW1wdHlGcmFtZUxvYWRl
ckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RnJhbWVMb2FkZXJDbGllbnQoKSB7ICB9
CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lTG9hZGVyRGVzdHJveWVkKCkgeyB9CiAKQEAgLTM4Myw4
ICszODUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtp
bmdDb250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29udGV4dCgpIHsgcmV0dXJuIFBhc3NSZWZQdHI8
RnJhbWVOZXR3b3JraW5nQ29udGV4dD4oKTsgfQogfTsKIAotY2xhc3MgRW1wdHlFZGl0b3JDbGll
bnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1w
dHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFbXB0eUVkaXRvckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgorICAgIEVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlFZGl0
b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpIHsgfQogCkBA
IC00OTYsOCArNTAwLDEwIEBAIHB1YmxpYzoKIH07CiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQ29udGV4dE1lbnVDbGll
bnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDog
cHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0
eUNvbnRleHRNZW51Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Cisg
ICAgRW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5Q29udGV4
dE1lbnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVzdHJveWVk
KCkgeyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVOQUJMRShD
T05URVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVtcHR5RHJh
Z0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgorICAgIEVtcHR5RHJhZ0NsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RHJhZ0NsaWVu
dCgpIHt9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9u
KERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgRHJhZ0RhdGEqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
d2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb24sIGNvbnN0IEludFBv
aW50JiwgQ2xpcGJvYXJkKikgeyB9CkBAIC01MzIsOCArNTQwLDEwIEBAIHB1YmxpYzoKIH07CiAj
ZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGll
bnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShFbXB0eUluc3BlY3RvckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAgICAgdmly
dHVhbCB+RW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBpbnNw
ZWN0b3JEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJt
aXNzaW9uLmggYi9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCmluZGV4IGQ3MjQ4MzUu
LjdmNThmOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaApAQCAtNDcsNyArNDcsOCBAQCBjbGFz
cyBGb3JtU3VibWlzc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPEZvcm1TdWJtaXNzaW9uPiB7CiBw
dWJsaWM6CiAgICAgZW51bSBNZXRob2QgeyBHZXRNZXRob2QsIFBvc3RNZXRob2QgfTsKIAotICAg
IGNsYXNzIEF0dHJpYnV0ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEF0dHJp
YnV0ZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdHRyaWJ1dGVzKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIEF0dHJpYnV0ZXMoKQogICAgICAgICAgICAgOiBtX21ldGhvZChHZXRN
ZXRob2QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA3NmFkOTc3Li42YTc2M2QwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmgKQEAgLTg2LDcgKzg2LDggQEAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogCiBib29s
IGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBlKTsKIAotY2xhc3MgRnJhbWVMb2Fk
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlcihG
cmFtZSosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAgICAgfkZyYW1lTG9hZGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oIGIvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAppbmRleCBjMzQwOGMyLi4xZGRmMmVhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKQEAgLTI5LDEzICsyOSwx
MyBAQAogI2lmbmRlZiBGcmFtZUxvYWRlclN0YXRlTWFjaGluZV9oCiAjZGVmaW5lIEZyYW1lTG9h
ZGVyU3RhdGVNYWNoaW5lX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRlIG1hY2hpbmUgZm9yIEZy
YW1lTG9hZGVyLiBOb3RlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBGcmFtZVN0YXRlLAog
Ly8gd2hpY2ggc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBsb2FkIHRoYXQgRnJhbWVM
b2FkZXIgaXMgZXhlY3V0aW5nLgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lKTsKIHB1YmxpYzoKICAg
ICBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9IaXN0b3J5Q29udHJvbGxlci5oIGIvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIu
aAppbmRleCAxYmY1MDcyLi40ZmI4NjNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9IaXN0
b3J5Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgK
QEAgLTMyLDcgKzMyLDYgQEAKIAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyVHlwZXMuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAs
OCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOwogCi1jbGFzcyBIaXN0b3J5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIaXN0b3J5Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SGlzdG9yeUNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIGVudW0gSGlzdG9yeVVwZGF0ZVR5cGUg
eyBVcGRhdGVBbGwsIFVwZGF0ZUFsbEV4Y2VwdEJhY2tGb3J3YXJkTGlzdCB9OwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9JbWFn
ZUxvYWRlci5jcHAKaW5kZXggOTRhMjFhNC4uYTgzNmY3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cApAQCAtNTcsNyArNTcsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1ZUNoZWNrPFdlYkNvcmU6
OkltYWdlTG9hZGVyKj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEltYWdlRXZl
bnRTZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VFdmVudFNlbmRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
CmluZGV4IDdjNjkxYWUuLmNhZmM5ZWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVs
ZXIuY3BwCkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
U2NoZWR1bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVs
ZWROYXZpZ2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0
aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2NoZWR1bGVkTmF2
aWdhdGlvbihkb3VibGUgZGVsYXksIGJvb2wgbG9ja0hpc3RvcnksIGJvb2wgbG9ja0JhY2tGb3J3
YXJkTGlzdCwgYm9vbCB3YXNEdXJpbmdMb2FkLCBib29sIGlzTG9jYXRpb25DaGFuZ2UpCiAgICAg
ICAgIDogbV9kZWxheShkZWxheSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaAppbmRl
eCAxNDAwYzI1Li5mMTRkMDUzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCkBA
IC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEZyYW1lOwogc3RydWN0IEZyYW1lTG9hZFJlcXVlc3Q7CiBj
bGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uOwogCi1jbGFzcyBOYXZpZ2F0aW9uU2NoZWR1bGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5hdmlnYXRpb25TY2hlZHVsZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE5hdmlnYXRpb25TY2hlZHVsZXIpOwogcHVibGljOgogICAgIE5h
dmlnYXRpb25TY2hlZHVsZXIoRnJhbWUqKTsKICAgICB+TmF2aWdhdGlvblNjaGVkdWxlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIv
UGluZ0xvYWRlci5oCmluZGV4IGViNDMxNjYuLjNmNTYzYTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL1BpbmdMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKQEAg
LTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5j
bHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUwLDcgKzQ5LDggQEAgY2xh
c3MgUmVzb3VyY2VSZXNwb25zZTsKIC8vIHRvIGFsbG93IHRoZSBsb2FkIHRvIGxpdmUgbG9uZyBl
bm91Z2ggdG8gZW5zdXJlIHRoZSBtZXNzYWdlIHdhcyBhY3R1YWxseSBzZW50LgogLy8gVGhlcmVm
b3JlLCBhcyBzb29uIGFzIGEgY2FsbGJhY2sgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgUmVzb3VyY2VI
YW5kbGUsIHRoaXMgY2xhc3MgCiAvLyB3aWxsIGNhbmNlbCB0aGUgbG9hZCBhbmQgZGVsZXRlIGl0
c2VsZi4KLWNsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50LCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VI
YW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBpbmdMb2FkZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsb2FkSW1hZ2Uo
RnJhbWUqLCBjb25zdCBLVVJMJiB1cmwpOwogICAgIHN0YXRpYyB2b2lkIHNlbmRQaW5nKEZyYW1l
KiwgY29uc3QgS1VSTCYgcGluZ1VSTCwgY29uc3QgS1VSTCYgZGVzdGluYXRpb25VUkwpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIv
UG9saWN5Q2hlY2tlci5oCmluZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVj
a2VyLmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKIGNsYXNzIFJl
c291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBQb2xpY3lDaGVj
a2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBvbGljeUNoZWNrZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBvbGljeUNoZWNrZXIpOwogcHVibGljOgogICAgIFBvbGljeUNo
ZWNrZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFj
a2VyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggY2QxNTQz
My4uNjVkZDFjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNw
cAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01MCw3ICs1MCw5
IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAg
LSBpbml0aWFsUHJvZ3Jlc3NWYWx1ZQogCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzSXRlbURl
ZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKLXN0cnVjdCBQcm9ncmVzc0l0ZW0g
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQcm9ncmVzc0l0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBQcm9ncmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNl
aXZlZCgwKQogICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9n
cmVzc1RyYWNrZXIuaAppbmRleCA1ZDViNmIyLi42MGViOGZlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1Ry
YWNrZXIuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQcm9ncmVzc1RyYWNrZXJfaAogCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDcgKzM1
LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dy
ZXNzSXRlbTsKIAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFByb2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jl
c3NUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvZ3Jl
c3NUcmFja2VyKCk7CiAgICAgflByb2dyZXNzVHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUmVxdWVzdC5oIGIvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oCmluZGV4IGI2ZGUz
MTIuLjE1NzFkMWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1JlcXVlc3QuaAorKysgYi9X
ZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIENhY2hlZFJlc291cmNlOwogICAgIGNsYXNzIENhY2hlZFJlc291cmNl
TG9hZGVyOwogCi0gICAgY2xhc3MgUmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUmVxdWVzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcXVlc3QpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlcXVlc3QoQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSosIGJvb2wgaW5jcmVtZW50YWwsIFNl
Y3VyaXR5Q2hlY2tQb2xpY3ksIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyk7CiAgICAg
ICAgIH5SZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRO
b3RpZmllci5oIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAppbmRleCAy
ZjEwODU2Li4yNzA0MDZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRO
b3RpZmllci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKQEAg
LTMwLDcgKzMwLDYgQEAKICNpZm5kZWYgUmVzb3VyY2VMb2FkTm90aWZpZXJfaAogI2RlZmluZSBS
ZXNvdXJjZUxvYWROb3RpZmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0Miw4IEBAIGNsYXNzIFJlc291cmNlTG9h
ZGVyOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIAot
Y2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UmVzb3VyY2VMb2FkTm90aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNl
TG9hZE5vdGlmaWVyKTsKIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWROb3RpZmllcihGcmFtZSop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCmluZGV4IDg0Zjg4NDUuLjI5
Yzc0ZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5o
CisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC0yOSw3ICsy
OSw2IEBACiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBTdWJyZXNvdXJj
ZUxvYWRlcjsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50OwogCi1jbGFzcyBSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWRTY2hlZHVs
ZXIpOwogcHVibGljOgogICAgIGZyaWVuZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNl
TG9hZFNjaGVkdWxlcigpOwogCkBAIC02Niw3ICs2Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBz
Y2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7CiAgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJl
ZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Kik7CiAKLSAgICBjbGFzcyBIb3N0SW5mb3Jt
YXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RJbmZvcm1hdGlvbik7CiAgICAgcHVi
bGljOgogICAgICAgICBIb3N0SW5mb3JtYXRpb24oY29uc3QgU3RyaW5nJiwgdW5zaWduZWQpOwog
ICAgICAgICB+SG9zdEluZm9ybWF0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9T
dWJmcmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAppbmRleCBh
NTczMDQ1Li5kMTFkOWI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRl
ci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAgLTM1LDcgKzM1LDYg
QEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU0LDcg
KzUzLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFdpZGdldDsKIAogLy8gVGhpcyBpcyBhIHNsaWdo
dCBtaXNub21lci4gSXQgaGFuZGxlcyB0aGUgaGlnaGVyIGxldmVsIGxvZ2ljIG9mIGxvYWRpbmcg
Ym90aCBzdWJmcmFtZXMgYW5kIHBsdWdpbnMuCi1jbGFzcyBTdWJmcmFtZUxvYWRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdWJmcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU3ViZnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIFN1YmZyYW1lTG9hZGVyKEZy
YW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBi
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCBmNDFhNzc0Li5iYzFhM2Jh
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC0zMSw3ICszMSw2IEBACiAjaWZuZGVm
IFRocmVhZGFibGVMb2FkZXJfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyX2gKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkg
dGhyZWFkIChub3QgdGhyZWFkc2FmZSwgCiAgICAgLy8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJl
YWRzIG90aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFkKS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9h
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKQEAgLTc1LDYgKzc1LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlRocmVhZGFibGVMb2Fk
ZXIoKTsgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9
CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVh
bCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBk
ZXJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
Q2xpZW50LmgKaW5kZXggYmNmNjhiZS4uY2VhOGIwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRocmVhZGFibGVM
b2FkZXJDbGllbnRfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkYWJsZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9u
ZyAvKmJ5dGVzU2VudCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQq
LykgeyB9CiAKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50KCkgeyB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlckNsaWVudFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJD
bGllbnRXcmFwcGVyLmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFjZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5oCkBAIC0zMiw3ICszMiw2IEBACiAj
ZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyX2gKIAogI2luY2x1ZGUgIlRocmVh
ZGFibGVMb2FkZXJDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29y
ZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLjY1Y2M2Mzcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVx
dWVzdERhdGE7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJl
ZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVy
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdvcmtlckNvbnRleHQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2Vy
VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYgb3B0aW9ucykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUdyb3VwLmgKaW5kZXggMjlkMDc0OS4uOTFhYzI4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNs
dWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC01Myw3ICs1Miw4IEBAIGVudW0gQXBwbGlj
YXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB7CiAgICAgQXBwbGljYXRpb25DYWNoZVVwZGF0ZVdpdGhv
dXRCcm93c2luZ0NvbnRleHQKIH07CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IHB1
YmxpYyBOb25jb3B5YWJsZSwgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgQXBwbGljYXRp
b25DYWNoZUdyb3VwIDogUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVHcm91cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIEFwcGxpY2F0aW9uQ2FjaGVHcm91cChjb25zdCBLVVJMJiBtYW5pZmVzdFVS
TCwgYm9vbCBpc0NvcHkgPSBmYWxzZSk7ICAgIAogICAgIH5BcHBsaWNhdGlvbkNhY2hlR3JvdXAo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCmlu
ZGV4IDhhYzUzNTcuLmExZjI4NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBw
bGljYXRpb25DYWNoZUhvc3QuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAjZW5kaWYKIAotICAgIGNsYXNz
IEFwcGxpY2F0aW9uQ2FjaGVIb3N0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBB
cHBsaWNhdGlvbkNhY2hlSG9zdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxp
Y2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhl
IEhUTUw1IHNwZWMuCiAgICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjhiZmRm
MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVT
dG9yYWdlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0
b3JhZ2UuaApAQCAtNDQsNyArNDQsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVD4KIGNsYXNzIFN0b3Jh
Z2VJREpvdXJuYWw7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIAotY2xhc3MgQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJl
UmVhc29uIHsKICAgICAgICAgT3JpZ2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9XZWJDb3JlL2xv
YWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi5m
ZDJkZGJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJj
ZUNvbGxlY3Rpb24uaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJj
ZUNvbGxlY3Rpb24uaApAQCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24oKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggOWE1NGM1My4uYWU2Zjc1MSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIFJlcXVlc3Q7
CiAvLyBBIHJlc291cmNlIHRoYXQgaXMgaGVsZCBpbiB0aGUgY2FjaGUuIENsYXNzZXMgd2hvIHdh
bnQgdG8gdXNlIHRoaXMgb2JqZWN0IHNob3VsZCBkZXJpdmUKIC8vIGZyb20gQ2FjaGVkUmVzb3Vy
Y2VDbGllbnQsIHRvIGdldCB0aGUgZnVuY3Rpb24gY2FsbHMgaW4gY2FzZSB0aGUgcmVxdWVzdGVk
IGRhdGEgaGFzIGFycml2ZWQuCiAvLyBUaGlzIGNsYXNzIGFsc28gZG9lcyB0aGUgYWN0dWFsIGNv
bW11bmljYXRpb24gd2l0aCB0aGUgbG9hZGVyIHRvIG9idGFpbiB0aGUgcmVzb3VyY2UgZnJvbSB0
aGUgbmV0d29yay4KLWNsYXNzIENhY2hlZFJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIENhY2hlZFJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRS
ZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBNZW1v
cnlDYWNoZTsKICAgICBmcmllbmQgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2U7CiAgICAgCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oIGIvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAppbmRleCAyNzVkMzMxLi4y
MWVhMDI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNs
aWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgK
QEAgLTI1LDcgKzI1LDYgQEAKICNpZm5kZWYgQ2FjaGVkUmVzb3VyY2VDbGllbnRfaAogI2RlZmlu
ZSBDYWNoZWRSZXNvdXJjZUNsaWVudF9oCiAKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5o
PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1
LDggKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAqIGluaGVyaXQgZnJvbSB0aGlz
IGNsYXNzIGFuZCBvdmVybG9hZCBvbmUgb2YgdGhlIDMgZnVuY3Rpb25zCiAgICAgICoKICAgICAg
Ki8KLSAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
Ci0gICAgeworICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5DYWNoZWRS
ZXNvdXJjZUNsaWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaAppbmRleCBmMzcxYTBlLi42ZDRhN2EzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW1hZ2VM
b2FkZXI7CiBjbGFzcyBLVVJMOwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdl
cyB0aGUgbG9hZGluZyBvZiBzY3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUg
ZG9jdW1lbnQuCi1jbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIGZyaWVu
ZCBjbGFzcyBNZW1vcnlDYWNoZTsKIGZyaWVuZCBjbGFzcyBJbWFnZUxvYWRlcjsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaCBiL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmgKaW5kZXggMTVjZTlkYS4uZDA4NDllNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5oCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAibG9hZGVyLmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTcxLDcgKzcwLDggQEAgY2xhc3MgS1VS
TDsKIC8vIGl0cyBtZW1iZXIgdmFyaWFibGVzKSBhcmUgYWxsb2NhdGVkIGluIG5vbi1wdXJnZWFi
bGUgVEMtbWFsbG9jJ2QgbWVtb3J5IHNvIHdlIHdvdWxkIHNlZSBzbGlnaHRseQogLy8gbW9yZSBt
ZW1vcnkgdXNlIGR1ZSB0byB0aGlzLgogCi1jbGFzcyBNZW1vcnlDYWNoZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZW1vcnlDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TWVtb3J5Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBmcmll
bmQgTWVtb3J5Q2FjaGUqIGNhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2lj
b24vSWNvbkRhdGFiYXNlLmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCmlu
ZGV4IDYxNDZhYTYuLmVjODdiZjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNv
bkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaApAQCAt
MzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNo
Lmg+CiAKQEAgLTYyLDggKzYxLDggQEAgZW51bSBJY29uTG9hZERlY2lzaW9uIHsKICAgICBJY29u
TG9hZFVua25vd24KIH07CiAKLWNsYXNzIEljb25EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7Ci0KK2NsYXNzIEljb25EYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNv
bkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAvLyAqKiogTWFpbiBUaHJlYWQg
T25seSAqKioKIHB1YmxpYzoKICAgICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGllbnQq
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50Lmgg
Yi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2Qu
LjRhZTJlYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xp
ZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAt
MzAsMTUgKzMwLDE2IEBACiAjZGVmaW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBBbGwg
b2YgdGhlc2UgY2xpZW50IG1ldGhvZHMgd2lsbCBiZSBjYWxsZWQgZnJvbSBhIG5vbi1tYWluIHRo
cmVhZAogLy8gVGFrZSBhcHByb3ByaWF0ZSBtZWFzdXJlcwogIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uRGF0
YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBJY29u
RGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5JY29uRGF0YWJhc2VDbGllbnQoKSB7
IH0KICAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybUltcG9ydCgpIHsgcmV0dXJuIHRydWU7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRSZW1vdmVBbGxJY29ucygpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25Mb2FkZXIuaAppbmRleCAxZWJhYzQ4Li43ZDgwODliIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25M
b2FkZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXJD
bGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMzcsNyArMzYsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEtVUkw7CiBjbGFzcyBTaGFyZWRC
dWZmZXI7CiAKLWNsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3Vi
cmVzb3VyY2VMb2FkZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25Mb2Fk
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxJY29uTG9hZGVyPiBjcmVhdGUoRnJhbWUqKTsKICAgICB+SWNvbkxvYWRlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmggYi9XZWJDb3JlL2xv
YWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAppbmRleCBmN2NjYjhmLi5hNWU1NWFkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTEsNyArNTAsOCBA
QCBwdWJsaWM6CiAgICAgU3RyaW5nIGljb25VUkw7CiB9OwogCi1jbGFzcyBQYWdlVVJMUmVjb3Jk
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhZ2VVUkxSZWNvcmQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBhZ2VVUkxSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAgICAg
flBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2xvYWRlci5oIGIv
V2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKaW5kZXggODE4ZjU2Zi4uMjMyMDQzNyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgK
QEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgogI2luY2x1
ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDggKzM0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKICAgICBjbGFzcyBSZXF1ZXN0Owog
Ci0gICAgY2xhc3MgTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlLCBwcml2YXRlIFN1YnJlc291
cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBjbGFzcyBMb2FkZXIgOiBTdWJyZXNvdXJjZUxvYWRlckNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvYWRlcik7CiAgICAgcHVibGlj
OgorICAgICAgICBMb2FkZXIoKSB7IH0KICAgICAgICAgfkxvYWRlcigpOwogCiAgICAgICAgIHZv
aWQgbG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciosIENhY2hlZFJlc291cmNlKiwgYm9vbCBpbmNy
ZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5Q2hlY2tQb2xpY3kgPSBEb1NlY3VyaXR5Q2hlY2ssIGJv
b2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyA9IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjczMTMxZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMv
Tm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMg
UmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNh
dGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmlj
YXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYgY29udGVudHMsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRy
PE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJv
bGxlci5oCmluZGV4IDgzM2I5MDkuLmEyNGQxMjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29udGV4dE1lbnVDb250cm9sbGVy
X2gKICNkZWZpbmUgQ29udGV4dE1lbnVDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQwLDcgKzM5LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50OwogICAgIGNsYXNzIFBhZ2U7CiAKLSAgICBj
bGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIENvbnRleHRNZW51Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENvbnRleHRNZW51Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKFBhZ2UqLCBDb250ZXh0TWVudUNs
aWVudCopOwogICAgICAgICB+Q29udGV4dE1lbnVDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxl
ci5oCmluZGV4IDBlOTBhNTIuLjM2MGU0NjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9EcmFn
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBAIC00Nyw3
ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSYW5nZTsKICAgICBjbGFz
cyBTZWxlY3Rpb25Db250cm9sbGVyOwogICAgIAotICAgIGNsYXNzIERyYWdDb250cm9sbGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEcmFnQ29udHJvbGxlciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERyYWdDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0Ns
aWVudCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBj
YTE5YTBjLi40NzgwNjE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgK
KysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4dGVy
biBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxi
YXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9Owog
Ci1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRXZlbnRI
YW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVibGlj
OgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIy
Miw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAg
fTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7Cisg
ICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
ICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlKCkgeyB9CiAgICAgICAg
IFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVsZW1lbnQgdGhhdCBtYXkgYmUgYSBkcmFnIHNv
dXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdlc3R1cmUKICAgICAgICAgYm9vbCBtX2RyYWdT
cmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNJbWFnZTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5k
ZXggZmZlZDU5Mi4uMTBhZDZiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTUxLDYgKzUxLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKICAgICBjbGFz
cyBFdmVudFNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50U291cmNlPiwgcHVibGljIEV2
ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVE
T01PYmplY3QgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV2ZW50U291cmNlPiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
ICAgIHZpcnR1YWwgfkV2ZW50U291cmNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRm9j
dXNDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKaW5kZXggYmU1
MWM3Ny4uMjg1MGQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5o
CisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBAQAog
I2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCiAjaW5jbHVkZSAiU3BhdGlhbE5hdmlnYXRpb24u
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAs
NyArMzksOCBAQCBjbGFzcyBLZXlib2FyZEV2ZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFBhZ2U7
CiAKLWNsYXNzIEZvY3VzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBG
b2N1c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvY3VzQ29udHJvbGxl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvY3VzQ29udHJvbGxl
cihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNv
cmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBA
IC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwog
Ci0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBG
cmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAg
IHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJl
bnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKaW5kZXggYjE0ZDExYi4uZjdjMmZlNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYs
MTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1
cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMg
aXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3Qg
U2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CisgICAgU2NoZWR1bGVkRXZlbnQoKSB7IH0KICAgICBSZWZQdHI8
RXZlbnQ+IG1fZXZlbnQ7CiAgICAgUmVmUHRyPE5vZGU+IG1fZXZlbnRUYXJnZXQ7CiB9OwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9w
YWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDdkYjE5NTEuLjlhNWQwMTcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAogI2luY2x1
ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgR2VvbG9jYXRpb25FcnJvcjsKIGNsYXNz
IEdlb2xvY2F0aW9uUG9zaXRpb247CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBHZW9sb2NhdGlvbkNv
bnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25Db250cm9s
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvbkNvbnRyb2xsZXIpOwog
cHVibGljOgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcihQYWdlKiwgR2VvbG9jYXRpb25DbGll
bnQqKTsKICAgICB+R2VvbG9jYXRpb25Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaAppbmRl
eCBmYjZmNmI1Li4xYmJhZDJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5n
cy5oCisrKyBiL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKQEAgLTMzLDcgKzMzLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdlR3JvdXA7CiAKLWNsYXNzIEdyb3VwU2V0
dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JvdXBTZXR0aW5ncyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+IGNyZWF0
ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKaW5kZXggYTkzODkzMi4uZTQxNzgyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1BhZ2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5j
bHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgiCkBAIC05MCwxMiArODks
MTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgZW51bSBGaW5kRGlyZWN0aW9uIHsgRmlu
ZERpcmVjdGlvbkZvcndhcmQsIEZpbmREaXJlY3Rpb25CYWNrd2FyZCB9OwogCi0gICAgY2xhc3Mg
UGFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBhZ2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZv
aWQgc2NoZWR1bGVGb3JjZWRTdHlsZVJlY2FsY0ZvckFsbFBhZ2VzKCk7CiAKICAgICAgICAgLy8g
SXQgaXMgdXAgdG8gdGhlIHBsYXRmb3JtIHRvIGVuc3VyZSB0aGF0IG5vbi1udWxsIGNsaWVudHMg
YXJlIHByb3ZpZGVkIHdoZXJlIHJlcXVpcmVkLgotICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMg
OiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50cyB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2xpZW50cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYWdlQ2xpZW50cygpOwogICAgICAg
ICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3Jv
dXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCBjYzQ3ZmJhLi42ZDdkNmNmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9wYWdlL1Bh
Z2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFBhZ2VHcm91cF9oCiAKICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNjcmlwdC5oIgogI2luY2x1ZGUgIlVzZXJT
dHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAKLSAgICBjbGFzcyBQYWdl
R3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VHcm91cCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwKGNvbnN0IFN0cmluZyYgbmFtZSk7
CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFn
ZUdyb3VwTG9hZERlZmVycmVyLmggYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVy
LmgKaW5kZXggZDQ0M2ViZC4uZjc5NTZjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VH
cm91cExvYWREZWZlcnJlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJy
ZXIuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRnJh
bWU7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdyb3VwTG9hZERlZmVycmVyKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cExvYWREZWZlcnJlcihQYWdlKiwgYm9vbCBkZWZl
clNlbGYpOwogICAgICAgICB+UGFnZUdyb3VwTG9hZERlZmVycmVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmggYi9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgK
aW5kZXggYWY4YjMxZS4uNWI5NmQxOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaApAQCAtMzUsNyArMzUsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhhbHRhYmxlUGx1Z2luOwogCi1jbGFzcyBQ
bHVnaW5IYWx0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luSGFsdGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5IYWx0ZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBQbHVnaW5IYWx0ZXIoUGx1Z2luSGFsdGVyQ2xpZW50Kik7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKaW5kZXggMDRiMTI2YS4uYjUyNjFiMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTUwLDcgKzUwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5
c0luY2x1ZGVkCiAgICAgfTsKIAotICAgIGNsYXNzIFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTZXR0aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1
dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5kZXggNDUzMmQ0OS4uODUzYzBhYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKKysrIGIvV2ViQ29yZS9wYWdl
L1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJTcGVlY2hJbnB1dExp
c3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5wdXRMaXN0ZW5lcjsKIC8vIFRoaXMg
Y2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJlcXVpcmluZyBzcGVlY2ggaW5wdXQg
d2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUu
IEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50cyB0byBhY3RpdmF0ZSBz
cGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZvciB0aGUgc3BlZWNoIHJlY29nbml0
aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0cy4KLWNsYXNzIFNwZWVjaElucHV0
IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5lciB7CitjbGFz
cyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6CiAgICAgU3BlZWNoSW5wdXQoU3Bl
ZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVlY2hJbnB1dCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgK
aW5kZXggMDY1MjQzOS4uMDUxNDA5MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTY3Jp
cHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCkBAIC0zNSw3ICszNSw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNjcmlwdCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2Vy
U2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVXNlclNjcmlw
dChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJsLAogICAgICAgICAgICAgICAg
UGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8
U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVT
aGVldC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKaW5kZXggZmE0MmUyYy4uMDY4
ZGYxZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKKysrIGIvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBVc2VyU3R5bGVTaGVldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBVc2VyU3R5bGVTaGVldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclN0
eWxlU2hlZXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBVc2VyU3R5
bGVTaGVldChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJsLAogICAgICAgICAg
ICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25Q
dHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
WFNTQXVkaXRvci5oIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaAppbmRleCAyYjc4MWYxLi41
YmVlZDYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCisrKyBiL1dlYkNv
cmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIC8vICogSFRNTERvY3VtZW50UGFyc2VyOjpzaG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRG
cm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4dGVybmFsIEphdmFTY3JpcHQgc2NyaXB0cy4KICAgICAv
LyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0IC0gdXNlZCB0byBsb2FkIDxvYmplY3Q+
LzxlbWJlZD4gZWxlbWVudHMuCiAgICAgLy8KLSAgICBjbGFzcyBYU1NBdWRpdG9yIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYU1NBdWRpdG9yIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAgICAgICB+WFNTQXVkaXRvcigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBi
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggNjYxNzJmNy4u
Njg1NTFmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNl
LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBAIC0y
MTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZTsKIHN0YXRpYyB2b2lkIGFk
ZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlKiB3cmFw
cGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBwZXJC
YXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3BlcnR5V3JhcHBlckJhc2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBlckJhc2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQcm9wZXJ0eVdyYXBwZXJCYXNlKGludCBwcm9w
KQogICAgICAgICA6IG1fcHJvcChwcm9wKQpAQCAtNDM4LDcgKzQzOSw4IEBAIHB1YmxpYzoKIH07
CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
R2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2UsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMg
RmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKTsKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXJQ
cm9wZXJ0eVdyYXBwZXJHZXR0ZXIoVCAoRmlsbExheWVyOjoqZ2V0dGVyKSgpIGNvbnN0KQogICAg
ICAgICA6IG1fZ2V0dGVyKGdldHRlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA4OTNjNzE3Li5jODRkZDU0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
LmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiBj
bGFzcyBSZW5kZXJTdHlsZTsKIAotY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGUoRnJhbWUqKTsKICAgICB+QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmggYi9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5oCmluZGV4IDI0OWY0YzMuLjBk
MGJiMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0
aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uaApA
QCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkltcGxpY2l0QW5pbWF0aW9uLmgiCiAjaW5jbHVk
ZSAiS2V5ZnJhbWVBbmltYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvbWFjL0V2
ZW50SGFuZGxlck1hYy5tbSBiL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmlu
ZGV4IDJkYjcxM2YuLmI5OGJjYjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRI
YW5kbGVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCkBA
IC03Nyw3ICs3Nyw4IEBAIE5TRXZlbnQgKkV2ZW50SGFuZGxlcjo6Y3VycmVudE5TRXZlbnQoKQog
ICAgIHJldHVybiBjdXJyZW50TlNFdmVudFNsb3QoKS5nZXQoKTsKIH0KIAotY2xhc3MgQ3VycmVu
dEV2ZW50U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ3VycmVudEV2ZW50U2Nv
cGUgeworICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDdXJyZW50RXZlbnRTY29wZSk7CiBwdWJs
aWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUoTlNFdmVudCAqKTsKICAgICB+Q3VycmVudEV2ZW50
U2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCmluZGV4IGQ5NmMxYWQuLmMzNGE2
NDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaApAQCAtNDQsNyArNDQsOCBAQCBjbGFz
cyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7CiBjbGFzcyBBc3luY0ZpbGVXcml0ZXJDbGllbnQ7
CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMgYXN5bmMgaW50ZXJmYWNlIGZvciBwbGF0Zm9ybS1z
cGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi4gIE5vdGUgdGhhdCBhbGwgdGhlIG1l
dGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4KLWNsYXNzIEFzeW5jRmlsZVN5c3RlbSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW0geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+QXN5bmNG
aWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxl
U3lzdGVtQ2FsbGJhY2tzLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxi
YWNrcy5oCmluZGV4IDI5MGE2NjkuLmNlZThkOTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAtNDEsOCArNDEsMTEgQEAgY2xhc3MgQXN5bmNGaWxl
U3lzdGVtOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyOwogc3RydWN0IEZpbGVNZXRhZGF0YTsKIAot
Y2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAgICBBc3luY0ZpbGVTeXN0ZW1D
YWxsYmFja3MoKSB7IH0gICAgCisKICAgICAvLyBDYWxsZWQgd2hlbiBhIHJlcXVlc3RlZCBvcGVy
YXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAgICB2aXJ0dWFsIHZvaWQgZGlkU3Vj
Y2VlZCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBv
b2wuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKaW5kZXggZDQ0ZWUxZS4u
ZDY1NTQzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAjaWZuZGVmIEF1dG9kcmFpbmVkUG9vbF9oCiAjZGVmaW5lIEF1dG9kcmFpbmVkUG9vbF9oCiAK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmZGVmIF9fT0JKQ19fCiBAY2xhc3Mg
TlNBdXRvcmVsZWFzZVBvb2w7CkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIE5TQXV0b3JlbGVhc2VQ
b29sOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEF1dG9kcmFpbmVkUG9vbCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdXRvZHJhaW5lZFBvb2wgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEF1dG9kcmFpbmVkUG9vbCk7CiBwdWJsaWM6CiAgICAgQXV0b2RyYWluZWRQ
b29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEpOwogICAgIH5BdXRvZHJhaW5lZFBvb2woKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vQ29udGV4dE1lbnUuaAppbmRleCA1MzIxZWQ2Li41OWEwMmJhIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0
TWVudS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbnRleHRNZW51X2gKICNkZWZpbmUg
Q29udGV4dE1lbnVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRl
ICJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCkBAIC00NSw4
ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDb250ZXh0TWVudUNsaWVu
dEVmbDsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1lbnUgOiBwdWJsaWMgTm9uY29weWFi
bGUKLSAgICB7CisgICAgY2xhc3MgQ29udGV4dE1lbnUgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb250ZXh0TWVudSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVzdFJlc3VsdCYpOwogICAgICAgICBD
b250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgUGxhdGZvcm1NZW51RGVzY3Jp
cHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaCBi
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXggZTcwMjkyMS4uZDllMjU2
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yNTIsNyArMjUyLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1NZW51SXRlbURlc2Ny
aXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0ZW0gOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudUl0ZW0o
UGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uKTsKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKENv
bnRleHRNZW51KiBzdWJNZW51ID0gMCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Rl
cHJlY2F0ZWRQdHJMaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgK
aW5kZXggNDdjZDUzOC4uMGE0YTUxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3Qu
aApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIERlcHJlY2F0ZWRQdHJMaXN0X2gKIAogI2lu
Y2x1ZGUgIkRlcHJlY2F0ZWRQdHJMaXN0SW1wbC5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NC
YXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNz
IERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I7CiAKLXRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBE
ZXByZWNhdGVkUHRyTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK3RlbXBsYXRlIDxjbGFz
cyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZFB0ckxpc3QoKSA6IGltcGwoZGVsZXRlRnVuYyks
IGRlbF9pdGVtKGZhbHNlKSB7IH0KICAgICB+RGVwcmVjYXRlZFB0ckxpc3QoKSB7IGltcGwuY2xl
YXIoZGVsX2l0ZW0pOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQ
dHJMaXN0SW1wbC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5j
cHAKaW5kZXggOTZmZDUxMy4uZWYyOTk1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9E
ZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRl
ZFB0ckxpc3RJbXBsLmNwcApAQCAtMjksMTIgKzI5LDExIEBACiAjaW5jbHVkZSA8Y3N0ZGRlZj4K
ICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBE
ZXByZWNhdGVkTGlzdE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUKLXsKK2NsYXNzIERlcHJlY2F0
ZWRMaXN0Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVwcmVjYXRlZExpc3ROb2Rl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZExpc3RO
b2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0KIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRM
b29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCkBAIC0yNiwx
MSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNkZWZpbmUgRXZlbnRMb29wX2gKIAot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAg
ICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50
TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9vcCk7CiAgICAgcHVi
bGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2VuZGVkKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2NS4uZDYwYWU2ZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAj
aWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5lIEdlb2xvY2F0aW9uU2VydmljZV9o
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0u
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0Miw4IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJlZChHZW9sb2NhdGlv
blNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZpY2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAgIHN0YXRpYyBHZW9s
b2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqKTsKICAgICB2
aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5kZXgg
Nzg4MmQ0OC4uMjI1ODg0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2LDE1ICsyNiwxNiBA
QAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEhvc3RX
aW5kb3coKSB7IH0KICAgICB2aXJ0dWFsIH5Ib3N0V2luZG93KCkgeyB9CiAKICAgICAvLyBSZXF1
ZXN0cyB0aGUgaG9zdCBpbnZhbGlkYXRlIHRoZSB3aW5kb3csIG5vdCB0aGUgY29udGVudHMuICBJ
ZiBpbW1lZGlhdGUgaXMgdHJ1ZSBkbyBzbyBzeW5jaHJvbm91c2x5LCBvdGhlcndpc2UgYXN5bmMu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmggYi9XZWJDb3JlL3BsYXRm
b3JtL0tpbGxSaW5nLmgKaW5kZXggOGUyNzM1MC4uYjY4NzI3NCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9LaWxsUmluZy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaApA
QCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBLaWxsUmluZyB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBhcHBlbmQo
Y29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwcmVwZW5kKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaCBiL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3Ro
LmgKaW5kZXggN2RkODc1ZS4uOTM0NTQyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9M
ZW5ndGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCkBAIC0yMiw3ICsyMiw2IEBA
CiAjZGVmaW5lIExlbmd0aF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0zNSw3ICszNCw5IEBAIGNvbnN0IGludCBpbnRN
aW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFsdWUgZm9yIGEgMjgtYml0
IGludAogCiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4ZWQs
IFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKIAotc3RydWN0IExlbmd0aCA6IEZh
c3RBbGxvY0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDApCiAgICAgewpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li5mMGIyZTkyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9h
cmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYg
UExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTgxLDcgKzgwLDgg
QEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291cmNlOwogICAg
IAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXN0ZWJv
YXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIC8vSGVscGVyIGZ1
bmN0aW9ucyB0byBhbGxvdyBDbGlwYm9hcmQgdG8gc2hhcmUgY29kZQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
UGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKaW5kZXggYmMyOGU4NC4uYWVlOTViNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCkBAIC03NSw3ICs3NSw4IEBAIHR5cGVk
ZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMyOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAg
ICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFR5cGUgewogICAgICAgICAgICAg
Ly8gS2V5RG93biBpcyBzZW50IGJ5IHBsYXRmb3JtcyBzdWNoIGFzIE1hYyBPUyBYLCBndGsgYW5k
IFF0LCBhbmQgaGFzIGluZm9ybWF0aW9uIGFib3V0IGJvdGggcGh5c2ljYWwgcHJlc3NlZCBrZXks
IGFuZCBpdHMgdHJhbnNsYXRpb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1B1cmdl
YWJsZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAppbmRleCA5
YmRhMmQ1Li40NDEzNmMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1
ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKQEAgLTI3LDEz
ICsyNywxMyBAQAogI2RlZmluZSBQdXJnZWFibGVCdWZmZXJfaAogCiAjaW5jbHVkZSAiUHVyZ2VQ
cmlvcml0eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgCi0gICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQdXJnZWFibGVCdWZmZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NP
d25QdHI8UHVyZ2VhYmxlQnVmZmVyPiBjcmVhdGUoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90KTsK
ICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAppbmRleCA2NWYyNTNlLi5mOGM1MjlmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKQEAgLTMwLDE1ICszMCwxNiBAQAogI2RlZmluZSBSdW5M
b29wVGltZXJfaAogCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIC8vIFRpbWUgaW50ZXJ2YWxzIGFyZSBhbGwgaW4gc2Vjb25kcy4KIAotY2xhc3Mg
UnVuTG9vcFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5Mb29wVGlt
ZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29wVGltZXJCYXNlKTsKIHB1
YmxpYzoKKyAgICBSdW5Mb29wVGltZXJCYXNlKCkgeyB9CiAgICAgdmlydHVhbCB+UnVuTG9vcFRp
bWVyQmFzZSgpOwogCiAgICAgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hlZHVsZVBhaXIqKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCAwZWZhZjdhLi5mMTA2OTExIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBjbGFzcyBQbGF0Zm9ybU1vdXNl
RXZlbnQ7CiBjbGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3JvbGxWaWV3OwogCi1jbGFzcyBTY3Jv
bGxiYXJUaGVtZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JvbGxiYXJUaGVtZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFyVGhlbWUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAgIHZpcnR1
YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQoU2Nyb2xs
YmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0Ki8pIHsg
cmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4uNzExZTZi
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZuZGVmIFNo
YXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIEVhY2ggdGhyZWFkIGhh
cyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGltcGxlbWVu
dHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQgYnkgYWxs
IHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRp
cmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hhcmVkVGlt
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFNoYXJlZFRpbWVyKCkgeyB9CiAgICAgICAgIHZp
cnR1YWwgflNoYXJlZFRpbWVyKCkge30KICAgICAgICAgdmlydHVhbCB2b2lkIHNldEZpcmVkRnVu
Y3Rpb24odm9pZCAoKikoKSkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Ro
cmVhZEdsb2JhbERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCmlu
ZGV4IDlmNTdmMDAuLmU4NDJiN2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
R2xvYmFsRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCkBA
IC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYgRU5BQkxFKFdPUktFUlMpCkBAIC00NSw3ICs0NCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29udmVydGVyV3JhcHBlcjsK
ICAgICBjbGFzcyBUaHJlYWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkR2xvYmFsRGF0YSk7CiAgICAgcHVibGljOgog
ICAgICAgICBUaHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgICAgIH5UaHJlYWRHbG9iYWxEYXRhKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBhYjQyNTk4Li5mOTk5NDBjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
VGhyZWFkVGltZXJzLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNpZm5kZWYgVGhyZWFkVGltZXJzX2gK
ICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0z
Nyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaW1lckJhc2U7CiAK
ICAgICAvLyBBIGNvbGxlY3Rpb24gb2YgdGltZXJzIHBlciB0aHJlYWQuIEtlcHQgaW4gVGhyZWFk
R2xvYmFsRGF0YS4KLSAgICBjbGFzcyBUaHJlYWRUaW1lcnMgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFRocmVhZFRpbWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRocmVhZFRpbWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgVGhyZWFkVGltZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVGlt
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBjNDQ0M2RhLi44NWYwZGFkIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9UaW1lci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFRpbWVyX2gKICNkZWZpbmUgVGlt
ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNSw3ICszNCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xhc3MgVGltZXJCYXNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNo
YXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBAIC0y
Miw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMxLDggQEAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZv
aWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmVl
U2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNvdW50
KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXggOWEz
MzRjYS4uYmY4ZmY5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5p
bWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxp
c3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFu
aW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25MaXN0
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25M
aXN0KCkgeyB9CiAgICAgQW5pbWF0aW9uTGlzdChjb25zdCBBbmltYXRpb25MaXN0Jik7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDMxOGI4MS4uMzk4ZTEyNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9CdXMuaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBBdWRpb0J1c19oCiAK
ICNpbmNsdWRlICJBdWRpb0NoYW5uZWwuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApA
QCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBBbiBBdWRpb0J1cyByZXBy
ZXNlbnRzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSBBdWRpb0NoYW5uZWxzLgogLy8gVGhl
IGRhdGEgbGF5b3V0IGlzICJwbGFuYXIiIGFzIG9wcG9zZWQgdG8gImludGVybGVhdmVkIi4KIC8v
IEFuIEF1ZGlvQnVzIHdpdGggb25lIGNoYW5uZWwgaXMgbW9ubywgYW4gQXVkaW9CdXMgd2l0aCB0
d28gY2hhbm5lbHMgaXMgc3RlcmVvLCBldGMuCi1jbGFzcyBBdWRpb0J1cyAgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQXVkaW9CdXMgIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
dWRpb0J1cyApOwogcHVibGljOgogICAgIGVudW0gewogICAgICAgICBDaGFubmVsTGVmdCA9IDAs
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAppbmRleCA2ODE2ODMwLi43MzI1ZTlm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAgLTMwLDE0ICszMCwxNCBA
QAogI2RlZmluZSBBdWRpb0NoYW5uZWxfaAogCiAjaW5jbHVkZSAiQXVkaW9BcnJheS5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW4gQXVkaW9DaGFubmVsIHJlcHJlc2VudHMgYSBi
dWZmZXIgb2Ygbm9uLWludGVybGVhdmVkIGZsb2F0aW5nLXBvaW50IGF1ZGlvIHNhbXBsZXMuCiAv
LyBUaGUgUENNIHNhbXBsZXMgYXJlIG5vcm1hbGx5IGFzc3VtZWQgdG8gYmUgaW4gYSBub21pbmFs
IHJhbmdlIC0xLjAgLT4gKzEuMAotY2xhc3MgQXVkaW9DaGFubmVsIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEF1ZGlvQ2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVk
aW9DaGFubmVsKTsKIHB1YmxpYzoKICAgICAvLyBNZW1vcnkgY2FuIGJlIGV4dGVybmFsbHkgcmVm
ZXJlbmNlZCwgb3IgY2FuIGJlIGludGVybmFsbHkgYWxsb2NhdGVkIHdpdGggYW4gQXVkaW9GbG9h
dEFycmF5LgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaAppbmRleCBjMzNiMzhm
Li4zNTE0NjkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKQEAgLTMxLDcg
KzMxLDYgQEAKIAogI2luY2x1ZGUgIkhSVEZFbGV2YXRpb24uaCIKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIUlRGS2Vy
bmVsOwogCi1jbGFzcyBIUlRGRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFJURkRhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRGF0YWJhc2UpOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhSVEZEYXRhYmFzZT4gY3JlYXRlKGRvdWJs
ZSBzYW1wbGVSYXRlKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RWxldmF0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaAppbmRl
eCBiMzg4YjM0Li5mNDQ0NDQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24u
aApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBIUlRGRWxldmF0aW9uX2gKIAogI2luY2x1ZGUg
IkhSVEZLZXJuZWwuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgpAQCAtNDMsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8v
IEhSVEZFbGV2YXRpb24gY29udGFpbnMgYWxsIG9mIHRoZSBIUlRGS2VybmVscyAob25lIGxlZnQg
ZWFyIGFuZCBvbmUgcmlnaHQgZWFyIHBlciBhemltdXRoIGFuZ2xlKSBmb3IgYSBwYXJ0aWN1bGFy
IGVsZXZhdGlvbi4KIAotY2xhc3MgSFJURkVsZXZhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIUlRGRWxldmF0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRWxl
dmF0aW9uKTsKIHB1YmxpYzoKICAgICAvLyBMb2FkcyBhbmQgcmV0dXJucyBhbiBIUlRGRWxldmF0
aW9uIHdpdGggdGhlIGdpdmVuIEhSVEYgZGF0YWJhc2Ugc3ViamVjdCBuYW1lIGFuZCBlbGV2YXRp
b24gZnJvbSBicm93c2VyIChvciBXZWJLaXQuZnJhbWV3b3JrKSByZXNvdXJjZXMuCiAgICAgLy8g
Tm9ybWFsbHksIHRoZXJlIHdpbGwgb25seSBiZSBhIHNpbmdsZSBIUlRGIGRhdGFiYXNlIHNldCwg
YnV0IHRoaXMgQVBJIHN1cHBvcnRzIHRoZSBwb3NzaWJpbGl0eSBvZiBtdWx0aXBsZSBvbmVzIHdp
dGggZGlmZmVyZW50IG5hbWVzLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DbGlwYm9hcmRDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9h
cmRDaHJvbWl1bS5oCmluZGV4IDFkNjk5MjEuLmQ1YWRhMTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEludFBvaW50OwogCiAgICAgY2xhc3MgQ2xpcGJvYXJk
Q2hyb21pdW0gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IH5DbGlwYm9hcmRDaHJvbWl1bSgpIHt9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuaAppbmRleCA1YTU0OTYzLi5lOTY3OGMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5oCkBAIC02OCw3ICs2OCw5IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBj
bGFzcyBUaW1lcjsKIC8vIEZyYW1lRGF0YSBDbGFzcwogLy8gPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLXN0cnVjdCBGcmFtZURhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgRnJhbWVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFt
ZURhdGEpOworcHVibGljOgogICAgIEZyYW1lRGF0YSgpCiAgICAgICAgIDogbV9mcmFtZSgwKQog
ICAgICAgICAsIG1faGF2ZU1ldGFkYXRhKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5o
CmluZGV4IDJlNGU5NjIuLmYwYzMwYWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29sb3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKQEAg
LTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQ29sb3JfaAogI2RlZmluZSBDb2xvcl9oCiAKLSNpbmNs
dWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCkBAIC03NSw3ICs3NCw4IEBAIGlubGluZSBp
bnQgZ3JlZW5DaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDgpICYgMHhG
RjsgfQogaW5saW5lIGludCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIGNvbG9y
ICYgMHhGRjsgfQogaW5saW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVy
biAoY29sb3IgPj4gMjQpICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9CiAgICAg
Q29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAppbmRleCA4N2ExYzVjLi4w
NzI1YTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFk
b3cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAK
QEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDb250ZXh0U2hhZG93LmgiCiAKICNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB1c2lu
ZyBXVEY6Om1pbjsKIHVzaW5nIFdURjo6bWF4OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmNmY2E5ODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2FjaGUo
KQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29uc3Qg
QXRvbWljU3RyaW5nJiBmYW1pbHkgPSBBdG9taWNTdHJpbmcoKSwgdW5zaWduZWQgc2l6ZSA9IDAs
IHVuc2lnbmVkIHdlaWdodCA9IDAsIGJvb2wgaXRhbGljID0gZmFsc2UsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJvb2wgaXNQcmludGVyRm9udCA9IGZhbHNlLCBGb250UmVuZGVyaW5n
TW9kZSByZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSwgRm9udE9yaWVudGF0aW9u
IG9yaWVudGF0aW9uID0gSG9yaXpvbnRhbCkKICAgICAgICAgOiBtX3NpemUoc2l6ZSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGU2ODQ1ZDkuLjg2ZjhjNjcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBG
b250RGVzY3JpcHRpb247CiBjbGFzcyBGb250U2VsZWN0b3I7CiBjbGFzcyBTaW1wbGVGb250RGF0
YTsKIAotY2xhc3MgRm9udENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRD
YWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udENhY2hlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIEZvbnRDYWNoZSogZm9udENhY2hlKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAppbmRleCBlZTk0YTk4Li40MzI3OTU5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCkBAIC0yNywxNCArMjcsMTQgQEAK
ICNkZWZpbmUgRm9udERhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZv
bnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGb250RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBoUGFnZVRyZWVMZXZlbCgw
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4
NWJjYy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlw
aE1ldHJpY3NNYXAuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmlj
c01hcC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAK
IGNvbnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+
IGNsYXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxj
bGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEdseXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2Zp
bGxlZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDY5ZDllMTYuLjY2
NGRmYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApA
QCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJQYXRoLmgi
CiAjaW5jbHVkZSAiVGV4dERpcmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTE0
OSw3ICsxNDgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEludGVycG9sYXRpb25I
aWdoCiAgICAgfTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoR3JhcGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBHcmFwaGljc0NvbnRleHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQq
KTsKICAgICAgICAgfkdyYXBoaWNzQ29udGV4dCgpOwpAQCAtMzU0LDcgKzM1NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRTaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dz
KGJvb2wpOwogICAgICAgICBib29sIHNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoKSBjb25zdDsK
IAotICAgICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXaW5kb3dzQml0bWFwKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgV2luZG93
c0JpdG1hcChIREMsIEludFNpemUpOwogICAgICAgICAgICAgfldpbmRvd3NCaXRtYXAoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCBjMmQ1
YzI0Li43YzA3YmViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dDNELmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
I2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAvLyBGSVhNRTogRmluZCBhIGJldHRlciB3YXkgdG8gYXZvaWQgdGhlIG5hbWUgY29uZmxp
Y3Rpb24gZm9yIE5PX0VSUk9SLgogI2lmICgoUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKFdJTkRP
V1MpKSB8fCBQTEFURk9STShXSU4pIHx8IChQTEFURk9STShRVCkgJiYgT1MoV0lORE9XUykpKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2
YXRlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUu
aAppbmRleCA5Mjg4ZGY0Li45OGRjYzQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaApAQCAtODMsNyArODMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgc2hhZG93c0lnbm9yZVRyYW5zZm9ybXM7CiAgICAg
fTsKIAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dFByaXZhdGUgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBHcmFwaGljc0NvbnRleHRQcml2YXRlKCkKICAg
ICAgICAgICAgIDogbV91cGRhdGluZ0NvbnRyb2xUaW50cyhmYWxzZSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggOTkxY2EzMi4uNTMyZDBjYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTEwNCw3ICsxMDQsOCBA
QCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xhc3MgZm9yIGFuaW1hdGlvbiB2YWx1
ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJlIHRvCiAvLyByZXByZXNlbnQgdmFs
dWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZpYSB0aGUgR3JhcGhpY3NMYXllciwK
IC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVkIGRhdGEgZnJvbSBvdXRzaWRlIG9m
IHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmltYXRpb25WYWx1ZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBBbmltYXRpb25WYWx1ZShmbG9hdCBrZXlUaW1lLCBQYXNzUmVmUHRyPFRpbWluZ0Z1bmN0
aW9uPiB0aW1pbmdGdW5jdGlvbiA9IDApCiAgICAgICAgIDogbV9rZXlUaW1lKGtleVRpbWUpCkBA
IC0xNTYsNyArMTU3LDggQEAgcHJpdmF0ZToKIAogLy8gVXNlZCB0byBzdG9yZSBhIHNlcmllcyBv
ZiB2YWx1ZXMgaW4gYSBrZXlmcmFtZSBsaXN0LiBWYWx1ZXMgd2lsbCBhbGwgYmUgb2YgdGhlIHNh
bWUgdHlwZSwKIC8vIHdoaWNoIGNhbiBiZSBpbmZlcnJlZCBmcm9tIHRoZSBwcm9wZXJ0eS4KLWNs
YXNzIEtleWZyYW1lVmFsdWVMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEtleWZy
YW1lVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShLZXlmcmFtZVZhbHVlTGlz
dCk7CiBwdWJsaWM6CiAKICAgICBLZXlmcmFtZVZhbHVlTGlzdChBbmltYXRlZFByb3BlcnR5SUQg
cHJvcGVydHkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVm
ZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKaW5kZXggODIy
YTBmZi4uNWQ0OGE4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaApA
QCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFVubXVsdGlwbGll
ZAogICAgIH07CiAKLSAgICBjbGFzcyBJbWFnZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgSW1hZ2VCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bWFnZUJ1ZmZlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgLy8gV2lsbCByZXR1cm4gYSBudWxsIHBvaW50ZXIgb24gYWxsb2NhdGlvbiBmYWlsdXJlLgog
ICAgICAgICBzdGF0aWMgUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IEludFNp
emUmIHNpemUsIENvbG9yU3BhY2UgY29sb3JTcGFjZSA9IENvbG9yU3BhY2VEZXZpY2VSR0IpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKaW5kZXggYWViMTU2MS4uOTFjZWU1
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaApAQCAtMjgsNyArMjgs
NiBAQAogI2RlZmluZSBJbWFnZVNvdXJjZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
I2lmIFBMQVRGT1JNKFdYKQpAQCAtMTE3LDcgKzExNiw4IEBAIGNvbnN0IGludCBjQW5pbWF0aW9u
TG9vcE9uY2UgPSAwOwogY29uc3QgaW50IGNBbmltYXRpb25Mb29wSW5maW5pdGUgPSAtMTsKIGNv
bnN0IGludCBjQW5pbWF0aW9uTm9uZSA9IC0yOwogCi1jbGFzcyBJbWFnZVNvdXJjZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSW1hZ2VTb3VyY2UpOwogcHVibGljOgogICAgIEltYWdlU291cmNlKGJvb2wgcHJlbXVs
dGlwbHlBbHBoYSA9IHRydWUsIGJvb2wgaWdub3JlR2FtbWFBbmRDb2xvclByb2ZpbGUgPSBmYWxz
ZSk7CiAgICAgfkltYWdlU291cmNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuY3BwCmluZGV4IDIzNWMxZmQuLjg3ZmE5MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyArMTQ3LDkgQEAgc3RhdGljIE1lZGlhUGxh
eWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlTnVsbE1lZGlhUGxheWVyKE1lZGlhUGxheWVyKiBw
bGF5ZXIpCiAKIC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0cnVjdCBNZWRpYVBsYXllckZhY3Rvcnkg
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShNZWRpYVBsYXllckZhY3RvcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3JlYXRlTWVkaWFFbmdpbmVQbGF5
ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlwZXMgZ2V0U3VwcG9ydGVkVHlw
ZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZUFuZENvZGVjcykgCiAgICAg
ICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAgICwgZ2V0U3VwcG9ydGVkVHlw
ZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVy
LmgKaW5kZXggYTUwNmE2ZS4uZjdlNWI3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTE0OCw3ICsxNDcsOCBAQCBwdWJsaWM6
CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXll
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogCiAgICAgc3RhdGljIFBhc3NP
d25QdHI8TWVkaWFQbGF5ZXI+IGNyZWF0ZShNZWRpYVBsYXllckNsaWVudCogY2xpZW50KQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggZDk1
NjI4Ni4uNmFiZTI1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBJbnRSZWN0OwogY2xhc3MgSW50U2l6ZTsKIAotY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUlu
dGVyZmFjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgTWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAgICAgdmlydHVhbCB+TWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVy
bCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRleCA0MjNhNzkyLi4zMDlhNmNjIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMjgsNyArMjgsNiBAQAogI2lmbmRlZiBQYXRo
X2gKICNkZWZpbmUgUGF0aF9oCiAKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKICNpZiBQTEFURk9STShDRykKQEAgLTEwMCw3ICs5OSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgdm9pZCAoKlBhdGhBcHBsaWVy
RnVuY3Rpb24pKHZvaWQqIGluZm8sIGNvbnN0IFBhdGhFbGVtZW50Kik7CiAKLSAgICBjbGFzcyBQ
YXRoIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBhdGggeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhdGgoKTsKICAg
ICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5n
U3RvcmUuaAppbmRleCA1ODQ3N2RiLi4wNmM3ZmUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFRpbGVkQmFja2luZ1N0b3Jl
Q2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGls
ZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBU
aWxlZEJhY2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCopOwogICAgIH5UaWxlZEJh
Y2tpbmdTdG9yZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWly
by9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBkYWMzMWY4Li40ZjM5NGY5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlv
bi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgRlRf
RmFjZVJlY18qICBGVF9GYWNlOwogdHlwZWRlZiBzdHJ1Y3QgX2NhaXJvX2ZvbnRfZmFjZSBjYWly
b19mb250X2ZhY2VfdDsKQEAgLTM1LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSk7CiBwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShGVF9GYWNlLCBTaGFyZWRC
dWZmZXIqKTsKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCmluZGV4IDZmYzFhMGUuLjgx
OWY5ODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xF
UzJDYW52YXMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMy
Q2FudmFzLmgKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJUZXh0dXJlLmgiCiAKICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNyArNDksOCBA
QCBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIGNsYXNzIFNoYXJl
ZEdyYXBoaWNzQ29udGV4dDNEOwogCi1jbGFzcyBHTEVTMkNhbnZhcyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBHTEVTMkNhbnZhcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR0xF
UzJDYW52YXMpOwogcHVibGljOgogICAgIEdMRVMyQ2FudmFzKFNoYXJlZEdyYXBoaWNzQ29udGV4
dDNEKiwgRHJhd2luZ0J1ZmZlciosIGNvbnN0IEludFNpemUmKTsKICAgICB+R0xFUzJDYW52YXMo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJS
ZW5kZXJlckNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5oCmluZGV4IDUzMWQ2NTIuLjNjNzFhYzcgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uaApAQCAtNDMsNyArNDMsNiBAQAogI2luY2x1ZGUgIlNrQml0bWFwLmgiCiAjaW5j
bHVkZSAiVmlkZW9MYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3Vy
ZmFjZUNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRl
clN1cmZhY2VDaHJvbWl1bS5oCmluZGV4IDFmMzM1MjcuLjUyNmE4N2IgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hy
b21pdW0uaApAQCAtMzIsMTQgKzMyLDE0IEBACiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5j
bHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
TGF5ZXJSZW5kZXJlckNocm9taXVtOwogY2xhc3MgTGF5ZXJDaHJvbWl1bTsKIAotY2xhc3MgUmVu
ZGVyU3VyZmFjZUNocm9taXVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlclN1
cmZhY2VDaHJvbWl1bSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU3VyZmFjZUNo
cm9taXVtKTsKICAgICBmcmllbmQgY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogcHVibGlj
OgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZhY2VDaHJvbWl1bShMYXllckNocm9taXVtKik7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5j
eVdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lX
aW4uaAppbmRleCBiNmJlZjkxLi4yNzUxMjU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKQEAgLTM1LDcgKzM1LDYgQEAK
IAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgi
Ci0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJ3dGYvT3duUHRyLmgiCiAKIGNs
YXNzIFNrQml0bWFwOwpAQCAtNTQsNyArNTMsOCBAQCBjbGFzcyBUcmFuc3BhcmVuY3lXaW5fT3Bh
cXVlQ29tcG9zaXRlTGF5ZXJfVGVzdDsKIC8vIHRoYXQgaXMgY29tcG9zaXRlZCBsYXRlciBtYW51
YWxseS4gVGhpcyBpcyB0byBnZXQgYXJvdW5kIFdpbmRvd3MnIGluYWJpbGl0eQogLy8gdG8gaGFu
ZGxlIHRoZSBhbHBoYSBjaGFubmVsLCBzZW1pdHJhbnNwYXJlbnQgdGV4dCwgYW5kIHRyYW5zZm9y
bWVkIGZvcm0KIC8vIGNvbnRyb2xzLgotY2xhc3MgVHJhbnNwYXJlbmN5V2luIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW5jeVdpbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVHJhbnNwYXJlbmN5V2luKTsKIHB1YmxpYzoKICAgICBlbnVtIExheWVyTW9kZSB7CiAg
ICAgICAgIC8vIE5vIGV4dHJhIGxheWVyIGlzIGNyZWF0ZWQuIERyYXdpbmcgd2lsbCBoYXBwZW4g
dG8gdGhlIHNvdXJjZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0RyYXdpbmdCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdC
dWZmZXIuaAppbmRleCA5Zjc5ODg5Li5lMzU2NTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAi
R3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTc3LDggKzc2LDEwIEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgY2xhc3MgV2lsbFB1Ymxpc2hD
YWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2lsbFB1Ymxpc2hDYWxs
YmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQdWJsaXNoQ2FsbGJhY2sp
OwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hDYWxsYmFjaygpIHsgfQogICAgICAg
ICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9CiAgICAgICAgIAogICAgICAgICB2
aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdi
OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xh
c3NpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNs
YXNzaWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZp
ZXJfaAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAK
IC8vIENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBM
b29wQmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlu
bkNsYXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZp
ZXIpOwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51
bSBDdXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
TG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxU
cmlhbmd1bGF0b3IuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxp
bm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRlICJGbG9h
dFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRpb24gb2Yg
dGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29udHJvbCBw
b2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3MgTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlu
bkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMgdGhhdCB0
aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAgIC8vIHRo
ZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJlCiAgICAg
Ly8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0ZXgp
OwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCmlu
ZGV4IDVmZGViM2IuLmIyOWE4ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9Mb29wQmxpbm5UZXh0dXJlQ29vcmRzLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNp
bmNsdWRlICJMb29wQmxpbm5DbGFzc2lmaWVyLmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3Rh
bnRzLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVu
YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhi
YWVmLi41ZmVlZjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Q
T0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgK
QEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTE1OCw3ICsxNTcsOCBA
QCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5k
IGluZGl2aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJs
b2NrIG9mIG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAg
Ly8gQWxsb2NhdG9yLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
UE9ESW50ZXJ2YWxUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRl
cnZhbFRyZWUuaAppbmRleCAzMjBjZTYwLi5mYTFlMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtMzAsNyArMzAsNiBAQAogI2lu
Y2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDggKzQz
LDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8obGcg
bikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBpbiB0
aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1jbGFz
cyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+
IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50
ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPREludGVy
dmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdoZW4g
ZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUuCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCmluZGV4
IDZkNTk1NGMuLmIwZDkxOGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC03NCw3ICs3NCw2IEBACiAKICNpbmNsdWRlICJQT0RBcmVu
YS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCkBAIC0xOTgsNyArMTk3LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBi
YXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25s
eQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25s
eSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2Rl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rv
ci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0
IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3ICs2NTksOCBAQCBwcml2YXRlOgogICAgIC8v
IEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5
IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRl
ciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50
ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50
ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291
bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFk
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4
ZGUuLmI1NjYwZmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1No
YWRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC0z
MSw3ICszMSw2IEBACiAjaWZuZGVmIFNoYWRlcl9oCiAjZGVmaW5lIFNoYWRlcl9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9y
bTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNoYWRlcik7CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4
dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmRjYThhYjUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAgLTMxLDE0ICszMSwx
NCBAQAogI2lmbmRlZiBUaWxpbmdEYXRhX2gKICNkZWZpbmUgVGlsaW5nRGF0YV9oCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBG
bG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRpbGluZ0RhdGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXpl
LCBpbnQgdG90YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsK
ICAgICBpbnQgbWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXpl
OyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJL
aXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCA2MzVmZWZmLi5iZjYwYWJl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRX
ZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTI0LDcgKzI0LDYgQEAKICNp
bmNsdWRlICJHT3duUHRyLmgiCiAjaW5jbHVkZSAiR1JlZlB0ci5oIgogI2luY2x1ZGUgIk5ldHdv
cmtpbmdDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgpAQCAtMzYsNyArMzUsOCBAQAogCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNv
cHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xp
ZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xp
ZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
QEAgLTI0LDE0ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1
ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgRm9udFBsYXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1
Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSgpIHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCmluZGV4IGMxMTg1OGMuLmQ4MTUxNjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDcgKzI1LDYg
QEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPENvcmVGb3VuZGF0
aW9uL0NGQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250UmVmOwogdHlwZWRl
ZiBVSW50MzIgQVRTRm9udENvbnRhaW5lclJlZjsKQEAgLTM2LDcgKzM1LDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsK
IAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3Qg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShB
VFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQ0dGb250UmVmIGNnRm9udCkKICAgICAgICAg
OiBtX2F0c0NvbnRhaW5lcihjb250YWluZXIpCiAgICAgICAgICwgbV9jZ0ZvbnQoY2dGb250KQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5W
Ry5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCmlu
ZGV4IDI0ZmQ4YTAuLjgzYzhmNWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW52Zy9QYWludGVyT3BlblZHLmgKQEAgLTI1LDcgKzI1LDYgQEAKIAogI2luY2x1ZGUgPG9w
ZW52Zy5oPgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MSw3ICs0MCw4IEBAIGNsYXNzIFRp
bGVkSW1hZ2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKIAotY2xhc3Mg
UGFpbnRlck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWludGVyT3BlblZH
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVyT3BlblZHKTsKIHB1YmxpYzoKICAg
ICBmcmllbmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBmcmllbmQgc3RydWN0IFBsYXRmb3Jt
UGFpbnRlclN0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
dmcvU3VyZmFjZU9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3Vy
ZmFjZU9wZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLmVlNzIwMDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKQEAgLTI0LDcgKzI0LDYgQEAK
ICNpbmNsdWRlIDxlZ2wuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsNyArNDEsOCBAQCBjbGFzcyBJbnRTaXpl
OwogICogb2YgI2lmZGVmcyBhbmQgc2hvdWxkIG1ha2UgaXQgZWFzeSB0byBhZGQgZGlmZmVyZW50
IHN1cmZhY2UvY29udGV4dAogICogaW1wbGVtZW50YXRpb25zIHRoYW4gRUdMLgogICovCi1jbGFz
cyBTdXJmYWNlT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN1cmZhY2VPcGVu
VkcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1cmZhY2VPcGVuVkcpOwogcHVibGljOgog
ICAgIGVudW0gTWFrZUN1cnJlbnRNb2RlIHsKICAgICAgICAgQXBwbHlQYWludGVyU3RhdGVPblN1
cmZhY2VTd2l0Y2gsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcuLmQ1ZjMyNDIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CkBAIC0yNSwxNCArMjUsMTYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNs
dWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
Rm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9y
IHVzZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNh
dGlvbkZvbnQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBs
YXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1E
YXRhLmgKaW5kZXggMWM1N2UyOS4uZjI2ODM3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSgpCiAgICAgICAg
IDogcmVmQ291bnQoMSkKQEAgLTYyLDggKzYzLDEwIEBAIHB1YmxpYzoKIAogCiAKLWNsYXNzIEZv
bnRQbGF0Zm9ybURhdGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGb250UGxhdGZv
cm1EYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBGb250
UGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgRm9udFBsYXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29s
IGJvbGQsIGJvb2wgb2JsaXF1ZSk7CiAgICAgRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250UGxh
dGZvcm1EYXRhICYpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9u
JiwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHlOYW1lLCBpbnQgd29yZFNwYWNpbmcgPSAwLCBp
bnQgbGV0dGVyU3BhY2luZyA9IDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAppbmRleCBiYmJjZWRiLi5kMzA2NmYwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcApA
QCAtMTc2LDcgKzE3Niw4IEBAIHN0YXRpYyBpbmxpbmUgUXQ6OkZpbGxSdWxlIHRvUXRGaWxsUnVs
ZShXaW5kUnVsZSBydWxlKQogICAgIHJldHVybiBRdDo6T2RkRXZlbkZpbGw7CiB9CiAKLWNsYXNz
IEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFp
bnRlciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0Nv
bnRleHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
cXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA2YmRmYjM5Li45ZmFkN2VkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3
ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxh
eWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFRyYW5zcGFyZW5jeUxheWVyKGNv
bnN0IFFQYWludGVyKiBwLCBjb25zdCBRUmVjdCAmcmVjdCwgcXJlYWwgb3BhY2l0eSwgUVBpeG1h
cCYgYWxwaGFNYXNrKQogICAgICAgICA6IHBpeG1hcChyZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0
KCkpCiAgICAgICAgICwgb3BhY2l0eShvcGFjaXR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZTUxYjZi
Ni4uMDgzZTU4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAi
Rm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYg
T1MoV0lORE9XUykKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtNDksNyArNDgsOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hh
cmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxl
IHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICNpZiBPUyhXSU5ET1dTKQog
ICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0
cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAppbmRleCA1ZTEyYWQ2Li40NDgzNWE0IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZv
cm1Qcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNz
Q29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKICNkZWZpbmUgR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBjbGFzcyBQ
bGF0Zm9ybUNvbnRleHRTa2lhOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRoaXMgY2xh
c3MganVzdCBob2xkcyBvbnRvIGEgUGxhdGZvcm1Db250ZXh0U2tpYSBmb3IgR3JhcGhpY3NDb250
ZXh0LgotY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTsKIHB1Ymxp
YzoKICAgICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoUGxhdGZvcm1Db250ZXh0U2tp
YSogcGxhdGZvcm1Db250ZXh0KQogICAgICAgICA6IG1fY29udGV4dChwbGF0Zm9ybUNvbnRleHQp
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3Jt
Q29udGV4dFNraWEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNv
bnRleHRTa2lhLmgKaW5kZXggMTFiMzExYS4uMzFiNjE5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCkBAIC0zMiw3ICsz
Miw2IEBACiAjZGVmaW5lIFBsYXRmb3JtQ29udGV4dFNraWFfaAogCiAjaW5jbHVkZSAiR3JhcGhp
Y3NDb250ZXh0LmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogI2luY2x1ZGUgIlNrRGFz
aFBhdGhFZmZlY3QuaCIKICNpbmNsdWRlICJTa0RyYXdMb29wZXIuaCIKQEAgLTY3LDcgKzY2LDgg
QEAgY2xhc3MgVGV4dHVyZTsKIC8vIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyB0aGUgcGFpbnRp
bmcgc3RhdGUgd2hpY2ggaXMgc3RvcmUgaW4gc2VwYXJhdGUKIC8vIFNrUGFpbnQgb2JqZWN0cy4g
VGhpcyBjbGFzcyBwcm92aWRlcyB0aGUgYWRhcHRvciB0aGF0IGFsbG93cyB0aGUgcGFpbnRpbmcK
IC8vIHN0YXRlIHRvIGJlIHB1c2hlZCBhbmQgcG9wcGVkIGFsb25nIHdpdGggdGhlIGJpdG1hcC4K
LWNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UGxhdGZvcm1Db250ZXh0U2tpYSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGxhdGZvcm1D
b250ZXh0U2tpYSk7CiBwdWJsaWM6CiAgICAgLy8gRm9yIHByaW50aW5nLCB0aGVyZSBzaG91bGRu
J3QgYmUgYW55IGNhbnZhcy4gY2FudmFzIGNhbiBiZSBOVUxMLiBJZiB5b3UKICAgICAvLyBzdXBw
bHkgYSBOVUxMIGNhbnZhcywgeW91IGNhbiBhbHNvIGNhbGwgc2V0Q2FudmFzIGxhdGVyLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5oCmluZGV4IGJhZWUxMDIuLjhkMmY4NzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKQEAgLTMwLDcgKzMw
LDYgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogCiAjaW5jbHVkZSA8c3Ry
aW5nLmg+IC8vIGZvciBtZW1jcHkKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiAj
aWYgUExBVEZPUk0oQ0cpCiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHQWZmaW5lVHJhbnNmb3Jt
Lmg+CkBAIC01NSw3ICs1NCw4IEBAIGNsYXNzIEludFBvaW50OwogY2xhc3MgSW50UmVjdDsKIGNs
YXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4OwogCi1jbGFzcyBBZmZpbmVUcmFuc2Zvcm0gOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBZmZpbmVUcmFuc2Zvcm0geworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIFRyYW5zZm9ybVs2
XTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Ry
YW5zZm9ybU9wZXJhdGlvbnMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jt
cy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3Ny4uOTgxZTFmNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlv
bnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3Jt
T3BlcmF0aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IFRyYW5zZm9ybU9wZXJhdGlvbnMgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7
CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
VHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDk2YjRiYWEuLjFiYjA2NWUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlv
bk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRmxvYXRQb2lu
dC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSA8c3RyaW5nLmg+IC8vZm9yIG1l
bWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykK
ICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTYyLDcgKzYx
LDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRR
dWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBNYXRyaXg0WzRdWzRdOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKaW5kZXggMWJkZjI3MC4uMTYyOGVlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjUsNyArMjUs
NiBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1T
dHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9udFJlZjsKIApAQCAtMzQsNyAr
MzMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xh
c3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUp
CiAgICAgICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCiAgICAgICAgICwgbV9u
YW1lKG5hbWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCmluZGV4IDNhYjUyYjguLjA2OTkxYzggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGFDYWlyby5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGFDYWlyby5oCkBAIC0yNCw3ICsyNCw2IEBACiAKICNpbmNsdWRlICJGb250
RGVzY3JpcHRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSA8Y2Fpcm8uaD4KIApAQCAtMzMsNyArMzIsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVk
QnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsK
K3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhKGNhaXJvX2ZvbnRfZmFjZV90KiBmb250RmFjZSkKICAgICAgICAgOiBtX2ZvbnRGYWNl
KGZvbnRGYWNlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0xvY2FsV2luZG93c0NvbnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0xvY2FsV2luZG93c0NvbnRleHQuaAppbmRleCBjMjE2MTQwLi41OTUxZTQ5IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCkBA
IC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTG9jYWxXaW5k
b3dzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbFdpbmRvd3NDb250
ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFdpbmRvd3NDb250ZXh0KTsKIHB1
YmxpYzoKICAgICBMb2NhbFdpbmRvd3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3ND
b250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kID0gdHJ1
ZSwgYm9vbCBtYXlDcmVhdGVCaXRtYXAgPSB0cnVlKQogICAgICAgICA6IG1fZ3JhcGhpY3NDb250
ZXh0KGdyYXBoaWNzQ29udGV4dCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1FUTW92aWUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3Zp
ZS5jcHAKaW5kZXggZWZhZjIxOC4uZmU2MGM4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vUVRNb3ZpZS5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlIDxRVE1MLmg+CiAj
aW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9uZW50cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwpAQCAtNjMsNyArNjIsOCBAQCB1bmlvbiBVcHBQYXJh
bSB7CiBzdGF0aWMgVmVjdG9yPENGU3RyaW5nUmVmPiogZ1N1cHBvcnRlZFR5cGVzID0gMDsKIHN0
YXRpYyBTSW50MzIgcXVpY2tUaW1lVmVyc2lvbiA9IDA7CiAKLWNsYXNzIFFUTW92aWVQcml2YXRl
IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUVRNb3ZpZVRhc2tDbGllbnQgeworY2xhc3Mg
UVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgUVRNb3ZpZVRhc2tDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFFUTW92aWVQcml2YXRlKTsKIHB1YmxpYzoKICAgICBRVE1vdmllUHJpdmF0
ZSgpOwogICAgIH5RVE1vdmllUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRNb3ZpZUdXb3JsZC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcAppbmRleCBlMTNmNzMyLi4yNjg2MTJkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcApAQCAtMzMs
NyArMzMsNiBAQAogI2luY2x1ZGUgPFF1aWNrVGltZUNvbXBvbmVudHMuaD4KICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFj
ay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcAppbmRleCAw
OTE0MmJjLi5iZjgwYTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9RVFRyYWNrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNr
LmNwcApAQCAtMzEsNyArMzEsOCBAQAogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCi1jbGFzcyBR
VFRyYWNrUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBRVFRyYWNrUHJpdmF0
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRUcmFja1ByaXZhdGUpOwogcHVibGljOgog
ICAgIFFUVHJhY2tQcml2YXRlKCk7CiAgICAgflFUVHJhY2tQcml2YXRlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaAppbmRl
eCAxN2VjNDFkLi4xZTk5MGEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KIApAQCAtMzYsNyArMzUsOCBAQCBzdHJ1Y3Qg
V0tDQUNGQ29udGV4dDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXS0NBQ0ZDb250
ZXh0Rmx1c2hlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZDb250ZXh0Rmx1
c2hlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tDQUNGQ29udGV4dEZsdXNoZXIpOwog
cHVibGljOgogICAgIHN0YXRpYyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciYgc2hhcmVkKCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVy
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIu
aAppbmRleCA3NjNmZmZhLi5hMTY2ZTgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5j
bHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJXS0NBQ0ZMYXllci5oIgogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KQEAgLTU2LDcgKzU1LDggQEAgcHVibGljOgogLy8gRklYTUU6IEN1cnJl
bnRseSB0aGVyZSBpcyBhIFdLQ0FDRkxheWVyUmVuZGVyZXIgZm9yIGVhY2ggV2ViVmlldyBhbmQg
ZWFjaAogLy8gaGFzIGl0cyBvd24gQ0FSZW5kZXJPR0xDb250ZXh0IGFuZCBEaXJlY3QzRERldmlj
ZTksIHdoaWNoIGlzIGluZWZmaWNpZW50LgogLy8gKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zMTg1NSkKLWNsYXNzIFdLQ0FDRkxheWVyUmVuZGVyZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV0tDQUNGTGF5ZXJSZW5kZXJlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NPd25QdHI8V0tDQUNGTGF5ZXJSZW5kZXJlcj4gY3JlYXRlKFdLQ0FDRkxheWVyUmVuZGVyZXJD
bGllbnQqKTsKICAgICB+V0tDQUNGTGF5ZXJSZW5kZXJlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRl
eCBhYmRjMGYyLi5mMjI3NmFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsNyArMjQsNiBAQAog
I2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2Rl
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw5IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJGb250KGNvbnN0IFN0
cmluZyYgZm9udE5hbWUpID0gMDsKICAgICB9OwogCi0gICAgc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KTsKKyAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY29uc3QgU3Ry
aW5nJiBuYW1lKQogICAgICAgICAgICAgOiBtX25hbWUobmFtZSkKICAgICAgICAgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250UGxhdGZvcm1EYXRhLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaAppbmRl
eCBlNzNhN2IyLi45ODYyN2Q0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgIkZv
bnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSW1wbC5oPgogCiB0eXBlZGVmIHN0cnVjdCB0YWdURVhUTUVUUklDVyBU
RVhUTUVUUklDOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9H
cmFwaGljc0NvbnRleHRXaW5DRS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAppbmRleCBhNTI2NThmLi5mYmUxYTI2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNF
LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4
dFdpbkNFLmNwcApAQCAtNDM5LDcgKzQzOSw4IEBAIHN0YXRpYyB2b2lkIHJvdGF0ZUJpdG1hcChT
aGFyZWRCaXRtYXAqIGRlc3RCbXAsIGNvbnN0IFNoYXJlZEJpdG1hcCogc291cmNlQm1wLCBjCiAg
ICAgICAgIF9yb3RhdGVCaXRtYXA8dW5zaWduZWQsIGZhbHNlPihkZXN0Qm1wLCBzb3VyY2VCbXAs
IHRyYW5zZm9ybSk7CiB9CiAKLWNsYXNzIFRyYW5zcGFyZW50TGF5ZXJEQyA6IE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFRyYW5zcGFyZW50TGF5ZXJEQyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VHJhbnNwYXJlbnRMYXllckRDKTsKIHB1YmxpYzoKICAgICBUcmFuc3BhcmVudExheWVyREMoR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhLCBJbnRSZWN0JiBvcmlnUmVjdCwgY29u
c3QgSW50UmVjdCogcmVjdEJlZm9yZVRyYW5zZm9ybSA9IDAsIGludCBhbHBoYSA9IDI1NSwgYm9v
bCBwYWludEltYWdlID0gZmFsc2UpOwogICAgIH5UcmFuc3BhcmVudExheWVyREMoKTsKQEAgLTU1
OSw3ICs1NjAsOCBAQCB2b2lkIFRyYW5zcGFyZW50TGF5ZXJEQzo6ZmlsbEFscGhhQ2hhbm5lbCgp
CiAgICAgfQogfQogCi1jbGFzcyBTY29wZURDUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFz
cyBTY29wZURDUHJvdmlkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlRENQcm92
aWRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NvcGVEQ1Byb3ZpZGVyKEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZSogZGF0YSkKICAgICAgICAgOiBtX2RhdGEoZGF0YSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKaW5kZXggY2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBA
QAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdN
b2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0
YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEp
OwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAg
ICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmggYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRH
dGsuaAppbmRleCBlMTRhNTgzLi4wYzA3YzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9DbGlwYm9hcmRHdGsuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRH
dGsuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gU3RhdGUg
YXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9w
YXN0ZQogICAgIC8vIENyZWF0ZWQgZnJvbSB0aGUgRXZlbnRIYW5kbGVyR3RrIHRvIGJlIHVzZWQg
YnkgdGhlIGRvbQogICAgIGNsYXNzIENsaXBib2FyZEd0ayA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1
YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkR3Rr
PiBjcmVhdGUoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgR3RrQ2xpcGJvYXJkKiBjbGlw
Ym9hcmQsIEZyYW1lKiBmcmFtZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKaW5kZXggZjIwOWRkYS4uNjcwOTE1ZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCkBAIC0yMjEs
NyArMjIxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHNldE1heE51bVBpeGVscygp
IHRvIHNwZWNpZnkgdGhlIGJpZ2dlc3Qgc2l6ZSB0aGF0IGRlY29kZWQgaW1hZ2VzIGNhbgogICAg
IC8vIGhhdmUuIEltYWdlIGRlY29kZXJzIHdpbGwgZGVmbGF0ZSB0aG9zZSBpbWFnZXMgdGhhdCBh
cmUgYmlnZ2VyIHRoYW4KICAgICAvLyBtX21heE51bVBpeGVscy4gKE5vdCBzdXBwb3J0ZWQgYnkg
YWxsIGltYWdlIGRlY29kZXJzIHlldCkKLSAgICBjbGFzcyBJbWFnZURlY29kZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIEltYWdlRGVjb2RlciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEltYWdlRGVjb2Rlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgSW1hZ2VEZWNvZGVyKGJvb2wgcHJlbXVsdGlwbHlBbHBoYSwgYm9v
bCBpZ25vcmVHYW1tYUFuZENvbG9yUHJvZmlsZSkKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFs
c2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCmluZGV4IDcxODdlY2YuLjM5ZWFkZGEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgRmlsZUxpc3Q7CiAKIGNsYXNzIENsaXBib2FyZE1hYyA6IHB1YmxpYyBD
bGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFj
PiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3Rl
Ym9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAgICB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0Nv
bnRleHQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4
dC5oCmluZGV4IDkwYmViNDAuLmI5OTBkNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0xNyw3ICsxNyw2IEBACiAgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKICNpZmRlZiBfX09CSkNfXwogQGNsYXNzIE5TR3JhcGhpY3NDb250ZXh0OwpAQCAt
MzEsNyArMzAsOCBAQCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNz
IGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhpY3ND
b250ZXh0IGZvcgogLy8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFuZCBy
ZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVudEdy
YXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRH
cmFwaGljc0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVudEdy
YXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0
KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3Jh
cGhpY3NDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TaGFyZWRU
aW1lck1hYy5tbSBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tCmluZGV4
IGNjOWZmMTcuLjQ0NmJkYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJl
ZFRpbWVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1t
CkBAIC0yOSw3ICsyOSw2IEBACiAjaW1wb3J0IDxJT0tpdC9JT01lc3NhZ2UuaD4KICNpbXBvcnQg
PElPS2l0L3B3cl9tZ3QvSU9QTUxpYi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KLSNp
bXBvcnQgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2ltcG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bXBvcnQgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQmxvYkRhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5o
CmluZGV4IDFmZjYzNDQuLmMxZjU1MjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5o
CkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRl
bT4gQmxvYkRhdGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEJsb2JEYXRhPiBj
cmVhdGUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRh
QnVpbGRlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCmlu
ZGV4IDg3ZDBlZjMuLjExMmUzMTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9Gb3JtRGF0YUJ1aWxkZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGFCdWlsZGVyLmgKQEAgLTIzLDE0ICsyMywxNCBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgVGV4
dEVuY29kaW5nOwogCi1jbGFzcyBGb3JtRGF0YUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRm9ybURhdGFCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb3Jt
RGF0YUJ1aWxkZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXh0RW5jb2RpbmcgZW5jb2RpbmdG
cm9tQWNjZXB0Q2hhcnNldChjb25zdCBTdHJpbmcmIGFjY2VwdENoYXJzZXQsIERvY3VtZW50KiBk
b2N1bWVudCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RhdGVOb3RpZmllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5v
dGlmaWVyLmgKaW5kZXggZDFmMmRiNC4uZmVhNDM5NGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZu
ZGVmIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKICNkZWZpbmUgTmV0d29ya1N0YXRlTm90aWZpZXJf
aAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAK
QEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTmV0d29ya1N0YXRl
Tm90aWZpZXJQcml2YXRlOwogI2VuZGlmCiAKLWNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShOZXR3b3JrU3RhdGVOb3RpZmllcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlmaWVyKCk7CiAgICAgdm9p
ZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKikoKSk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCA5Y2Nj
ZWNkLi5jMjk5Y2U1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9u
OwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50Owog
Ci0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwoUmVzb3VyY2VI
YW5kbGUqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhh
bmRsZUNsaWVudCogYywgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlm
ZikKICAgICAgICAgICAgIDogbV9jbGllbnQoYykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDMzYTE4NGUuLmY3OTU4NGUgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApAQCAtNDksNyAr
NDksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3Vy
Y2VSZXF1ZXN0RGF0YTsKIAogICAgIC8vIERvIG5vdCB1c2UgdGhpcyB0eXBlIGRpcmVjdGx5LiAg
VXNlIFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkLgotICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJh
c2UgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0QmFz
ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgLy8gVGhlIHR5cGUgb2YgdGhpcyBSZXNvdXJjZVJlcXVlc3QsIGJhc2VkIG9uIGhvdyB0aGUg
cmVzb3VyY2Ugd2lsbCBiZSB1c2VkLgogICAgICAgICBlbnVtIFRhcmdldFR5cGUgewpAQCAtMjA1
LDcgKzIwNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0
b3I9PShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYikg
eyByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y29tcGFyZShhLCBiKTsgfQogICAgIGlubGlu
ZSBib29sIG9wZXJhdG9yIT0oUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi0gICAgc3RydWN0IENyb3NzVGhyZWFkUmVz
b3VyY2VSZXF1ZXN0RGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERh
dGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAgUmVzb3VyY2VSZXF1
ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uZTA3NzRjMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQx
LDcgKzQxLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJl
c291cmNlUmVzcG9uc2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHks
IHVzZSB0aGUgY2xhc3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJl
c3BvbnNlQmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9u
c2VCYXNlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxSZXNvdXJjZVJlc3BvbnNlPiBhZG9wdChQYXNzT3duUHRyPENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXNwb25zZURhdGE+KTsKIApAQCAtMTc1LDcgKzE3NiwxMCBAQCBwcml2YXRl
OgogaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y29t
cGFyZShhLCBiKTsgfQogaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiBhLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0K
IAotc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIDogTm9uY29weWFi
bGUgeworc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSk7
CitwdWJsaWM6CisgICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UoKSB7IH0K
ICAgICBLVVJMIG1fdXJsOwogICAgIFN0cmluZyBtX21pbWVUeXBlOwogICAgIGxvbmcgbG9uZyBt
X2V4cGVjdGVkQ29udGVudExlbmd0aDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IGEzZmZlYjIuLmM4YmI3ZjggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291
cC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcApAQCAtNjAsNyArNjAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNkZWZpbmUg
UkVBRF9CVUZGRVJfU0laRSA4MTkyCiAKLWNsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6
IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKTsKIHB1
YmxpYzoKICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoUmVzb3VyY2VFcnJvciYsIFJlc291
cmNlUmVzcG9uc2UgJiwgVmVjdG9yPGNoYXI+Jik7CiAgICAgfldlYkNvcmVTeW5jaHJvbm91c0xv
YWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJj
ZUhhbmRsZVdpbi5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFu
ZGxlV2luLmNwcAppbmRleCAzOGQ5Y2QxLi5mNTA1NDBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcApAQCAtNzYsNyArNzYsOCBA
QCBzdGF0aWMgU3RyaW5nIHF1ZXJ5SFRUUEhlYWRlcihISU5URVJORVQgcmVxdWVzdEhhbmRsZSwg
RFdPUkQgaW5mb0xldmVsKQogfQogCiAKLWNsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6
IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKTsKIHB1
YmxpYzoKICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoUmVzb3VyY2VFcnJvciYsIFJlc291
cmNlUmVzcG9uc2UmLCBWZWN0b3I8Y2hhcj4mLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7CiAg
ICAgfldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9DbGlwYm9hcmRRdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5o
CmluZGV4IDVhY2ExYTYuLmZiNWFiZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQv
Q2xpcGJvYXJkUXQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKQEAg
LTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gU3RhdGUgYXZhaWxh
YmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQog
ICAgIGNsYXNzIENsaXBib2FyZFF0IDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJl
c291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRRdD4gY3JlYXRlKENsaXBi
b2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIGNvbnN0IFFNaW1lRGF0YSogcmVhZGFibGVDbGlwYm9h
cmQpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURh
dGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCmluZGV4IGMz
MjkyNzMuLmRhNTNhY2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURh
dGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaApAQCAt
NTAsNyArNTAsOCBAQCBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdFNjaGVtYTsKIGV4dGVybiBj
b25zdCBpbnQgU1FMUmVzdWx0RnVsbDsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0SW50ZXJy
dXB0OwogCi1jbGFzcyBTUUxpdGVEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTUUxpdGVEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlRGF0YWJh
c2UpOwogICAgIGZyaWVuZCBjbGFzcyBTUUxpdGVUcmFuc2FjdGlvbjsKIHB1YmxpYzoKICAgICBT
UUxpdGVEYXRhYmFzZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
U3RhdGVtZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAppbmRl
eCAxNDQ0ZjBlLi5mZDFhYmZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVTdGF0ZW1lbnQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQu
aApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTFZhbHVl
OwogCi1jbGFzcyBTUUxpdGVTdGF0ZW1lbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U1FMaXRlU3RhdGVtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVTdGF0ZW1l
bnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTUUxpdGVTdGF0ZW1l
bnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRlU3RhdGVtZW50
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFm
Li45ZTMzY2Y4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2Fj
dGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAg
LTI2LDE0ICsyNiwxMyBAQAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNR
TGl0ZVRyYW5zYWN0aW9uX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFzcyBTUUxpdGVU
cmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRlVHJhbnNhY3Rp
b24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9uKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1FMaXRlVHJhbnNhY3Rpb24oU1FMaXRl
RGF0YWJhc2UmIGRiLCBib29sIHJlYWRPbmx5ID0gZmFsc2UpOwogICAgIH5TUUxpdGVUcmFuc2Fj
dGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCmluZGV4IDFmODcxMTUuLjA1
NmVkNzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKQEAgLTIzLDcgKzIzLDYg
QEAKICNkZWZpbmUgQmlkaVJlc29sdmVyX2gKIAogI2luY2x1ZGUgIkJpZGlDb250ZXh0LmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTEyNiw3ICsxMjUsOCBAQCBzdHJ1Y3QgQmlk
aUNoYXJhY3RlclJ1biB7CiAgICAgQmlkaUNoYXJhY3RlclJ1biogbV9uZXh0OwogfTsKIAotdGVt
cGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4g
Y2xhc3MgQmlkaVJlc29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCaWRpUmVzb2x2
ZXIpOwogcHVibGljIDoKICAgICBCaWRpUmVzb2x2ZXIoKQogICAgICAgICA6IG1fZGlyZWN0aW9u
KFdURjo6VW5pY29kZTo6T3RoZXJOZXV0cmFsKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxh
ckV4cHJlc3Npb24uaAppbmRleCBmMTYxMWU1Li41MzZlZDQ4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvUmVndWxhckV4cHJlc3Npb24uaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIFJlZ3VsYXJFeHByZXNzaW9uIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworY2xhc3MgUmVndWxhckV4cHJlc3Npb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFJlZ3VsYXJFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRD
YXNlU2Vuc2l0aXZpdHkpOwogICAgIH5SZWd1bGFyRXhwcmVzc2lvbigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1RleHRDb2RlYy5oCmluZGV4IGM2YWYzOGEuLjEyY2Y2NDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dENvZGVjLmgKQEAgLTI5LDcgKzI5LDYgQEAKIAogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0
Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTU3LDggKzU2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIHR5cGVkZWYgY2hhciBVbmVuY29kYWJsZVJlcGxhY2VtZW50QXJyYXlbMzJdOwog
Ci0gICAgY2xhc3MgVGV4dENvZGVjIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBU
ZXh0Q29kZWMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q29kZWMpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsg
fQogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2Rl
KGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKaW5k
ZXggNjdkYjk3Ny4uYmZmZjkzZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3Ry
YW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJh
bnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIEZvbnRU
cmFuc2NvZGVyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9u
dFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFRyYW5zY29kZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2NvZGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBjb252ZXJ0KFN0cmluZyYgdGV4dCwgY29u
c3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwogICAg
IGJvb2wgbmVlZHNUcmFuc2NvZGluZyhjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0
RW5jb2RpbmcqID0gMCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9D
bGlwYm9hcmRXaW4uaCBiL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCmluZGV4
IGNlNjRiODUuLjc3OWRhMjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBi
b2FyZFdpbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCkBAIC00
MSw2ICs0MSw3IEBAIGNsYXNzIFdDRGF0YU9iamVjdDsKIAogLy8gU3RhdGUgYXZhaWxhYmxlIGR1
cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogY2xhc3Mg
Q2xpcGJvYXJkV2luIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0ZShDbGlwYm9hcmRUeXBlIGNsaXBib2FyZFR5
cGUsIElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5
LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
V2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dN
ZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1NmU3Li5kMzZjMjMzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaApAQCAtMzEsMTMgKzMx
LDEzIEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0ZW5lcjsKIAotICAgIGNsYXNzIFdpbmRvd01l
c3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2luZG93
TWVzc2FnZUJyb2FkY2FzdGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93
TWVzc2FnZUJyb2FkY2FzdGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGFk
ZExpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VMaXN0ZW5lciopOwogICAgICAgICBzdGF0aWMg
dm9pZCByZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oIGIvV2ViQ29yZS9wbHVnaW5z
L1BsdWdpbkRhdGFiYXNlLmgKaW5kZXggYjE0NjA1Zi4uYzQxMmMwOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
bkRhdGFiYXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
dHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5QYWNrYWdlPiwgUGx1Z2luUGFja2FnZUhhc2g+
IFBsdWdpblNldDsKIAotICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBsdWdpbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
bk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi4yOWJjNGU2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisrKyBiL1dlYkNv
cmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAg
dHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdp
bk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2lu
TWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFp
blRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHR5cGVkZWYgdm9pZCBNYWluVGhyZWFkRnVuY3Rpb24odm9pZCopOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcu
aAppbmRleCBkZWFlYzk5Li5hOTliNmViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1
Z2luVmlldy5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKQEAgLTkzLDcgKzkz
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBQbHVnaW5TdGF0dXNMb2FkZWRTdWNj
ZXNzZnVsbHkKICAgICB9OwogCi0gICAgY2xhc3MgUGx1Z2luUmVxdWVzdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luUmVxdWVzdCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBsdWdpblJlcXVlc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIFBsdWdpblJlcXVlc3QoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJh
bWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRhLCBi
b29sIHNob3VsZEFsbG93UG9wdXBzKQogICAgICAgICAgICAgOiBtX2ZyYW1lTG9hZFJlcXVlc3Qo
ZnJhbWVMb2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbklu
Zm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaAppbmRleCA1ZTZmNjE5Li5kNzdk
NmNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb2x1bW5JbmZvKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAg
ICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL0NvdW50ZXJOb2RlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5oCmluZGV4
IDUyOWQ0MDkuLjU1NWU4MWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJO
b2RlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtMjMsNyArMjMs
NiBAQAogI2RlZmluZSBDb3VudGVyTm9kZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAKIC8vIFRoaXMgaW1wbGVtZW50cyBhIGNvdW50ZXIgdHJlZSB0aGF0IGlzIHVzZWQgZm9yIGZp
bmRpbmcgcGFyZW50cyBpbiBjb3VudGVycygpIGxvb2t1cCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5o
CmluZGV4IGNjYTNlNDIuLmJiYTYwMWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0xh
eW91dFN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMjgs
NyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0zNyw3ICszNiw4IEBAIGNsYXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xh
c3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0
U3RhdGUpOwogcHVibGljOgogICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQo
ZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi43ODdhNjg4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxMyBAQAogI2RlZmluZSBSZW5kZXJB
cmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3lj
bGVkU2l6ZSA9IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFy
ZW5hKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyQXJlbmEo
dW5zaWduZWQgYXJlbmFTaXplID0gNDA5Nik7CiAgICAgflJlbmRlckFyZW5hKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suaAppbmRleCA1MTUzMjE4Li5hMDZjZDgyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKQEAgLTM1NCw3ICszNTQsOSBAQCBwcml2YXRlOgogICAgICAgICBib29sIGV2ZXJIYWRM
YXlvdXQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCA6IE5vbmNvcHlhYmxl
IHsKKyAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGbG9hdGluZ09iamVjdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1Ymxp
YzoKICAgICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBiaXRzIHNvIHlvdSBjYW4gdXNlIEZs
b2F0Qm90aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGggbGVmdCBhbmQgcmlnaHQuCiAgICAg
ICAgIGVudW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0UmlnaHQgPSAyLCBGbG9hdEJvdGgg
PSAzIH07CiAKQEAgLTY4MSw3ICs2ODMsOSBAQCBwcml2YXRlOgogICAgIFJlbmRlckJveE1vZGVs
T2JqZWN0KiBtX2NvbnRpbnVhdGlvbjsKICAgICAKICAgICAvLyBBbGxvY2F0ZWQgb25seSB3aGVu
IHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzCi0gICAgc3RydWN0
IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IFJlbmRlckJs
b2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJCbG9ja1Jh
cmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBS
ZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAg
ICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2
ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChi
bG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwg
bV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmNwcAppbmRleCBiZDE5MTY1Li42YjdmMTk5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC01Myw3ICs1Myw4IEBAIHN0YXRpYyBjb25zdCBkb3Vi
bGUgY0xvd1F1YWxpdHlUaW1lVGhyZXNob2xkID0gMC41MDA7IC8vIDUwMCBtcwogdHlwZWRlZiBw
YWlyPFJlbmRlckJveE1vZGVsT2JqZWN0KiwgY29uc3Qgdm9pZCo+IExhc3RQYWludFNpemVNYXBL
ZXk7CiB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBh
aW50U2l6ZU1hcDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcigpOwogICAgIGJvb2wgc2hv
dWxkUGFpbnRBdExvd1F1YWxpdHkoR3JhcGhpY3NDb250ZXh0KiwgUmVuZGVyQm94TW9kZWxPYmpl
Y3QqLCBJbWFnZSosIGNvbnN0IHZvaWQqIGxheWVyLCBjb25zdCBJbnRTaXplJik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhbWVTZXQuaAppbmRleCBkMGFiMzQ2Li4xZTUxMWQyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZyYW1lU2V0LmgKQEAgLTczLDcgKzczLDggQEAgcHVibGljOgogcHJpdmF0ZToKICAg
ICBzdGF0aWMgY29uc3QgaW50IG5vU3BsaXQgPSAtMTsKIAotICAgIGNsYXNzIEdyaWRBeGlzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmlkQXhpcyB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEdyaWRBeGlzKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEdyaWRBeGlz
KCk7CiAgICAgICAgIHZvaWQgcmVzaXplKGludCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZVJlc291cmNlLmgKaW5kZXggMjM0NjcxMi4uYTIwYzU1YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlUmVzb3VyY2UuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjaW5jbHVkZSAiQ2FjaGVk
SW1hZ2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlN0
eWxlSW1hZ2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFJlbmRlckltYWdlUmVzb3Vy
Y2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVySW1hZ2VSZXNvdXJjZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRlckltYWdlUmVzb3VyY2Uo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCBmYjNhYjY3Li4w
MWEyZjE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApAQCAtNTMsNyAr
NTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8vIAogLy8gVGhlcmUgaXMgb25l
IFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXllciB0aGF0IGlzIGNvbXBvc2l0
ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xp
ZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nIDogcHVi
bGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRl
ckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJl
bmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJMYXllckJhY2tpbmco
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVkLi45OGZkZGI5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1
dG8tc2Nyb2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVu
ZGVyTWFycXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyTWFycXVlZShSZW5kZXJMYXll
ciopOwogICAgIHZpcnR1YWwgflJlbmRlck1hcnF1ZWUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVy
Zmxvdy5oCmluZGV4IDI1M2E2NzIuLmQ4ZjJlNWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck92ZXJmbG93LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZs
b3cuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZQogLy8gRXhhbXBsZXMgb2Yg
dmlzdWFsIG92ZXJmbG93IGFyZSBzaGFkb3dzLCB0ZXh0IHN0cm9rZSAoYW5kIGV2ZW50dWFsbHkg
b3V0bGluZSBhbmQgYm9yZGVyLWltYWdlKS4KIAogLy8gVGhpcyBvYmplY3QgaXMgYWxsb2NhdGVk
IG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcyBp
biB0aGUgb3duaW5nIGJveC4KLWNsYXNzIFJlbmRlck92ZXJmbG93IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlbmRlck92ZXJmbG93IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZW5kZXJPdmVyZmxvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJl
bmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGRlZmF1bHRSZWN0ID0gSW50UmVjdCgpKSAKICAg
ICAgICAgOiBtX3RvcExheW91dE92ZXJmbG93KGRlZmF1bHRSZWN0LnkoKSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKaW5kZXggMjAxNTNlOS4uODFjNzlk
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVy
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKQEAg
LTM2LDcgKzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQ2xpcHBlckRh
dGEgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDbGlwcGVyRGF0YSB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFz
a0ltYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0
aW9uSW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4
IGEwOWZjMWEuLjQ1Y2E4MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNl
bGVjdGlvbkluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZv
LmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5k
ZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJT
ZWxlY3Rpb25JbmZvQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0
aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5k
ZXJTZWxlY3Rpb25JbmZvQmFzZSgpCiAgICAgICAgIDogbV9vYmplY3QoMCkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuaAppbmRleCBiNWQwMjk0Li4xM2EyMzcyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWV3LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBA
IC0yNTYsNyArMjU2LDggQEAgdm9pZCB0b1JlbmRlclZpZXcoY29uc3QgUmVuZGVyVmlldyopOwog
CiAKIC8vIFN0YWNrLWJhc2VkIGNsYXNzIHRvIGFzc2lzdCB3aXRoIExheW91dFN0YXRlIHB1c2gv
cG9wCi1jbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShM
YXlvdXRTdGF0ZU1haW50YWluZXIpOwogcHVibGljOgogICAgIC8vIGN0b3IgdG8gcHVzaCBub3cK
ICAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmlldyogdmlldywgUmVuZGVyQm94KiBy
b290LCBJbnRTaXplIG9mZnNldCwgYm9vbCBkaXNhYmxlU3RhdGUgPSBmYWxzZSwgaW50IHBhZ2VI
ZWlnaHQgPSAwLCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0gZmFsc2UsIENvbHVtbkluZm8qIGNv
bEluZm8gPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJv
dGVjdG9yLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaAppbmRl
eCA3ODgzMDRjLi44YmY2YWM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXRQcm90ZWN0b3IuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90
ZWN0b3IuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFJlbmRlcldpZGdldFByb3RlY3RvciA6IHByaXZhdGUgTm9uY29weWFibGUgeworY2xhc3MgUmVu
ZGVyV2lkZ2V0UHJvdGVjdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJXaWRn
ZXRQcm90ZWN0b3IpOwogcHVibGljOgogICAgIFJlbmRlcldpZGdldFByb3RlY3RvcihSZW5kZXJX
aWRnZXQqIG9iamVjdCkKICAgICAgICAgOiBtX29iamVjdChvYmplY3QpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmggYi9XZWJDb3JlL3JlbmRlcmlu
Zy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKaW5kZXggOWJjYzdhNC4uOTIyNTgwNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaApAQCAtMjIsNyArMjIsNiBAQAogCiAjaWYg
RU5BQkxFKFNWRykKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMyLDcgKzMxLDggQEAgY2xh
c3MgRmxvYXRTaXplOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3MgUmVuZGVyT2JqZWN0
OwogCi1jbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0lt
YWdlQnVmZmVyVG9vbHMpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIGNyZWF0ZUltYWdlQnVm
ZmVyKGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVUYXJnZXRSZWN0LCBjb25zdCBGbG9hdFJlY3Qm
IGNsYW1wZWRBYnNvbHV0ZVRhcmdldFJlY3QsIE93blB0cjxJbWFnZUJ1ZmZlcj4mLCBDb2xvclNw
YWNlKTsKICAgICBzdGF0aWMgdm9pZCByZW5kZXJTdWJ0cmVlVG9JbWFnZUJ1ZmZlcihJbWFnZUJ1
ZmZlciosIFJlbmRlck9iamVjdCosIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCmluZGV4IDhmNTk3MDM1Li4wNzJiNGJjIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCkBAIC0yMyw3ICsyMyw2IEBACiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJTVkdN
YXJrZXJEYXRhLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDIsNyArNDEsOCBAQCBzdHJ1Y3QgTWFya2VyTGF5b3V0IHsKICAgICBB
ZmZpbmVUcmFuc2Zvcm0gbWF0cml4OwogfTsKIAotY2xhc3MgU1ZHTWFya2VyTGF5b3V0SW5mbyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdNYXJrZXJMYXlvdXRJbmZvKTsKIHB1YmxpYzoKICAgICBT
VkdNYXJrZXJMYXlvdXRJbmZvKCk7CiAgICAgflNWR01hcmtlckxheW91dEluZm8oKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvU1ZHUmVzb3VyY2VzLmgKaW5kZXggNDk1OTFjZi4uYzQ2NjM1MiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
UmVzb3VyY2VzLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtMzgsNyAr
MzcsOCBAQCBjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjsKIGNsYXNzIFNWR1JlbmRlclN0
eWxlOwogCiAvLyBIb2xkcyBhIHNldCBvZiByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIGEgUmVu
ZGVyT2JqZWN0Ci1jbGFzcyBTVkdSZXNvdXJjZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1ZHUmVzb3VyY2VzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXMp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXMoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKaW5kZXggNGE2MTU3MC4uMDg5YjYy
OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0zMSw3ICszMSw4IEBA
IGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBj
bGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNl
ZTYzLi4zNDEyNThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXND
eWNsZVNvbHZlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29s
dmVyLmgKQEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jl
c291cmNlc0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291
cmNlc0N5Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXND
eWNsZVNvbHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVy
T2JqZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvVGFibGVMYXlvdXQuaAppbmRleCBlMGZhOGVlLi5iZTAxYzY4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1RhYmxlTGF5b3V0LmgKQEAgLTIxLDEzICsyMSwxMyBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9o
CiAjZGVmaW5lIFRhYmxlTGF5b3V0X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJs
ZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBUYWJsZUxheW91dChSZW5kZXJUYWJsZSogdGFibGUpCiAgICAgICAg
IDogbV90YWJsZSh0YWJsZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9y
bVN0YXRlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCmluZGV4IDBiNGNh
NDYuLjM2ZmM2ZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRl
LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaApAQCAtMzEsMTQgKzMx
LDE0IEBACiAjaW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2lu
Y2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBUcmFuc2Zvcm1TdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc2Zv
cm1TdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU3RhdGUpOwogcHVi
bGljOgogICAgIGVudW0gVHJhbnNmb3JtRGlyZWN0aW9uIHsgQXBwbHlUcmFuc2Zvcm1EaXJlY3Rp
b24sIFVuYXBwbHlJbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uIH07CiAgICAgZW51bSBUcmFuc2Zv
cm1BY2N1bXVsYXRpb24geyBGbGF0dGVuVHJhbnNmb3JtLCBBY2N1bXVsYXRlVHJhbnNmb3JtIH07
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCmluZGV4IDRkZWFlZjUu
LmIyNWIyZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25D
YWNoZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCkBA
IC0zOCw3ICszOCw4IEBAIGNvbnN0IGludCBQb3NpdGlvblRvcCA9IC0weDdmZmZmZmZmOwogY29u
c3QgaW50IFBvc2l0aW9uQm90dG9tID0gMHg3ZmZmZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvblVu
ZGVmaW5lZCA9IDB4ODAwMDAwMDA7CiAKLWNsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFZlcnRpY2FsUG9zaXRpb25DYWNoZSk7CiBwdWJsaWM6CiAgICAg
VmVydGljYWxQb3NpdGlvbkNhY2hlKCkKICAgICB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250
ZW50RGF0YS5oCmluZGV4IDRmOTY0YTIuLjE1ZjY5MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
Q29udGVudERhdGEuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFN0eWxlSW1hZ2U7CiAKLXN0cnVjdCBDb250ZW50RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0
cnVjdCBDb250ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGVudERhdGEp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb250ZW50RGF0YSgpCiAg
ICAgICAgIDogbV90eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3Vu
dGVyQ29udGVudC5oCmluZGV4IDUyNzU3YWQuLjgxNDAzOWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQ291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
Y2xhc3MgQ291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwg
RUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAg
ICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvRmlsbExheWVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5
ZXIuaAppbmRleCA0OWZiMjk0Li44NDdlOGRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5
ZXIuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUg
c2l6ZTsKIH07CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIEZpbGxMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgRmlsbExheWVyKEVGaWxsTGF5ZXJUeXBlKTsKICAgICB+RmlsbExheWVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmggYi9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKaW5kZXggY2E4M2FmMC4uYTNkZGYxMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaApAQCAtMjYsNyArMjYsNiBAQAogI2RlZmluZSBTaGFk
b3dEYXRhX2gKIAogI2luY2x1ZGUgIkNvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jh
c2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGVudW0gU2hh
ZG93U3R5bGUgeyBOb3JtYWwsIEluc2V0IH07CiAKIC8vIFRoaXMgc3RydWN0IGhvbGRzIGluZm9y
bWF0aW9uIGFib3V0IHNoYWRvd3MgZm9yIHRoZSB0ZXh0LXNoYWRvdyBhbmQgYm94LXNoYWRvdyBw
cm9wZXJ0aWVzLgogCi1jbGFzcyBTaGFkb3dEYXRhIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
Y2xhc3MgU2hhZG93RGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgU2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDApCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAppbmRleCAzNjM0MmU3Li4zMjFmMzkxIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDgg
QEAgc3RydWN0IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQgdGhlIGFj
dHVhbCBwZXItY2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3NpdGlvbnMg
Zm9yIGVhY2ggY2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0
cyAoU1ZHVGV4dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBtb2RpZmlj
YXRpb25zIHRoYXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0ZXh0IGNo
dW5rICh0ZXh0LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1bmtCdWls
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVibGljOgog
ICAgIFNWR1RleHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCmluZGV4IGYyOWFjNjQuLmM2
ODE4NWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0
cmlidXRlc0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91
dEF0dHJpYnV0ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHVGV4
dDsKIC8vIHRvIGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUgYmFzZWQgb24gdGV4dCBjaHVuayBi
b3VuZGFyaWVzICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRoZSBzZWNvbmQgbGF5b3V0IHBoYXNl
IGlzIGNhcnJpZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUuCiAKLWNsYXNzIFNWR1RleHRM
YXlvdXRBdHRyaWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdU
ZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91
dEF0dHJpYnV0ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWlsZExheW91dEF0dHJpYnV0ZXNGb3JU
ZXh0U3VidHJlZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRMYXlvdXRFbmdpbmUuaAppbmRleCBhZDA1OGQ4Li42MzFlNGNkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3Mg
U1ZHUmVuZGVyU3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVUZXh0IHJlbmRlcmVycyB0byBjb21w
dXRlIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyCiAvLyB3aGljaCBhcmUg
c3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMuCiAKLWNsYXNzIFNWR1RleHRM
YXlvdXRFbmdpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVu
Z2luZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2luZSk7CiBw
dWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwogICAgIFNWR1RleHRDaHVua0J1aWxk
ZXImIGNodW5rTGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1fY2h1bmtMYXlvdXRCdWlsZGVyOyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJh
c2VsaW5lLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmgKaW5kZXggZDc1M2IzOS4uYWMzOTNlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApAQCAtMjIsNyArMjIsNiBAQAog
CiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZURlZnMuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zMyw3
ICszMiw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHVGV4dE1ldHJpY3M7CiAK
IC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdh
bGlnbm1lbnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2VsaW5lJyBhbmQgJ2Jhc2VsaW5lLXNo
aWZ0Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSk7CiBwdWJsaWM6CiAgICAg
U1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZvbnQmKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAppbmRleCAwYTZk
NzM2Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExh
eW91dEVuZ2luZVNwYWNpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExh
eW91dEVuZ2luZVNwYWNpbmcuaApAQCAtMzAsNyArMzAsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHls
ZTsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRM
YXlvdXRFbmdpbmUgdG8gaGFuZGxlICdrZXJuaW5nJyAvICdsZXR0ZXItc3BhY2luZycgYW5kICd3
b3JkLXNwYWNpbmcnLgotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nKTsKIHB1YmxpYzoK
ICAgICBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyhjb25zdCBGb250Jik7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRh
YmFzZVRhc2suaAppbmRleCBiNjFlNDY1Li5lMWRmNTkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0
b3JhZ2UvRGF0YWJhc2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5o
CkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ2FuIGJlIHVzZWQg
dG8gd2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVkLgogLy8gSGFzIHRvIGJlIHBh
c3NlZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUg
dGFzay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJsaWM6CiAgICAgRGF0YWJhc2VU
YXNrU3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAgcHJpdmF0ZToKICNlbmRpZgog
fTsKIAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERh
dGFiYXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNrKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNr
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRleCA3MTQ1ZTZiLi5hMWE1YmRmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvV2ViQ29y
ZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFi
YXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAv
LyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemVUcmFja2VyKGNvbnN0IFN0cmluZyYgZGF0YWJh
c2VQYXRoKTsKICAgICBzdGF0aWMgRGF0YWJhc2VUcmFja2VyJiB0cmFja2VyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oIGIvV2Vi
Q29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaAppbmRleCA3ODNhNzMx
Li40ZmNjMjM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0
aW9uTW9uaXRvci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25N
b25pdG9yLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNF
KQogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NCw3ICs0Myw4IEBAIGNsYXNzIElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZTsKIC8vIEZJWE1FOiBtb3ZlIHRoZSB2ZWN0b3Igb2YgdHJh
bnNhY3Rpb25zIHRvIFRMUy4gS2VlcGluZyBpdCBzdGF0aWMKIC8vIHdpbGwgbm90IHdvcmsgb25j
ZSB3ZSBhZGQgc3VwcG9ydCBmb3Igd29ya2Vycy4gQW5vdGhlciBwb3NzaWJsZQogLy8gc29sdXRp
b24gaXMgdG8ga2VlcCB0aGUgdmVjdG9yIGluIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0Lgot
Y2xhc3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBhZGRQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlKik7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlUGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xv
Y2FsU3RvcmFnZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKaW5k
ZXggYTJlMzVlYS4uMjdhOGViNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3Rv
cmFnZVRhc2suaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCkBAIC0z
Nyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBMb2NhbFN0b3JhZ2VU
aHJlYWQ7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRhc2sK
LSAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBMb2NhbFN0b3JhZ2VUYXNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9j
YWxTdG9yYWdlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5bmMsIERlbGV0ZUVtcHR5RGF0YWJh
c2UsIFRlcm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9j
YWxTdG9yYWdlVGhyZWFkLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgK
aW5kZXggNmYwNTkxMS4uYTJjNzhjNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xvY2Fs
U3RvcmFnZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQu
aApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxT
dG9yYWdlVGFzazsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdl
VGhyZWFkCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb2NhbFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4g
Y3JlYXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9Pcmln
aW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi44MmQ3Yzc0IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09y
aWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xh
c3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdp
blF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5h
Z2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgT3JpZ2luUXVvdGFN
YW5hZ2VyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29y
ZC5oIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKaW5kZXggYTgzMGU2OC4u
NzU1N2VhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgK
KysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKQEAgLTM5LDcgKzM5LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBPYmplY3RzIG9mIHRoaXMgY2xhc3MgY2FuIGJl
IHVzZWQgZnJvbSBtdWx0aXBsZSB0aHJlYWRzIHdpdGggZXh0ZXJuYWwgc3luY2hyb25pemF0aW9u
LgogLy8gU3RyaW5nIGFyZ3VtZW50cyBhcmUgYWxzbyBzdXBwb3NlZCB0byBiZSBkZWVwbHkgY29w
aWVkIGJ5IHRoZSBjYWxsZXIgd2hlbiBuZWNlc3NhcnkuCi1jbGFzcyBPcmlnaW5Vc2FnZVJlY29y
ZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luVXNhZ2VSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJlY29yZCgpOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaCBiL1dlYkNvcmUvc3RvcmFn
ZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2NTcuLjM5ODg4ZDYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCisrKyBiL1dlYkNvcmUv
c3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0zMyw3ICszMyw2IEBACiAKICNpZiBF
TkFCTEUoREFUQUJBU0UpCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC00MSw4ICs0MCwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNl
OwogCiAvLyBBIGNsaWVudCB0byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxU
cmFuc2FjdGlvbiB0byBub3RpZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4g
dGhpbmdzIGhhdmUgaGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0
aW9uQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50
KCkgeyB9CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJh
c2UqKTsKICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwog
ICAgIGJvb2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBiL1dlYkNvcmUvc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uZmQ3Njc4MiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAor
KysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4
ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlv
bjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAgICBTUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yKCkgeyB9CiAgICAgICAgIHZvaWQgYWNxdWlyZUxvY2soU1FMVHJhbnNhY3Rpb24qKTsK
ICAgICAgICAgdm9pZCByZWxlYXNlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lk
IHNodXRkb3duKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lv
bnMuaCBiL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCmluZGV4IGEwY2YyYmIu
LjBlZDYyYTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5o
CisrKyBiL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCkBAIC0zOCw3ICszOCw4
IEBAIGNsYXNzIFNWR1N0eWxlZEVsZW1lbnQ7CiBjbGFzcyBTVkdTTUlMRWxlbWVudDsKIGNsYXNz
IFNWR1NWR0VsZW1lbnQ7CiAKLWNsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTVkdEb2N1bWVudEV4dGVuc2lvbnMgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8U1ZHU3R5bGVkRWxlbWVu
dD4gPiBTVkdQZW5kaW5nRWxlbWVudHM7CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKERvY3Vt
ZW50Kik7CkBAIC02OCw5ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxBdG9taWNTdHJp
bmcsIFNWR1BlbmRpbmdFbGVtZW50cyo+IG1fcGVuZGluZ1Jlc291cmNlczsKICAgICBPd25QdHI8
U1ZHUmVzb3VyY2VzQ2FjaGU+IG1fcmVzb3VyY2VzQ2FjaGU7CiAKLSAgICBTVkdEb2N1bWVudEV4
dGVuc2lvbnMoY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0gICAgU1ZHRG9jdW1lbnRF
eHRlbnNpb25zJiBvcGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0KIHB1
YmxpYzoKICAgICAvLyBUaGlzIEhhc2hNYXAgY29udGFpbnMgYSBsaXN0IG9mIHBlbmRpbmcgcmVz
b3VyY2VzLiBQZW5kaW5nIHJlc291cmNlcywgYXJlIHN1Y2gKICAgICAvLyB3aGljaCBhcmUgcmVm
ZXJlbmNlZCBieSBhbnkgb2JqZWN0IGluIHRoZSBTVkcgZG9jdW1lbnQsIGJ1dCBkbyBOT1QgZXhp
c3QgeWV0LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmggYi9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAppbmRleCA0Mjc2YzRhLi5kYTBmNGMxIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAorKysgYi9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaApAQCAtMjEsNyArMjEsNiBAQAogI2RlZmluZSBTVkdF
bGVtZW50UmFyZURhdGFfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTMxLDcgKzMwLDggQEAgY2xhc3MgU1ZHQ3Vyc29yRWxlbWVudDsK
IGNsYXNzIFNWR0VsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CiAKLWNsYXNzIFNW
R0VsZW1lbnRSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdFbGVtZW50
UmFyZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0VsZW1lbnRSYXJlRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0
YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2
Zy9TVkdGb250RGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5
Li5mMjAyZDI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1dl
YkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTVkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdGb250RGF0YShTVkdGb250
RmFjZUVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5TVkdGb250RGF0YSgpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVu
ZGVyLmgKaW5kZXggYzBhZTdmMy4uOGU0M2I5NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZH
UGF0aEJsZW5kZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCkBAIC0yMywx
MSArMjMsMTEgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5o
IgogI2luY2x1ZGUgIlNWR1BhdGhTb3VyY2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoQmxlbmRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQmxlbmRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU1ZHUGF0aEJsZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBTVkdQYXRoQmxlbmRlcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQ
YXRoQnl0ZVN0cmVhbS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAppbmRleCBi
ODg4MmI2Li4xZjQ1ZGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVh
bS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKQEAgLTIxLDcgKzIxLDYg
QEAKICNkZWZpbmUgU1ZHUGF0aEJ5dGVTdHJlYW1faAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNDMsNyArNDIsOCBAQCB0eXBlZGVmIHVuaW9uIHsK
ICAgICB1bnNpZ25lZCBjaGFyIGJ5dGVzW3NpemVvZih1bnNpZ25lZCBzaG9ydCldOwogfSBVbnNp
Z25lZFNob3J0Qnl0ZTsKIAotY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0geworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNWR1BhdGhCeXRlU3RyZWFtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2
Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi5kYmJkY2ExIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29u
c3VtZXIuaApAQCAtMjYsNyArMjYsNiBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJG
bG9hdFBvaW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDAsOCArMzksMTAgQEAgZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAg
IFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgorICAgIFNWR1BhdGhDb25zdW1lcigpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBpbmNyZW1lbnRQ
YXRoU2VnbWVudENvdW50KCkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBjb250aW51ZUNvbnN1bWlu
ZygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYW51cCgpID0gMDsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaApp
bmRleCA3Njc5YTk1Li4wOTYxMzFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFy
c2VyLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCkBAIC0yOSwxMiArMjksMTIg
QEAKICNpbmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnLmgi
CiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgU1ZHUGF0aFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRo
UGFyc2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoUGFyc2VyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aFBhcnNlcigpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRo
U291cmNlLmgKaW5kZXggZDFhNjE0OS4uNzdiZjlmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcv
U1ZHUGF0aFNvdXJjZS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaApAQCAtMjUs
OCArMjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoU291cmNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhTb3VyY2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1BhdGhTb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNv
dXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29uc3QgPSAwOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1Zp
ZXdTcGVjLmgKaW5kZXggNjg2Y2VjMy4uY2QxMGNhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcv
U1ZHVmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zMiw4ICsz
Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIGNsYXNzIFNW
R1ZpZXdTcGVjIDogcHVibGljIFNWR0ZpdFRvVmlld0JveCwKLSAgICAgICAgICAgICAgICAgICAg
cHVibGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdab29tQW5kUGFuIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7CiBwdWJsaWM6CiAgICAgU1ZHVmlld1Nw
ZWMoU1ZHRWxlbWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHAgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggYzk4MDRh
ZS4uZThhMDY1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3Bw
CisrKyBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtNTUsNyArNTUsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDog
cHVibGljIEVtcHR5Q2hyb21lQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
SW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQ2hyb21lQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHSW1hZ2VDaHJvbWVDbGllbnQoU1ZHSW1hZ2UqIGltYWdl
KQogICAgICAgICA6IG1faW1hZ2UoaW1hZ2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYmF1ZGlv
L1JlYWx0aW1lQW5hbHlzZXIuaCBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5o
CmluZGV4IDY4NmMxN2MuLmNjNzkxZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2ViYXVkaW8vUmVh
bHRpbWVBbmFseXNlci5oCisrKyBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5o
CkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEZsb2F0MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7
CiAjZW5kaWYKIAotY2xhc3MgUmVhbHRpbWVBbmFseXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBSZWFsdGltZUFuYWx5c2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFs
dGltZUFuYWx5c2VyKTsKIHB1YmxpYzoKICAgICBSZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmly
dHVhbCB+UmVhbHRpbWVBbmFseXNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRz
L1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAwNWIzNzY3Li44ZjNmMTU1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9X
ZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtMzQsNyAr
MzQsNiBAQAogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsOCArNDIsMTAgQEAgY2xhc3MgS1VS
TDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBXZWJTb2NrZXRDaGFubmVs
Q2xpZW50OwogCi1jbGFzcyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwpOwogcHVibGljOgorICAg
IFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgeyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHBy
b3RvY29sKTsKIAogICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0KCkgPSAwOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggOWM1MjM3Ny4uYTM5Y2QwZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCiAgICAgY2xhc3MgV2Vi
U29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlNvY2tldENoYW5uZWw+LCBwdWJs
aWMgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQs
IGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7
IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAorKysgYi9XZWJDb3JlL3dl
YnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1
ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVz
dC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGlj
OgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBG
YWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi45ZjBiMDFhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwu
aAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94eTsKIGNsYXNzIFdv
cmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDog
cHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+LCBwdWJs
aWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgV2ViU29ja2V0Q2hh
bm5lbENsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBLVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpCiAgICAgewpAQCAtNzcsNyArNzgsOCBAQCBwcm90
ZWN0ZWQ6CiBwcml2YXRlOgogICAgIC8vIEdlbmVyYXRlZCBieSB0aGUgYnJpZGdlLiAgVGhlIFBl
ZXIgYW5kIGl0cyBicmlkZ2Ugc2hvdWxkIGhhdmUgaWRlbnRpY2FsCiAgICAgLy8gbGlmZXRpbWVz
LgotICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQZWVyIDogcHVibGljIFdlYlNvY2tldENoYW5uZWxD
bGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZWVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGVlciogY3JlYXRlKFJl
ZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbENsaWVudFdyYXBwZXI+IGNsaWVudFdyYXBw
ZXIsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25z
dCBTdHJpbmcmIHByb3RvY29sKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBiL1dlYkNvcmUvd29ya2Vycy9EZWZh
dWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCmluZGV4IDIxZTE0YTEuLjQ5MDJhZDcgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCisr
KyBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCkBAIC0z
Niw3ICszNiw2IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTMsNyArNTIsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyUHJveHk7CiAKICAgICAvLyBQ
bGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2hhcmVkV29ya2VyUmVwb3Np
dG9yeSBzdGF0aWMgaW50ZXJmYWNlLgotICAgIGNsYXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlZmF1bHRTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9h
ZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2Ny
aXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4p
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggNWQxNWQ5NC4uMDg0NjQyNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQogCiAgICAgICAg
IC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRoZSB3b3JrZXIg
dGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1YWwgfk9ic2Vy
dmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
aCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2Uu
LjRkZTkwZGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC0zNCw3
ICszNCw2IEBACiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRlICJXb3Jr
ZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTQ2LDcgKzQ1LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBw
dWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1Ymxp
YyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3Jr
ZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3Jr
ZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdvcmtlck1lc3NhZ2luZ1Byb3h5KFdvcmtlciop
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAgYi9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKaW5kZXggODNmMjQzZi4uN2IzMTQ5YyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCisrKyBiL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcApAQCAtMTA0LDcgKzEwNCw4IEBAIFN0cmluZyBXb3Jr
ZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi1jbGFz
cyBSdW5Mb29wU2V0dXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFNldHVw
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29wU2V0dXApOwogcHVibGljOgogICAg
IFJ1bkxvb3BTZXR1cChXb3JrZXJSdW5Mb29wJiBydW5Mb29wKQogICAgICAgICA6IG1fcnVuTG9v
cChydW5Mb29wKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCBi
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKaW5kZXggOWQ0ZWRmZC4uM2ZlYjRlOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAorKysgYi9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCkBAIC02NSw3ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRNb2RlKCk7CiAKLSAgICAgICAg
Y2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxU
YXNrPiBjcmVhdGUoUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNr
LCBjb25zdCBTdHJpbmcmIG1vZGUpOwogICAgICAgICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclRocmVhZC5jcHAKaW5kZXggZjYxMTIwZS4uOWNkNGQ1YiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgi
CiAKICNpbmNsdWRlIDx1dGlsaXR5PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aWYgRU5BQkxFKERBVEFCQVNFKQogI2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgpAQCAtNjEsNyAr
NjAsOCBAQCB1bnNpZ25lZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkKICAgICBy
ZXR1cm4gbV90aHJlYWRDb3VudDsKIH0KIAotc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVh
ZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmNwcAppbmRleCBmYzdlYjllLi4yYjc3MjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBA
IC02NSw3ICs2NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBXVEY6OlJlZkNvdW50
ZWRMZWFrQ291bnRlciB4bWxIdHRwUmVxdWVzdENvdW50ZXIoIlhNTEh0dHBSZXF1ZXN0Iik7CiAj
ZW5kaWYKIAotc3RydWN0IFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSA6IE5vbmNvcHlhYmxlIHsK
K3N0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmluZyBtX3By
b3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5oCmluZGV4IGJjNjgxNWQuLmIxNWQzNTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmgKKysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDQs
NiArNDQsNyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxv
YWRlcjsKIAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRw
UmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxIdHRwUmVxdWVzdD4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBY
TUxIdHRwUmVxdWVzdChjb250ZXh0KSk7IH0KICAgICB+WE1MSHR0cFJlcXVlc3QoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaCBiL1dlYkNvcmUveG1sL1hQ
YXRoRXhwcmVzc2lvbk5vZGUuaAppbmRleCBjMDRkNDViLi45M2ZiODU5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhF
eHByZXNzaW9uTm9kZS5oCkBAIC0zOSw3ICszOSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAgICAgICAgIAotICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlv
bkNvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250
ZXh0IHsKKyAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5vZGU7CiAgICAgICAgICAgICB1bnNpZ25l
ZCBsb25nIHNpemU7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHBvc2l0aW9uOwpAQCAtNTMs
NyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIH5QYXJz
ZU5vZGUoKSB7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBFeHByZXNzaW9uIDogcHVi
bGljIFBhcnNlTm9kZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXhwcmVz
c2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRXhwcmVzc2lvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0
KCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94
bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4uNjE5ZDkxYyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS94bWwvWFBhdGhOb2RlU2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgK
QEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQ
YXRoIHsKIAotICAgICAgICBjbGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBOb2RlU2V0KCkgOiBtX2lzU29ydGVk
KHRydWUpLCBtX3N1YnRyZWVzQXJlRGlzam9pbnQoZmFsc2UpIHsgfQogICAgICAgICAgICAgCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oIGIvV2ViQ29yZS94bWwvWFBhdGhQ
YXJzZXIuaAppbmRleCAwZWU0NDdhLi5mNDliNDRiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9Y
UGF0aFBhcnNlci5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKQEAgLTU4LDcgKzU4
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgVG9rZW4oaW50IHQsIEVxVGVz
dE9wOjpPcGNvZGUgdik6IHR5cGUodCksIGVxb3Aodikge30KICAgICAgICAgfTsKIAotICAgICAg
ICBjbGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQYXJz
ZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFyc2VyKTsKICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgUGFyc2VyKCk7CiAgICAgICAgICAgICB+UGFyc2VyKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oIGIvV2ViQ29yZS94bWwvWFBh
dGhQcmVkaWNhdGUuaAppbmRleCA1ZjI0ODJhLi4zNjAwMTU0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3htbC9YUGF0aFByZWRpY2F0ZS5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgK
QEAgLTEwNSw3ICsxMDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0
dWFsIFZhbHVlOjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNl
dFZhbHVlOyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgUHJlZGljYXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgUHJlZGljYXRlIHsKKyAgICAgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFByZWRpY2F0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQcmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAg
ICAgICAgICAgflByZWRpY2F0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhTdGVw
LmggYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAppbmRleCBlYzAyMmIzLi5iMDMxYmFmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aFN0
ZXAuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgY2xh
c3MgUHJlZGljYXRlOwogICAgICAgICAKLSAgICAgICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJz
ZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMg
UGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXApOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBB
eGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywg
QXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
ICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgICAgICBlbnVtIEtpbmQgewog
ICAgICAgICAgICAgICAgICAgICBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2RlVGVzdCwgUHJvY2Vz
c2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVzdApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oIGIvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVs
ZS5oCmluZGV4IGYzYTkzMTguLjVjMGNhOGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hTTElt
cG9ydFJ1bGUuaAorKysgYi9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKQEAgLTM1LDYgKzM1
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ2FjaGVkWFNMU3R5bGVTaGVldDsKIAog
Y2xhc3MgWFNMSW1wb3J0UnVsZSA6IHB1YmxpYyBTdHlsZUJhc2UsIHByaXZhdGUgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFhTTEltcG9ydFJ1bGU+IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBw
YXJlbnRTaGVldCwgY29uc3QgU3RyaW5nJiBocmVmKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktp
dC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI2ZWJhMjEuLjBmYjEyZGMgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDEwLTEyLTA2ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCBy
aWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAg
SW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRp
bmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisg
ICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRh
dGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2Uu
aCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJs
ZS5oOiBSZW1vdmVkLgorCiAyMDEwLTExLTE4ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KIAogICAgICAgICAqIFN0cmluZ3NOb3RUb0JlTG9jYWxpemVkLnR4dDogVXBkYXRlZCBmb3Ig
cmVjZW50IGNoYW5nZXMuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2Jq
ZWN0LmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4u
NDNkYjc5ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaApAQCAtMzIsMTQgKzMyLDE0IEBA
CiAjZGVmaW5lIEJvdW5kT2JqZWN0X2gKIAogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiAvLyBCb3VuZE9iamVjdCBp
cyBhIGhlbHBlciBjbGFzcyB0aGF0IGxldHMgeW91IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxs
cwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3ll
ZCBvbmNlIEpTIG9iamVjdCBpcwogLy8gYnVpbHQuCi1jbGFzcyBCb3VuZE9iamVjdCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBCb3VuZE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQm91bmRPYmplY3QpOwogcHVibGljOgogICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8
djg6OkNvbnRleHQ+IGNvbnRleHQsIHZvaWQqIHY4VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFt
ZSk7CiAgICAgdmlydHVhbCB+Qm91bmRPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9E
ZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKaW5kZXggMDg2MGNiMS4uNTljMjE3NyAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKKysrIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKQEAgLTQwLDcgKzQwLDYg
QEAKICNpbmNsdWRlICJXZWJGcmFtZUltcGwuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgog
I2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC01NSw3ICs1NCw4IEBAIGJvb2wgRGVidWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhwb3Nl
VjhEZWJ1Z2dlclByb3RvY29sID0gZmFsc2U7CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIENhbGxl
cklkV3JhcHBlciA6IHB1YmxpYyB2ODo6RGVidWc6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnRE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsZXJJZFdyYXBwZXIpOwogcHVibGlj
OgogICAgIENhbGxlcklkV3JhcHBlcigpIDogbV9jYWxsZXJJc01hbmFuYWdlcih0cnVlKSwgbV9j
YWxsZXJJZCgwKSB7IH0KICAgICBleHBsaWNpdCBDYWxsZXJJZFdyYXBwZXIoaW50IGNhbGxlcklk
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5o
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCmluZGV4IDY2YmQ3
MTQuLmI3ODU2Y2YgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2Vu
dE1hbmFnZXIuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2Vy
LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTYzLDcgKzYyLDggQEAgY2xhc3MgV2ViVmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qg
c29tZSBhY3Rpb25zIGZyb20gdGhlIGhhbmRsZXIuIElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRl
CiAvLyBkZWJ1Z2dlciBhZ2VudCB0byBoYW5kbGUgc3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3
aWxsIHBlcmZvcm0gdGhlIGFjdGlvbgogLy8gaXRzZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcg
d2FpdGluZyBmb3IgdGhlIGFjdGlvbi4KLWNsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShEZWJ1Z2dlckFnZW50TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgZGVidWdBdHRhY2goRGVidWdnZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwog
ICAgIHN0YXRpYyB2b2lkIGRlYnVnRGV0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFn
ZW50KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbC5oCmluZGV4IGZjMjFmM2UuLjA1OTZjYWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1
bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaApAQCAtMzIsNyArMzIsNiBAQAogI2Rl
ZmluZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGxfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OwpAQCAtNDQsOCArNDMs
OCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7
CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsK
K2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNw
ZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRJbXBsKTsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dEltcGwoV2ViQ29yZTo6UGFnZSosIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZU
b29sc0Zyb250ZW5kSW1wbCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50
SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApp
bmRleCA5ZjRjZTg3Li5kMTFiOGYzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkRldlRvb2xzQWdlbnRJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRv
b2xzQWdlbnRJbXBsLmNwcApAQCAtNjAsNyArNjAsNiBAQAogI2luY2x1ZGUgIldlYlZpZXdDbGll
bnQuaCIKICNpbmNsdWRlICJXZWJWaWV3SW1wbC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGlt
ZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KIAogdXNpbmcgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI7CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKaW5kZXggODY2YTFjYi4uYjA4NTMzOCAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaApAQCAtMzYs
NyArMzYsNiBAQAogI2luY2x1ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgpAQCAtNTUsOCArNTQsOCBAQCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdl
RGF0YTsKIAogdXNpbmcgV1RGOjpTdHJpbmc7CiAKLWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJ
bXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNG
cm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAg
ICAgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwoCiAgICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwq
IHdlYlZpZXdJbXBsLApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUlt
cGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDQ0MjJl
MWIuLjI2Yjk2YmMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI4MCw3
ICsyODAsOCBAQCBXZWJQbHVnaW5Db250YWluZXJJbXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNv
bnRhaW5lckZyb21GcmFtZShGcmFtZSogZnJhbWUpCiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVy
cmlkZSBzb21lIG9mIFByaW50Q29udGV4dCBiZWhhdmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwog
Ly8gbWFkZSB2aXJ0dWFsIHNvIHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBs
dWdpblByaW50Q29udGV4dC4KLWNsYXNzIENocm9tZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmlu
dENvbnRleHQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQg
OiBwdWJsaWMgUHJpbnRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQ
cmludENvbnRleHQpOwogcHVibGljOgogICAgIENocm9tZVByaW50Q29udGV4dChGcmFtZSogZnJh
bWUpCiAgICAgICAgIDogUHJpbnRDb250ZXh0KGZyYW1lKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBv
cHVwTWVudUltcGwuaAppbmRleCAyMjFiYTAzLi4xZTkyNDc0IDEwMDY0NAotLS0gYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBvcHVwTWVudUltcGwuaApAQCAtNTYsNiArNTYsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIGNs
YXNzIFdlYlBvcHVwTWVudUltcGwgOiBwdWJsaWMgV2ViUG9wdXBNZW51LAogICAgICAgICAgICAg
ICAgICAgICAgICAgIHB1YmxpYyBXZWJDb3JlOjpGcmFtZWxlc3NTY3JvbGxWaWV3Q2xpZW50LAog
ICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudUlt
cGw+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICAvLyBXZWJX
aWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJi
YWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNs
dWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFz
cyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4
IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3Bw
IGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDE4YjY0YWIuLmUy
NmE1YzQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAor
KysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTIyLDcgKzIyLDYg
QEAKIAogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+CiAjaW5jbHVkZSAiR1JlZlB0ci5oIgot
I2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNp
bmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
SW50ZXJuYWwuaCIKQEAgLTU0LDcgKzUzLDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAg
KiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAK
LWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VI
YW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxl
LmggYi9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTA4MDI0Li4wMDAwMDAwCi0tLSBhL1dlYktpdC9t
YWMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSArMCwwIEBACi0jaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJv
eHkuaCBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVBy
b3h5LmgKaW5kZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyAr
MzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6
RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFs
dWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBk
YXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpT
Qzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVj
dE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbSBiL1dl
YktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzcz
OS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJh
Y2tlckNsaWVudC5tbQorKysgYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldl
YkRhdGFiYXNlVHJhY2tlckNsaWVudCgpCiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xp
ZW50KiBjbGllbnQsIFNlY3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L1dlYktpdF9wY2guaCBiL1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKaW5kZXggMWRk
NGQ1Mi4uZTA5NWVmNCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYktpdF9wY2guaAorKysgYi9X
ZWJLaXQvcXQvV2ViS2l0X3BjaC5oCkBAIC03Miw3ICs3Miw2IEBACiAjaW5jbHVkZSA8d3RmL0Zh
c3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvVENTeXN0ZW1BbGxvYy5oPgogI2luY2x1ZGUgPHd0
Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUg
PHd0Zi9BbHdheXNJbmxpbmUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vQ09NRW51bVZhcmlh
bnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBhOTNhM2MyLi42NzI1MTA3
IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysrIGIvV2ViS2l0L3dp
bi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgK
ICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAj
aW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWlu
ZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJ
QU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250YWluZXJUeXBlJik7CiAgICAg
c3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShjb25zdCBDb250YWluZXJUeXBl
Jik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9XZWJLaXQvd2lu
L0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uMmI1N2E2NyAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aApAQCAtMjksMTMgKzI5LDEzIEBACiAjZGVmaW5lIE5PTUlOTUFYDQogI2luY2x1ZGUgPHVua253
bi5oPg0KIA0KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4NCiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4NCiANCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRl
PHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3Ry
aW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFz
cyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlC
YWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3Bl
cnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBl
LCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9XZWJL
aXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC93aW4vRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCmluZGV4IDlhYzhjNjkuLjc1MzE4ODggMTAwNjQ0Ci0tLSBhL1dl
YktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisrKyBiL1dlYktpdC93aW4vRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlci5oCkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAg
ICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
IGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgx
ZTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9X
ZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUyLDggQEAgc3RhdGlj
IGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikKICAgICByZXR1cm4g
IXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6
IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFz
ZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IERh
dGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAogICAgIHJldHVybiBT
X09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNo
VG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5hZ2VyLCBTZWN1cml0
eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSW5zcGVj
dG9yLmggYi9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4IDA1M2E1OTMuLmNkMzI0YTgg
MTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvV2ViS2l0L3dpbi9X
ZWJJbnNwZWN0b3IuaApAQCAtMzAsMTEgKzMwLDExIEBACiAjZGVmaW5lIFdlYkluc3BlY3Rvcl9o
CiAKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
Y2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0
b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3Bl
Y3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmlldyop
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAgYi9X
ZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTliOTlh
ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBi
L1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBz
dGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVy
biBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2Fs
aXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0
cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBm
MDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgK
KysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNzIFdl
YlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdvcmxk
IHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3JsZCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgogICAgIHN0YXRp
YyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8V2Vi
U2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgK
aW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJpYWxp
emVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAt
MzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNj
cmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxp
emVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMg
SVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVi
bGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3Rh
bmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcu
LjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyAr
MzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0
ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29w
eWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJD
b250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVibGlj
OgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0
YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDBjMmM0YzcuLmFlNWY3ZjUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTItMDYgIFpv
bHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5k
IEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9j
QmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0
NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBpbmhl
cml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFibGUu
aCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCiAyMDEwLTEyLTA1
ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXaW5kb3dzIHByb2R1
Y3Rpb24gYnVpbGQgZml4CmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmlu
YXJ5U2VtYXBob3JlLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3Jl
LmgKaW5kZXggODExMzIzNi4uOGVmZmIwZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9C
aW5hcnlTZW1hcGhvcmUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCaW5hcnlTZW1hcGhv
cmVfaAogI2RlZmluZSBCaW5hcnlTZW1hcGhvcmVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIAogbmFtZXNwYWNl
IENvcmVJUEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktp
dDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWMxYWNjZCAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5o
CkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIE1vZHVsZV9oCiAjZGVmaW5lIE1vZHVsZV9oCiAK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM5LDcgKzM4LDggQEAKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBN
b2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6CiAgICAg
TW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVk
TWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uYTg2YjlmZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0
Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5o
CkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIFNoYXJlZE1lbW9yeV9oCiAjZGVmaW5lIFNoYXJl
ZE1lbW9yeV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTUyLDcgKzUx
LDggQEAgcHVibGljOgogICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0gICAgY2xhc3MgSGFu
ZGxlIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhhbmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKICAg
ICAgICAgfkhhbmRsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
bkNvbnRyb2xsZXJQcm94eS5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eS5oCmluZGV4IDBhYzEyNjYuLmZhOTkzYjUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaAorKysgYi9XZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRl
ICJQbHVnaW5Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgIlNo
YXJlZE1lbW9yeS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZP
Uk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5oCmluZGV4IGE0Zjk0OGIuLjgzMmQwMmYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVj
dGlvbjsKIHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAK
IGNsYXNzIFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNz
JiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgg
Yi9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44YzVlOGUzIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9XZWJLaXQyL1No
YXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVmaW5lIENoaWxkUHJv
Y2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90
ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAg
ICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9O
UE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oIGIvV2ViS2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVj
dE1lc3NhZ2VSZWNlaXZlci5oCmluZGV4IGQzMzYzZjkuLjdlMGZlZjEgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaAorKysgYi9XZWJL
aXQyL1NoYXJlZC9QbHVnaW5zL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyLmgKQEAgLTMwLDcgKzMw
LDYgQEAKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlIDxXZWJDb3JlL25wcnVu
dGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFy
ZWQvUGx1Z2lucy9OUE9iamVjdFByb3h5LmggYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5zL05QT2Jq
ZWN0UHJveHkuaAppbmRleCBlNGMwMGM1Li4zZGM5MjRiIDEwMDY0NAotLS0gYS9XZWJLaXQyL1No
YXJlZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9QbHVnaW5z
L05QT2JqZWN0UHJveHkuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShQTFVHSU5fUFJP
Q0VTUykKIAogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXQy
L1NoYXJlZC9TYW5kYm94RXh0ZW5zaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9TYW5kYm94RXh0ZW5z
aW9uLmgKaW5kZXggZjVmYjU3Ni4uNTExMjY1OCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQv
U2FuZGJveEV4dGVuc2lvbi5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNpb24u
aApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBTYW5kYm94RXh0ZW5zaW9uX2gKIAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCmRpZmYg
LS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL0ZpbmRJbmRpY2F0b3JXaW5kb3cuaCBi
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oCmluZGV4IGU4
ODg5YjYuLjNmNWZhZGEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmlu
ZEluZGljYXRvcldpbmRvdy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZElu
ZGljYXRvcldpbmRvdy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIEZpbmRJbmRpY2F0b3JX
aW5kb3dfaAogI2RlZmluZSBGaW5kSW5kaWNhdG9yV2luZG93X2gKIAotI2ltcG9ydCA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1Jl
ZlB0ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVmMmUyLi4wZGM3YTlj
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5h
Z2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdl
ci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKQEAgLTQxLDcgKzQwLDgg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBX
ZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDogTm9uY29weWFi
bGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblBy
b2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggZmU3ZDg5Ni4uOWUxNzQyZSAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3Jl
V2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3Rv
cmVXaW4uY3BwCkBAIC0yNTYsNyArMjU2LDggQEAgVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0
b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBkaXJlY3RvcmllczsKIH0KIAot
Y2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXRoV2Fsa2Vy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2VyKTsKIHB1YmxpYzoKICAgICBQ
YXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNz
L1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0g
YS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIvV2ViS2l0Mi9V
SVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKICNpbmNs
dWRlIDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRM
aW5rUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDU0ZjMyNWEuLmZjMWNmMGUgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAorKysgYi9X
ZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTI4LDcgKzI4LDYgQEAK
IAogI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNl
UmVxdWVzdC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC01OSw3ICs1OCw2IEBAIGNsYXNz
IFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5k
ZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRv
d25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIH5Eb3dubG9h
ZCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1h
bmFnZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRNYW5hZ2VyLmgK
aW5kZXggMWYyN2I4Ni4uYjY2ZGFjNyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rv
d25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxv
YWRzL0Rvd25sb2FkTWFuYWdlci5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIERvd25sb2Fk
TWFuYWdlcl9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5k
bGU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpT
T2JqZWN0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0
LmgKaW5kZXggNjczN2JkNC4uMWI0MzE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvUHJvdGVjdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50aW1l
X2ludGVybmFsLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwpAQCAtNDAsNyArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8vIE5QSlNPYmpl
Y3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3MgTlBKU09iamVj
dCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09iamVjdCA6IHB1
YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09iamVjdCk7CiBw
dWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAq
IG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1naXQgYS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdl
ci5oCmluZGV4IGQ3YmE4NTMuLjY4YTgwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisrKyBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCkBAIC0y
OSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKIC8vIE1hbmFnZXMgcGx1Zy1pbiBwcm9jZXNzIGNvbm5lY3Rpb25zIGZvciB0
aGUgZ2l2ZW4gd2ViIHByb2Nlc3MuCkBAIC0zOCw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1jbGFzcyBQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdp
blByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggYi9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCmluZGV4IDExMGE3YTQuLjliYjZmMjcgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKKysrIGIvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaApAQCAtMjksNyArMjksNiBA
QAogI2luY2x1ZGUgIlBhZ2VPdmVybGF5LmgiCiAjaW5jbHVkZSAiV2ViRmluZE9wdGlvbnMuaCIK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmggYi9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAppbmRleCAyMWE3NTI5Li5iNzA5MDgyIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaAorKysg
Yi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaApAQCAtMzAsNyArMzAs
NiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cK
aW5kZXggZmI5YjI2Ny4uMzlkN2E0NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTEyLTA2
ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxl
IGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RB
bGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2
LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2Ug
aW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlh
YmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAg
ICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEw
LTEyLTA0ICBBbnRvbmlvIEdvbWVzICA8YWdvbWVzQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgTWFydGluIFJvYmluc29uLgpAQCAtMjA2OTQsNyArMjA3MDYsNyBAQAogCiAyMDEwLTA3
LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKLSAgICAgICAgQ29t
bWVudCBvdXQgYSBwYXJ0IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8Kg
dG8gZmFpbCBvbiBUaWdlciBhbmQgTGVvcGFyZC4KKyAgICAgICAgQ29tbWVudCBvdXQgYSBwYXJ0
IG9mIFRlc3ROZXRzY2FwZVBsdWdpbiB0aGF0IGNhdXNlZCB0ZXN0c8IgdG8gZmFpbCBvbiBUaWdl
ciBhbmQgTGVvcGFyZC4KIAogICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi9tYWluLmNwcDoKICAgICAgICAgKE5QUF9OZXcpOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFi
bGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg0ODRkMi4uMDAwMDAwMAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29w
eWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLmJkMzZkNTggMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgK
QEAgLTQ1LDcgKzQ1LDYgQEAKIAogI2luY2x1ZGUgIkNwcFZhcmlhbnQuaCIKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTU4LDcgKzU3LDggQEAg
dHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3Vu
ZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkg
YWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQq
IHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Bw
Qm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAg
cHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RFJURGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RFJURGV2VG9vbHNBZ2VudC5oCmluZGV4IGUxNDc4ZDAuLjBkYWM0YzcgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgK
QEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9v
bHNBZ2VudENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00OSw4ICs0OCw4IEBA
IHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVu
dDsKIAotY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xz
QWdlbnRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdl
bnRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwog
cHVibGljOgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29s
c0FnZW50KCkge30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVERldlRvb2xzQ2xpZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjAzMGQ2ODcgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50
LmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHND
bGllbnQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkRSVERldlRvb2xzQ2FsbEFyZ3Mu
aCIKICNpbmNsdWRlICJUYXNrLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9vbHNGcm9udGVuZENsaWVu
dC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs0Nyw4IEBAIGNsYXNzIFdlYlZpZXc7
CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDog
cHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAg
ICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQg
OiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9v
bHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1
YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4
IGI2NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEs
NyArMTExLDggQEAgcHVibGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xs
ZXIuIFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24g
YXMgcG9zc2libGUuCi1jbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVz
dE5hdmlnYXRpb25Db250cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0
aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaAppbmRleCAzODgzMWQ5Li45NjE4ZGM0IDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNv
bnRyb2xEUlQuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJU
aGVtZUNvbnRyb2xEUlQuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAKICNpbmNsdWRlICJza2lhL2V4
dC9wbGF0Zm9ybV9jYW52YXMuaCIKICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUv
Y29yZS9Ta0NvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIC8vIFNraWEg
Zm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNv
bnRyb2xEUlQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJU
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlQpOwogcHVibGlj
OgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4g
V2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBz
ZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVu
Z2luZURSVC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVF
bmdpbmVEUlQuaAppbmRleCBlNTA4ODZiLi41MzYyZmIzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVC5oCisrKyBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKQEAgLTQ4
LDkgKzQ4LDkgQEAKICNkZWZpbmUgV2ViVGhlbWVFbmdpbmVEUlRfaAogCiAjaW5jbHVkZSAid2lu
L1dlYlRoZW1lRW5naW5lLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNz
IFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVCA6IHB1YmxpYyBXZWJLaXQ6
OldlYlRoZW1lRW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2lu
ZURSVCk7CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlQoKSB7fQogCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1dlYktpdFRvb2xzL1dl
YktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLjgxM2IxOWUgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1dlYktpdFRv
b2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0yNiwxMSArMjYsMTIgQEAKICNkZWZp
bmUgSG9zdFdpbmRvd19oCiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAKIG5hbWVzcGFjZSBXZWJL
aXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBIb3N0V2luZG93IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0V2luZG93KTsK
IHB1YmxpYzoKICAgICBIb3N0V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9XZWJLaXRU
b29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0
NTUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVy
LmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApAQCAt
MjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xhc3Mg
VGVzdHNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29udHJv
bGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvV2ViS2l0VG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLmJiMDRl
MjAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRp
b24uaAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgK
QEAgLTI3LDExICsyNywxMiBAQAogI2RlZmluZSBUZXN0SW52b2NhdGlvbl9oCiAKICNpbmNsdWRl
IDxXZWJLaXQyL1dLUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+Cisj
aW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAKIG5hbWVzcGFjZSBXVFIgewogCi1jbGFzcyBUZXN0
SW52b2NhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0SW52b2NhdGlvbiB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdEludm9jYXRpb24pOwogcHVibGljOgogICAg
IFRlc3RJbnZvY2F0aW9uKGNvbnN0IGNoYXIqKTsKICAgICB+VGVzdEludm9jYXRpb24oKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75808</attachid>
            <date>2010-12-07 06:43:40 -0800</date>
            <delta_ts>2011-01-04 07:51:49 -0800</delta_ts>
            <desc>updated, ews test</desc>
            <filename>kedd3.patch</filename>
            <type>text/plain</type>
            <size>327515</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmggYi9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDbGFzc1JlZi5oCmluZGV4IDUwNjIwOTMuLjA5NzE3MDAgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2xhc3NSZWYuaApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPHJ1bnRpbWUvV2Vha0dD
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAotc3RydWN0IFN0YXRpY1ZhbHVlRW50
cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBTdGF0aWNWYWx1ZUVudHJ5KEpTT2Jq
ZWN0R2V0UHJvcGVydHlDYWxsYmFjayBfZ2V0UHJvcGVydHksIEpTT2JqZWN0U2V0UHJvcGVydHlD
YWxsYmFjayBfc2V0UHJvcGVydHksIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQog
ICAgICAgICA6IGdldFByb3BlcnR5KF9nZXRQcm9wZXJ0eSksIHNldFByb3BlcnR5KF9zZXRQcm9w
ZXJ0eSksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0ZXMpCiAgICAgewpAQCAtNDUsNyArNDcsOSBAQCBz
dHJ1Y3QgU3RhdGljVmFsdWVFbnRyeSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIEpTUHJvcGVydHlB
dHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CiB9OwogCi1zdHJ1Y3QgU3RhdGljRnVuY3Rpb25FbnRyeSA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFN0YXRpY0Z1bmN0aW9uRW50cnkoSlNP
YmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNrIF9jYWxsQXNGdW5jdGlvbiwgSlNQcm9wZXJ0eUF0
dHJpYnV0ZXMgX2F0dHJpYnV0ZXMpCiAgICAgICAgIDogY2FsbEFzRnVuY3Rpb24oX2NhbGxBc0Z1
bmN0aW9uKSwgYXR0cmlidXRlcyhfYXR0cmlidXRlcykKICAgICB7CkBAIC02Miw3ICs2Niw5IEBA
IHN0cnVjdCBPcGFxdWVKU0NsYXNzOwogCiAvLyBBbiBPcGFxdWVKU0NsYXNzIChKU0NsYXNzKSBp
cyBjcmVhdGVkIHdpdGhvdXQgYSBjb250ZXh0LCBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGFueSBj
b250ZXh0LCBldmVuIGFjcm9zcyBjb250ZXh0IGdyb3Vwcy4KIC8vIFRoaXMgc3RydWN0dXJlIGhv
bGRzIGRhdGEgbWVtYmVycyB0aGF0IHZhcnkgYWNyb3NzIGNvbnRleHQgZ3JvdXBzLgotc3RydWN0
IE9wYXF1ZUpTQ2xhc3NDb250ZXh0RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBPcGFxdWVK
U0NsYXNzQ29udGV4dERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE9w
YXF1ZUpTQ2xhc3NDb250ZXh0RGF0YShPcGFxdWVKU0NsYXNzKik7CiAgICAgfk9wYXF1ZUpTQ2xh
c3NDb250ZXh0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmpl
Y3RSZWYuY3BwIGIvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4
Y2E4Li5kNmRlNDI2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYu
Y3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKQEAgLTQ4MCw3ICs0
ODAsOSBAQCBKU09iamVjdFJlZiBKU09iamVjdENhbGxBc0NvbnN0cnVjdG9yKEpTQ29udGV4dFJl
ZiBjdHgsIEpTT2JqZWN0UmVmIG9iamVjdCwgc2l6ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LXN0cnVjdCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgT3BhcXVlSlNQcm9wZXJ0eU5hbWVBcnJheShKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEpCiAgICAgICAgIDogcmVmQ291bnQoMCkKICAgICAgICAgLCBnbG9iYWxEYXRh
KGdsb2JhbERhdGEpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ2Nzk3Zi4uMzMwZmRkMiAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDEwLTEyLTA3ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAg
ICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3Rz
IGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUg
YW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBs
ZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxv
Y0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IE1vdmUg
RmFzdEFsbG9jQmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIFBsYXRmb3JtLmgKKyAgICAg
ICAgKiB3dGYvTm9uY29weWFibGUuaCA6IFJlbW92ZWQuIE5vbmNvcHlhYmxlJ3MgbWFjcm8gaW1w
bGVtZW50YXRpb24ncyBtb3ZlZCB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6IEFkZCBOb25jb3B5YWJsZSdzIGFuZCBGYXN0QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50
YXRpb24uCisKIDIwMTAtMTItMDcgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJhcnJhY2xvdWdoLgpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0gYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5h
bQppbmRleCA4OWY5YWI3Li5hODMxMThhIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9HTlVt
YWtlZmlsZS5hbQorKysgYi9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNDY3LDcg
KzQ2Nyw2IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCUphdmFTY3JpcHRDb3JlL3d0
Zi9NRDUuaCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oIFwKIAlKYXZhU2Ny
aXB0Q29yZS93dGYvTm9uQ29weWluZ1NvcnQuaCBcCi0JSmF2YVNjcmlwdENvcmUvd3RmL05vbmNv
cHlhYmxlLmggXAogCUphdmFTY3JpcHRDb3JlL3d0Zi9Ob3RGb3VuZC5oIFwKIAlKYXZhU2NyaXB0
Q29yZS93dGYvTnVsbFB0ci5oIFwKIAlKYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBc
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCA2NzZhMzVkLi44NDgzYTRkIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTM5OCw3ICszOTgsNiBAQAogICAgICAgICAg
ICAgJ3d0Zi9NYXRoRXh0cmFzLmgnLAogICAgICAgICAgICAgJ3d0Zi9NZXNzYWdlUXVldWUuaCcs
CiAgICAgICAgICAgICAnd3RmL05vbkNvcHlpbmdTb3J0LmgnLAotICAgICAgICAgICAgJ3d0Zi9O
b25jb3B5YWJsZS5oJywKICAgICAgICAgICAgICd3dGYvTm90Rm91bmQuaCcsCiAgICAgICAgICAg
ICAnd3RmL09TQWxsb2NhdG9yV2luLmNwcCcsCiAgICAgICAgICAgICAnd3RmL09TQWxsb2NhdG9y
LmgnLApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dU
Ri9XVEYudmNwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9X
VEYudmNwcm9qCmluZGV4IDRhM2U4NTkuLmFhM2MxODkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagorKysgYi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKQEAgLTY1MywxMCArNjUz
LDYgQEAKIAkJCT4KIAkJPC9GaWxlPgogCQk8RmlsZQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3
dGZcTm9uY29weWFibGUuaCIKLQkJCT4KLQkJPC9GaWxlPgotCQk8RmlsZQogCQkJUmVsYXRpdmVQ
YXRoPSIuLlwuLlx3dGZcTm9uQ29weWluZ1NvcnQuaCIKIAkJCT4KIAkJPC9GaWxlPgpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZTdkZTBlMS4uYzJkNGE0MSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NDYsNyAr
NDQ2LDYgQEAKIAkJQkMxOEM0M0MwRTE2RjVDRDAwQjM0NDYwIC8qIE1hdGhPYmplY3QuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODZCMDI1NTU5
N0QwMUZGNjBGNyAvKiBNYXRoT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0M0UwRTE2RjVDRDAwQjM0NDYwIC8qIE1lc3NhZ2VR
dWV1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFF
RTc5OEIwRDZDQTUzRDAwRkVBM0JBIC8qIE1lc3NhZ2VRdWV1ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDMThDNDNGMEUxNkY1Q0QwMEIzNDQ2
MCAvKiBOb2Rlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjY5MkE4NkUwMjU1NTk3RDAxRkY2MEY3IC8qIE5vZGVzLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoKTsgfTsgfTsKLQkJQkMxOEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5vbmNv
cHlhYmxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
MzAzRjU2OTA5OTExOTAwMDBBRDcxQjggLyogTm9uY29weWFibGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQ0MTBFMTZGNUNEMDBCMzQ0
NjAgLyogTnVtYmVyQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDMjY4MEMzMEUxNkQ0RTkwMEEwNkU5MiAvKiBOdW1iZXJDb25zdHJ1
Y3Rvci5oICovOyB9OwogCQlCQzE4QzQ0MjBFMTZGNUNEMDBCMzQ0NjAgLyogTnVtYmVyQ29uc3Ry
dWN0b3IubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzI2ODBFNjBFMTZENTIzMDBBMDZFOTIgLyogTnVtYmVyQ29uc3RydWN0b3IubHV0LmggKi87
IH07CiAJCUJDMThDNDQzMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJPYmplY3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2OTJBODcxMDI1NTU5N0Qw
MUZGNjBGNyAvKiBOdW1iZXJPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtODgzLDcgKzg4Miw2IEBACiAJCTkwNUIwMkFEMEUyODY0MEYw
MDZERjg4MiAvKiBSZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTBEMzQ2OUIwRTI4NTI4MDAwOTQ5MkVFIC8qIFJlZkNvdW50ZWRM
ZWFrQ291bnRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWZDb3VudGVk
TGVha0NvdW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwM0Y1NjcwOTkx
MThGQTAwQUQ3MUI4IC8qIE93blB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBPd25QdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTMwM0Y1NjkwOTkxMTkw
MDAwQUQ3MUI4IC8qIE5vbmNvcHlhYmxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE5vbmNvcHlhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDNGNUE0
MDk5MTFBNTgwMEFENzFCOCAvKiBPd25BcnJheVB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBPd25BcnJheVB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5MzA1MkMzMzBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFyc2VyQXJlbmEuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIyMTcsNyArMjIxNSw2IEBACiAJCQkJN0VGRjAwNjQwRUMw
NUE5QTAwQUE3QzkzIC8qIE5vZGVJbmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQzRjBF
MTZGNUNEMDBCMzQ0NjAgLyogTm9kZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1RTFBM0RGMTIy
Qjg5NDUwMEIyNjA5NyAvKiBOb25Db3B5aW5nU29ydC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMx
OEM0NDAwRTE2RjVDRDAwQjM0NDYwIC8qIE5vbmNvcHlhYmxlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDMEEyNzI2MzBFNTBBMDYzMDBFOTZFMTUgLyogTm90Rm91bmQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDMThDNDQxMEUxNkY1Q0QwMEIzNDQ2MCAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkMxOEM0NDIwRTE2RjVDRDAwQjM0NDYwIC8qIE51bWJlckNvbnN0cnVj
dG9yLmx1dC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oIGIvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAppbmRleCAwN2JkNzAyLi5mZDRiYzEzIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisr
KyBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BYnN0cmFjdE1hY3JvQXNzZW1ibGVyLmgKQEAg
LTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkNvZGVMb2NhdGlvbi5oIgogI2luY2x1ZGUgIk1h
Y3JvQXNzZW1ibGVyQ29kZVJlZi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiAjaWYgRU5BQkxFKEFTU0VNQkxFUikKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmggYi9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oCmluZGV4IGUzOGI5ZDQuLjAzMDQyZjggMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaApAQCAtMzIsNyArMzIsNiBAQAogI2RlZmlu
ZSBEVU1QX0NPREUgMAogCiAjaW5jbHVkZSA8TWFjcm9Bc3NlbWJsZXIuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTUwLDcgKzQ5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhlIGFkZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBp
bnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZlZC4KIC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNl
ZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0LgogLy8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTGlua0J1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29k
ZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5
cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIExhYmVsOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaCBiL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9SZXBhdGNoQnVmZmVyLmgKaW5kZXggNzJjZjZiMi4uZTVhNmUyZCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL1JlcGF0Y2hCdWZmZXIuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvUmVwYXRjaEJ1ZmZlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxF
KEFTU0VNQkxFUikKIAogI2luY2x1ZGUgPE1hY3JvQXNzZW1ibGVyLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjFjZDA4NjMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5oCkBAIC0yNDIsNyArMjQyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfQogI2Vu
ZGlmCiAKLSAgICBjbGFzcyBDb2RlQmxvY2sgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgQ29kZUJsb2NrIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
ICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgcHJvdGVjdGVkOgogICAgICAgICBDb2RlQmxvY2so
U2NyaXB0RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBDb2RlVHlwZSwgSlNHbG9iYWxPYmpl
Y3QqLCBQYXNzUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiwgdW5zaWduZWQgc291cmNlT2Zmc2V0LCBT
eW1ib2xUYWJsZSogc3ltYm9sVGFibGUsIGJvb2wgaXNDb25zdHJ1Y3Rvcik7CkBAIC01NzgsNyAr
NTc5LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgU3ltYm9sVGFibGUqIG1fc3ltYm9s
VGFibGU7CiAKLSAgICAgICAgc3RydWN0IFJhcmVEYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAg
ICAgIHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBWZWN0b3I8SGFuZGxlckluZm8+IG1fZXhj
ZXB0aW9uSGFuZGxlcnM7CiAKICAgICAgICAgICAgIC8vIFJhcmUgQ29uc3RhbnRzCkBAIC01OTks
NiArNjAyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBWZWN0b3I8Q2FsbFJldHVy
bk9mZnNldFRvQnl0ZWNvZGVPZmZzZXQ+IG1fY2FsbFJldHVybkluZGV4VmVjdG9yOwogI2VuZGlm
CiAgICAgICAgIH07CisjaWYgUExBVEZPUk0oV0lOKQorICAgICAgICBmcmllbmQgdm9pZCBXVEY6
OmRlbGV0ZU93bmVkUHRyPFJhcmVEYXRhPihSYXJlRGF0YSopOworI2VuZGlmCiAgICAgICAgIE93
blB0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKICAgICB9OwogCmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
SW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li5mMDc3Y2JmIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
Y2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBTdHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRf
YnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRfcHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0
byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBzdHJlYW0uCi0gICAgc3RydWN0IFBvbHlt
b3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBQ
b2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHN0cnVjdCBQb2x5bW9ycGhpY1N0dWJJbmZv
IHsKICAgICAgICAgICAgIGJvb2wgaXNDaGFpbjsKICAgICAgICAgICAgIFBvbHltb3JwaGljQWNj
ZXNzU3RydWN0dXJlTGlzdFN0dWJSb3V0aW5lVHlwZSBzdHViUm91dGluZTsKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBsaW5nVG9vbC5oIGIvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKaW5kZXggOGUzZWQ5ZS4uOWNhNTRkYSAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKQEAgLTE0Miw3ICsxNDIsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgZnJpZW5kIGNsYXNzIEhvc3RDYWxsUmVjb3JkOwogICAgICAgICAK
ICNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQotICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3JkKTsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wqIHNhbXBsaW5nVG9vbCkKICAgICAg
ICAgICAgICAgICA6IG1fc2FtcGxpbmdUb29sKHNhbXBsaW5nVG9vbCkKQEAgLTE3Miw3ICsxNzMs
OCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICNlbHNlCi0g
ICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBj
bGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxS
ZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5n
VG9vbCopCiAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5oCmluZGV4IGE5MGY3NTYuLjFkMmJkMDggMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC00MCw3ICs0MCw2
IEBACiAjaW5jbHVkZSAiU3ltYm9sVGFibGUuaCIKICNpbmNsdWRlICJEZWJ1Z2dlci5oIgogI2lu
Y2x1ZGUgIk5vZGVzLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9TZWdtZW50ZWRWZWN0b3IuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC04NSw3ICs4NCw4IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gcHJvcGVydHlSZWdpc3RlcjsKICAgICB9OwogCi0g
ICAgY2xhc3MgQnl0ZWNvZGVHZW5lcmF0b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgQnl0ZWNvZGVHZW5lcmF0b3IgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0
YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlv
blN0YWNrIEZ1bmN0aW9uU3RhY2s7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvUmVnaXN0ZXJJRC5oIGIvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVy
SUQuaAppbmRleCAzNTMyYWQ4Li43OGQ0OWQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9SZWdpc3RlcklELmgKQEAgLTMwLDEyICszMCwxMiBAQAogI2RlZmluZSBSZWdpc3RlcklEX2gK
IAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIFJlZ2lzdGVySUQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJl
Z2lzdGVySUQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlcklEKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFJlZ2lzdGVySUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50
KDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgg
Yi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgKaW5kZXggZGZiZTY1OC4u
NzQwMDAxZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2Fs
bC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaApAQCAtMzIs
NyArMzIsOCBAQAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAKIG5hbWVzcGFjZSBKU0Mgewot
ICAgIGNsYXNzIENhY2hlZENhbGwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENh
Y2hlZENhbGwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRDYWxsKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDYWNoZWRDYWxsKENh
bGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5jdGlvbiwgaW50IGFyZ0NvdW50KQog
ICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaCBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uNzUzZDkwZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5oCkBAIC0zMCw3ICszMCw2IEBACiAjZGVmaW5lIEludGVycHJl
dGVyX2gKIAogI2luY2x1ZGUgIkFyZ0xpc3QuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgi
CiAjaW5jbHVkZSAiSlNDZWxsLmgiCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgIkpT
T2JqZWN0LmgiCkBAIC02NSw3ICs2NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSB7
IE1heExhcmdlVGhyZWFkUmVlbnRyeURlcHRoID0gMjU2LCBNYXhTbWFsbFRocmVhZFJlZW50cnlE
ZXB0aCA9IDMyIH07CiAKLSAgICBjbGFzcyBJbnRlcnByZXRlciA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBJbnRlcnByZXRlciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwogICAgICAgICBmcmllbmQgY2xhc3Mg
Q2FjaGVkQ2FsbDsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9SZWdpc3Rlci5oIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIu
aAppbmRleCAzOGQxNjQ3Li4zOTQ0NjQyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9SZWdpc3Rlci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lz
dGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTQ3LDcgKzQ2
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0eXBlZGVmIEV4ZWNTdGF0ZSBDYWxsRnJhbWU7
CiAKLSAgICBjbGFzcyBSZWdpc3RlciA6IHB1YmxpYyBXVEY6OkZhc3RBbGxvY0Jhc2UgeworICAg
IGNsYXNzIFJlZ2lzdGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBSZWdpc3RlcigpOwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaCBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L1JlZ2lzdGVyRmlsZS5oCmluZGV4IGQ5ZjZhMmIuLjY4MjIwMzUgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAi
UmVnaXN0ZXIuaCIKICNpbmNsdWRlICJXZWFrR0NQdHIuaCIKICNpbmNsdWRlIDxzdGRpby5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYWdlUmVzZXJ2YXRp
b24uaD4KICNpbmNsdWRlIDx3dGYvVk1UYWdzLmg+CiAKQEAgLTg5LDcgKzg4LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICBjbGFzcyBKU0dsb2JhbE9iamVjdDsKIAotICAgIGNsYXNzIFJlZ2lz
dGVyRmlsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJGaWxlIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVnaXN0ZXJGaWxlKTsKICAgICAgICAgZnJp
ZW5kIGNsYXNzIEpJVDsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gQ2FsbEZyYW1lSGVhZGVy
RW50cnkgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCA0ZDI1MTNkLi43MjU0N2ViIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNs
YXNzIFJlZ0V4cDsKIAotICAgIGNsYXNzIExleGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBMZXhlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExleGVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDaGFyYWN0ZXIg
bWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGljIGJvb2wgaXNXaGl0ZVNwYWNl
KGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVz
LmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA2OTMwZjYzLi5jNmEwYjhk
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTM3NCw3ICsxMzc0LDkgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9OwogCi0gICAgc3RydWN0
IFNjb3BlTm9kZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgU2NvcGVOb2RlRGF0
YSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAg
ICAgdHlwZWRlZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAg
IHR5cGVkZWYgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsK
IApAQCAtMTQ3MCw2ICsxNDcyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNs
YXNzIEZ1bmN0aW9uUGFyYW1ldGVycyA6IHB1YmxpYyBWZWN0b3I8SWRlbnRpZmllcj4sIHB1Ymxp
YyBSZWZDb3VudGVkPEZ1bmN0aW9uUGFyYW1ldGVycz4geworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZ1bmN0
aW9uUGFyYW1ldGVycz4gY3JlYXRlKFBhcmFtZXRlck5vZGUqIGZpcnN0UGFyYW1ldGVyKSB7IHJl
dHVybiBhZG9wdFJlZihuZXcgRnVuY3Rpb25QYXJhbWV0ZXJzKGZpcnN0UGFyYW1ldGVyKSk7IH0K
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDY1NDkwNjcuLjQ1MmEzZTEgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJQYXJzZXJBcmVuYS5oIgog
I2luY2x1ZGUgIlNvdXJjZVByb3ZpZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC00NSw4ICs0NCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFyc2VyQXJlbmFEYXRhIDogUGFy
c2VyQXJlbmFEZWxldGFibGUgeyBUIGRhdGE7IH07CiAKLSAgICBjbGFzcyBQYXJzZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
KyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQYXJzZWROb2Rl
PgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0IFNvdXJjZUNv
ZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3RuZXNzIHN0cmlj
dG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJl
bmEuaAppbmRleCA3YzE4MDllLi44MmZiODA4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJl
bmEuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBQYXJzZXJB
cmVuYURlbGV0YWJsZTsKICAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50ZWQ7CiAKLSAgICBj
bGFzcyBJZGVudGlmaWVyQXJlbmEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3Mg
SWRlbnRpZmllckFyZW5hIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBBTFdBWVNfSU5MSU5FIGNvbnN0IElkZW50aWZpZXImIG1ha2VJZGVu
dGlmaWVyKEpTR2xvYmFsRGF0YSosIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVu
Z3RoKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciYgbWFrZU51bWVyaWNJZGVudGlmaWVyKEpT
R2xvYmFsRGF0YSosIGRvdWJsZSBudW1iZXIpOwpAQCAtNTksNyArNjAsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgcmV0dXJuIG1faWRlbnRpZmllcnMubGFzdCgpOwogICAgIH0KIAotICAg
IGNsYXNzIFBhcnNlckFyZW5hIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhcnNlckFyZW5h
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFyc2VyQXJlbmEpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgUGFyc2VyQXJlbmEoKTsKICAgICAgICAgflBhcnNlckFyZW5hKCk7CmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAgYi9KYXZhU2NyaXB0Q29y
ZS9wY3JlL3BjcmVfZXhlYy5jcHAKaW5kZXggZjQ4OTlmMi4uMmJiY2MxMSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3Bj
cmUvcGNyZV9leGVjLmNwcApAQCAtNDgsNiArNDgsNyBAQCB0aGUgSmF2YVNjcmlwdCBzcGVjaWZp
Y2F0aW9uLiBUaGVyZSBhcmUgYWxzbyBzb21lIHN1cHBvcnRpbmcgZnVuY3Rpb25zLiAqLwogI2lu
Y2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogCiAjaWYgUkVHRVhQX0hJU1RPR1JB
TQogI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgpAQCAtMTEyLDcgKzExMyw5IEBAIHN0cnVjdCBC
cmFja2V0Q2hhaW5Ob2RlIHsKICAgICBjb25zdCBVQ2hhciogYnJhY2tldFN0YXJ0OwogfTsKIAot
c3RydWN0IE1hdGNoRnJhbWUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBNYXRjaEZyYW1lIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBSZXR1cm5Mb2NhdGlv
biByZXR1cm5Mb2NhdGlvbjsKICAgICBzdHJ1Y3QgTWF0Y2hGcmFtZSogcHJldmlvdXNGcmFtZTsK
ICAgICAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVy
LmggYi9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oCmluZGV4IDc2YzE0
NzAuLmE5ODI3YzAgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVu
dGlmaWVyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaApA
QCAtMjgsMTMgKzI4LDE0IEBACiAjZGVmaW5lIENhbGxJZGVudGlmaWVyX2gKIAogI2luY2x1ZGUg
PHJ1bnRpbWUvVVN0cmluZy5oPgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgog
CiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBDYWxsSWRlbnRpZmllciA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIFVTdHJpbmcgbV9uYW1l
OwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25lZCBtX2xpbmVOdW1iZXI7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oIGIvSmF2YVNj
cmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRleCBmOWMyY2NiLi5mODg3NDZkIDEwMDY0
NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3Byb2ZpbGVyL1Byb2ZpbGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgY2xhc3MgVVN0cmluZzsKICAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXI7ICAgIAog
Ci0gICAgY2xhc3MgUHJvZmlsZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3Mg
UHJvZmlsZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyBQcm9maWxlcioqIGVuYWJsZWRQcm9maWxlclJlZmVyZW5jZSgpCiAg
ICAgICAgIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKaW5kZXggY2Q1NjNhMi4uNTdlM2MyMCAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKQEAgLTI1LDE0ICsyNSwxNCBAQAogI2luY2x1ZGUg
IkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgTWFya1N0YWNrOwogCi0gICAgY2xh
c3MgTWFya2VkQXJndW1lbnRCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IE1hcmtlZEFyZ3VtZW50QnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFy
a2VkQXJndW1lbnRCdWZmZXIpOwogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDg7CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lz
dGVyLCBpbmxpbmVDYXBhY2l0eT4gVmVjdG9yVHlwZTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJndW1lbnRzLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50
cy5oCmluZGV4IDcxNWEyYWMuLmZlOTAwYTIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJndW1lbnRzLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMu
aApAQCAtMzMsNyArMzMsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQXJn
dW1lbnRzRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFyZ3VtZW50c0RhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIEFyZ3VtZW50c0RhdGEoKSB7IH0KICAg
ICAgICAgSlNBY3RpdmF0aW9uKiBhY3RpdmF0aW9uOwogCiAgICAgICAgIHVuc2lnbmVkIG51bVBh
cmFtZXRlcnM7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFu
c2l0aW9uT3B0aW1pemVyLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0
aW9uT3B0aW1pemVyLmgKaW5kZXggNzQwODlhNS4uZGIyZDFkNyAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCisrKyBiL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaApAQCAtMjcsMTIg
KzI3LDEyIEBACiAjaWZuZGVmIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKICNkZWZpbmUg
QmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBjbGFz
cyBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcik7CiAgICAgcHVibGljOgogICAgICAg
ICBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcihKU09iamVjdCogb2JqZWN0KQogICAgICAgICAg
ICAgOiBtX29iamVjdChvYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbGxlY3Rvci5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAppbmRleCBk
ZDI2YmMzLi41Y2IxZTQxIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbGxl
Y3Rvci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKQEAgLTMwLDcg
KzMwLDYgQEAKICNpbmNsdWRlIDx3dGYvRml4ZWRBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
Q291bnRlZFNldC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYWdl
QWxsb2NhdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC04Nyw3ICs4Niw4
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAgICAgfTsKIAotICAgIGNsYXNzIEhlYXAg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhlYXAgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShIZWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGNsYXNzIFRocmVhZDsK
IApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5o
IGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDFlMjJi
NmEuLmI1M2FlNDMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJz
LmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUgQ29tbW9uSWRlbnRpZmllcnNfaAogCiAjaW5j
bHVkZSAiSWRlbnRpZmllci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAvLyBN
YXJrZWRBcmd1bWVudEJ1ZmZlciBvZiBwcm9wZXJ0eSBuYW1lcywgcGFzc2VkIHRvIGEgbWFjcm8g
c28gd2UgY2FuIGRvIHNldCB0aGVtIHVwIHZhcmlvdXMKIC8vIHdheXMgd2l0aG91dCByZXBlYXRp
bmcgdGhlIGxpc3QuCkBAIC04NCw3ICs4Myw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAg
Y2xhc3MgQ29tbW9uSWRlbnRpZmllcnMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IENvbW1vbklkZW50aWZpZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29tbW9u
SWRlbnRpZmllcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAg
ICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5kIGNs
YXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlND
ZWxsLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCmluZGV4IDdkNDkyOWQuLjcz
NjNhZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1
ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJNYXJrU3RhY2suaCIKICNpbmNsdWRlICJTdHJ1Y3R1
cmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3MTQ5OTlmLi4wYzVi
YmVkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgK
KysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUsNyAr
NDY1LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJy
YXkoZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1ZXMp
OwogICAgIH0KIAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxG
cmFtZSwgSlNHbG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpIAogICAgICAgICAgICAg
OiBtX2R5bmFtaWNHbG9iYWxPYmplY3RTbG90KGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmR5bmFt
aWNHbG9iYWxPYmplY3QpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9j
ay5oIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaAppbmRleCAwNWIzODhjLi42NGQ3
YTRjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNkZWZpbmUg
SlNMb2NrX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC01Myw3ICs1Miw4IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRpb25z
T25seSwgTG9ja0ZvclJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SlNMb2NrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAgICAg
ICAgSlNMb2NrKEpTR2xvYmFsRGF0YSopOwpAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgICAgICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAgICBj
bGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBE
cm9wQWxsTG9ja3MgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFsbExv
Y2tzKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNTdGF0
ZSogZXhlYyk7CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKaW5kZXggYjU0NzdhMS4uMGI3MjJiMiAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHByaXZh
dGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdpZmll
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVyKEV4
ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJpbmdp
ZmllcigpOwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaCBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJjODFkNC4uMGQ2ZDk4ZiAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0xvb2t1cC5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgIHR5cGVkZWYgUHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmMgR2V0RnVuY3Rpb247CiAgICAg
dHlwZWRlZiB2b2lkICgqUHV0RnVuY3Rpb24pKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBiYXNlT2Jq
ZWN0LCBKU1ZhbHVlIHZhbHVlKTsKIAotICAgIGNsYXNzIEhhc2hFbnRyeSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoRW50cnkgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHZvaWQgaW5pdGlhbGl6ZShTdHJpbmdJ
bXBsKiBrZXksIHVuc2lnbmVkIGNoYXIgYXR0cmlidXRlcywgaW50cHRyX3QgdjEsIGludHB0cl90
IHYyCiAjaWYgRU5BQkxFKEpJVCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TWFya1N0YWNrLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCmluZGV4IGMz
ZWZjOGYuLjJjM2Y3OTQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0
YWNrLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2suaApAQCAtMjcsNyAr
MjcsNyBAQAogI2RlZmluZSBNYXJrU3RhY2tfaAogCiAjaW5jbHVkZSAiSlNWYWx1ZS5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUg
PHd0Zi9PU0FsbG9jYXRvci5oPgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTM3LDcgKzM3LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgCiAgICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNv
bnRhaW5OdWxsVmFsdWVzLCBOb051bGxWYWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3Rh
Y2sgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWFya1N0YWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFj
ayh2b2lkKiBqc0FycmF5VlB0cikKICAgICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5
VlB0cikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0
b3IuaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1
OGFiZGU1Li4xNzE0YmQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cENvbnN0cnVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1
Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4
cFByb3RvdHlwZTsKICAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAg
c3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0
cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIEdsb2JhbCBzZWFyY2ggY2FjaGUgLyBz
ZXR0aW5ncwogICAgICAgICBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUoKQogICAgICAgICAgICAg
OiBsYXN0TnVtU3ViUGF0dGVybnMoMCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5o
CmluZGV4IDE5ZGU5MjkuLjI4NWM5NjQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmpl
Y3QuaApAQCAtNjAsNyArNjAsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICB2aXJ0dWFs
IENhbGxUeXBlIGdldENhbGxEYXRhKENhbGxEYXRhJik7CiAKLSAgICAgICAgc3RydWN0IFJlZ0V4
cE9iamVjdERhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgc3RydWN0IFJlZ0V4cE9iamVj
dERhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFJlZ0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVn
RXhwPiByZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAo
cmVnRXhwKQogICAgICAgICAgICAgICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKQEAgLTcwLDcg
KzcyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBSZWZQdHI8UmVnRXhwPiByZWdF
eHA7CiAgICAgICAgICAgICBkb3VibGUgbGFzdEluZGV4OwogICAgICAgICB9OwotCisjaWYgUExB
VEZPUk0oV0lOKQorICAgICAgICBmcmllbmQgdm9pZCBXVEY6OmRlbGV0ZU93bmVkUHRyPFJlZ0V4
cE9iamVjdERhdGE+KFJlZ0V4cE9iamVjdERhdGEqKTsKKyNlbmRpZgogICAgICAgICBPd25QdHI8
UmVnRXhwT2JqZWN0RGF0YT4gZDsKICAgICB9OwogCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1Njb3BlQ2hhaW4uaCBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFp
bi5oCmluZGV4IDBiMTViNjcuLjYzNjI4MmIgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU2NvcGVDaGFpbi5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFp
bi5oCkBAIC0yMSw4ICsyMSw2IEBACiAjaWZuZGVmIFNjb3BlQ2hhaW5faAogI2RlZmluZSBTY29w
ZUNoYWluX2gKIAotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKLQogbmFtZXNwYWNlIEpTQyB7
CiAKICAgICBjbGFzcyBKU0dsb2JhbERhdGE7CkBAIC0zMSw3ICsyOSw4IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIE1hcmtTdGFjazsKICAgICBjbGFzcyBTY29wZUNoYWluSXRlcmF0b3I7
CiAgICAgCi0gICAgY2xhc3MgU2NvcGVDaGFpbk5vZGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7
CisgICAgY2xhc3MgU2NvcGVDaGFpbk5vZGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNjb3BlQ2hhaW5Ob2RlKFNjb3BlQ2hhaW5Ob2Rl
KiBuZXh0LCBKU09iamVjdCogb2JqZWN0LCBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBnbG9iYWxUaGlzKQogICAgICAgICAg
ICAgOiBuZXh0KG5leHQpCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxs
U3RyaW5ncy5jcHAgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKaW5k
ZXggZjM1ODcyNy4uM2UyNzg1NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
bWFsbFN0cmluZ3MuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdz
LmNwcApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKICNp
bmNsdWRlICJKU1N0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDAsNyArMzksOCBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgaXNNYXJrZWQoSlNTdHJpbmcqIHN0cmluZykKICAgICByZXR1
cm4gc3RyaW5nICYmIEhlYXA6OmlzQ2VsbE1hcmtlZChzdHJpbmcpOwogfQogCi1jbGFzcyBTbWFs
bFN0cmluZ3NTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNtYWxsU3RyaW5n
c1N0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5nc1N0b3JhZ2Up
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9y
YWdlKCk7CiAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdz
LmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQxZWJmYjEz
Li5hYzg0ZmU4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5n
cy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKQEAgLTM3LDcg
KzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNz
IFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAgICBjbGFzcyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFNtYWxsU3RyaW5ncyB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgU21hbGxTdHJpbmdzKCk7CiAgICAgICAgIH5TbWFsbFN0cmluZ3Mo
KTsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaCBiL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRleCAxYjE2MzZkLi4yNjM1NTAx
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCkBAIC0xMjIsNiArMTIyLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwg
U3ltYm9sVGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFN0
cmluZ0ltcGw+ID4sIFN5bWJvbFRhYmxlSW5kZXhIYXNoVHJhaXRzPiBTeW1ib2xUYWJsZTsKIAog
ICAgIGNsYXNzIFNoYXJlZFN5bWJvbFRhYmxlIDogcHVibGljIFN5bWJvbFRhYmxlLCBwdWJsaWMg
UmVmQ291bnRlZDxTaGFyZWRTeW1ib2xUYWJsZT4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZFN5
bWJvbFRhYmxlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU2hhcmVkU3ltYm9sVGFi
bGUpOyB9CiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V2Vha0dDTWFwLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5oCmluZGV4IDM5
YTkxYzUuLjI2ODNkMTMgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dD
TWFwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaApAQCAtMzUsNyAr
MzUsOCBAQCBjbGFzcyBKU0NlbGw7CiAKIC8vIEEgSGFzaE1hcCB3aG9zZSBnZXQoKSBmdW5jdGlv
biByZXR1cm5zIGVtcHR5VmFsdWUoKSBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFtZSBNYXBwZWRUeXBlPgotY2xhc3MgV2Vh
a0dDTWFwIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgV2Vha0dDTWFwIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAg
ICogQSB2YWx1ZSBlbnRlcnMgdGhlIFdlYWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNl
dCgpLikKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNp
bmNsdWRlICJDb2xsZWN0b3IuaCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVy
IHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1
Y3Rpb24uCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFi
bGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2Vha0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAg
ICAgICA6IG1fcHRyKDApCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJl
YWRSZWZDb3VudGVkLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVk
LmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3Rm
L0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1Ro
cmVhZFJlZkNvdW50ZWQuaApAQCAtNTEsNyArNTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAv
LyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFsIGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhl
IHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkKICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2lu
YWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAgICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBj
bGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENyb3NzVGhyZWFkUmVmQ291bnRlZCk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxDcm9zc1RocmVhZFJlZkNvdW50ZWQ8VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAg
ICAgewpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRleCBjYjg0NzA4Li5lMGRlYjFiIDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
RGF0ZU1hdGguaApAQCAtNDMsMTAgKzQzLDEwIEBACiAjZGVmaW5lIERhdGVNYXRoX2gKIAogI2lu
Y2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4K
ICNpbmNsdWRlIDx0aW1lLmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAKIG5h
bWVzcGFjZSBXVEYgewpAQCAtMTE2LDcgKzExNiw5IEBAIGRvdWJsZSBwYXJzZURhdGVGcm9tTnVs
bFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKEV4ZWNTdGF0ZSosIGNvbnN0IGNoYXIqIGRhdGVTdHJpbmcp
CiAKIC8vIEludGVudGlvbmFsbHkgb3ZlcnJpZGRpbmcgdGhlIGRlZmF1bHQgdG0gb2YgdGhlIHN5
c3RlbS4KIC8vIFRoZSBtZW1iZXJzIG9mIHRtIGRpZmZlciBvbiB2YXJpb3VzIG9wZXJhdGluZyBz
eXN0ZW1zLgotc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIDogTm9uY29weWFibGUgeworc3RydWN0
IEdyZWdvcmlhbkRhdGVUaW1lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmVnb3JpYW5E
YXRlVGltZSk7CitwdWJsaWM6CiAgICAgR3JlZ29yaWFuRGF0ZVRpbWUoKQogICAgICAgICA6IHNl
Y29uZCgwKQogICAgICAgICAsIG1pbnV0ZSgwKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUv
d3RmL0RlcXVlLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAppbmRleCA3NDVlMGI2Li4x
YjE2YWZjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAorKysgYi9KYXZh
U2NyaXB0Q29yZS93dGYvRGVxdWUuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBEZXF1ZUNvbnN0UmV2ZXJzZUl0ZXJhdG9y
OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBjbGFzcyBEZXF1ZSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBEZXF1ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yPFQ+
IGl0ZXJhdG9yOwogICAgICAgICB0eXBlZGVmIERlcXVlQ29uc3RJdGVyYXRvcjxUPiBjb25zdF9p
dGVyYXRvcjsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCmluZGV4IGJiMTgyNWUuLmI2YTUz
NDYgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKKysrIGIv
SmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaApAQCAtMzIsOCArMzIsOCBAQAogLy8g
UHJvdmlkZXMgY3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBmYXN0TWFsbG9jL2Zhc3RGcmVlIGFu
ZCBvcGVyYXRvciBuZXcvZGVsZXRlCiAvLwogLy8gUHJvdmlkZWQgZnVuY3Rpb25hbGl0eToKKy8v
ICAgIE1hY3JvOiBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAogLy8gICAgbmFtZXNwYWNlIFdURiB7
Ci0vLyAgICAgICAgY2xhc3MgRmFzdEFsbG9jQmFzZTsKIC8vCiAvLyAgICAgICAgVCogICAgZmFz
dE5ldzxUPigpOwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oYXJnKTsKQEAgLTQ4LDcgKzQ4
LDEwIEBACiAvLyBGYXN0RGVsZXRlIGFzc3VtZXMgdGhhdCB0aGUgdW5kZXJseWluZwogLy8KIC8v
IEV4YW1wbGUgdXNhZ2U6Ci0vLyAgICBjbGFzcyBXaWRnZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7IC4uLiB9OworLy8gICAgY2xhc3MgV2lkZ2V0IHsKKy8vICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAorLy8gICAgLi4uCisvLyAgICB9OwogLy8KIC8vICAgIGNoYXIqIGNoYXJQdHIg
PSBmYXN0TmV3PGNoYXI+KCk7CiAvLyAgICBmYXN0RGVsZXRlKGNoYXJQdHIpOwpAQCAtODUsNDIg
Kzg4LDYgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLSNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQgXAotcHVibGljOiBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCog
cCkgeyByZXR1cm4gcDsgfSBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2b2lk
KiBwKSB7IHJldHVybiBwOyB9IFwKLSAgICBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVf
dCBzaXplKSBcCi0gICAgeyBcCi0gICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhz
aXplKTsgXAotICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAs
IDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCi0gICAgICAgIHJldHVybiBw
OyBcCi0gICAgfSBcCi0gICAgXAotICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApIFwK
LSAgICB7IFwKLSAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6
OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAotICAgICAgICA6OldURjo6ZmFz
dEZyZWUocCk7IFwKLSAgICB9IFwKLSAgICBcCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6
ZV90IHNpemUpIFwKLSAgICB7IFwKLSAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9j
KHNpemUpOyBcCi0gICAgICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhw
LCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCi0gICAgICAgIHJl
dHVybiBwOyBcCi0gICAgfSBcCi0gICAgXAotICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9p
ZCogcCkgXAotICAgIHsgXAotICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRl
RnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCi0gICAg
ICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKLSAgICB9IFwKLXByaXZhdGU6Ci0KLWNsYXNzIEZh
c3RBbGxvY0Jhc2UgewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEICAKLX07Ci0KICAgICAv
LyBmYXN0TmV3IC8gZmFzdERlbGV0ZQogCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CkBAIC00
MTAsNyArMzc3LDYgQEAgY2xhc3MgRmFzdEFsbG9jQmFzZSB7CiAKIH0gLy8gbmFtZXNwYWNlIFdU
RgogCi11c2luZyBXVEY6OkZhc3RBbGxvY0Jhc2U7CiB1c2luZyBXVEY6OmZhc3REZWxldGVTa2lw
cGluZ0Rlc3RydWN0b3I7CiAKICNlbmRpZiAvLyBGYXN0QWxsb2NCYXNlX2gKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hDb3VudGVkU2V0LmgKaW5kZXggNGVkNzVjNS4uYjk3ZDhjOCAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L0hhc2hDb3VudGVkU2V0LmgKQEAgLTIyLDE0ICsyMiwxNCBAQAogI2RlZmluZSBXVEZfSGFzaENv
dW50ZWRTZXRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIkZhc3RBbGxv
Y0Jhc2UuaCIKICNpbmNsdWRlICJIYXNoTWFwLmgiCiAjaW5jbHVkZSAiVmVjdG9yLmgiCiAKIG5h
bWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEhh
c2hGdW5jdGlvbnMgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZT46Okhhc2gsCi0gICAgICAg
IHR5cGVuYW1lIFRyYWl0cyA9IEhhc2hUcmFpdHM8VmFsdWU+ID4gY2xhc3MgSGFzaENvdW50ZWRT
ZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHR5cGVuYW1lIFRyYWl0cyA9IEhh
c2hUcmFpdHM8VmFsdWU+ID4gY2xhc3MgSGFzaENvdW50ZWRTZXQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8
VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1
YmxpYzoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4IDA5MDk0ZDEuLjc3MzE1NDYgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL0hh
c2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0g
dHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5
VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcg
PSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgotICAgIGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtl
eVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaCBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9IYXNoU2V0LmgKaW5kZXggNjY2MzllNC4uYmU2YjkzZCAxMDA2NDQKLS0tIGEvSmF2YVNj
cmlwdENvcmUvd3RmL0hhc2hTZXQuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5o
CkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IHN0cnVjdCBJZGVudGl0eUV4dHJhY3RvcjsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZh
bHVlQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+
OjpIYXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJn
PiA+IGNsYXNzIEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHR5cGVu
YW1lIFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5
cGVkZWYgSGFzaEFyZyBIYXNoRnVuY3Rpb25zOwogICAgICAgICB0eXBlZGVmIFRyYWl0c0FyZyBW
YWx1ZVRyYWl0czsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5o
IGIvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKaW5kZXggZTE0YWM0NS4uZTkxNmVm
MiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKQEAgLTUyLDcgKzUyLDggQEAgbmFtZXNwYWNl
IFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eT4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjsKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBIYXNoQXJnPiBz
dHJ1Y3QgTGlzdEhhc2hTZXROb2RlSGFzaEZ1bmN0aW9uczsKIAotICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hB
cmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNo
U2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVl
QXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBl
bmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlw
ZWRlZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAg
ICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2Fw
YWNpdHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTG9j
a2VyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKaW5kZXggNDE4MTNkMy4uN2RkYzE0
ZCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Mb2NrZXIuaApAQCAtMjgsMTEgKzI4LDExIEBACiAjaWZuZGVmIExvY2tlcl9o
CiAjZGVmaW5lIExvY2tlcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2VyKTsKIHB1YmxpYzoKICAgICBMb2NrZXIoVCYg
bG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJsZSkgeyBtX2xvY2thYmxlLmxvY2soKTsgfQog
ICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5sb2NrKCk7IH0KZGlmZiAtLWdpdCBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9NRDUuY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5jcHAKaW5kZXgg
YzkyNmE3Yi4uN2MzZjk4MyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5jcHAK
KysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01ENS5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNs
dWRlICJTdHJpbmdFeHRyYXMuaCIKICNpbmNsdWRlICJ0ZXh0L0NTdHJpbmcuaCIKICNlbmRpZgor
I2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFt
ZXNwYWNlIFdURiB7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTUQ1LmggYi9KYXZh
U2NyaXB0Q29yZS93dGYvTUQ1LmgKaW5kZXggM2NhYTgxMC4uNWZlNTBiNSAxMDA2NDQKLS0tIGEv
SmF2YVNjcmlwdENvcmUvd3RmL01ENS5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9NRDUuaApA
QCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBXVEZfTUQ1X2gKIAogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKZGlmZiAtLWdp
dCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9NZXNzYWdlUXVldWUuaAppbmRleCAxNDEwMGM5Li5kN2Q1NzEyIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL01l
c3NhZ2VRdWV1ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1
ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3Bh
Y2UgV1RGIHsKQEAgLTQ4LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8gd2hlbiBt
ZXNzYWdlcyBhcmUgZmV0Y2hlZCBmcm9tIHRoZSBxdWV1ZS4KICAgICAvLyBFc3NlbnRpYWxseSwg
TWVzc2FnZVF1ZXVlIGFjdHMgYXMgYSBxdWV1ZSBvZiBPd25QdHI8RGF0YVR5cGU+LgogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgotICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVF1ZXVlIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVzc2FnZVF1ZXVlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1lc3Nh
Z2VRdWV1ZSgpIDogbV9raWxsZWQoZmFsc2UpIHsgfQogICAgICAgICB+TWVzc2FnZVF1ZXVlKCk7
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaCBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAy
ODVlZDJlLi4wMDAwMDAwCi0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCisr
KyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDYs
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKLSAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lm
bmRlZiBXVEZfTm9uY29weWFibGVfaAotI2RlZmluZSBXVEZfTm9uY29weWFibGVfaAotCi0jaWZu
ZGVmIF9faGFzX2ZlYXR1cmUKLSAgICAjZGVmaW5lIF9faGFzX2ZlYXR1cmUoeCkgMAotI2VuZGlm
Ci0KLSNpZiBfX2hhc19mZWF0dXJlKGN4eF9kZWxldGVkX2Z1bmN0aW9ucykKLSAgICAjZGVmaW5l
IFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAotICAgICAgICBfUHJhZ21hKCJjbGFu
ZyBkaWFnbm9zdGljIHB1c2giKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMg
aWdub3JlZCBcIi1XdW5rbm93bi1wcmFnbWFzXCIiKSBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5n
IGRpYWdub3N0aWMgaWdub3JlZCBcIi1XYysrMHgtZXh0ZW5zaW9uc1wiIikgXAotICAgICAgICBw
cml2YXRlOiBcCi0gICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJikgPSBkZWxl
dGU7IFwKLSAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYp
ID0gZGVsZXRlOyBcCi0gICAgICAgIF9QcmFnbWEoImNsYW5nIGRpYWdub3N0aWMgcG9wIikKLSNl
bHNlCi0gICAgI2RlZmluZSBXVEZfTUFLRV9OT05DT1BZQUJMRShDbGFzc05hbWUpIFwKLSAgICAg
ICAgcHJpdmF0ZTogXAotICAgICAgICAgICAgQ2xhc3NOYW1lKGNvbnN0IENsYXNzTmFtZSYpOyBc
Ci0gICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKQotI2Vu
ZGlmCi0KLS8vIFdlIGRvbid0IHdhbnQgYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cCB0byBwdWxs
IGluIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgV1RGCi0vLyBuYW1lc3BhY2Ugd2hlbiB5b3UgdXNlIE5v
bmNvcHlhYmxlLCBzbyBwdXQgaXQgaW4gaXRzIG93biBuYW1lc3BhY2UuCi0KLSNpbmNsdWRlICJG
YXN0QWxsb2NCYXNlLmgiCi0KLW5hbWVzcGFjZSBXVEZOb25jb3B5YWJsZSB7Ci0KLSAgICBjbGFz
cyBOb25jb3B5YWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKLSAgICAgICAgTm9uY29weWFi
bGUoY29uc3QgTm9uY29weWFibGUmKTsKLSAgICAgICAgTm9uY29weWFibGUmIG9wZXJhdG9yPShj
b25zdCBOb25jb3B5YWJsZSYpOwotICAgIHByb3RlY3RlZDoKLSAgICAgICAgTm9uY29weWFibGUo
KSB7IH0KLSAgICAgICAgfk5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgfTsKLQotfSAvLyBuYW1lc3Bh
Y2UgV1RGTm9uY29weWFibGUKLQotdXNpbmcgV1RGTm9uY29weWFibGU6Ok5vbmNvcHlhYmxlOwot
Ci0jZW5kaWYgLy8gV1RGX05vbmNvcHlhYmxlX2gKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25BcnJheVB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKaW5k
ZXggNjQzYjkwYi4uY2Q2NGVkYSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkFy
cmF5UHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKQEAgLTIyLDcg
KzIyLDYgQEAKICNkZWZpbmUgV1RGX093bkFycmF5UHRyX2gKIAogI2luY2x1ZGUgIkFzc2VydGlv
bnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIuaCIKICNp
bmNsdWRlICJPd25BcnJheVB0ckNvbW1vbi5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KQEAgLTM1
LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQ
YXNzT3duQXJyYXlQdHI7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQdHI8VD4g
YWRvcHRBcnJheVB0cihUKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJh
eVB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3Mg
T3duQXJyYXlQdHIgewogcHVibGljOgogICAgIHR5cGVkZWYgVCogUHRyVHlwZTsKIApkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaCBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaAorKysgYi9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCkBAIC0yMywxMSArMjMsMTEgQEAKICNkZWZp
bmUgT3duRmFzdE1hbGxvY1B0cl9oCiAKICNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCi0jaW5jbHVk
ZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICB0ZW1wbGF0ZTxjbGFz
cyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICB0
ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRyIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoT3duRmFzdE1hbGxvY1B0cik7CiAgICAgcHVibGljOgogICAgICAgICBl
eHBsaWNpdCBPd25GYXN0TWFsbG9jUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpCiAgICAgICAgIHsK
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaCBiL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25QdHIuaAppbmRleCBjZGMyNzdjLi5mYjU5NDMyIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duUHRyLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCkBA
IC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0
aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgog
I2luY2x1ZGUgIk93blB0ckNvbW1vbi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIKQEAgLTM5
LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xh
c3MgUGFzc093blB0cjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRyPFQ+IGFk
b3B0UHRyKFQqKTsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0ciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRy
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9pbnRlcjxU
Pjo6VHlwZSBWYWx1ZVR5cGU7CiAgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJUeXBlOwpk
aWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2NyaXB0Q29y
ZS93dGYvUGxhdGZvcm0uaAppbmRleCAxMmMzZTNkLi5kZGM4YTBmIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZv
cm0uaApAQCAtMiw2ICsyLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwg
MjAwOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAy
MDA3LTIwMDkgVG9yY2ggTW9iaWxlLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgVW5pdmVyc2l0eSBvZiBTemVnZWQKICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMTExOCw0ICsxMTE5LDYxIEBACiAjaW5jbHVkZSAiR1R5cGVkZWZzLmgiCiAjZW5k
aWYKIAorLyogTm9uY29weWFibGUncyBpbXBsZW1lbnRhdGlvbiBhcyBhIG1hY3JvICovCisKKyNp
Zm5kZWYgX19oYXNfZmVhdHVyZQorICAgICNkZWZpbmUgX19oYXNfZmVhdHVyZSh4KSAwCisjZW5k
aWYKKworI2lmIF9faGFzX2ZlYXR1cmUoY3h4X2RlbGV0ZWRfZnVuY3Rpb25zKQorICAgICNkZWZp
bmUgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2xhc3NOYW1lKSBcCisgICAgICAgIF9QcmFnbWEoImNs
YW5nIGRpYWdub3N0aWMgcHVzaCIpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3Rp
YyBpZ25vcmVkIFwiLVd1bmtub3duLXByYWdtYXNcIiIpIFwKKyAgICAgICAgX1ByYWdtYSgiY2xh
bmcgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdjKysweC1leHRlbnNpb25zXCIiKSBcCisgICAgICAg
IHByaXZhdGU6IFwKKyAgICAgICAgICAgIENsYXNzTmFtZShjb25zdCBDbGFzc05hbWUmKSA9IGRl
bGV0ZTsgXAorICAgICAgICAgICAgQ2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1l
JikgPSBkZWxldGU7IFwKKyAgICAgICAgX1ByYWdtYSgiY2xhbmcgZGlhZ25vc3RpYyBwb3AiKQor
I2Vsc2UKKyAgICAjZGVmaW5lIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzTmFtZSkgXAorICAg
ICAgICBwcml2YXRlOiBcCisgICAgICAgICAgICBDbGFzc05hbWUoY29uc3QgQ2xhc3NOYW1lJik7
IFwKKyAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENsYXNzTmFtZSYpCisj
ZW5kaWYKKworLyogUHJvdmlkZXMgY3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBvcGVyYXRvciBu
ZXcvZGVsZXRlICovCisKKyNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAorcHVibGlj
OiBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsg
fSBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBw
OyB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBcCisgICAg
eyBcCisgICAgICAgIHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAorICAgICAg
ICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5h
bDo6QWxsb2NUeXBlQ2xhc3NOZXcpOyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAgfSBcCisg
ICAgXAorICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApIFwKKyAgICB7IFwKKyAgICAg
ICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6
OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAorICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKKyAg
ICB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90IHNpemUpIFwKKyAg
ICB7IFwKKyAgICAgICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAg
ICAgIDo6V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJu
YWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAg
fSBcCisgICAgXAorICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkgXAorICAgIHsg
XAorICAgICAgICAgOjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6
SW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgICA6OldURjo6ZmFz
dEZyZWUocCk7IFwKKyAgICB9IFwKK3ByaXZhdGU6IFwKK3R5cGVkZWYgaW50IFRoaXNJc0hlcmVU
b0ZvcmNlQVNlbWljb2xvbkFmdGVyVGhpc01hY3JvCisKICNlbmRpZiAvKiBXVEZfUGxhdGZvcm1f
aCAqLwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaCBiL0phdmFT
Y3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKaW5kZXggOGQ4YjMwMi4uZTA2MjI5NCAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvUmVmQ291bnRlZC5oCkBAIC0yMiw3ICsyMiw3IEBACiAjZGVmaW5lIFJlZkNvdW50ZWRf
aAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCisj
aW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtMTMxLDcg
KzEzMSw4IEBAIGlubGluZSB2b2lkIGFkb3B0ZWQoUmVmQ291bnRlZEJhc2UqIG9iamVjdCkKIAog
I2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMg
UmVmQ291bnRlZEJhc2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGljIFJlZkNvdW50ZWRCYXNlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZWZDb3VudGVkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgdm9pZCBkZXJlZigpCiAgICAgewpAQCAtMTQwLDYgKzE0MSw3IEBAIHB1YmxpYzoK
ICAgICB9CiAKIHByb3RlY3RlZDoKKyAgICBSZWZDb3VudGVkKCkgeyB9CiAgICAgflJlZkNvdW50
ZWQoKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRy
LmggYi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKaW5kZXggNmFmYTg4Ni4uZGZjNjA1MiAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9SZWZQdHIuaApAQCAtMjMsOSArMjMsOCBAQAogI2lmbmRlZiBXVEZfUmVmUHRyX2gK
ICNkZWZpbmUgV1RGX1JlZlB0cl9oCiAKLSNpbmNsdWRlIDxhbGdvcml0aG0+Ci0jaW5jbHVkZSAi
RmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIuaCIKKyNpbmNsdWRlIDxhbGdv
cml0aG0+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0zNiw3ICszNSw4IEBAIG5hbWVzcGFjZSBX
VEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlIHsgSGFzaFRhYmxlRGVs
ZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVm
UHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cigpIDogbV9wdHIoMCkgeyB9CiAgICAgICAgIEFMV0FZ
U19JTkxJTkUgUmVmUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpIHsgcmVmSWZOb3ROdWxsKHB0cik7
IH0KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmggYi9KYXZh
U2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCmluZGV4IDdmNmViZmUuLjNjMDc2Y2UgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaApAQCAtNDIsNyArNDIsOCBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgTWFwcGVk
QXJnLCB0eXBlbmFtZSBIYXNoQXJnLCB0eXBlbmFtZSBLZXlUcmFpdHNBcmcsIHR5cGVuYW1lIE1h
cHBlZFRyYWl0c0FyZz4KLSAgICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVkQXJnLCBI
YXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4gOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFyZywgSGFzaEFyZywg
S2V5VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5
VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBlZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFk
cy5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaApp
bmRleCAzYWY4N2E4Li5lZDFiYTJjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBU
aHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUgVGhyZWFkSWRlbnRpZmllckRh
dGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAvLyBIb2xkcyBUaHJlYWRJZGVu
dGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBhbmQgZW1wbG95cyBwdGhyZWFk
cy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFibHkgcmVtb3ZlCiAvLyBUaHJl
YWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVzIHJlZ3VsYXIgVGhyZWFkU3Bl
Y2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVzdHJ1Y3Rpb24uCi1jbGFzcyBU
aHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRJ
ZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkSWRlbnRpZmll
ckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVyRGF0YSgpOwogCmRpZmYgLS1n
aXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaAppbmRleCAzM2M2NjEyLi5hNmExY2YyIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCisrKyBiL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKQEAgLTYyLDEyICs2MiwxMiBAQAogI2luY2x1
ZGUgIlBsYXRmb3JtLmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAK
IG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGhyZWFkU2FmZVNoYXJlZEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5pdGlhbFJlZkNvdW50
ID0gMSkKICAgICAgICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkKZGlmZiAtLWdpdCBh
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uMTEzN2JkMiAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L1RocmVhZFNwZWNpZmljLmgKQEAgLTQxLDcgKzQxLDYgQEAKICNpZm5kZWYgV1RGX1RocmVhZFNw
ZWNpZmljX2gKICNkZWZpbmUgV1RGX1RocmVhZFNwZWNpZmljX2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaWYgVVNFKFBUSFJFQURTKQogI2luY2x1ZGUgPHB0aHJlYWQuaD4K
QEAgLTYxLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIFRocmVhZFNwZWNpZmljVGhy
ZWFkRXhpdCgpOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRocmVhZFNw
ZWNpZmljIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNz
IFRocmVhZFNwZWNpZmljIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRTcGVjaWZp
Yyk7CiBwdWJsaWM6CiAgICAgVGhyZWFkU3BlY2lmaWMoKTsKICAgICBUKiBvcGVyYXRvci0+KCk7
CkBAIC04NCw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdGF0aWMgZGVzdHJveSh2b2lk
KiBwdHIpOwogCiAjaWYgVVNFKFBUSFJFQURTKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0o
R1RLKSB8fCBPUyhXSU5ET1dTKQotICAgIHN0cnVjdCBEYXRhIDogTm9uY29weWFibGUgeworICAg
IHN0cnVjdCBEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YSk7CisgICAg
cHVibGljOgogICAgICAgICBEYXRhKFQqIHZhbHVlLCBUaHJlYWRTcGVjaWZpYzxUPiogb3duZXIp
IDogdmFsdWUodmFsdWUpLCBvd25lcihvd25lcikge30KICNpZiBQTEFURk9STShRVCkKICAgICAg
ICAgfkRhdGEoKSB7IG93bmVyLT5kZXN0cm95KHRoaXMpOyB9CmRpZmYgLS1naXQgYS9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZFNwZWNpZmljV2luLmNwcAppbmRleCBmMmMwY2FkLi5kNzI5OTZhIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNo
b3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0
aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlw
dENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNw
cAppbmRleCA0OWRlNTllLi5mMmUwNTY1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkaW5nLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcApAQCAt
MzAsNyArMzAsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotc3RydWN0IE5ld1RocmVhZENvbnRl
eHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBOZXdUaHJlYWRDb250ZXh0IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBOZXdUaHJlYWRDb250ZXh0KFRocmVh
ZEZ1bmN0aW9uIGVudHJ5UG9pbnQsIHZvaWQqIGRhdGEsIGNvbnN0IGNoYXIqIG5hbWUpCiAgICAg
ICAgIDogZW50cnlQb2ludChlbnRyeVBvaW50KQogICAgICAgICAsIGRhdGEoZGF0YSkKZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRpbmcuaAppbmRleCAwNDQzNjVmLi5kYWVhMThlIDEwMDY0NAotLS0gYS9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Zy5oCkBAIC02Niw3ICs2Niw2IEBACiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KICNpbmNsdWRl
IDx3dGYvTG9ja2VyLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVNoYXJlZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKZGlmZiAtLWdpdCBhL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmggYi9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkaW5nUHJpbWl0aXZlcy5oCmluZGV4IGMxMWE2Y2IuLjA2M2RlYzIgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKKysrIGIvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaApAQCAtMzUsNyArMzUsNiBAQAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgPHdpbmRvd3Mu
aD4KQEAgLTk2LDcgKzk1LDggQEAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVJlYWRXcml0ZUxvY2s7
CiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtQ29uZGl0aW9uOwogI2VuZGlmCiAgICAgCi1jbGFzcyBN
dXRleCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNdXRleCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTXV0ZXgpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpAQCAtMTEzLDcgKzExMyw4IEBAIHByaXZhdGU6CiAK
IHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRleExvY2tlcjsKIAotY2xhc3MgUmVhZFdyaXRlTG9j
ayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFkV3JpdGVMb2NrIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVMb2NrKTsKIHB1YmxpYzoKICAgICBSZWFkV3JpdGVM
b2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2soKTsKQEAgLTEzMCw3ICsxMzEsOCBAQCBwcml2YXRl
OgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9jayBtX3JlYWRXcml0ZUxvY2s7CiB9OwogCi1jbGFz
cyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkQ29u
ZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRDb25kaXRpb24pOwogcHVi
bGljOgogICAgIFRocmVhZENvbmRpdGlvbigpOwogICAgIH5UaHJlYWRDb25kaXRpb24oKTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9WZWN0b3IuaAppbmRleCBmNzM3OTNmLi5hMmM5ZmExIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCkBAIC0y
MSwxNCArMjEsMTYgQEAKICNpZm5kZWYgV1RGX1ZlY3Rvcl9oCiAjZGVmaW5lIFdURl9WZWN0b3Jf
aAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgi
CisjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgogI2luY2x1ZGUgIk5vdEZvdW5kLmgiCiAjaW5jbHVk
ZSAiU3RkTGliRXh0cmFzLmgiCiAjaW5jbHVkZSAiVmFsdWVDaGVjay5oIgogI2luY2x1ZGUgIlZl
Y3RvclRyYWl0cy5oIgogI2luY2x1ZGUgPGxpbWl0cz4KICNpbmNsdWRlIDx1dGlsaXR5PgorI2lm
IFBMQVRGT1JNKEdUSykKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oUVQpCiAjaW5jbHVkZSA8UURhdGFTdHJlYW0+CkBAIC0yNzcsNyArMjc5LDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3Mg
VmVjdG9yQnVmZmVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9y
QnVmZmVyQmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJh
c2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3
Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAgLTQ4OCw3ICs0OTEsOCBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5
ID0gMD4KLSAgICBjbGFzcyBWZWN0b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xh
c3MgVmVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0
ZToKICAgICAgICAgdHlwZWRlZiBWZWN0b3JCdWZmZXI8VCwgaW5saW5lQ2FwYWNpdHk+IEJ1ZmZl
cjsKICAgICAgICAgdHlwZWRlZiBWZWN0b3JUeXBlT3BlcmF0aW9uczxUPiBUeXBlT3BlcmF0aW9u
czsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmggYi9KYXZh
U2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCmluZGV4IDUwMTljMzMuLmQ5MjAxMGMgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKKysrIGIvSmF2YVNj
cmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogLy8g
VGhpcyB3YXMgRU5BQkxFKFdPUktFUlMpIGluIFdlYkNvcmUsIGJ1dCB0aGlzIGlzIG5vdCBkZWZp
bmVkIHdoZW4gY29tcGlsaW5nIEpTQy4KQEAgLTUxLDcgKzUwLDggQEAgbmFtZXNwYWNlIEpTQyB7
CiAKIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBjaGFyKiwgUmVmUHRyPFN0cmluZ0ltcGw+LCBQdHJI
YXNoPGNvbnN0IGNoYXIqPiA+IExpdGVyYWxJZGVudGlmaWVyVGFibGU7CiAKLWNsYXNzIElkZW50
aWZpZXJUYWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJUYWJs
ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgfklkZW50aWZp
ZXJUYWJsZSgpOwogCkBAIC04NCw3ICs4NCw4IEBAIGNsYXNzIEF0b21pY1N0cmluZ1RhYmxlOwog
CiB0eXBlZGVmIHZvaWQgKCpBdG9taWNTdHJpbmdUYWJsZURlc3RydWN0b3IpKEF0b21pY1N0cmlu
Z1RhYmxlKik7CiAKLWNsYXNzIFdURlRocmVhZERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgV1RGVGhyZWFkRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV1RGVGhyZWFk
RGF0YSk7CiBwdWJsaWM6CiAgICAgV1RGVGhyZWFkRGF0YSgpOwogICAgIH5XVEZUaHJlYWREYXRh
KCk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAgYi9KYXZhU2NyaXB0
Q29yZS93dGYvZHRvYS5jcHAKaW5kZXggYzg5YzAzNi4uYjViMTI2MSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNw
cApAQCAtNDE0LDcgKzQxNCwxMCBAQCBzdGF0aWMgdm9pZCBtdWx0KEJpZ0ludCYgYVJlZiwgY29u
c3QgQmlnSW50JiBiUmVmKQogICAgIGFSZWYgPSBjOwogfQogCi1zdHJ1Y3QgUDVOb2RlIDogTm9u
Y29weWFibGUgeworc3RydWN0IFA1Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUDVO
b2RlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgUDVOb2RlKCkgeyB9
CiAgICAgQmlnSW50IHZhbDsKICAgICBQNU5vZGUqIG5leHQ7CiB9OwpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL2dv
YmplY3QvR093blB0ci5oCmluZGV4IGNlYzNlNDMuLmEzN2Q5OGYgMTAwNjQ0Ci0tLSBhL0phdmFT
Y3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
Z29iamVjdC9HT3duUHRyLmgKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2luY2x1ZGUgPGFsZ29yaXRo
bT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBleHRlcm4gIkMiIHZvaWQgZ19mcmVlKHZvaWQqKTsKIApAQCAtNDEsNyArNDAsOCBA
QCB0ZW1wbGF0ZTw+IHZvaWQgZnJlZU93bmVkR1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3Bl
YyopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxh
dGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R0ZpbGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBl
bmFtZSBUPiBjbGFzcyBHT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0
eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3du
UHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIo
cHRyKSB7IH0KICAgICB+R093blB0cigpIHsgZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oIGIvSmF2YVNjcmlw
dENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2
NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvSmF2
YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKQEAgLTMwLDEzICszMCwxMyBAQAog
I2RlZmluZSBTdHJpbmdCdWZmZXJfaAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2Rl
Lmg+CiAjaW5jbHVkZSA8bGltaXRzPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5n
QnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0cmluZ0J1ZmZlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5nQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBTdHJpbmdCdWZmZXIodW5zaWduZWQgbGVuZ3RoKQogICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0
aCkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmgg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCmluZGV4IDY1Njc2NzIu
LjI2YmMxZDkgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxC
YXNlLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAt
MjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5n
SW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1w
bEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgYm9vbCBpc1N0cmluZ0ltcGwoKSB7IHJldHVybiAobV9yZWZD
b3VudEFuZEZsYWdzICYgc19yZWZDb3VudEludmFsaWRGb3JTdHJpbmdJbXBsKSAhPSBzX3JlZkNv
dW50SW52YWxpZEZvclN0cmluZ0ltcGw7IH0KICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7
IHJldHVybiBtX2xlbmd0aDsgfQpAQCAtNDUsOSArNDUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAg
IEJ1ZmZlclNoYXJlZCwKICAgICB9OwogCi0gICAgdXNpbmcgTm9uY29weWFibGU6Om9wZXJhdG9y
IG5ldzsKLSAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBpblBsYWNlKSB7IEFT
U0VSVChpblBsYWNlKTsgcmV0dXJuIGluUGxhY2U7IH0KLQogICAgIC8vIEZvciBTbWFsbFN0cmlu
Z1N0b3JhZ2UsIHdoaWNoIGFsbG9jYXRlcyBhbiBhcnJheSBhbmQgdXNlcyBhbiBpbi1wbGFjZSBu
ZXcuCiAgICAgU3RyaW5nSW1wbEJhc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0Nv
bGxhdG9yLmgKaW5kZXggZmU2YTgwOS4uYThiY2UxMiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29k
ZS9Db2xsYXRvci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWZuZGVmIFdURl9Db2xsYXRvcl9oCiAj
ZGVmaW5lIFdURl9Db2xsYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUu
aD4KIApAQCAtMzksNyArMzgsOCBAQCBzdHJ1Y3QgVUNvbGxhdG9yOwogCiBuYW1lc3BhY2UgV1RG
IHsKIAotICAgIGNsYXNzIENvbGxhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDb2xsYXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbGxhdG9yKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFJlc3VsdCB7
IEVxdWFsID0gMCwgR3JlYXRlciA9IDEsIExlc3MgPSAtMSB9OwogCmRpZmYgLS1naXQgYS9KYXZh
U2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaCBiL0phdmFTY3JpcHRDb3JlL3lhcnIv
UmVnZXhJbnRlcnByZXRlci5oCmluZGV4IDBmZDhhNTcuLmQ0MDQ1MTAgMTAwNjQ0Ci0tLSBhL0ph
dmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCisrKyBiL0phdmFTY3JpcHRDb3Jl
L3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCkBAIC0zMTUsNyArMzE1LDggQEAgc3RydWN0IEJ5dGVU
ZXJtIHsKICAgICB9CiB9OwogCi1jbGFzcyBCeXRlRGlzanVuY3Rpb24gOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBCeXRlRGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIEJ5dGVEaXNqdW5jdGlvbih1bnNpZ25lZCBudW1TdWJwYXR0
ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAgICAgICA6IG1fbnVtU3VicGF0dGVybnMobnVt
U3VicGF0dGVybnMpCkBAIC0zMjgsNyArMzI5LDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIG1f
ZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVjb2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jhc2Ug
eworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitwdWJsaWM6CiAgICAgQnl0ZWNvZGVQYXR0ZXJuKFBhc3NPd25QdHI8Qnl0ZURpc2p1bmN0aW9u
PiBib2R5LCBWZWN0b3I8Qnl0ZURpc2p1bmN0aW9uKj4gYWxsUGFyZW50aGVzZXNJbmZvLCBSZWdl
eFBhdHRlcm4mIHBhdHRlcm4sIEJ1bXBQb2ludGVyQWxsb2NhdG9yKiBhbGxvY2F0b3IpCiAgICAg
ICAgIDogbV9ib2R5KGJvZHkpCiAgICAgICAgICwgbV9pZ25vcmVDYXNlKHBhdHRlcm4ubV9pZ25v
cmVDYXNlKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaCBi
L0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgKaW5kZXggNDQ1NjBhNC4uZmVlNzE5
NiAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaAorKysgYi9K
YXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCkBAIC03MCw3ICs3MCw5IEBAIHByaXZh
dGU6CiAgICAgfQogfTsKIAotc3RydWN0IENoYXJhY3RlckNsYXNzIDogRmFzdEFsbG9jQmFzZSB7
CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIC8vIEFsbCBDaGFyYWN0ZXJDbGFzcyBpbnN0YW5jZXMgaGF2ZSB0byBoYXZl
IHRoZSBmdWxsIHNldCBvZiBtYXRjaGVzIGFuZCByYW5nZXMsCiAgICAgLy8gdGhleSBtYXkgaGF2
ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3IgZmFzdGVyIGxvb2t1cHMgKHdoaWNoIG11c3QgbWF0Y2gg
dGhlCiAgICAgLy8gc3BlY2lmaWVkIG1hdGNoZXMgYW5kIHJhbmdlcykKQEAgLTIxMSw3ICsyMTMs
OSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0gewogICAgIH0KIH07CiAKLXN0cnVjdCBQYXR0ZXJuQWx0
ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5h
dGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50
KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRocm91Z2goZmFsc2UpCkBAIC0yNTIsNyAr
MjU2LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAg
IGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9u
IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBQYXR0ZXJuRGlzanVuY3Rpb24oUGF0
dGVybkFsdGVybmF0aXZlKiBwYXJlbnQgPSAwKQogICAgICAgICA6IG1fcGFyZW50KHBhcmVudCkK
ICAgICAgICAgLCBtX2hhc0ZpeGVkU2l6ZShmYWxzZSkKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRH
bHVlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwppbmRleCA5NjkzOTUyLi42
YjVkZDczIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNj
cmlwdEdsdWUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTItMDcgIFpvbHRhbiBI
b3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUgYW5kIEZhc3RB
bGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBj
YW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSku
IENoYW5nZSBOb25jb3B5YWJsZSBhbmQgCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGlu
ZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5k
IHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKworICAgICAgICAqIEZvcndh
cmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oOiBSZW1vdmVkLgorCiAyMDEwLTEyLTAxICBH
ZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4OiBB
ZGRlZCBhIGZvcndhcmRpbmcgaGVhZGVyLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdEdsdWUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJk
aW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjg0ODRkMi4uMDAwMDAwMAotLS0gYS9KYXZhU2NyaXB0R2x1ZS9Gb3J3YXJkaW5nSGVhZGVy
cy93dGYvTm9uY29weWFibGUuaAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLSNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9Ob25jb3B5YWJsZS5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0ZmJlYjcxLi45M2RjYjg1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDEwLTEyLTA3ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQg
b2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5o
ZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcg
bGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAg
ICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGluZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlv
bi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5kIHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBp
bmNsdWRlcy4KKworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IE1vdmUgRmFzdEFsbG9j
QmFzZSdzIG1hY3JvIGltcGxlbWVudGF0aW9uIHRvIFBsYXRmb3JtLmgKKyAgICAgICAgKiB3dGYv
Tm9uY29weWFibGUuaCA6IFJlbW92ZWQuIE5vbmNvcHlhYmxlJ3MgbWFjcm8gaW1wbGVtZW50YXRp
b24ncyBtb3ZlZCB0byBQbGF0Zm9ybS5oCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6IEFkZCBO
b25jb3B5YWJsZSdzIGFuZCBGYXN0QWxsb2NCYXNlJ3MgbWFjcm8gaW1wbGVtZW50YXRpb24uCisK
IDIwMTAtMTItMDcgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvRm9y
d2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmggYi9XZWJDb3JlL0ZvcndhcmRpbmdIZWFk
ZXJzL3d0Zi9Ob25jb3B5YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTEy
Njc3Li4wMDAwMDAwCi0tLSBhL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlh
YmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLSNpZm5kZWYgV2ViQ29yZV9GV0Rf
Tm9uY29weWFibGVfaAotI2RlZmluZSBXZWJDb3JlX0ZXRF9Ob25jb3B5YWJsZV9oCi0jaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvTm9uY29weWFibGUuaD4KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZGY3N2U0MC4uMDI2OGY5MCAxMDA3NTUKLS0tIGEvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC02NDAwOSwxMCArNjQwMDksNiBAQAogCQkJCQk+CiAJ
CQkJPC9GaWxlPgogCQkJCTxGaWxlCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cRm9yd2FyZGluZ0hl
YWRlcnNcd3RmXE5vbmNvcHlhYmxlLmgiCi0JCQkJCT4KLQkJCQk8L0ZpbGU+Ci0JCQkJPEZpbGUK
IAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxGb3J3YXJkaW5nSGVhZGVyc1x3dGZcT3duQXJyYXlQdHIu
aCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmggYi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5o
CmluZGV4IDJlZTU2ZWUuLjBjM2YwODcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmgKKysrIGIvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuaApAQCAtNTcsNyArNTcsOCBAQCBzdHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBv
c3RUeXBlIHsgUG9zdFN5bmNocm9ub3VzbHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFz
cyBBWE9iamVjdENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2Fj
aGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBWE9iamVjdENhY2hlKCk7CiAgICAgfkFYT2Jq
ZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
U291cmNlUHJvdmlkZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNl
UHJvdmlkZXIuaAppbmRleCA4MDlhNDg4Li5iNjk3NmFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmgKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCkBAIC0zNiw2ICszNiw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRl
ciA6IHB1YmxpYyBTY3JpcHRTb3VyY2VQcm92aWRlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcj4gY3JlYXRl
KENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FjaGVk
U2NyaXB0U291cmNlUHJvdmlkZXIoY2FjaGVkU2NyaXB0KSk7IH0KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0ND
b250cm9sbGVyLmgKaW5kZXggNGMyNTQwNy4uOTFmMWU0YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29u
dHJvbGxlci5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5kZWYgR0NDb250cm9sbGVyX2gKICNk
ZWZpbmUgR0NDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29u
dHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR0NDb250cm9sbGVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR0NDb250cm9sbGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgICAgIGZyaWVuZCBHQ0NvbnRyb2xsZXImIGdjQ29udHJvbGxlcigp
OwogCiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJp
bmRpbmcuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmgKaW5kZXggNTRlOWNm
Ni4uNzczYjU3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcu
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaW5jbHVkZSA8cnVudGltZS9Mb29rdXAuaD4KICNpbmNsdWRlIDxydW50aW1lL1dlYWtH
Q01hcC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCBiL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5mNDM5NzMzIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKKysrIGIv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCkBAIC0yOCw3ICsyOCw2IEBA
CiAKICNpbmNsdWRlICJKU0RPTVdyYXBwZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTM3LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVp
bmcgZGVsZXRlZCB3aXRob3V0IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAt
IHdyYXBwZXJzIGJlaW5nIGNhY2hlZCB0d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSlNEZWJ1Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBX
VEY6OlRocmVhZFNwZWNpZmljPEpTRGVidWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0
aWMgSlNEZWJ1Z1dyYXBwZXJTZXQmIHNoYXJlZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNN
YWluVGhyZWFkRXhlY1N0YXRlLmgKaW5kZXggODE5M2Q3Yy4uMzQ5ZGMxNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAorKysgYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCkBAIC0zMCwxMSArMzAsMTEgQEAK
ICNpZm5kZWYgTkRFQlVHCiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNlbmRpZgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEpTTWFpblRocmVhZEV4ZWNTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBKU01h
aW5UaHJlYWRFeGVjU3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTTWFpblRocmVh
ZEV4ZWNTdGF0ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTQzo6RXhlY1N0YXRlKiBjdXJyZW50
U3RhdGUoKQogICAgIHsgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxl
ZEFjdGlvbi5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2
YzlkMGJhLi41OWFkNmZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxl
ZEFjdGlvbi5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKQEAg
LTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICogdGltZSBpbnRlcnZhbCwg
ZWl0aGVyIG9uY2Ugb3IgcmVwZWF0ZWRseS4gVXNlZCBmb3Igd2luZG93LnNldFRpbWVvdXQoKQog
ICAgICogYW5kIHdpbmRvdy5zZXRJbnRlcnZhbCgpCiAgICAgKi8KLSAgICBjbGFzcyBTY2hlZHVs
ZWRBY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlv
biB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25Q
dHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29y
bGQqIGlzb2xhdGVkV29ybGQpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRG
cmFtZURhdGEuaAppbmRleCAxNWMyM2M1Li41ZjY5MWQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRvdzsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7
CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFtZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPCBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiwgSlND
OjpQcm90ZWN0ZWRQdHI8SlNET01XaW5kb3c+ID4gSlNET01XaW5kb3dTZXQ7CiAKICAgICBwdWJs
aWM6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKaW5kZXggMzE3MmM2NS4u
MzAwMGFiZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZl
ci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaApAQCAtNTYs
NyArNTYsOCBAQCBjbGFzcyBQYWdlR3JvdXA7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwog
Y2xhc3MgSmF2YVNjcmlwdENhbGxGcmFtZTsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBK
U0M6OkRlYnVnZ2VyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0RGVidWdTZXJ2
ZXIgOiBKU0M6OkRlYnVnZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1
Z1NlcnZlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBT
Y3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0UHJvZmlsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmls
ZXIuaAppbmRleCAwNWU3YTI1Li5kNGRkNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdFByb2ZpbGVyLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9m
aWxlci5oCkBAIC0zMiwxMSArMzIsMTEgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2Ny
aXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKaW5kZXggMGMwODYxMS4uNDk3MTky
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCisrKyBiL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaApAQCAtMzMsNyArMzMsNiBAQAogI2RlZmlu
ZSBTY3JpcHRTdGF0ZV9oCiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBFeGVjU3RhdGU7
CkBAIC01Miw3ICs1MSw4IEBAIGNsYXNzIFBhZ2U7CiAvLyBGb3Igbm93LCB0aGUgc2VwYXJhdGlv
biBpcyBwdXJlbHkgYnkgY29udmVudGlvbi4KIHR5cGVkZWYgSlNDOjpFeGVjU3RhdGUgU2NyaXB0
U3RhdGU7CiAKLWNsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQg
U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoU2NyaXB0U3RhdGUqKTsKICAgICB+U2NyaXB0U3RhdGVQ
cm90ZWN0ZWRQdHIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpT
Q2xpZW50RGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgK
aW5kZXggNWQwMzMyOC4uNmUyZDdiZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlSlNDbGllbnREYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlND
bGllbnREYXRhLmgKQEAgLTI0LDE3ICsyNCwxOCBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldv
cmxkLmgiCiAjaW5jbHVkZSAiRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50
RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6Q2xpZW50RGF0YSwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2Jh
bERhdGE6OkNsaWVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0Ns
aWVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgSlNH
bG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRD
bGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlND
bGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAg
ewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgp
KSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xs
ZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCmluZGV4
IGJlN2RhNGQuLjQ1Nzg5MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2Vy
U2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0
Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlIDxydW50aW1lL1Byb3Rl
Y3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00
NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsK
ICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0gICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyU2NyaXB0Q29udHJv
bGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclNjcmlwdENvbnRyb2xs
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdvcmtl
clNjcmlwdENvbnRyb2xsZXIoV29ya2VyQ29udGV4dCopOwogICAgICAgICB+V29ya2VyU2NyaXB0
Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhLmgg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaAppbmRleCBjOGI0YTQxLi4wOWQ1MzQ1IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaAorKysgYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L0RPTURhdGEuaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgLy8gdGhyZWFkLiAgVGhlIERPTURhdGEgZm9yIHRoZSBtYWluIHRocmVhZCBhbmQgdGhl
IERPTURhdGEgZm9yIGNoaWxkIHRocmVhZHMKICAgICAvLyB1c2UgZGlmZmVyZW50IHN1YmNsYXNz
ZXMuCiAgICAgLy8KLSAgICBjbGFzcyBET01EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBET01EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YSk7
CiAgICAgcHVibGljOgogICAgICAgICBET01EYXRhKCk7CiAgICAgICAgIHZpcnR1YWwgfkRPTURh
dGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmggYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCmluZGV4IDM3NThlMjMuLjhjNmMwMmMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmgKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1
ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRo
cmVhZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVh
ZGluZy5oPgpAQCAtMTQ5LDcgKzE0OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBU
aGlzIGNsYXNzIGRvZXNuJ3QgbWFuYWdlIHRoZSBsaWZldGltZSBvZiB0aGUgc3RvcmUuICBUaGUg
ZGF0YSBzdG9yZQogICAgIC8vIGxpZmV0aW1lIGlzIG1hbmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAg
ICAvLwotICAgIGNsYXNzIERPTURhdGFTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgRE9NRGF0YVN0b3JlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0
YVN0b3JlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gRE9NV3JhcHBlck1hcFR5cGUgewog
ICAgICAgICAgICAgRE9NTm9kZU1hcCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hl
ZEZyYW1lRGF0YS5oCmluZGV4IDFhYTFmNjIuLmY0MmU4MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaApAQCAtNjAsMTQgKzYwLDE0IEBAIHB1YmxpYzoK
IAogI2luY2x1ZGUgIk93bkhhbmRsZS5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiBj
bGFzcyBET01XaW5kb3c7CiAKLWNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICk7CiBwdWJsaWM6CiAgICAgU2Ny
aXB0Q2FjaGVkRnJhbWVEYXRhKEZyYW1lKik7CiAgICAgflNjcmlwdENhY2hlZEZyYW1lRGF0YSgp
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5o
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDVjNWQ2YzYu
LjQ0MWFiM2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2
ZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTM5
LDcgKzM5LDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHY4LWRlYnVnLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2gu
aD4KIApAQCAtNDgsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBQYWdlOwog
Y2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIAotY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
U2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2Zp
bGVyLmgKaW5kZXggYjc1YTA1NC4uZTA5NjllMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRQcm9maWxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJv
ZmlsZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgog
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiAKLWNsYXNz
IFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2Zp
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcm
IHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlw
dFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0
YXRlLmgKaW5kZXggMTE4MTNiMC4uZGMyNDcxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUu
aApAQCAtMzMsNyArMzMsNiBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5j
bHVkZSA8djguaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNs
YXNzIEZyYW1lOwogY2xhc3MgTm9kZTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIFNjcmlwdFN0YXRl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYWRFeGNlcHRp
b24oKSB7IHJldHVybiAhbV9leGNlcHRpb24uSXNFbXB0eSgpOyB9CiAgICAgdm9pZCBzZXRFeGNl
cHRpb24odjg6OkxvY2FsPHY4OjpWYWx1ZT4gZXhjZXB0aW9uKQpAQCAtNzksNyArNzksOCBAQCBw
dWJsaWM6CiAgICAgfkVtcHR5U2NyaXB0U3RhdGUoKSB7IH0KIH07CiAKLWNsYXNzIFNjcmlwdFN0
YXRlUHJvdGVjdGVkUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRl
UHJvdGVjdGVkUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0cik7CiBwdWJsaWM6CiAgICAgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKSA6IG1fc2Ny
aXB0U3RhdGUoMCkgeyB9CiAgICAgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoU2NyaXB0U3RhdGUq
IHNjcmlwdFN0YXRlKSA6IG1fc2NyaXB0U3RhdGUoc2NyaXB0U3RhdGUpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggMzZmYzFmNi4uMmMyODc4
MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUu
Y3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApA
QCAtMTI4LDcgKzEyOCw4IEBAIHByaXZhdGU6CiAKIC8vIFdyaXRlciBpcyByZXNwb25zaWJsZSBm
b3Igc2VyaWFsaXppbmcgcHJpbWl0aXZlIHR5cGVzIGFuZCBzdG9yaW5nCiAvLyBpbmZvcm1hdGlv
biB1c2VkIHRvIHJlY29uc3RydWN0IGNvbXBvc2l0ZSB0eXBlcy4KLWNsYXNzIFdyaXRlciA6IE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFdyaXRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV3Jp
dGVyKTsKIHB1YmxpYzoKICAgICBXcml0ZXIoKQogICAgICAgICA6IG1fcG9zaXRpb24oMCkKQEAg
LTM3Nyw3ICszNzgsOCBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgotICAgIGNsYXNzIFN0
YXRlQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU3RhdGVCYXNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RhdGVCYXNlKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHZpcnR1YWwgflN0YXRlQmFzZSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRn
ZS9CcmlkZ2UuaCBiL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCmluZGV4IDUwZWZjNjQuLjAwZDZm
MzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCisrKyBiL1dlYkNvcmUvYnJp
ZGdlL0JyaWRnZS5oCkBAIC0yOCwxNCArMjgsMTUgQEAKICNkZWZpbmUgQnJpZGdlX2gKIAogI2lu
Y2x1ZGUgIkJyaWRnZUpTQy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgSlNDICB7CiAKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZXRob2QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE1ldGhvZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1ldGhv
ZCgpIHsgfQogICAgIHZpcnR1YWwgaW50IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAg
ICB2aXJ0dWFsIH5NZXRob2QoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0lkZW50
aWZpZXJSZXAuaCBiL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaAppbmRleCA5OWJhZTBi
Li41ZTE1N2MwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKKysr
IGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNk
ZWZpbmUgSWRlbnRpZmllclJlcF9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2lu
Y2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5o
PgogI2luY2x1ZGUgPHN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFz
cyBJZGVudGlmaWVyUmVwIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmll
clJlcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IElkZW50aWZpZXJSZXAqIGdldChpbnQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQo
Y29uc3QgY2hhciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5o
IGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCmluZGV4IDk2OTc0ZDkuLmViY2ZhYWQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaAorKysgYi9XZWJDb3Jl
L2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKQEAgLTU5LDggKzU5LDEwIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3MgQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ2xhc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgQ2xhc3MoKSB7IH0KICAgICB2aXJ0
dWFsIE1ldGhvZExpc3QgbWV0aG9kc05hbWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5jZSop
IGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEZpZWxkKiBmaWVsZE5hbWVkKGNvbnN0IElkZW50aWZp
ZXImLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEpTVmFsdWUgZmFsbGJhY2tP
YmplY3QoRXhlY1N0YXRlKiwgSW5zdGFuY2UqLCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1cm4g
anNVbmRlZmluZWQoKTsgfQpAQCAtMTI1LDcgKzEyNyw4IEBAIHByaXZhdGU6CiAgICAgV2Vha0dD
UHRyPFJ1bnRpbWVPYmplY3Q+IG1fcnVudGltZU9iamVjdDsKIH07CiAKLWNsYXNzIEFycmF5IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFycmF5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcnJheSk7CiBwdWJsaWM6CiAgICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0Pik7
CiAgICAgdmlydHVhbCB+QXJyYXkoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfcm9vdC5oIGIvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmgKaW5kZXggYmFiZDdhZC4u
MzlmYjM1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmgKKysrIGIv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFs
dWUuaCBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaAppbmRleCA4MzNkN2ZlLi4xNzRmMWVk
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKKysrIGIvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VWYWx1ZS5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFN0eWxlQ2FjaGVkSW1h
Z2U7CiBjbGFzcyBTdHlsZUltYWdlOwogCiBjbGFzcyBDU1NJbWFnZVZhbHVlIDogcHVibGljIENT
U1ByaW1pdGl2ZVZhbHVlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJ
bWFnZVZhbHVlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSk7
IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3Ry
aW5nJiB1cmwpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbWFnZVZhbHVlKHVybCkpOyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmggYi9XZWJDb3JlL2Nzcy9DU1NJ
bXBvcnRSdWxlLmgKaW5kZXggMTBkMzAyNi4uYWQ0ZTk3ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaApAQCAt
MzQsNiArMzQsNyBAQCBjbGFzcyBDYWNoZWRDU1NTdHlsZVNoZWV0OwogY2xhc3MgTWVkaWFMaXN0
OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxlIDogcHVibGljIENTU1J1bGUsIHByaXZhdGUgQ2FjaGVk
UmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+IGNyZWF0ZShDU1NTdHlsZVNoZWV0
KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1JlZlB0cjxNZWRpYUxpc3Q+IG1lZGlh
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oIGIvV2ViQ29y
ZS9jc3MvQ1NTTmFtZXNwYWNlLmgKaW5kZXggNjIyNWMzNi4uOTI2MzhmMiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNl
LmgKQEAgLTI2LDcgKzI2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgc3RydWN0
IENTU05hbWVzcGFjZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTTmFtZXNwYWNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBBdG9taWNTdHJpbmcgcHJlZml4Owog
ICAgICAgICBBdG9taWNTdHJpbmcgdXJpOwogICAgICAgICBPd25QdHI8Q1NTTmFtZXNwYWNlPiBw
YXJlbnQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5oCmluZGV4IGViOGJiMmQuLmFlZjg5ZTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0zMzEsNyAr
MzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGludCBjc3NQcm9wZXJ0eUlEKGNvbnN0
IFN0cmluZyYpOwogICAgIGludCBjc3NWYWx1ZUtleXdvcmRJRChjb25zdCBDU1NQYXJzZXJTdHJp
bmcmKTsKIAotICAgIGNsYXNzIFNob3J0aGFuZFNjb3BlIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIFNob3J0aGFuZFNjb3BlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTaG9ydGhhbmRTY29wZShDU1NQYXJzZXIqIHBh
cnNlciwgaW50IHByb3BJZCkgOiBtX3BhcnNlcihwYXJzZXIpCiAgICAgICAgIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
VmFsdWVzLmgKaW5kZXggOTkzYWUyOC4uOTk2ZTc4MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyVmFsdWVzLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAg
LTU5LDcgKzU5LDggQEAgc3RydWN0IENTU1BhcnNlclZhbHVlIHsKICAgICBQYXNzUmVmUHRyPENT
U1ZhbHVlPiBjcmVhdGVDU1NWYWx1ZSgpOwogfTsKIAotY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxp
c3QoKQogICAgICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgog
ICAgIFZlY3RvcjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NT
UGFyc2VyRnVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlv
biB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ1NTUGFyc2Vy
U3RyaW5nIG5hbWU7CiAgICAgT3duUHRyPENTU1BhcnNlclZhbHVlTGlzdD4gYXJnczsKIH07CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oIGIvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuaAppbmRleCAxMDYxNzFkLi4xMGU1OTNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKQEAgLTI5LDcgKzI5
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDU1NQcm9wZXJ0eSA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Byb3BlcnR5IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDU1NQcm9wZXJ0eShpbnQgcHJvcElELCBQYXNzUmVm
UHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQgPSBmYWxzZSwgaW50IHNob3J0aGFu
ZElEID0gMCwgYm9vbCBpbXBsaWNpdCA9IGZhbHNlKQogICAgICAgICA6IG1faWQocHJvcElEKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3IuY3BwCmluZGV4IGZiOGY2OTUuLjQyY2RmNzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAg
LTM3LDggKzM3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhU
TUxOYW1lczsKIAotY2xhc3MgQ1NTU2VsZWN0b3JCYWcgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ1NTU2VsZWN0b3JCYWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVj
dG9yQmFnKTsKIHB1YmxpYzoKKyAgICBDU1NTZWxlY3RvckJhZygpIHsgfQogICAgIH5DU1NTZWxl
Y3RvckJhZygpCiAgICAgewogICAgICAgICBBU1NFUlQoaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmlu
ZGV4IDAwZTIzYjkuLmRkYzBhYTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMjQsNyArMjQsNiBAQAogCiAj
aW5jbHVkZSAiUXVhbGlmaWVkTmFtZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRz
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTMzLDcgKzMyLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENTU1NlbGVjdG9yQmFnOwogCiAgICAgLy8gdGhpcyBj
bGFzcyByZXByZXNlbnRzIGEgc2VsZWN0b3IgZm9yIGEgU3R5bGVSdWxlCi0gICAgY2xhc3MgQ1NT
U2VsZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1NlbGVjdG9yIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1NlbGVjdG9yKCkKICAgICAgICAg
ICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzAyLDcgKzMwMiw5IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lmaWNpdHlGb3JQYWdlKCkgY29uc3Q7
CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdDsKIAotICAgICAgICBzdHJ1
Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7Cisg
ICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBSYXJlRGF0YShQYXNzT3du
UHRyPENTU1NlbGVjdG9yPiB0YWdIaXN0b3J5KQogICAgICAgICAgICAgICAgIDogbV9hKDApCiAg
ICAgICAgICAgICAgICAgLCBtX2IoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVj
dG9yTGlzdC5oIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKaW5kZXggOWU0MGVmOC4u
NzFjZWE2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKKysrIGIv
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmlu
ZSBDU1NTZWxlY3Rvckxpc3RfaAogCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3Mg
Q1NTU2VsZWN0b3JMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9y
TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3Nl
bGVjdG9yQXJyYXkoMCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmNwcAppbmRleCA3MmI0YTk3Li45OGYwNDMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9y
LmNwcApAQCAtMzQ5LDcgKzM0OSw4IEBAIGlmIChpZCA9PSBwcm9wSUQpIHsgXAogICAgIHJldHVy
bjsgXAogfQogCi1jbGFzcyBDU1NSdWxlU2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IENTU1J1bGVTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwogcHVi
bGljOgogICAgIENTU1J1bGVTZXQoKTsKICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5oCmluZGV4IGI3MTg3NTEuLjNlMmViNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2VsZWN0b3IuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKQEAg
LTY5LDcgKzY5LDggQEAgY2xhc3MgU3R5bGVkRWxlbWVudDsKIGNsYXNzIFdlYktpdENTU0tleWZy
YW1lUnVsZTsKIGNsYXNzIFdlYktpdENTU0tleWZyYW1lc1J1bGU7CiAKLWNsYXNzIE1lZGlhUXVl
cnlSZXN1bHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeVJlc3VsdCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeVJlc3VsdCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE1lZGlhUXVlcnlSZXN1bHQoY29uc3QgTWVkaWFR
dWVyeUV4cCYgZXhwciwgYm9vbCByZXN1bHQpCiAgICAgICAgIDogbV9leHByZXNzaW9uKGV4cHIp
CkBAIC04Miw3ICs4Myw4IEBAIHB1YmxpYzoKIH07CiAKICAgICAvLyBUaGlzIGNsYXNzIHNlbGVj
dHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBnaXZlbiBlbGVtZW50IGJhc2VkIG9uIGEgY29sbGVjdGlv
biBvZiBzdHlsZXNoZWV0cy4KLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTU3R5bGVTZWxlY3RvcihEb2N1bWVudCosIFN0eWxl
U2hlZXRMaXN0KiBhdXRob3JTaGVldHMsIENTU1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVl
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICBDU1NTdHlsZVNoZWV0KiBwYWdlVXNlclNoZWV0
LCBjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91cFVzZXJTaGVl
dHMsCkBAIC0yMDksNyArMjExLDggQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIFJlbmRlclN0eWxlKiBzdHlsZU5vdFlldEF2YWlsYWJsZSgpIHsgcmV0dXJuIHNfc3R5bGVO
b3RZZXRBdmFpbGFibGU7IH0KIAotICAgICAgICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgeworICAgICAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VsZWN0b3JDaGVja2VyKTsKICAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgU2VsZWN0b3JDaGVja2VyKERvY3VtZW50KiwgYm9vbCBzdHJpY3RQ
YXJzaW5nKTsKIApAQCAtMzE1LDcgKzMxOCw4IEBAIHB1YmxpYzoKICAgICAgICAgVmVjdG9yPE1l
ZGlhUXVlcnlSZXN1bHQqPiBtX3ZpZXdwb3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHM7CiAg
ICAgfTsKIAotICAgIGNsYXNzIENTU1J1bGVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBDU1NSdWxlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1
bGVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBD
U1NSdWxlRGF0YSh1bnNpZ25lZCBwb3MsIENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNl
bCwgQ1NTUnVsZURhdGEqIHByZXYgPSAwKQogICAgICAgICAgICAgOiBtX3Bvc2l0aW9uKHBvcykK
QEAgLTM0Myw3ICszNDcsOCBAQCBwdWJsaWM6CiAgICAgICAgIENTU1J1bGVEYXRhKiBtX25leHQ7
CiAgICAgfTsKIAotICAgIGNsYXNzIENTU1J1bGVEYXRhTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgQ1NTUnVsZURhdGFMaXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUq
IHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1
bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlhUXVl
cnkuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRleCAyODEwMDliLi5hNjM4YWM5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKKysrIGIvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBN
ZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBNZWRpYVF1ZXJ5IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIE1lZGlhUXVlcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnkp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFJlc3RyaWN0b3Ig
ewogICAgICAgICBPbmx5LCBOb3QsIE5vbmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRl
eCAwMGFjMzk0Li4wN2M0ZDBkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZh
bHVhdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBAIC00OSw3
ICs0OSw4IEBAIGNsYXNzIE1lZGlhUXVlcnlFeHA7CiAgKiB0aGUgZGV2aWNlIGNoYXJhY3Rlcmlz
dGljcyBhcmUgbm90IGtub3duLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHBydW5lIHRoZSBsb2FkaW5n
CiAgKiBvZiBzdHlsZXNoZWV0cyB0byBvbmx5IHRob3NlIHdoaWNoIGFyZSBwcm9iYWJsZSB0byBt
YXRjaC4KICAqLwotY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTWVkaWFRdWVyeUV2YWx1YXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIC8qKiBDcmVhdGVzIGV2YWx1YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBzaW1wbGUg
bWVkaWEgcXVlcmllcwogICAgICAqICBFdmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciAiYWxsIiwg
YW5kIHJldHVybnMgdmFsdWUgb2YgXG1lZGlhRmVhdHVyZVJlc3VsdApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCmlu
ZGV4IDcyZDNmZmYuLjdlNGQ0NzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlF
eHAuaAorKysgYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3Mg
TWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlF
eHAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlh
RmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhw
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAgYi9XZWJD
b3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5jcHAKaW5kZXggN2Y1ZjFiNi4uNGE4ZDI1YSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1dlYkNvcmUv
ZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcApAQCAtNTcsNyArNTcsNyBAQCB2b2lkIEFzeW5jU2Ny
aXB0UnVubmVyOjpleGVjdXRlU2NyaXB0U29vbihTY3JpcHRFbGVtZW50KiBkYXRhLCBDYWNoZWRS
ZXNvdXJjZUhhbgogICAgIEFTU0VSVChlbGVtZW50LT5pbkRvY3VtZW50KCkpOwogCiAgICAgbV9k
b2N1bWVudC0+aW5jcmVtZW50TG9hZEV2ZW50RGVsYXlDb3VudCgpOwotICAgIG1fc2NyaXB0c1Rv
RXhlY3V0ZVNvb24uYXBwZW5kKG1ha2VfcGFpcihkYXRhLCBjYWNoZWRTY3JpcHQpKTsKKyAgICBt
X3NjcmlwdHNUb0V4ZWN1dGVTb29uLmFwcGVuZChzdGQ6Om1ha2VfcGFpcihkYXRhLCBjYWNoZWRT
Y3JpcHQpKTsKICAgICBlbGVtZW50LT5yZWYoKTsgLy8gQmFsYW5jZWQgYnkgZGVyZWYoKXMgaW4g
dGltZXJGaXJlZCgpIGFuZCBkdG9yLgogICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQogICAg
ICAgICBtX3RpbWVyLnN0YXJ0T25lU2hvdCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0Fz
eW5jU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCmluZGV4
IDFhMDUxYTguLjNmNzFkZjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVu
bmVyLmgKKysrIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMjgsNyArMjgs
NiBAQAogCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJUaW1l
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zOCw3ICszNyw4IEBAIGNsYXNz
IENhY2hlZFNjcmlwdDsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgU2NyaXB0RWxlbWVudDsKICAg
ICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY1Njcmlw
dFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEFzeW5jU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KSB7
IHJldHVybiBuZXcgQXN5bmNTY3JpcHRSdW5uZXIoZG9jdW1lbnQpOyB9CiAgICAgfkFzeW5jU2Ny
aXB0UnVubmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaCBiL1dl
YkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCmluZGV4IDg2YTIyYjAuLjc1MTRhYjYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCisrKyBiL1dlYkNvcmUvZG9tL0RPTVN0cmlu
Z01hcC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIERPTVN0cmluZ01hcF9oCiAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzUsNyArMzQs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50OwogdHlwZWRlZiBpbnQgRXhj
ZXB0aW9uQ29kZTsKIAotY2xhc3MgRE9NU3RyaW5nTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERPTVN0cmluZ01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NU3RyaW5n
TWFwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9N
U3RyaW5nTWFwKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA3NWQ4YjliLi40YTZlNGQyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC00NjU4LDcgKzQ2NTgsOSBAQCB2b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAogICAgICAgICB3
aW5kb3ctPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdl
LCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0
IDogTm9uY29weWFibGUgeworc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUGVyZm9ybVRhc2tDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1lbnRX
ZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRvY3Vt
ZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJr
ZXJDb250cm9sbGVyLmgKaW5kZXggOTZmYjdmMy4uZTEyZjIzZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1l
bnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7CiBj
bGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIERvY3VtZW50TWFya2VyQ29udHJv
bGxlcigpIHsgfQogICAgIH5Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7IGRldGFjaCgpOyB9
CiAKICAgICB2b2lkIGRldGFjaCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBi
L1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5kZXggZjA1ZDM2Yy4uY2Q0OWRlOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0yNCw2ICsy
NCw3IEBACiAjaWZuZGVmIEV2ZW50X2gKICNkZWZpbmUgRXZlbnRfaAogCisjaW5jbHVkZSAiQ2xp
cGJvYXJkLmgiCiAjaW5jbHVkZSAiRE9NVGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJn
ZXQuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzEsOCArMzIsNiBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBDbGlwYm9hcmQ7Ci0KICAgICBjbGFzcyBF
dmVudCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50PiB7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIFBoYXNlVHlwZSB7IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDQ5NjgwNGUuLjY4NmQ5YjMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmgKQEAgLTE3OCw3ICsxNzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogLy8gZW5k
IG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCi0gICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZlbnROYW1lcyB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEV2ZW50TmFtZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICAgICAgaW50IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3
b3JrLgogICAgICAgICAvLyBQcml2YXRlIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2
ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5hbWVzKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaAppbmRleCBkZGNiNjYzLi44MWVlYjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTgzLDcg
KzgzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVy
ZWRFdmVudExpc3RlbmVyLCAxPiBFdmVudExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVkZWYgSGFz
aE1hcDxBdG9taWNTdHJpbmcsIEV2ZW50TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3RlbmVyTWFw
OwogCi0gICAgc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1
Y3QgRXZlbnRUYXJnZXREYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRU
YXJnZXREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAg
ICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAog
I2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMDc2
NjhhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hh
bm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRl
cGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBl
bnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZv
a2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hh
bm5lbChQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwog
CkBAIC03OCw3ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJu
cyB0cnVlIGlmIHRoZSBwcm94eSBjdXJyZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMg
cG9ydC4KICAgICAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFz
cyBFdmVudERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERh
dGEgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEV2ZW50RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5o
CmluZGV4IGFiMjA4ZDIuLjczNTBmODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVSYXJl
RGF0YS5oCisrKyBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0zNCw3ICszNCw5IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDogTm9u
Y29weWFibGUgeworc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShOb2RlTGlzdHNOb2RlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVi
bGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsK
ICAgICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDgg
QEAgcHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6ICAg
IAogICAgIE5vZGVSYXJlRGF0YSgpCiAgICAgICAgIDogbV90YWJJbmRleCgwKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFt
ZS5oCmluZGV4IDM0ZmMwNjkuLmNiOTVmMjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1F1YWxp
ZmllZE5hbWUuaAorKysgYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTMyLDcgKzMy
LDggQEAgc3RydWN0IFF1YWxpZmllZE5hbWVDb21wb25lbnRzIHsKICAgICBTdHJpbmdJbXBsKiBt
X25hbWVzcGFjZTsKIH07CiAKLWNsYXNzIFF1YWxpZmllZE5hbWUgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CitjbGFzcyBRdWFsaWZpZWROYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBjbGFzcyBRdWFsaWZpZWROYW1lSW1wbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFF1YWxpZmllZE5hbWVJbXBsPiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4
IDA3YzU5ZGIuLjUyNTBmM2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQu
aAorKysgYi9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xh
c3MgU2NyaXB0RWxlbWVudDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlw
dEVsZW1lbnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29s
IGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0
RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGI0NmEwZjQu
LjQ1NjZhNjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aAorKysgYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsx
MTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJs
aWM6CisgICAgICAgICAgICBUYXNrKCkgeyB9CiAgICAgICAgICAgICB2aXJ0dWFsIH5UYXNrKCk7
CiAgICAgICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopID0gMDsKICAgICAgICAgICAgIC8vIENlcnRhaW4gdGFza3MgZ2V0IG1hcmtlZCBzcGVj
aWFsbHkgc28gdGhhdCB0aGV5IGFyZW4ndCBkaXNjYXJkZWQsIGFuZCBhcmUgZXhlY3V0ZWQsIHdo
ZW4gdGhlIGNvbnRleHQgaXMgc2h1dHRpbmcgZG93biBpdHMgbWVzc2FnZSBxdWV1ZS4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaCBiL1dlYkNvcmUvZG9tL1NwYWNl
U3BsaXRTdHJpbmcuaAppbmRleCA4MjZlNmJkLi42ZWI4OTNjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKKysrIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmlu
Zy5oCkBAIC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNz
IFNwYWNlU3BsaXRTdHJpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBT
cGFjZVNwbGl0U3RyaW5nRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwYWNl
U3BsaXRTdHJpbmdEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBTcGFjZVNwbGl0U3RyaW5nRGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBz
aG91bGRGb2xkQ2FzZSkKICAgICAgICAgICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRG
b2xkQ2FzZShzaG91bGRGb2xkQ2FzZSksIG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3Jt
U291cmNlLmgKaW5kZXggZjk3YWZjZi4uNmMwMTRhNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
VHJhbnNmb3JtU291cmNlLmgKKysrIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAg
LTIzLDcgKzIzLDYgQEAKICNpZiBFTkFCTEUoWFNMVCkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtMzMsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2
b2lkKiBQbGF0Zm9ybVRyYW5zZm9ybVNvdXJjZTsKICNlbmRpZgogCi0gICAgY2xhc3MgVHJhbnNm
b3JtU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUcmFuc2Zvcm1Tb3Vy
Y2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1Tb3VyY2UpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJj
ZShjb25zdCBQbGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5z
Zm9ybVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0
b3IuaCBiL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4u
ZGU1N2VmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAor
KysgYi9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0yNiw3ICsyNiw2IEBA
CiAjaWZuZGVmIFVzZXJHZXN0dXJlSW5kaWNhdG9yX2gKICNkZWZpbmUgVXNlckdlc3R1cmVJbmRp
Y2F0b3JfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMzYsNyArMzUsOCBAQCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRl
IHsKICAgICBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBV
c2VyR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2Vz
dHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRp
Y2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgp
IHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5n
VXNlckdlc3R1cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0
VXNlckdlc3R1cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvV2Vi
Q29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li5iYzNh
Y2UxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5o
CisrKyBiL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTI2LDcg
KzI2LDYgQEAKICNpZm5kZWYgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3JfaAogI2RlZmluZSBV
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM0
LDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2Rl
OwogCi1jbGFzcyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRp
YyBib29sIHByb2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBm
b2N1c2VkRWxlbWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Y
TUxEb2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRl
eCBlM2QzY2MyLi5lZTgxZDc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBh
cnNlci5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKQEAgLTcxLDYgKzcx
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBjbGFzcyBYTUxEb2N1bWVu
dFBhcnNlciA6IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIHB1YmxpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8WE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0
ZShEb2N1bWVudCogZG9jdW1lbnQsIEZyYW1lVmlldyogdmlldykKICAgICAgICAgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKaW5kZXggMjNmOTg4My4uYmNiYTMyMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysg
Yi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCkBAIC03NSw4ICs3NSwx
MCBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFBlbmRpbmdDYWxsYmFja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7CiBw
dWJsaWM6CisgICAgUGVuZGluZ0NhbGxiYWNrcygpIHsgfQogICAgIH5QZW5kaW5nQ2FsbGJhY2tz
KCkKICAgICB7CiAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2NhbGxiYWNrcyk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmggYi9XZWJDb3JlL2RvbS9Y
TUxEb2N1bWVudFBhcnNlclNjb3BlLmgKaW5kZXggNThlOGE2Yi4uOGY0MTkzMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCisrKyBiL1dlYkNvcmUvZG9t
L1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBYTUxE
b2N1bWVudFBhcnNlclNjb3BlX2gKICNkZWZpbmUgWE1MRG9jdW1lbnRQYXJzZXJTY29wZV9oCiAK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShYU0xUKQogI2luY2x1
ZGUgPGxpYnhtbC90cmVlLmg+CkBAIC0zNiw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyOwogCi0gICAgY2xhc3MgWE1MRG9jdW1l
bnRQYXJzZXJTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgWE1MRG9jdW1l
bnRQYXJzZXJTY29wZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTERvY3VtZW50
UGFyc2VyU2NvcGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZShDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIpOwogICAgICAgICB+
WE1MRG9jdW1lbnRQYXJzZXJTY29wZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL0Rl
bGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaCBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKaW5kZXggMTI4NmMwNy4uNGQ5MjhjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0
aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCkBAIC0zNiw3ICszNiw4IEBAIGNsYXNzIEhUTUxFbGVtZW50Owog
Y2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKIAotY2xhc3MgRGVs
ZXRlQnV0dG9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWxldGVC
dXR0b25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWxldGVCdXR0b25D
b250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVsZXRl
QnV0dG9uQ29udHJvbGxlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmNwcAppbmRleCA1NGE3ZmRlLi5jNGUzNmNlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCisrKyBiL1dlYkNvcmUvZWRp
dGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTU5LDcgKzU5LDggQEAgZW51bSBF
RnJhZ21lbnRUeXBlIHsgRW1wdHlGcmFnbWVudCwgU2luZ2xlVGV4dE5vZGVGcmFnbWVudCwgVHJl
ZUZyYWdtZW50IH07CiAKIC8vIC0tLSBSZXBsYWNlbWVudEZyYWdtZW50IGhlbHBlciBjbGFzcwog
Ci1jbGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlcGxhY2VtZW50RnJhZ21lbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxhY2Vt
ZW50RnJhZ21lbnQpOwogcHVibGljOgogICAgIFJlcGxhY2VtZW50RnJhZ21lbnQoRG9jdW1lbnQq
LCBEb2N1bWVudEZyYWdtZW50KiwgYm9vbCBtYXRjaFN0eWxlLCBjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVy
LmggYi9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IDAzNDA2YTQu
LmZhMWQzNWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVy
LmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtMzIsNyAr
MzIsNiBAQAogI2luY2x1ZGUgIlNjcm9sbEJlaGF2aW9yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIK
ICNpbmNsdWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBWaXNp
YmxlUG9zaXRpb247CiAKIGVudW0gRGlyZWN0aW9uYWxpdHlQb2xpY3kgeyBNYWtlTm9uRGlyZWN0
aW9uYWxTZWxlY3Rpb24sIE1ha2VEaXJlY3Rpb25hbFNlbGVjdGlvbiB9OwogCi1jbGFzcyBTZWxl
Y3Rpb25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVjdGlvbkNv
bnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdGlvbkNvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRlcmF0aW9u
IHsgQWx0ZXJhdGlvbk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEVEaXJlY3Rp
b24geyBEaXJlY3Rpb25Gb3J3YXJkLCBEaXJlY3Rpb25CYWNrd2FyZCwgRGlyZWN0aW9uUmlnaHQs
IERpcmVjdGlvbkxlZnQgfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tp
bmdIZWxwZXIuaCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCAy
Mjc1MzBmLi44YjVjNjkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5n
SGVscGVyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03
Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsK
IH07CiAKLWNsYXNzIFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRD
aGVja2luZ0hlbHBlcik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNs
aWVudCosIFBhc3NSZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IGEzZWRkMzguLjYxYzllZTUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9U
ZXh0SXRlcmF0b3IuY3BwCkBAIC02MSw3ICs2MSw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFt
ZXM7CiAvLyBDYXNlIGZvbGRpbmcgaXMgYWxzbyBkb25lIGlmIHRoZSBDYXNlSW5zZW5zaXRpdmUg
b3B0aW9uIGlzIHNwZWNpZmllZC4KIC8vIE1hdGNoZXMgYXJlIGZ1cnRoZXIgZmlsdGVyZWQgaWYg
dGhlIEF0V29yZFN0YXJ0cyBvcHRpb24gaXMgc3BlY2lmaWVkLCBhbHRob3VnaCBzb21lCiAvLyBt
YXRjaGVzIGluc2lkZSBhIHdvcmQgYXJlIHBlcm1pdHRlZCBpZiBUcmVhdE1lZGlhbENhcGl0YWxB
c1dvcmRTdGFydCBpcyBzcGVjaWZpZWQgYXMgd2VsbC4KLWNsYXNzIFNlYXJjaEJ1ZmZlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWFyY2hCdWZmZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNlYXJjaEJ1ZmZlcik7CiBwdWJsaWM6CiAgICAgU2VhcmNoQnVmZmVyKGNvbnN0
IFN0cmluZyYgdGFyZ2V0LCBGaW5kT3B0aW9ucyk7CiAgICAgflNlYXJjaEJ1ZmZlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaCBiL1dlYkNvcmUvZmlsZWFwaS9G
aWxlVGhyZWFkLmgKaW5kZXggZDdhYWJmNy4uNDUyMDVjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9m
aWxlYXBpL0ZpbGVUaHJlYWQuaAorKysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCkBA
IC01NCw3ICs1NCw4IEBAIHB1YmxpYzoKICAgICBib29sIHN0YXJ0KCk7CiAgICAgdm9pZCBzdG9w
KCk7CiAKLSAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBU
YXNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7CiAgICAgcHVibGljOgog
ICAgICAgICB2aXJ0dWFsIH5UYXNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3Jt
VGFzaygpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0u
aCBiL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAppbmRleCBiNzc5YTVmLi4xMmE3
MDEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKKysrIGIv
V2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNz
IEZpbGVTeXN0ZW1DYWxsYmFjazsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8v
IEtlZXBzIHBlci1wcm9jZXNzIGluZm9ybWF0aW9uIGFuZCBwcm92aWRlcyBhbiBlbnRyeSBwb2lu
dCB0byBvcGVuIGEgZmlsZSBzeXN0ZW0uCi1jbGFzcyBMb2NhbEZpbGVTeXN0ZW0gOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTG9jYWxGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb2NhbEZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIC8vIFJldHVybnMgYSBwZXIt
cHJvY2VzcyBpbnN0YW5jZSBvZiBMb2NhbEZpbGVTeXN0ZW0uCiAgICAgLy8gTm90ZSB0aGF0IExv
Y2FsRmlsZVN5c3RlbTo6aW5pdGlhbGl6ZUxvY2FsRmlsZVN5c3RlbSBtdXN0IGJlIGNhbGxlZCBi
ZWZvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaCBi
L1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAppbmRleCAyNWU2NzM5Li4wMjBh
YzQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKKysr
IGIvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCkBAIC01OCw3ICs1OCw4IEBA
IGNsYXNzIEZpbGVFbnRyeVN5bmM7CiAKIC8vIEEgaGVscGVyIHRlbXBsYXRlIGZvciBGaWxlU3lz
dGVtU3luYyBpbXBsZW1lbnRhdGlvbi4KIHRlbXBsYXRlIDx0eXBlbmFtZSBTdWNjZXNzQ2FsbGJh
Y2ssIHR5cGVuYW1lIE9ic2VydmVyVHlwZSwgdHlwZW5hbWUgQ2FsbGJhY2tBcmcsIHR5cGVuYW1l
IFJlc3VsdFR5cGU+Ci1jbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTeW5jQ2FsbGJhY2tIZWxwZXIpOwogcHVibGljOgogICAgIHR5cGVkZWYgU3luY0NhbGxiYWNr
SGVscGVyPFN1Y2Nlc3NDYWxsYmFjaywgT2JzZXJ2ZXJUeXBlLCBDYWxsYmFja0FyZywgUmVzdWx0
VHlwZT4gSGVscGVyVHlwZTsKICAgICBTeW5jQ2FsbGJhY2tIZWxwZXIoT2JzZXJ2ZXJUeXBlKiBv
YnNlcnZlciA9IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250
cm9sbGVyLmggYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKaW5kZXgg
ZTg5ZTMyYi4uOTdlZDZiOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJk
Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIu
aApAQCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBCYWNrRm9yd2FyZENvbnRyb2xsZXJfaAogI2Rl
ZmluZSBCYWNrRm9yd2FyZENvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
QEAgLTM2LDcgKzM1LDggQEAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OwogY2xhc3MgSGlzdG9yeUl0
ZW07CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShCYWNrRm9yd2FyZENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NSZWZQ
dHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5L1Bh
Z2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLmNmMmEwZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlz
dG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAgLTMw
LDcgKzMwLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsKICAgICBjbGFzcyBQYWdlOwogICAgIAotICAg
IGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUNh
Y2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUNhY2hlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBmcmllbmQgUGFnZUNhY2hlKiBw
YWdlQ2FjaGUoKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlv
bkNhY2hlLmggYi9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKaW5kZXggZGYxZDFmYS4u
OGU0YTA2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCisrKyBi
L1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaApAQCAtMjksNyArMjksOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLXN0cnVjdCBDb2xsZWN0aW9uQ2FjaGUg
OiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIENvbGxlY3Rpb25DYWNoZSgpOwogICAgIENv
bGxlY3Rpb25DYWNoZShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmKTsKICAgICBDb2xsZWN0aW9uQ2Fj
aGUmIG9wZXJhdG9yPShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmIG90aGVyKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NU2V0
dGFibGVUb2tlbkxpc3QuaAppbmRleCAyYjcxMWI0Li44ZjZmZDRlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvRE9NU2V0
dGFibGVUb2tlbkxpc3QuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBET01TZXR0YWJsZVRva2VuTGlzdCA6IHB1YmxpYyBET01Ub2tlbkxpc3QsIHB1Ymxp
YyBSZWZDb3VudGVkPERPTVNldHRhYmxlVG9rZW5MaXN0PiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tl
bkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0RPTVRva2Vu
TGlzdC5oIGIvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLjBiNzVi
NjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKKyAgICBET01Ub2tlbkxpc3QoKSB7IH0KICAgICB2aXJ0dWFsIH5ET01Ub2tlbkxpc3QoKSB7
fTsKIAogICAgIHZpcnR1YWwgdm9pZCByZWYoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5j
cHAKaW5kZXggZjFmMzJlZS4uN2YwNGE4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcApA
QCAtMTIxNiw3ICsxMjE2LDkgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNl
cGFyYXRlRnJvbUF0dHJpYnV0ZSgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1zdHJ1
Y3QgRXZlbnRIYW5kbGluZ1N0YXRlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgRXZlbnRIYW5k
bGluZ1N0YXRlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBS
ZWZQdHI8SFRNTElucHV0RWxlbWVudD4gbV9jdXJyUmFkaW87CiAgICAgYm9vbCBtX2luZGV0ZXJt
aW5hdGU7CiAgICAgYm9vbCBtX2NoZWNrZWQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRN
TFBhcnNlclF1aXJrcy5oIGIvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAppbmRleCA1
MGRlNzEwLi4zYmYyMmE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJr
cy5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKQEAgLTI3LDEzICsyNywx
MyBAQAogI2RlZmluZSBIVE1MUGFyc2VyUXVpcmtzX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgTm9kZTsKIAotY2xhc3MgSFRNTFBhcnNlclF1aXJrcyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBIVE1MUGFyc2VyUXVpcmtzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShIVE1MUGFyc2VyUXVpcmtzKTsKIHB1YmxpYzoKICAgICBIVE1MUGFyc2VyUXVpcmtzKCkgeyB9
CiAgICAgdmlydHVhbCB+SFRNTFBhcnNlclF1aXJrcygpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL0lucHV0VHlwZS5oIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGYyNzVh
ZTguLmM3MTdjMTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9X
ZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUwLDcgKzQ5LDggQEAg
Y2xhc3MgUmVuZGVyU3R5bGU7CiAvLyBBbiBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMgdGhl
IHR5cGUtc3BlY2lmaWMgcGFydCBvZiBhbiBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90IGV4
cG9zZSBpbnN0YW5jZXMgb2YgSW5wdXRUeXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBpdCB0
byBjbGFzc2VzCiAvLyBvdGhlciB0aGFuIEhUTUxJbnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1dFR5
cGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShJbnB1dFR5cGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVt
ZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRU
eXBlPiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9TdGVwUmFuZ2UuaCBiL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVh
Li4xZjE2NmJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2Vi
Q29yZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yMiwxMyArMjIsMTMgQEAKICNkZWZpbmUgU3RlcFJh
bmdlX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsK
IAotY2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5n
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBi
b29sIGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
VmFsaWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmlu
ZGV4IGQ3OGUzZjMuLmZkYmMzNDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9u
TWVzc2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC0zMiw3
ICszMiw2IEBACiAjZGVmaW5lIFZhbGlkYXRpb25NZXNzYWdlX2gKIAogI2luY2x1ZGUgIlRpbWVy
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00MCw3ICszOSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9ybUFzc29jaWF0ZWRFbGVtZW50OwogCi1jbGFz
cyBWYWxpZGF0aW9uTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxpZGF0
aW9uTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRhdGlvbk1lc3NhZ2Up
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFZhbGlkYXRpb25NZXNzYWdlPiBjcmVh
dGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50Kik7CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1sL1Zh
bGlkaXR5U3RhdGUuaAppbmRleCAwMWMyNmQxLi42M2EwMjQwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgK
QEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBWYWxpZGl0
eVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkaXR5U3RhdGUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBjcmVh
dGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBjb250cm9sKQogICAgIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIGIvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggYTI1ZThhMS4uMTU5NDU0NiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgK
KysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTI5
LDcgKzI5LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDEsNyArNDAsOCBA
QCBjbGFzcyBIVE1MVmlkZW9FbGVtZW50OwogY2xhc3MgS1VSTDsKIGNsYXNzIFdlYkdMT2JqZWN0
OwogCi1jbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENhbnZhc1JlbmRlcmluZ0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50Kik7CiAgICAg
dmlydHVhbCB+Q2FudmFzUmVuZGVyaW5nQ29udGV4dCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9D
U1NQcmVsb2FkU2Nhbm5lci5oCmluZGV4IDdhYzI4MmYuLmZhZTk1YTEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwv
cGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENTU1By
ZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1ByZWxvYWRTY2Fu
bmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBwdWJs
aWM6CiAgICAgQ1NTUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCmluZGV4IDhiMDliZjUuLmZmNjE4NmQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAorKysgYi9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTMwLDcgKzMwLDYg
QEAKICNpbmNsdWRlICJIVE1MRWxlbWVudFN0YWNrLmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1hdHRp
bmdFbGVtZW50TGlzdC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CiAKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgQXRvbWljSFRNTFRva2Vu
OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBIVE1MQ29uc3RydWN0
aW9uU2l0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTENvbnN0cnVjdGlvblNpdGUpOwogcHVi
bGljOgogICAgIEhUTUxDb25zdHJ1Y3Rpb25TaXRlKERvY3VtZW50KiwgRnJhZ21lbnRTY3JpcHRp
bmdQZXJtaXNzaW9uLCBib29sIGlzUGFyc2luZ0ZyYWdtZW50KTsKICAgICB+SFRNTENvbnN0cnVj
dGlvblNpdGUoKTsKQEAgLTg5LDcgKzg5LDggQEAgcHVibGljOgogICAgIEhUTUxGb3JtRWxlbWVu
dCogZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9ybS5nZXQoKTsgfQogICAgIFBhc3NSZWZQdHI8
SFRNTEZvcm1FbGVtZW50PiB0YWtlRm9ybSgpOwogCi0gICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3Rl
clBhcmVudEd1YXJkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWRpcmVjdFRv
Rm9zdGVyUGFyZW50R3VhcmQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWRpcmVj
dFRvRm9zdGVyUGFyZW50R3VhcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkKEhUTUxDb25zdHJ1Y3Rpb25TaXRlJiB0cmVlKQogICAgICAgICAgICAg
OiBtX3RyZWUodHJlZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3Vt
ZW50UGFyc2VyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCmlu
ZGV4IDA1MDUzZGYuLjVhNTYwMmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TERvY3VtZW50UGFyc2VyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBTY3JpcHRDb250cm9sbGVyOwogY2xhc3Mg
U2NyaXB0U291cmNlQ29kZTsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyIDogIHB1YmxpYyBT
Y3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIEhUTUxTY3JpcHRSdW5uZXJIb3N0LCBDYWNoZWRSZXNv
dXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50
KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxFbGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi5hMzJlZmFiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysgYi9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxFbGVtZW50U3RhY2suaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBIVE1MRWxl
bWVudFN0YWNrX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtMzksMTIgKzM4LDE0IEBAIGNs
YXNzIFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNr
d2FyZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5k
YXJkIChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVs
ZW1lbnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNr
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSFRNTEVsZW1lbnRTdGFjaygpOwogICAgIH5I
VE1MRWxlbWVudFN0YWNrKCk7CiAKLSAgICBjbGFzcyBFbGVtZW50UmVjb3JkIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFbGVtZW50UmVjb3JkIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRWxlbWVudFJlY29yZCk7CiAgICAgcHVibGljOgogICAgICAgICB+RWxlbWVu
dFJlY29yZCgpOyAvLyBQdWJsaWMgZm9yIH5QYXNzT3duUHRyKCkKICAgICAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oIGIvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKaW5kZXggYWNhMDViYi4u
Zjc1ZmE1MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0Vs
ZW1lbnRMaXN0LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1l
bnRMaXN0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxl
bWVudDsKIAogLy8gVGhpcyBtYXkgZW5kIHVwIG1lcmdlZCBpbnRvIEhUTUxFbGVtZW50U3RhY2su
Ci1jbGFzcyBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QpOwogcHVibGljOgogICAgIEhUTUxGb3JtYXR0
aW5nRWxlbWVudExpc3QoKTsKICAgICB+SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaCBiL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKaW5kZXggYTcwOWJkOS4uNjQyZTQzNCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAorKysgYi9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIC8vIG1fbGFzdCBpcyBhIHBvaW50ZXIgdG8gdGhlIGxhc3Qgb2YgdGhl
IGFmdGVySW5zZXJ0aW9uUG9pbnQgc3RyaW5ncy4KIC8vIFRoZSBuZXR3b3JrIGFkZHMgZGF0YSBh
dCB0aGUgZW5kIG9mIHRoZSBJbnB1dFN0cmVhbSwgd2hpY2ggYXBwZW5kcwogLy8gdGhlbSB0byB0
aGUgImxhc3QiIHN0cmluZy4KLWNsYXNzIEhUTUxJbnB1dFN0cmVhbSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBIVE1MSW5wdXRTdHJlYW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEhUTUxJbnB1dFN0cmVhbSk7CiBwdWJsaWM6CiAgICAgSFRNTElucHV0U3RyZWFtKCkKICAgICAg
ICAgOiBtX2xhc3QoJm1fZmlyc3QpCkBAIC0xMjgsNyArMTI5LDggQEAgcHJpdmF0ZToKICAgICBT
ZWdtZW50ZWRTdHJpbmcqIG1fbGFzdDsKIH07CiAKLWNsYXNzIEluc2VydGlvblBvaW50UmVjb3Jk
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc2VydGlvblBvaW50UmVjb3JkIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNlcnRpb25Qb2ludFJlY29yZCk7CiBwdWJsaWM6CiAg
ICAgZXhwbGljaXQgSW5zZXJ0aW9uUG9pbnRSZWNvcmQoSFRNTElucHV0U3RyZWFtJiBpbnB1dFN0
cmVhbSkKICAgICAgICAgOiBtX2lucHV0U3RyZWFtKCZpbnB1dFN0cmVhbSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKaW5kZXggNWJlMzNiMC4uNjQ3NjAyMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKQEAgLTI4LDE0ICsyOCwx
NCBAQAogCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlcjsKIAot
Y2xhc3MgSFRNTFBhcnNlclNjaGVkdWxlciA6ICBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTFBhcnNlclNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNl
clNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEhUTUxQYXJzZXJTY2hlZHVsZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJz
ZXIqIHBhcnNlcikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
cmVsb2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIu
aAppbmRleCA5NGE5MGU2Li5iZWQ3N2ZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDU1NQcmVsb2FkU2Nhbm5l
ci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbi5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTFRva2VuaXplcjsK
IGNsYXNzIFNlZ21lbnRlZFN0cmluZzsKIAotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSFRNTFByZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uOTg2ZjdiZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNp
bmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NDIsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0Owog
Y2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFNjcmlwdFJ1bm5lcj4gY3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCwgSFRNTFNjcmlwdFJ1bm5lckhvc3QqIGhvc3QpCiAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaCBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRva2VuLmgKaW5kZXggNDJjZGRiOC4uMWNiYzE1MSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbi5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFRva2VuX2gKIAogI2lu
Y2x1ZGUgIk5hbWVkTm9kZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEhUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIVE1MVG9rZW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAg
ICAgIFVuaW5pdGlhbGl6ZWQsCkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICAvLyB3
YW50IHRvIGVuZCB1cCB3aXRoIGEgY2xlYW5lciBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdHdvIGNs
YXNzZXMuCiAgICAgZnJpZW5kIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIAotICAgIGNsYXNzIERv
Y3R5cGVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEb2N0eXBlRGF0YSB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3R5cGVEYXRhKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIERvY3R5cGVEYXRhKCkKICAgICAgICAgICAgIDogbV9oYXNQdWJsaWNJZGVudGlm
aWVyKGZhbHNlKQpAQCAtMzUyLDcgKzM1Myw4IEBAIHByaXZhdGU6CiAKIC8vIEZJWE1FOiBUaGlz
IGNsYXNzIHNob3VsZCBldmVudHVhbGx5IGJlIG5hbWVkIEhUTUxUb2tlbiBvbmNlIHdlIG1vdmUg
dGhlCiAvLyBleGl0aW5nIEhUTUxUb2tlbiB0byBiZSBpbnRlcm5hbCB0byB0aGUgSFRNTFRva2Vu
aXplci4KLWNsYXNzIEF0b21pY0hUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBBdG9taWNIVE1MVG9rZW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY0hUTUxU
b2tlbik7CiBwdWJsaWM6CiAgICAgQXRvbWljSFRNTFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiAg
ICAgICAgIDogbV90eXBlKHRva2VuLnR5cGUoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRva2VuaXplci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVy
LmgKaW5kZXggZjE2YjA0OS4uYjUwYWE0MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVG9rZW5pemVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVy
LmgKQEAgLTI4LDcgKzI4LDYgQEAKICNkZWZpbmUgSFRNTFRva2VuaXplcl9oCiAKICNpbmNsdWRl
ICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KQEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgRWxlbWVu
dDsKIGNsYXNzIEZyYW1lOwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBIVE1MVG9rZW5pemVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUb2tlbml6ZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbml6ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcg
KzE3Miw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5v
cmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1z
dHJlYW0KLSAgICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgog
ICAgICAgICBJbnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIp
CiAgICAgICAgICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCAzZDM5MTMxLi4wNDMxY2Y5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDAsNyArMjQwLDggQEAgSFRNTEZvcm1F
bGVtZW50KiBjbG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFt
ZXNwYWNlCiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1
ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVy
bmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVy
bmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFs
Q2hhcmFjdGVyVG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBt
X2N1cnJlbnQodG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzMzQsNyArMjMzNSw4IEBA
IHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0
b2tlbikKICAgICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWls
ZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
VHJlZUJ1aWxkZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGYWtlSW5zZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRN
TFRyZWVCdWlsZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6
IG1fdHJlZUJ1aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxk
ZXIuaAppbmRleCAwZTc1OTdjLi5iNzQ5ZTc2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJIVE1MRm9ybWF0dGluZ0VsZW1l
bnRMaXN0LmgiCiAjaW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNz
IEhUTUxEb2N1bWVudDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhUTUxUcmVlQnVpbGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxUcmVlQnVpbGRlcj4gY3JlYXRlKEhU
TUxUb2tlbml6ZXIqIHRva2VuaXplciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBv
cnRFcnJvcnMsIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpCiAgICAgewpAQCAtMjAzLDcg
KzIwMyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcm9jZXNzRm9yZWlnbkNvbnRlbnRVc2luZ0lu
Qm9keU1vZGVBbmRSZXNldE1vZGUoQXRvbWljSFRNTFRva2VuJiB0b2tlbik7CiAgICAgdm9pZCBy
ZXNldEZvcmVpZ25JbnNlcnRpb25Nb2RlKCk7CiAKLSAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdD
b250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdD
b250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhZ21lbnRQYXJzaW5nQ29u
dGV4dCk7CiAgICAgcHVibGljOgogICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KCk7CiAg
ICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoRG9jdW1lbnRGcmFnbWVudCosIEVsZW1lbnQq
IGNvbnRleHRFbGVtZW50LCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24pOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGIvV2ViQ29y
ZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCmluZGV4IGM1OTc4NzYuLjgx
NTU2MzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVt
ZW50ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVy
LmgKQEAgLTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBOZXN0
aW5nTGV2ZWxJbmNyZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXN0aW5n
TGV2ZWxJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmVzdGluZ0xldmVs
SW5jcmVtZW50ZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IE5lc3RpbmdMZXZlbEluY3JlbWVu
dGVyKHVuc2lnbmVkJiBuZXN0aW5nTGV2ZWwpCiAgICAgICAgIDogbV9uZXN0aW5nTGV2ZWwoJm5l
c3RpbmdMZXZlbCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdl
LmggYi9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCmluZGV4IDM1MWM1ODQuLjI5
MTczNzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaApAQCAtNDYsNyArNDYsOCBAQCBj
bGFzcyBTY3JpcHRDYWxsRnJhbWU7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3Jp
cHRWYWx1ZTsKIAotY2xhc3MgQ29uc29sZU1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ29uc29sZU1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnNvbGVN
ZXNzYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtLCB1bnNpZ25lZCBsaSwgY29uc3QgU3RyaW5nJiB1LCB1bnNpZ25lZCBnKTsKICAgICBD
b25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG0sIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc1JlZlB0cjxT
Y3JpcHRDYWxsU3RhY2s+LCB1bnNpZ25lZCBnKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVj
dG9yL0luamVjdGVkU2NyaXB0LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdC5o
CmluZGV4IGY4MGNmYjQuLmZmOGQzOGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHQuaApA
QCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0SG9zdC5oIgogI2luY2x1
ZGUgIlNjcmlwdE9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQuaAppbmRleCAxMWYxMGNlLi40OWJlMmE5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtMjgsNyAr
MjgsNiBAQAogI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBM
SUNBVElPTlMpCiAKICNpbmNsdWRlICJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0Owog
Y2xhc3MgSW5zcGVjdG9yVmFsdWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBJ
bnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVj
dG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZy
b250ZW5kKTsKICAgICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggZTU3YzA4OS4uMjRkZmUxMyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAwLDcgKzEwMCw4
IEBAIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5k
c2hha2VSZXNwb25zZTsKICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBSZWZQdHI8SW5zcGVjdG9y
RGF0YWJhc2VSZXNvdXJjZT4gPiBEYXRhYmFzZVJlc291cmNlc01hcDsKICAgICB0eXBlZGVmIEhh
c2hNYXA8aW50LCBSZWZQdHI8SW5zcGVjdG9yRE9NU3RvcmFnZVJlc291cmNlPiA+IERPTVN0b3Jh
Z2VSZXNvdXJjZXNNYXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmgKaW5kZXggYWRjOTI1YS4uZTEzNzI5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRlYnVnZ2VyQWdlbnQuaApAQCAtNTIsNyArNTIsOCBAQCBlbnVtIERlYnVnZ2VyRXZlbnRUeXBl
IHsKICAgICBOYXRpdmVCcmVha3BvaW50RGVidWdnZXJFdmVudFR5cGUKIH07CiAKLWNsYXNzIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgU2Ny
aXB0RGVidWdMaXN0ZW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250
cm9sbGVyKiwgSW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1
Z2dlckFnZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsLmgKaW5kZXggOWRjYWE1YS4uYmNlZTFkYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaApAQCAtMzMsNyArMzMsNiBAQAog
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCIKICNpbmNsdWRlICJTY3JpcHRT
dGF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTQxLDcgKzQwLDggQEAgY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNz
IEluc3BlY3RvckZyb250ZW5kSG9zdDsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50TG9jYWwgOiBwdWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVi
bGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9s
bGVyKiwgUGFnZSopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQu
aCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBlNjc4
NDhkLi4xYzQ5YjlkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2Vu
dC5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDcsNyArNDYsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBj
bGFzcyBTY3JpcHRIZWFwU25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJ
bnNwZWN0b3JQcm9maWxlckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclBy
b2ZpbGVyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxJbnNwZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29u
dHJvbGxlciopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCBiYzFlMDI3Li44MWFk
NDkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC03
MCw3ICs3MCw4IEBAIGVudW0gVGltZWxpbmVSZWNvcmRUeXBlIHsKICAgICBTY2hlZHVsZVJlc291
cmNlUmVxdWVzdFRpbWVsaW5lUmVjb3JkVHlwZSA9IDIwCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JU
aW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQo
SW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oCmluZGV4IDEwMTZhZWQuLmRkZDUwNzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Ny
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVt
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlSXRlbSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbShib29s
IGNyZWRlbnRpYWxzKQogICAgICAgICAgICAgOiBtX2Fic29sdXRlRXhwaXJ5VGltZSgwKQpAQCAt
NjMsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEhlYWRlcnNTZXQgbV9o
ZWFkZXJzOwogICAgIH07CiAKLSAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENh
Y2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdo
dFJlc3VsdENhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5Q
cmVmbGlnaHRSZXN1bHRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJl
ZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGVi
ZjNhMjUuLjNhM2NjNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFk
YWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50OwogCiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRo
cmVhZGFibGVMb2FkZXIsIHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
dm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJP
cHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlcj4gY3JlYXRlKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRXcml0ZXIuaAppbmRleCA3OGRiMTZjLi45ZTczN2MxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3Jp
dGVyLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdp
bjsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEb2N1bWVudFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0
ZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgg
Yi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCAyYWM4ZGQwLi4xNjQwZGRhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYK
IH07CiAKLWNsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJD
bGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShF
bXB0eUZyYW1lTG9hZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CisgICAgRW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RnJh
bWVMb2FkZXJDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lTG9hZGVyRGVzdHJv
eWVkKCkgeyB9CiAKQEAgLTM4Myw4ICszODUsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29udGV4dCgp
IHsgcmV0dXJuIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4oKTsgfQogfTsKIAot
Y2xhc3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUVkaXRvckNsaWVudCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAg
ICAgdmlydHVhbCB+RW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFn
ZURlc3Ryb3llZCgpIHsgfQogCkBAIC00OTYsOCArNTAwLDEwIEBAIHB1YmxpYzoKIH07CiAKICNp
ZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBw
dWJsaWMgQ29udGV4dE1lbnVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShFbXB0eUNvbnRleHRNZW51Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAg
IHZpcnR1YWwgfkVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lk
IGNvbnRleHRNZW51RGVzdHJveWVkKCkgeyB9CiAKQEAgLTUxOSw4ICs1MjUsMTAgQEAgcHVibGlj
OgogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RHJhZ0NsaWVudCgpIHsgfQogICAgIHZp
cnR1YWwgfkVtcHR5RHJhZ0NsaWVudCgpIHt9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3Jt
RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgRHJhZ0RhdGEqKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3Vy
Y2VBY3Rpb24sIGNvbnN0IEludFBvaW50JiwgQ2xpcGJvYXJkKikgeyB9CkBAIC01MzIsOCArNTQw
LDEwIEBAIHB1YmxpYzoKIH07CiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotY2xh
c3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVj
dG9yQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUluc3BlY3RvckNsaWVu
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5SW5zcGVjdG9y
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KIAog
ICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmggYi9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlz
c2lvbi5oCmluZGV4IGQ3MjQ4MzUuLjdmNThmOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0Zvcm1TdWJtaXNzaW9uLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaApA
QCAtNDcsNyArNDcsOCBAQCBjbGFzcyBGb3JtU3VibWlzc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVk
PEZvcm1TdWJtaXNzaW9uPiB7CiBwdWJsaWM6CiAgICAgZW51bSBNZXRob2QgeyBHZXRNZXRob2Qs
IFBvc3RNZXRob2QgfTsKIAotICAgIGNsYXNzIEF0dHJpYnV0ZXMgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIEF0dHJpYnV0ZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShBdHRyaWJ1dGVzKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEF0dHJpYnV0ZXMoKQogICAgICAg
ICAgICAgOiBtX21ldGhvZChHZXRNZXRob2QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCAyMTAxMjg2
Li4yZGExZDFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTg1LDcgKzg1LDggQEAgc3RydWN0IFdp
bmRvd0ZlYXR1cmVzOwogCiBib29sIGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBl
KTsKIAotY2xhc3MgRnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJh
bWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyKTsKIHB1Ymxp
YzoKICAgICBGcmFtZUxvYWRlcihGcmFtZSosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAgICAgfkZy
YW1lTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRl
TWFjaGluZS5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAppbmRl
eCBjMzQwOGMyLi4xZGRmMmVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
clN0YXRlTWFjaGluZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNo
aW5lLmgKQEAgLTI5LDEzICsyOSwxMyBAQAogI2lmbmRlZiBGcmFtZUxvYWRlclN0YXRlTWFjaGlu
ZV9oCiAjZGVmaW5lIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lX2gKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEVuY2Fwc3VsYXRlcyBh
IHN0YXRlIG1hY2hpbmUgZm9yIEZyYW1lTG9hZGVyLiBOb3RlIHRoYXQgdGhpcyBpcyBkaWZmZXJl
bnQgZnJvbSBGcmFtZVN0YXRlLAogLy8gd2hpY2ggc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgY3Vy
cmVudCBsb2FkIHRoYXQgRnJhbWVMb2FkZXIgaXMgZXhlY3V0aW5nLgotY2xhc3MgRnJhbWVMb2Fk
ZXJTdGF0ZU1hY2hpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXJT
dGF0ZU1hY2hpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyU3RhdGVN
YWNoaW5lKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oIGIvV2ViQ29yZS9sb2Fk
ZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAppbmRleCAxYmY1MDcyLi40ZmI4NjNjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L0hpc3RvcnlDb250cm9sbGVyLmgKQEAgLTMyLDcgKzMyLDYgQEAKIAogI2luY2x1ZGUgIkZyYW1l
TG9hZGVyVHlwZXMuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDEsNyArNDAsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhpc3RvcnlJdGVt
OwogY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogCi1jbGFzcyBIaXN0b3J5Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIaXN0b3J5Q29udHJvbGxlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSGlzdG9yeUNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIGVu
dW0gSGlzdG9yeVVwZGF0ZVR5cGUgeyBVcGRhdGVBbGwsIFVwZGF0ZUFsbEV4Y2VwdEJhY2tGb3J3
YXJkTGlzdCB9OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAg
Yi9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggOTRhMjFhNC4uYTgzNmY3NyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUv
bG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtNTcsNyArNTcsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVj
dCBWYWx1ZUNoZWNrPFdlYkNvcmU6OkltYWdlTG9hZGVyKj4gewogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIEltYWdlRXZlbnRTZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSW1hZ2VFdmVudFNlbmRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VFdmVu
dFNlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEltYWdlRXZl
bnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL05h
dmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4IDdjNjkxYWUuLmNhZmM5ZWUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01MSw3ICs1MSw4IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgU2NoZWR1bGVkTmF2aWdhdGlvbihkb3VibGUgZGVsYXksIGJvb2wgbG9ja0hpc3Rv
cnksIGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlzdCwgYm9vbCB3YXNEdXJpbmdMb2FkLCBib29sIGlz
TG9jYXRpb25DaGFuZ2UpCiAgICAgICAgIDogbV9kZWxheShkZWxheSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25TY2hlZHVsZXIuaAppbmRleCAxNDAwYzI1Li5mMTRkMDUzIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEZyYW1lOwogc3RydWN0
IEZyYW1lTG9hZFJlcXVlc3Q7CiBjbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uOwogCi1jbGFzcyBO
YXZpZ2F0aW9uU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5hdmlnYXRp
b25TY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5hdmlnYXRpb25TY2hlZHVs
ZXIpOwogcHVibGljOgogICAgIE5hdmlnYXRpb25TY2hlZHVsZXIoRnJhbWUqKTsKICAgICB+TmF2
aWdhdGlvblNjaGVkdWxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCmluZGV4IGViNDMxNjYuLjNmNTYzYTEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9QaW5nTG9hZGVyLmgKQEAgLTM0LDcgKzM0LDYgQEAKIAogI2luY2x1ZGUgIlJlc291cmNl
SGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTUwLDcgKzQ5LDggQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIC8vIHRvIGFsbG93IHRo
ZSBsb2FkIHRvIGxpdmUgbG9uZyBlbm91Z2ggdG8gZW5zdXJlIHRoZSBtZXNzYWdlIHdhcyBhY3R1
YWxseSBzZW50LgogLy8gVGhlcmVmb3JlLCBhcyBzb29uIGFzIGEgY2FsbGJhY2sgaXMgcmVjZWl2
ZWQgZnJvbSB0aGUgUmVzb3VyY2VIYW5kbGUsIHRoaXMgY2xhc3MgCiAvLyB3aWxsIGNhbmNlbCB0
aGUgbG9hZCBhbmQgZGVsZXRlIGl0c2VsZi4KLWNsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJl
c291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGluZ0xvYWRl
ciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBpbmdMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBz
dGF0aWMgdm9pZCBsb2FkSW1hZ2UoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwpOwogICAgIHN0YXRp
YyB2b2lkIHNlbmRQaW5nKEZyYW1lKiwgY29uc3QgS1VSTCYgcGluZ1VSTCwgY29uc3QgS1VSTCYg
ZGVzdGluYXRpb25VUkwpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tl
ci5oIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCmluZGV4IDU0MTcyOWMuLjMxMThk
YWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xhc3MgTmF2aWdh
dGlvbkFjdGlvbjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
OwogCi1jbGFzcyBQb2xpY3lDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBv
bGljeUNoZWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvbGljeUNoZWNrZXIpOwog
cHVibGljOgogICAgIFBvbGljeUNoZWNrZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJh
Y2tlci5jcHAKaW5kZXggY2QxNTQzMy4uNjVkZDFjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNr
ZXIuY3BwCkBAIC01MCw3ICs1MCw5IEBAIHN0YXRpYyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVz
c1ZhbHVlID0gMC45OyAvLyAxLjAgLSBpbml0aWFsUHJvZ3Jlc3NWYWx1ZQogCiBzdGF0aWMgY29u
c3QgaW50IHByb2dyZXNzSXRlbURlZmF1bHRFc3RpbWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAK
LXN0cnVjdCBQcm9ncmVzc0l0ZW0gOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUHJvZ3Jlc3NJdGVt
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc0l0ZW0pOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBQcm9ncmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkg
CiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQogICAgICAgICAsIGVzdGltYXRlZExlbmd0aChs
ZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgg
Yi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAppbmRleCA1ZDViNmIyLi42MGViOGZl
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBQ
cm9ncmVzc1RyYWNrZXJfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKQEAgLTM2LDcgKzM1LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBSZXNvdXJjZVJl
c3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsKIAotY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb2dyZXNzVHJhY2tlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgUHJvZ3Jlc3NUcmFja2VyKCk7CiAgICAgflByb2dyZXNzVHJhY2tlcigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVxdWVzdC5oIGIvV2ViQ29yZS9sb2FkZXIv
UmVxdWVzdC5oCmluZGV4IGI2ZGUzMTIuLjE1NzFkMWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL1JlcXVlc3QuaAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXF1ZXN0LmgKQEAgLTMxLDcgKzMx
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENhY2hlZFJlc291cmNlOwogICAg
IGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyOwogCi0gICAgY2xhc3MgUmVxdWVzdCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVxdWVzdCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlcXVlc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFJlcXVlc3QoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqLCBDYWNoZWRSZXNvdXJjZSos
IGJvb2wgaW5jcmVtZW50YWwsIFNlY3VyaXR5Q2hlY2tQb2xpY3ksIGJvb2wgc2VuZFJlc291cmNl
TG9hZENhbGxiYWNrcyk7CiAgICAgICAgIH5SZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkTm90aWZpZXIuaAppbmRleCAyZjEwODU2Li4yNzA0MDZhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZE5vdGlmaWVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpZm5kZWYgUmVzb3VyY2VMb2Fk
Tm90aWZpZXJfaAogI2RlZmluZSBSZXNvdXJjZUxvYWROb3RpZmllcl9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Myw3ICs0Miw4
IEBAIGNsYXNzIFJlc291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNz
IFJlc291cmNlUmVxdWVzdDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlc291cmNlTG9hZE5vdGlmaWVyKTsKIHB1YmxpYzoKICAgICBSZXNvdXJj
ZUxvYWROb3RpZmllcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRTY2hlZHVsZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxl
ci5oCmluZGV4IDg0Zjg4NDUuLjI5Yzc0ZGQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNj
aGVkdWxlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDMsNyArNDIsOCBAQCBjbGFzcyBSZXNvdXJjZVJlcXVl
c3Q7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyQ2xp
ZW50OwogCi1jbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZXNvdXJjZUxvYWRTY2hlZHVsZXIpOwogcHVibGljOgogICAgIGZyaWVuZCBSZXNvdXJjZUxv
YWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogCkBAIC02Niw3ICs2Niw4IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7CiAgICAg
dm9pZCByZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+Kik7CiAK
LSAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIEhvc3RJbmZvcm1hdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RJ
bmZvcm1hdGlvbik7CiAgICAgcHVibGljOgogICAgICAgICBIb3N0SW5mb3JtYXRpb24oY29uc3Qg
U3RyaW5nJiwgdW5zaWduZWQpOwogICAgICAgICB+SG9zdEluZm9ybWF0aW9uKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvU3Vi
ZnJhbWVMb2FkZXIuaAppbmRleCBhNTczMDQ1Li5kMTFkOWI5IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9h
ZGVyLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTU0LDcgKzUzLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFdpZGdldDsK
IAogLy8gVGhpcyBpcyBhIHNsaWdodCBtaXNub21lci4gSXQgaGFuZGxlcyB0aGUgaGlnaGVyIGxl
dmVsIGxvZ2ljIG9mIGxvYWRpbmcgYm90aCBzdWJmcmFtZXMgYW5kIHBsdWdpbnMuCi1jbGFzcyBT
dWJmcmFtZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdWJmcmFtZUxvYWRl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3ViZnJhbWVMb2FkZXIpOwogcHVibGljOgog
ICAgIFN1YmZyYW1lTG9hZGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApp
bmRleCBmNDFhNzc0Li5iYzFhM2JhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRh
YmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC0z
MSw3ICszMSw2IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJfaAogI2RlZmluZSBUaHJlYWRh
YmxlTG9hZGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC02NSw3ICs2NCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcgbG9hZGVy
IG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2FmZSwgCiAgICAgLy8ganVz
dCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFkKS4KLSAg
ICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFk
YWJsZUxvYWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3Jl
YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKQEAg
LTc1LDYgKzc1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGRlcmVmKCkg
eyBkZXJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBU
aHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXIo
KSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmggYi9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKaW5kZXggYmNmNjhiZS4uY2VhOGIwZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAtMzEsMTQgKzMxLDE0IEBA
CiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJDbGllbnRfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNl
UmVzcG9uc2U7CiAKLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmRE
YXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2VudCovLCB1bnNpZ25lZCBsb25nIGxvbmcg
Lyp0b3RhbEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9u
Q2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSB7IH0KIAogICAgIHByb3RlY3Rl
ZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAgICAgICB2aXJ0dWFs
IH5UaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBwZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyLmgKaW5kZXggZDNjMWE5Zi4uZDRmZWFj
ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBw
ZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlci5o
CkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVy
X2gKIAogI2luY2x1ZGUgIlRocmVhZGFibGVMb2FkZXJDbGllbnQuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9UaHJlYWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFk
YWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCmlu
ZGV4IDgxZGEyZTAuLjY1Y2M2MzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRo
cmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBD
cm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1
YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91
c2x5KFdvcmtlckNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFdvcmtlckNvbnRl
eHQqIHdvcmtlckNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3Qg
U3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBU
aHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oIGIvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKaW5kZXggMjlkMDc0OS4uOTFhYzI4YiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgK
KysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKQEAg
LTM1LDcgKzM1LDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1
ZGUgIlNoYXJlZEJ1ZmZlci5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC01Myw3
ICs1Miw4IEBAIGVudW0gQXBwbGljYXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB7CiAgICAgQXBwbGlj
YXRpb25DYWNoZVVwZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRleHQKIH07CiAKLWNsYXNzIEFwcGxp
Y2F0aW9uQ2FjaGVHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgUmVzb3VyY2VIYW5kbGVDbGll
bnQgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogUmVzb3VyY2VIYW5kbGVDbGllbnQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVHcm91cCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFwcGxpY2F0aW9uQ2FjaGVHcm91cChj
b25zdCBLVVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBpc0NvcHkgPSBmYWxzZSk7ICAgIAogICAgIH5B
cHBsaWNhdGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlSG9zdC5oCmluZGV4IDhhYzUzNTcuLmExZjI4NDEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKKysrIGIvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaApAQCAtNTgsNyArNTgsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7
CiAjZW5kaWYKIAotICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVz
IGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAgICAgICAgIGVudW0gU3RhdHVzIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9y
YWdlLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5o
CmluZGV4IDdkYjM0ZTYuLjhiZmRmMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaApAQCAtNDQsNyArNDQsOCBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVD4KIGNsYXNzIFN0b3JhZ2VJREpvdXJuYWw7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsK
IAotY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAgICAgT3JpZ2luUXVvdGFSZWFjaGVk
LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xs
ZWN0aW9uLmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rp
b24uaAppbmRleCA5ZDYzMGQxLi5mZDJkZGJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9h
cmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAorKysgYi9XZWJDb3JlL2xvYWRlci9h
cmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApAQCAtMzksNyArMzksOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24gOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rp
b24oKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
aCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggOWE1NGM1My4u
YWU2Zjc1MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2Uu
aAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC00OSw3ICs0
OSw4IEBAIGNsYXNzIFJlcXVlc3Q7CiAvLyBBIHJlc291cmNlIHRoYXQgaXMgaGVsZCBpbiB0aGUg
Y2FjaGUuIENsYXNzZXMgd2hvIHdhbnQgdG8gdXNlIHRoaXMgb2JqZWN0IHNob3VsZCBkZXJpdmUK
IC8vIGZyb20gQ2FjaGVkUmVzb3VyY2VDbGllbnQsIHRvIGdldCB0aGUgZnVuY3Rpb24gY2FsbHMg
aW4gY2FzZSB0aGUgcmVxdWVzdGVkIGRhdGEgaGFzIGFycml2ZWQuCiAvLyBUaGlzIGNsYXNzIGFs
c28gZG9lcyB0aGUgYWN0dWFsIGNvbW11bmljYXRpb24gd2l0aCB0aGUgbG9hZGVyIHRvIG9idGFp
biB0aGUgcmVzb3VyY2UgZnJvbSB0aGUgbmV0d29yay4KLWNsYXNzIENhY2hlZFJlc291cmNlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hlZFJlc291cmNlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAgICBmcmllbmQgY2xhc3MgSW5zcGVjdG9y
UmVzb3VyY2U7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGll
bnQuaAppbmRleCAyNzVkMzMxLi4yMWVhMDI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlQ2xpZW50LmgKQEAgLTI1LDcgKzI1LDYgQEAKICNpZm5kZWYgQ2FjaGVkUmVz
b3VyY2VDbGllbnRfaAogI2RlZmluZSBDYWNoZWRSZXNvdXJjZUNsaWVudF9oCiAKLSNpbmNsdWRl
IDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDggKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAqIGluaGVyaXQgZnJvbSB0aGlzIGNsYXNzIGFuZCBvdmVybG9hZCBvbmUgb2YgdGhlIDMgZnVu
Y3Rpb25zCiAgICAgICoKICAgICAgKi8KLSAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlCi0gICAgeworICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICB2aXJ0dWFsIH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCBmMzcxYTBlLi42ZDRhN2EzIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCisr
KyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKQEAgLTQ3LDcg
KzQ3LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJMOwogCiAvLyBUaGUgQ2FjaGVk
UmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBzY3JpcHRzL2ltYWdlcy9zdHls
ZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKIGZyaWVuZCBjbGFzcyBJ
bWFnZUxvYWRlcjsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2Fj
aGUuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKaW5kZXggMTVjZTlkYS4u
ZDA4NDllNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAor
KysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCkBAIC0zMSw3ICszMSw2IEBA
CiAjaW5jbHVkZSAibG9hZGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTcx
LDcgKzcwLDggQEAgY2xhc3MgS1VSTDsKIC8vIGl0cyBtZW1iZXIgdmFyaWFibGVzKSBhcmUgYWxs
b2NhdGVkIGluIG5vbi1wdXJnZWFibGUgVEMtbWFsbG9jJ2QgbWVtb3J5IHNvIHdlIHdvdWxkIHNl
ZSBzbGlnaHRseQogLy8gbW9yZSBtZW1vcnkgdXNlIGR1ZSB0byB0aGlzLgogCi1jbGFzcyBNZW1v
cnlDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZW1vcnlDYWNoZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTWVtb3J5Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBmcmllbmQgTWVtb3J5Q2FjaGUqIGNhY2hlKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmggYi9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5oCmluZGV4IDYxNDZhYTYuLmVjODdiZjQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNv
bi9JY29uRGF0YWJhc2UuaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRpbWVyLmgiCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTYyLDggKzYxLDggQEAgZW51bSBJY29uTG9h
ZERlY2lzaW9uIHsKICAgICBJY29uTG9hZFVua25vd24KIH07CiAKLWNsYXNzIEljb25EYXRhYmFz
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Ci0KK2NsYXNzIEljb25EYXRhYmFzZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAvLyAqKiogTWFpbiBUaHJlYWQgT25seSAqKioKIHB1YmxpYzoKICAgICB2b2lkIHNldENsaWVu
dChJY29uRGF0YWJhc2VDbGllbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNs
aWVudC5oCmluZGV4IGMyMTBkN2QuLjRhZTJlYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2VDbGllbnQuaApAQCAtMzAsMTUgKzMwLDE2IEBACiAjZGVmaW5lIEljb25EYXRhYmFz
ZUNsaWVudF9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiAvLyBBbGwgb2YgdGhlc2UgY2xpZW50IG1ldGhvZHMgd2lsbCBiZSBjYWxs
ZWQgZnJvbSBhIG5vbi1tYWluIHRocmVhZAogLy8gVGFrZSBhcHByb3ByaWF0ZSBtZWFzdXJlcwog
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBJY29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5J
Y29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybUltcG9ydCgp
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRSZW1vdmVBbGxJ
Y29ucygpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgg
Yi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAppbmRleCAxZWJhYzQ4Li43ZDgwODli
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAorKysgYi9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVk
ZSAiU3VicmVzb3VyY2VMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsNyArMzYsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNz
IEtVUkw7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLWNsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRl
IFN1YnJlc291cmNlTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNv
bkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEljb25Mb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJY29uTG9hZGVyPiBjcmVhdGUoRnJhbWUqKTsKICAg
ICB+SWNvbkxvYWRlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJM
UmVjb3JkLmggYi9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAppbmRleCBmN2Nj
YjhmLi5hNWU1NWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNv
cmQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaApAQCAtMzEsNyAr
MzEsNiBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNTEsNyArNTAsOCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGljb25VUkw7CiB9Owog
Ci1jbGFzcyBQYWdlVVJMUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhZ2VV
UkxSZWNvcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VVUkxSZWNvcmQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNvbnN0IFN0
cmluZyYgcGFnZVVSTCk7CiAgICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKaW5kZXggODE4ZjU2
Zi4uMjMyMDQzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvbG9hZGVyLmgKKysrIGIvV2Vi
Q29yZS9sb2FkZXIvbG9hZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlICJTdWJyZXNv
dXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyQ2xpZW50LmgiCiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM1LDggKzM0LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsK
ICAgICBjbGFzcyBSZXF1ZXN0OwogCi0gICAgY2xhc3MgTG9hZGVyIDogcHVibGljIE5vbmNvcHlh
YmxlLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBjbGFzcyBMb2FkZXIg
OiBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExvYWRlcik7CiAgICAgcHVibGljOgorICAgICAgICBMb2FkZXIoKSB7IH0KICAgICAgICAgfkxv
YWRlcigpOwogCiAgICAgICAgIHZvaWQgbG9hZChDYWNoZWRSZXNvdXJjZUxvYWRlciosIENhY2hl
ZFJlc291cmNlKiwgYm9vbCBpbmNyZW1lbnRhbCA9IHRydWUsIFNlY3VyaXR5Q2hlY2tQb2xpY3kg
PSBEb1NlY3VyaXR5Q2hlY2ssIGJvb2wgc2VuZFJlc291cmNlTG9hZENhbGxiYWNrcyA9IHRydWUp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjczMTMxZTUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9X
ZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFzcyBO
b3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2ZW50
VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBLVVJM
JiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVj
LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250
ZW50cyYgY29udGVudHMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlv
bkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvV2ViQ29yZS9w
YWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IDgzM2I5MDkuLmEyNGQxMjYgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYg
Q29udGV4dE1lbnVDb250cm9sbGVyX2gKICNkZWZpbmUgQ29udGV4dE1lbnVDb250cm9sbGVyX2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAg
LTQwLDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50OwogICAg
IGNsYXNzIFBhZ2U7CiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51Q29udHJvbGxlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVy
KFBhZ2UqLCBDb250ZXh0TWVudUNsaWVudCopOwogICAgICAgICB+Q29udGV4dE1lbnVDb250cm9s
bGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaCBiL1dlYkNv
cmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDBlOTBhNTIuLjM2MGU0NjMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9EcmFn
Q29udHJvbGxlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBSYW5nZTsKICAgICBjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyOwogICAgIAotICAgIGNs
YXNzIERyYWdDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEcmFn
Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERyYWdDb250cm9sbGVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBEcmFnQ29u
dHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuaAppbmRleCBjYTE5YTBjLi40NzgwNjE4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBA
IC04MCw3ICs4MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwog
CiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERvbnRI
aXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShF
dmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAgIH5F
dmVudEhhbmRsZXIoKTsKQEAgLTIyMiw3ICsyMjMsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgUGVy
Zm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3Rh
dGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5kbGVyRHJh
Z1N0YXRlKCkgeyB9CiAgICAgICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVsZW1lbnQg
dGhhdCBtYXkgYmUgYSBkcmFnIHNvdXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdlc3R1cmUK
ICAgICAgICAgYm9vbCBtX2RyYWdTcmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNJ
bWFnZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmgKaW5kZXggZmZlZDU5Mi4uMTBhZDZiYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgK
QEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFi
bGVMb2FkZXI7CiAKICAgICBjbGFzcyBFdmVudFNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPEV2
ZW50U291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJD
bGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV2ZW50U291
cmNlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgICAgIHZpcnR1YWwgfkV2ZW50U291cmNlKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvRm9jdXND
b250cm9sbGVyLmgKaW5kZXggYmU1MWM3Ny4uMjg1MGQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
YWdlL0ZvY3VzQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIu
aApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkZvY3VzRGlyZWN0aW9uLmgiCiAjaW5jbHVk
ZSAiU3BhdGlhbE5hdmlnYXRpb24uaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDAsNyArMzksOCBAQCBjbGFzcyBLZXlib2FyZEV2ZW50OwogY2xh
c3MgTm9kZTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEZvY3VzQ29udHJvbGxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBGb2N1c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEZvY3VzQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5i
YWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIvV2ViQ29y
ZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0
aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1l
KHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZmRkNmU5My4uY2ZlMTY2YiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJl
cGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVt
YmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9y
ZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJh
dGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2
ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgU2NoZWR1bGVkRXZl
bnQoKSB7IH0KICAgICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiAgICAgUmVmUHRyPE5vZGU+IG1f
ZXZlbnRUYXJnZXQ7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29u
dHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDdk
YjE5NTEuLjlhNWQwMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKQEAgLTMw
LDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkdlb2xvY2F0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xhc3MgR2Vv
bG9jYXRpb25FcnJvcjsKIGNsYXNzIEdlb2xvY2F0aW9uUG9zaXRpb247CiBjbGFzcyBQYWdlOwog
Ci1jbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgR2VvbG9jYXRpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9s
b2NhdGlvbkNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcihQ
YWdlKiwgR2VvbG9jYXRpb25DbGllbnQqKTsKICAgICB+R2VvbG9jYXRpb25Db250cm9sbGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdl
L0dyb3VwU2V0dGluZ3MuaAppbmRleCBmYjZmNmI1Li4xYmJhZDJiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdz
LmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdlR3Jv
dXA7CiAKLWNsYXNzIEdyb3VwU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
R3JvdXBTZXR0aW5ncyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5ncyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRy
PEdyb3VwU2V0dGluZ3M+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L1BhZ2UuaCBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggYTkzODkzMi4uZTQxNzgyNiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBA
IC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiVmlld3BvcnRBcmd1bWVudHMuaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAiU2NoZWR1bGVQ
YWlyLmgiCkBAIC05MCwxMiArODksMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgZW51
bSBGaW5kRGlyZWN0aW9uIHsgRmluZERpcmVjdGlvbkZvcndhcmQsIEZpbmREaXJlY3Rpb25CYWNr
d2FyZCB9OwogCi0gICAgY2xhc3MgUGFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgUGFnZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2UpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIHZvaWQgc2NoZWR1bGVGb3JjZWRTdHlsZVJlY2FsY0ZvckFsbFBh
Z2VzKCk7CiAKICAgICAgICAgLy8gSXQgaXMgdXAgdG8gdGhlIHBsYXRmb3JtIHRvIGVuc3VyZSB0
aGF0IG5vbi1udWxsIGNsaWVudHMgYXJlIHByb3ZpZGVkIHdoZXJlIHJlcXVpcmVkLgotICAgICAg
ICBzdHJ1Y3QgUGFnZUNsaWVudHMgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVjdCBQYWdl
Q2xpZW50cyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2xpZW50cyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQ
YWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRl
eCBjYzQ3ZmJhLi42ZDdkNmNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgK
KysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5l
IFBhZ2VHcm91cF9oCiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVXNlclNjcmlw
dC5oIgogI2luY2x1ZGUgIlVzZXJTdHlsZVNoZWV0LmgiCkBAIC00MSw3ICs0MCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3Bh
Y2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3Vw
KGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmggYi9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwTG9hZERlZmVycmVyLmgKaW5kZXggZDQ0M2ViZC4uZjc5NTZjNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCisrKyBiL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIFBh
Z2VHcm91cExvYWREZWZlcnJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFn
ZUdyb3VwTG9hZERlZmVycmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdy
b3VwTG9hZERlZmVycmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cExvYWREZWZl
cnJlcihQYWdlKiwgYm9vbCBkZWZlclNlbGYpOwogICAgICAgICB+UGFnZUdyb3VwTG9hZERlZmVy
cmVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmggYi9XZWJDb3Jl
L3BhZ2UvUGx1Z2luSGFsdGVyLmgKaW5kZXggYWY4YjMxZS4uNWI5NmQxOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0
ZXIuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhhbHRh
YmxlUGx1Z2luOwogCi1jbGFzcyBQbHVnaW5IYWx0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUGx1Z2luSGFsdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5IYWx0
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQbHVnaW5IYWx0ZXIo
UGx1Z2luSGFsdGVyQ2xpZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggMDRiMTI2YS4uYjUyNjFiMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBUZXh0
RGlyZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAotICAgIGNsYXNzIFNldHRp
bmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTZXR0aW5ncyB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5k
ZXggNDUzMmQ0OS4uODUzYzBhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0
LmgKKysrIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5w
dXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJl
cXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVj
aCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBl
bGVtZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZv
ciB0aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0
cy4KLWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNo
SW5wdXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExp
c3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6
CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVl
Y2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNv
cmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uMDUxNDA5MCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5o
CkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNj
cmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgVXNlclNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYg
dXJsLAogICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlz
dCwgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0
LmgKaW5kZXggZmE0MmUyYy4uMDY4ZGYxZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJT
dHlsZVNoZWV0LmgKKysrIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM1LDcg
KzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBVc2VyU3R5bGVTaGVldCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU3R5bGVTaGVldCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVXNlclN0eWxlU2hlZXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBVc2VyU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3Qg
S1VSTCYgdXJsLAogICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4g
PiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0
b3IuaAppbmRleCAyYjc4MWYxLi41YmVlZDYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvWFNT
QXVkaXRvci5oCisrKyBiL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAgLTY5LDcgKzY5LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICogSFRNTERvY3VtZW50UGFyc2VyOjpzaG91
bGRMb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4dGVybmFsIEphdmFT
Y3JpcHQgc2NyaXB0cy4KICAgICAvLyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0IC0g
dXNlZCB0byBsb2FkIDxvYmplY3Q+LzxlbWJlZD4gZWxlbWVudHMuCiAgICAgLy8KLSAgICBjbGFz
cyBYU1NBdWRpdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYU1NBdWRpdG9y
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwog
ICAgICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9BbmltYXRpb25CYXNlLmNwcCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFz
ZS5jcHAKaW5kZXggZDU2MTZhOC4uZjZjMjQ5OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Fu
aW1hdGlvbkJhc2UuY3BwCkBAIC0yMTksNyArMjE5LDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVy
QmFzZTsKIHN0YXRpYyB2b2lkIGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9w
ZXJ0eVdyYXBwZXJCYXNlKiB3cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1j
bGFzcyBQcm9wZXJ0eVdyYXBwZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBy
b3BlcnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3Jh
cHBlckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQcm9wZXJ0
eVdyYXBwZXJCYXNlKGludCBwcm9wKQogICAgICAgICA6IG1fcHJvcChwcm9wKQpAQCAtNDM4LDcg
KzQzOSw4IEBAIHB1YmxpYzoKIH07CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgRmls
bExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3Jh
cHBlckJhc2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdy
YXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKTsKIHB1
YmxpYzoKICAgICBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIoVCAoRmlsbExheWVyOjoq
Z2V0dGVyKSgpIGNvbnN0KQogICAgICAgICA6IG1fZ2V0dGVyKGdldHRlcikKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBiL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA4
OTNjNzE3Li5jODRkZDU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE5vZGU7CiBj
bGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJTdHlsZTsKIAotY2xhc3MgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvbkNv
bnRyb2xsZXJQcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUqKTsKICAgICB+QW5pbWF0aW9uQ29udHJv
bGxlclByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9z
aXRlQW5pbWF0aW9uLmggYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlv
bi5oCmluZGV4IDI0OWY0YzMuLjBkMGJiMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9D
b21wb3NpdGVBbmltYXRpb24uaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkltcGxpY2l0
QW5pbWF0aW9uLmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVBbmltYXRpb24uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1dlYkNvcmUvcGFnZS9tYWMv
RXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IDJkYjcxM2YuLmI5OGJjYjIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1dlYkNvcmUvcGFnZS9tYWMv
RXZlbnRIYW5kbGVyTWFjLm1tCkBAIC03Nyw3ICs3Nyw4IEBAIE5TRXZlbnQgKkV2ZW50SGFuZGxl
cjo6Y3VycmVudE5TRXZlbnQoKQogICAgIHJldHVybiBjdXJyZW50TlNFdmVudFNsb3QoKS5nZXQo
KTsKIH0KIAotY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgeworICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDdXJy
ZW50RXZlbnRTY29wZSk7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUoTlNFdmVudCAq
KTsKICAgICB+Q3VycmVudEV2ZW50U2NvcGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vQXN5bmNGaWxlU3lzdGVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5o
CmluZGV4IGQ5NmMxYWQuLmMzNGE2NDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5
bmNGaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaApA
QCAtNDQsNyArNDQsOCBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7CiBjbGFzcyBB
c3luY0ZpbGVXcml0ZXJDbGllbnQ7CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMgYXN5bmMgaW50
ZXJmYWNlIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi4g
IE5vdGUgdGhhdCBhbGwgdGhlIG1ldGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4KLWNsYXNzIEFz
eW5jRmlsZVN5c3RlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0
ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+QXN5bmNGaWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCmluZGV4IDI5MGE2NjkuLmNlZThkOTAgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAtNDEsOCArNDEs
MTEgQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyOwogc3Ry
dWN0IEZpbGVNZXRhZGF0YTsKIAotY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKTsKIHB1YmxpYzoK
KyAgICBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MoKSB7IH0gICAgCisKICAgICAvLyBDYWxsZWQg
d2hlbiBhIHJlcXVlc3RlZCBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2VlZCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQ
b29sLmgKaW5kZXggZDQ0ZWUxZS4uZDY1NTQzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9BdXRvZHJhaW5lZFBvb2wuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9v
bC5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWZuZGVmIEF1dG9kcmFpbmVkUG9vbF9oCiAjZGVmaW5l
IEF1dG9kcmFpbmVkUG9vbF9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lm
ZGVmIF9fT0JKQ19fCiBAY2xhc3MgTlNBdXRvcmVsZWFzZVBvb2w7CkBAIC0zOSw3ICszOCw4IEBA
IGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEF1dG9kcmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdXRvZHJhaW5l
ZFBvb2wgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1dG9kcmFpbmVkUG9vbCk7CiBwdWJs
aWM6CiAgICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEpOwogICAgIH5B
dXRvZHJhaW5lZFBvb2woKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1l
bnUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaAppbmRleCA1MzIxZWQ2Li41OWEw
MmJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENv
bnRleHRNZW51X2gKICNkZWZpbmUgQ29udGV4dE1lbnVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpbmNsdWRlICJDb250ZXh0TWVudUl0ZW0uaCIKICNpbmNsdWRlICJIaXRU
ZXN0UmVzdWx0LmgiCkBAIC00NSw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBDb250ZXh0TWVudUNsaWVudEVmbDsKICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1l
bnUgOiBwdWJsaWMgTm9uY29weWFibGUKLSAgICB7CisgICAgY2xhc3MgQ29udGV4dE1lbnUgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnUoY29uc3QgSGl0VGVz
dFJlc3VsdCYpOwogICAgICAgICBDb250ZXh0TWVudShjb25zdCBIaXRUZXN0UmVzdWx0JiwgY29u
c3QgUGxhdGZvcm1NZW51RGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9Db250ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgK
aW5kZXggZTcwMjkyMS4uZDllMjU2MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBA
IC0yNTIsNyArMjUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCog
UGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0
TWVudUl0ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJ
dGVtIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBDb250ZXh0TWVudUl0ZW0oUGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uKTsKICAgICAg
ICAgQ29udGV4dE1lbnVJdGVtKENvbnRleHRNZW51KiBzdWJNZW51ID0gMCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmggYi9XZWJDb3JlL3BsYXRmb3Jt
L0RlcHJlY2F0ZWRQdHJMaXN0LmgKaW5kZXggNDdjZDUzOC4uMGE0YTUxNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vRGVwcmVjYXRlZFB0ckxpc3QuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIERlcHJl
Y2F0ZWRQdHJMaXN0X2gKIAogI2luY2x1ZGUgIkRlcHJlY2F0ZWRQdHJMaXN0SW1wbC5oIgotI2lu
Y2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdGVt
cGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I7CiAKLXRlbXBs
YXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKK3RlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZFB0ckxpc3Qo
KSA6IGltcGwoZGVsZXRlRnVuYyksIGRlbF9pdGVtKGZhbHNlKSB7IH0KICAgICB+RGVwcmVjYXRl
ZFB0ckxpc3QoKSB7IGltcGwuY2xlYXIoZGVsX2l0ZW0pOyB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0Rl
cHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKaW5kZXggOTZmZDUxMy4uZWYyOTk1OSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcApAQCAtMjksMTIgKzI5LDExIEBA
CiAjaW5jbHVkZSA8Y3N0ZGRlZj4KICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgOiBwdWJsaWMgTm9uY29weWFi
bGUKLXsKK2NsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRGVwcmVjYXRlZExpc3ROb2RlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgRGVwcmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4dCgwKSwgcHJl
digwKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdmNy4uOGY2NDc0OCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L0V2ZW50TG9vcC5oCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZm5kZWYgRXZlbnRMb29wX2gKICNk
ZWZpbmUgRXZlbnRMb29wX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEV2ZW50TG9vcCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVudExvb3AoKQogICAgICAgICAg
ICAgOiBtX2VuZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2Nh
dGlvblNlcnZpY2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5k
ZXggMTU4NWY2NS4uZDYwYWU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2Nh
dGlvblNlcnZpY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5o
CkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIEdlb2xvY2F0aW9uU2VydmljZV9oCiAjZGVmaW5l
IEdlb2xvY2F0aW9uU2VydmljZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNp
bmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3
ICs0Miw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJy
b3JPY2N1cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2Nh
dGlvblNlcnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2
aWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVi
bGljOgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNl
cnZpY2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9Ib3N0V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uMjI1ODg0YiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93
LmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9z
dFdpbmRvd19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJXaWRn
ZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhv
c3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgorICAgIEhvc3RXaW5kb3coKSB7IH0KICAgICB2aXJ0dWFsIH5Ib3N0V2luZG93
KCkgeyB9CiAKICAgICAvLyBSZXF1ZXN0cyB0aGUgaG9zdCBpbnZhbGlkYXRlIHRoZSB3aW5kb3cs
IG5vdCB0aGUgY29udGVudHMuICBJZiBpbW1lZGlhdGUgaXMgdHJ1ZSBkbyBzbyBzeW5jaHJvbm91
c2x5LCBvdGhlcndpc2UgYXN5bmMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxS
aW5nLmggYi9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKaW5kZXggOGUyNzM1MC4uYjY4NzI3
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vS2lsbFJpbmcuaApAQCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBLaWxsUmluZyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwcmVwZW5kKGNv
bnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaCBiL1dl
YkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXggN2RkODc1ZS4uOTM0NTQyMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0
aC5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIExlbmd0aF9oCiAKICNpbmNsdWRlIDx3dGYv
QXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCkBAIC0zNSw3ICsz
NCw5IEBAIGNvbnN0IGludCBpbnRNaW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBt
aW4gdmFsdWUgZm9yIGEgMjgtYml0IGludAogCiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxh
dGl2ZSwgUGVyY2VudCwgRml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsK
IAotc3RydWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAg
OiBtX3ZhbHVlKDApCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJv
YXJkLmggYi9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li5mMGIy
ZTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KQEAgLTgxLDcgKzgwLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3Mg
QXJjaGl2ZVJlc291cmNlOwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0
ZWJvYXJkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAjaWYgUExBVEZPUk0o
TUFDKQogICAgIC8vSGVscGVyIGZ1bmN0aW9ucyB0byBhbGxvdyBDbGlwYm9hcmQgdG8gc2hhcmUg
Y29kZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKaW5kZXggYmMyOGU4
NC4uYWVlOTViNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJk
RXZlbnQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCkBA
IC03NSw3ICs3NSw4IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMyOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBlbnVt
IFR5cGUgewogICAgICAgICAgICAgLy8gS2V5RG93biBpcyBzZW50IGJ5IHBsYXRmb3JtcyBzdWNo
IGFzIE1hYyBPUyBYLCBndGsgYW5kIFF0LCBhbmQgaGFzIGluZm9ybWF0aW9uIGFib3V0IGJvdGgg
cGh5c2ljYWwgcHJlc3NlZCBrZXksIGFuZCBpdHMgdHJhbnNsYXRpb24uCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QdXJn
ZWFibGVCdWZmZXIuaAppbmRleCA5YmRhMmQ1Li40NDEzNmMyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2Vh
YmxlQnVmZmVyLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBQdXJnZWFibGVCdWZmZXJf
aAogCiAjaW5jbHVkZSAiUHVyZ2VQcmlvcml0eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi0gICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQdXJnZWFibGVCdWZmZXIpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8UHVyZ2VhYmxlQnVmZmVyPiBjcmVhdGUoY29uc3Qg
Y2hhciogZGF0YSwgc2l6ZV90KTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL1J1bkxvb3BUaW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAppbmRl
eCA2NWYyNTNlLi5mOGM1MjlmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BU
aW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKQEAgLTMwLDE1ICsz
MCwxNiBAQAogI2RlZmluZSBSdW5Mb29wVGltZXJfaAogCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWly
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRpbWUgaW50ZXJ2YWxzIGFyZSBhbGwg
aW4gc2Vjb25kcy4KIAotY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSdW5Mb29wVGltZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
dW5Mb29wVGltZXJCYXNlKTsKIHB1YmxpYzoKKyAgICBSdW5Mb29wVGltZXJCYXNlKCkgeyB9CiAg
ICAgdmlydHVhbCB+UnVuTG9vcFRpbWVyQmFzZSgpOwogCiAgICAgdm9pZCBzY2hlZHVsZShjb25z
dCBTY2hlZHVsZVBhaXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFy
VGhlbWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCAwZWZhZjdh
Li5mMTA2OTExIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCkBAIC0zNiw4ICszNiwxMCBA
QCBjbGFzcyBQbGF0Zm9ybU1vdXNlRXZlbnQ7CiBjbGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3Jv
bGxWaWV3OwogCi1jbGFzcyBTY3JvbGxiYXJUaGVtZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTY3JvbGxiYXJUaGVtZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFy
VGhlbWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJU
aGVtZSgpIHsgfQogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0
dWFsIGJvb2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVj
dCYgLypkYW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL1NoYXJlZFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgK
aW5kZXggNWI1Y2QxNC4uNzExZTZiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFy
ZWRUaW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsMTUg
KzI2LDE2IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIC8vIEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQg
dGltZXIsIHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0
YW5jZSBpcyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBp
bnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQu
Ci0gICAgY2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFNoYXJlZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFNoYXJlZFRp
bWVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflNoYXJlZFRpbWVyKCkge30KICAgICAgICAgdmly
dHVhbCB2b2lkIHNldEZpcmVkRnVuY3Rpb24odm9pZCAoKikoKSkgPSAwOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
VGhyZWFkR2xvYmFsRGF0YS5oCmluZGV4IDlmNTdmMDAuLmU4NDJiN2YgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
VGhyZWFkR2xvYmFsRGF0YS5oCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYgRU5BQkxFKFdP
UktFUlMpCkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3Qg
VEVDQ29udmVydGVyV3JhcHBlcjsKICAgICBjbGFzcyBUaHJlYWRUaW1lcnM7CiAKLSAgICBjbGFz
cyBUaHJlYWRHbG9iYWxEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJl
YWRHbG9iYWxEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkR2xvYmFs
RGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBUaHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgICAg
IH5UaHJlYWRHbG9iYWxEYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVh
ZFRpbWVycy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBhYjQyNTk4
Li5mOTk5NDBjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNp
Zm5kZWYgVGhyZWFkVGltZXJzX2gKICNkZWZpbmUgVGhyZWFkVGltZXJzX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCkBAIC0zNyw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBUaW1lckJhc2U7CiAKICAgICAvLyBBIGNvbGxlY3Rpb24gb2YgdGltZXJzIHBlciB0
aHJlYWQuIEtlcHQgaW4gVGhyZWFkR2xvYmFsRGF0YS4KLSAgICBjbGFzcyBUaHJlYWRUaW1lcnMg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZFRpbWVycyB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFRpbWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgVGhyZWFkVGltZXJzKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRl
eCBjNDQ0M2RhLi44NWYwZGFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVm
IFRpbWVyX2gKICNkZWZpbmUgVGltZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0z
NSw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVu
dDsKIAotY2xhc3MgVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbWVy
QmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGlt
ZXJCYXNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLmI4NzJhZGQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vVHJlZVNoYXJlZC5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFRyZWVTaGFyZWRfaAog
CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTMyLDcgKzMxLDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYK
IAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUcmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkK
ICAgICAgICAgOiBtX3JlZkNvdW50KDEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb25MaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9Bbmlt
YXRpb25MaXN0LmgKaW5kZXggOWEzMzRjYS4uYmY4ZmY5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
YW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7
CitjbGFzcyBBbmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBBbmltYXRpb25MaXN0KCkgeyB9CiAgICAgQW5pbWF0aW9uTGlzdChjb25zdCBB
bmltYXRpb25MaXN0Jik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
QnVzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDMxOGI4MS4u
ZjIxNTkyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApAQCAtMzAsNyArMzAsNiBAQAog
I2RlZmluZSBBdWRpb0J1c19oCiAKICNpbmNsdWRlICJBdWRpb0NoYW5uZWwuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzksNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAvLyBBbiBBdWRpb0J1cyByZXByZXNlbnRzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSBB
dWRpb0NoYW5uZWxzLgogLy8gVGhlIGRhdGEgbGF5b3V0IGlzICJwbGFuYXIiIGFzIG9wcG9zZWQg
dG8gImludGVybGVhdmVkIi4KIC8vIEFuIEF1ZGlvQnVzIHdpdGggb25lIGNoYW5uZWwgaXMgbW9u
bywgYW4gQXVkaW9CdXMgd2l0aCB0d28gY2hhbm5lbHMgaXMgc3RlcmVvLCBldGMuCi1jbGFzcyBB
dWRpb0J1cyAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9CdXMgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlvQnVzKTsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAg
ICAgQ2hhbm5lbExlZnQgPSAwLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb0NoYW5uZWwuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5k
ZXggNjgxNjgzMC4uNzMyNWU5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9B
dWRpb0NoYW5uZWwuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5o
CkBAIC0zMCwxNCArMzAsMTQgQEAKICNkZWZpbmUgQXVkaW9DaGFubmVsX2gKIAogI2luY2x1ZGUg
IkF1ZGlvQXJyYXkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuIEF1ZGlvQ2hh
bm5lbCByZXByZXNlbnRzIGEgYnVmZmVyIG9mIG5vbi1pbnRlcmxlYXZlZCBmbG9hdGluZy1wb2lu
dCBhdWRpbyBzYW1wbGVzLgogLy8gVGhlIFBDTSBzYW1wbGVzIGFyZSBub3JtYWxseSBhc3N1bWVk
IHRvIGJlIGluIGEgbm9taW5hbCByYW5nZSAtMS4wIC0+ICsxLjAKLWNsYXNzIEF1ZGlvQ2hhbm5l
bCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0NoYW5uZWwgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEF1ZGlvQ2hhbm5lbCk7CiBwdWJsaWM6CiAgICAgLy8gTWVtb3J5IGNh
biBiZSBleHRlcm5hbGx5IHJlZmVyZW5jZWQsIG9yIGNhbiBiZSBpbnRlcm5hbGx5IGFsbG9jYXRl
ZCB3aXRoIGFuIEF1ZGlvRmxvYXRBcnJheS4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9IUlRGRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKaW5kZXggYzMzYjM4Zi4uMzUxNDY5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9IUlRGRGF0YWJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZE
YXRhYmFzZS5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNsdWRlICJIUlRGRWxldmF0aW9uLmgi
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00Myw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgSFJURktlcm5lbDsKIAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFJURkRhdGFiYXNlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIUlRGRGF0
YWJhc2U+IGNyZWF0ZShkb3VibGUgc2FtcGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9I
UlRGRWxldmF0aW9uLmgKaW5kZXggYjM4OGIzNC4uZjQ0NDQ0OSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9IUlRGRWxldmF0aW9uLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSFJURkVsZXZh
dGlvbl9oCiAKICNpbmNsdWRlICJIUlRGS2VybmVsLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQzLDcgKzQyLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAvLyBIUlRGRWxldmF0aW9uIGNvbnRhaW5zIGFsbCBvZiB0aGUgSFJU
Rktlcm5lbHMgKG9uZSBsZWZ0IGVhciBhbmQgb25lIHJpZ2h0IGVhciBwZXIgYXppbXV0aCBhbmds
ZSkgZm9yIGEgcGFydGljdWxhciBlbGV2YXRpb24uCiAKLWNsYXNzIEhSVEZFbGV2YXRpb24gOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFJURkVsZXZhdGlvbiB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSFJURkVsZXZhdGlvbik7CiBwdWJsaWM6CiAgICAgLy8gTG9hZHMgYW5kIHJl
dHVybnMgYW4gSFJURkVsZXZhdGlvbiB3aXRoIHRoZSBnaXZlbiBIUlRGIGRhdGFiYXNlIHN1Ympl
Y3QgbmFtZSBhbmQgZWxldmF0aW9uIGZyb20gYnJvd3NlciAob3IgV2ViS2l0LmZyYW1ld29yaykg
cmVzb3VyY2VzLgogICAgIC8vIE5vcm1hbGx5LCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBzaW5nbGUg
SFJURiBkYXRhYmFzZSBzZXQsIGJ1dCB0aGlzIEFQSSBzdXBwb3J0cyB0aGUgcG9zc2liaWxpdHkg
b2YgbXVsdGlwbGUgb25lcyB3aXRoIGRpZmZlcmVudCBuYW1lcy4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAppbmRleCAxZDY5OTIxLi5kNWFkYTE0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCkBAIC00
Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBJbnRQb2ludDsKIAog
ICAgIGNsYXNzIENsaXBib2FyZENocm9taXVtIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENh
Y2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICB+Q2xpcGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3Qg
RnJhbWVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAg
ICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCAyZTRlOTYyLi5mMGMzMGFmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Db2xvci5oCkBAIC0yNiw3ICsyNiw2IEBACiAjaWZuZGVmIENvbG9yX2gKICNkZWZp
bmUgQ29sb3JfaAogCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIApAQCAtNzUs
NyArNzQsOCBAQCBpbmxpbmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJu
IChjb2xvciA+PiA4KSAmIDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNv
bG9yKSB7IHJldHVybiBjb2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJH
QkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29s
b3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCksIG1fdmFs
aWQoZmFsc2UpIHsgfQogICAgIENvbG9yKFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wpLCBtX3Zh
bGlkKHRydWUpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250
ZXh0U2hhZG93LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5j
cHAKaW5kZXggODdhMWM1Yy4uMDcyNWE5MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbnRleHRTaGFkb3cuY3BwCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ29udGV4dFNo
YWRvdy5oIgogCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogdXNpbmcgV1RGOjptaW47CiB1c2luZyBXVEY6Om1heDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCAxNDllYTc5Li5jZmNhOTgwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC01Myw3ICs1Myw5IEBAIEZv
bnRDYWNoZTo6Rm9udENhY2hlKCkKIHsKIH0KIAotc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNo
ZUtleSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgRm9udFBsYXRmb3Jt
RGF0YUNhY2hlS2V5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5ID0gQXRvbWljU3RyaW5nKCks
IHVuc2lnbmVkIHNpemUgPSAwLCB1bnNpZ25lZCB3ZWlnaHQgPSAwLCBib29sIGl0YWxpYyA9IGZh
bHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzUHJpbnRlckZvbnQgPSBm
YWxzZSwgRm9udFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRlcmluZ01v
ZGUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiA9IEhvcml6b250YWwpCiAgICAgICAgIDog
bV9zaXplKHNpemUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRleCBlNjg0
NWQ5Li44NmY4YzY3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTUw
LDcgKzUwLDggQEAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3MgRm9udFNlbGVjdG9yOwog
Y2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnRDYWNoZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBGb250Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRD
YWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGZyaWVuZCBGb250
Q2FjaGUqIGZvbnRDYWNoZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnREYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5k
ZXggZWU5NGE5OC4uNDMyNzk1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250RGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApA
QCAtMjcsMTQgKzI3LDE0IEBACiAjZGVmaW5lIEZvbnREYXRhX2gKIAogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3Vu
aWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZv
bnREYXRhOwogCi1jbGFzcyBGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBG
b250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250RGF0YSgpCiAgICAgICAgIDogbV9tYXhH
bHlwaFBhZ2VUcmVlTGV2ZWwoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvR2x5cGhNZXRyaWNzTWFwLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0
cmljc01hcC5oCmluZGV4IGZhODViY2MuLjNlMTNmYmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaApAQCAtNDAsNyArNDAsOCBAQCB0eXBlZGVmIHVuc2ln
bmVkIHNob3J0IEdseXBoOwogCiBjb25zdCBmbG9hdCBjR2x5cGhTaXplVW5rbm93biA9IC0xOwog
Ci10ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgOiBwdWJsaWMgTm9uY29w
eWFibGUgewordGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgR2x5cGhNZXRyaWNzTWFwIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShHbHlwaE1ldHJpY3NNYXApOwogcHVibGljOgogICAgIEdseXBo
TWV0cmljc01hcCgpIDogbV9maWxsZWRQcmltYXJ5UGFnZShmYWxzZSkgeyB9CiAgICAgfkdseXBo
TWV0cmljc01hcCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQu
aAppbmRleCAzYmRhNTUzLi5hOWY3MTc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlICJJbnRSZWN0Lmgi
CiAjaW5jbHVkZSAiUGF0aC5oIgogI2luY2x1ZGUgIlRleHREaXJlY3Rpb24uaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiAjaWYg
UExBVEZPUk0oQ0cpCkBAIC0xNDksNyArMTQ4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBJbnRlcnBvbGF0aW9uSGlnaAogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRl
eHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JhcGhpY3NDb250ZXh0KFBsYXRm
b3JtR3JhcGhpY3NDb250ZXh0Kik7CiAgICAgICAgIH5HcmFwaGljc0NvbnRleHQoKTsKQEAgLTM1
Nyw3ICszNTcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0U2hvdWxk
SW5jbHVkZUNoaWxkV2luZG93cyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGRJbmNsdWRlQ2hp
bGRXaW5kb3dzKCkgY29uc3Q7CiAKLSAgICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgeworICAgICAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93c0JpdG1hcCk7CiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIFdpbmRvd3NCaXRtYXAoSERDLCBJbnRTaXplKTsKICAgICAgICAgICAgIH5X
aW5kb3dzQml0bWFwKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dDNELmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dDNELmgKaW5kZXggYzJkNWMyNC4uN2MwN2JlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gRklYTUU6IEZpbmQgYSBiZXR0ZXIgd2F5IHRvIGF2
b2lkIHRoZSBuYW1lIGNvbmZsaWN0aW9uIGZvciBOT19FUlJPUi4KICNpZiAoKFBMQVRGT1JNKENI
Uk9NSVVNKSAmJiBPUyhXSU5ET1dTKSkgfHwgUExBVEZPUk0oV0lOKSB8fCAoUExBVEZPUk0oUVQp
ICYmIE9TKFdJTkRPV1MpKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHRQcml2YXRlLmgKaW5kZXggOTI4OGRmNC4uOThkY2M0NyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmgKQEAgLTgz
LDcgKzgzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHNoYWRvd3NJZ25v
cmVUcmFuc2Zvcm1zOwogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2YXRl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHRQcml2YXRl
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UHJpdmF0ZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JhcGhpY3ND
b250ZXh0UHJpdmF0ZSgpCiAgICAgICAgICAgICA6IG1fdXBkYXRpbmdDb250cm9sVGludHMoZmFs
c2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDQxNTNj
NzQuLjI4YjRiYjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5o
CkBAIC05Nyw3ICs5Nyw4IEBAIGNsYXNzIFRpbWluZ0Z1bmN0aW9uOwogLy8gQmFzZSBjbGFzcyBm
b3IgYW5pbWF0aW9uIHZhbHVlcyAoYWxzbyB1c2VkIGZvciB0cmFuc2l0aW9ucykuIEhlcmUgdG8K
IC8vIHJlcHJlc2VudCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgYmVpbmcgYW5pbWF0ZWQgdmlhIHRo
ZSBHcmFwaGljc0xheWVyLAogLy8gd2l0aG91dCBwdWxsaW5nIGluIHN0eWxlLXJlbGF0ZWQgZGF0
YSBmcm9tIG91dHNpZGUgb2YgdGhlIHBsYXRmb3JtIGRpcmVjdG9yeS4KLWNsYXNzIEFuaW1hdGlv
blZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlvblZhbHVlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25WYWx1ZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUsIFBhc3NS
ZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAgOiBtX2tl
eVRpbWUoa2V5VGltZSkKQEAgLTE0OSw3ICsxNTAsOCBAQCBwcml2YXRlOgogCiAvLyBVc2VkIHRv
IHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3aWxs
IGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVkIGZyb20g
dGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVMaXN0KEFu
aW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VC
dWZmZXIuaAppbmRleCA4MjJhMGZmLi41ZDQ4YThjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZUJ1ZmZlci5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgVW5tdWx0aXBsaWVkCiAgICAgfTsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZUJ1ZmZlciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICAvLyBXaWxsIHJldHVybiBhIG51bGwgcG9pbnRlciBvbiBhbGxv
Y2F0aW9uIGZhaWx1cmUuCiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBj
cmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29sb3JTcGFjZSBjb2xvclNwYWNlID0gQ29sb3JT
cGFjZURldmljZVJHQikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAppbmRl
eCBhZWIxNTYxLi45MWNlZTU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlU291cmNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJj
ZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAjZGVmaW5lIEltYWdlU291cmNlX2gKIAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiAjaWYgUExBVEZPUk0oV1gpCkBAIC0xMTcsNyArMTE2LDggQEAgY29u
c3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IDA7CiBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BJ
bmZpbml0ZSA9IC0xOwogY29uc3QgaW50IGNBbmltYXRpb25Ob25lID0gLTI7CiAKLWNsYXNzIElt
YWdlU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlU291cmNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVNvdXJjZSk7CiBwdWJsaWM6CiAgICAgSW1hZ2VT
b3VyY2UoYm9vbCBwcmVtdWx0aXBseUFscGhhID0gdHJ1ZSwgYm9vbCBpZ25vcmVHYW1tYUFuZENv
bG9yUHJvZmlsZSA9IGZhbHNlKTsKICAgICB+SW1hZ2VTb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggMjM1YzFmZC4uODdmYTkwNiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTE0Nyw3ICsxNDcsOSBA
QCBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKiBjcmVhdGVOdWxsTWVkaWFQbGF5
ZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKIAogLy8gZW5naW5lIHN1cHBvcnQKIAotc3RydWN0IE1l
ZGlhUGxheWVyRmFjdG9yeSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBNZWRpYVBsYXllckZhY3Rv
cnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUGxheWVyRmFjdG9yeSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE1lZGlhUGxheWVyRmFjdG9yeShDcmVh
dGVNZWRpYUVuZ2luZVBsYXllciBjb25zdHJ1Y3RvciwgTWVkaWFFbmdpbmVTdXBwb3J0ZWRUeXBl
cyBnZXRTdXBwb3J0ZWRUeXBlcywgTWVkaWFFbmdpbmVTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBl
QW5kQ29kZWNzKSAKICAgICAgICAgOiBjb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikKICAgICAgICAg
LCBnZXRTdXBwb3J0ZWRUeXBlcyhnZXRTdXBwb3J0ZWRUeXBlcykKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBhNTA2YTZlLi5mN2U1YjcwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIApAQCAtMTQ4LDcg
KzE0Nyw4IEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgTWVkaWFQbGF5ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKE1lZGlhUGxheWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAK
ICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xp
ZW50KiBjbGllbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclBy
aXZhdGUuaAppbmRleCBkOTU2Mjg2Li42YWJlMjU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM2LDggKzM2LDEwIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBJbnRTaXplOwogCi1jbGFzcyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKKyAgICBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UoKSB7IH0KICAgICB2aXJ0dWFsIH5N
ZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBsb2Fk
KGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1BhdGguaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCmluZGV4IDQy
M2E3OTIuLjMwOWE2Y2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0
aC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCkBAIC0yOCw3ICsyOCw2
IEBACiAjaWZuZGVmIFBhdGhfaAogI2RlZmluZSBQYXRoX2gKIAotI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogI2lmIFBMQVRGT1JNKENH
KQpAQCAtMTAwLDcgKzk5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiB2
b2lkICgqUGF0aEFwcGxpZXJGdW5jdGlvbikodm9pZCogaW5mbywgY29uc3QgUGF0aEVsZW1lbnQq
KTsKIAotICAgIGNsYXNzIFBhdGggOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3Mg
UGF0aCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgUGF0aCgpOwogICAgICAgICB+UGF0aCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDU4NDc3ZGIuLjA2YzdmZTEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKQEAgLTM2LDcgKzM2
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3Mg
VGlsZWRCYWNraW5nU3RvcmVDbGllbnQ7CiAKLWNsYXNzIFRpbGVkQmFja2luZ1N0b3JlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGVkQmFja2luZ1N0b3JlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUaWxlZEJhY2tpbmdTdG9yZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50
Kik7CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGRhYzMx
ZjguLjRmMzk0ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVk
ZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiB0
eXBlZGVmIHN0cnVjdCBGVF9GYWNlUmVjXyogIEZUX0ZhY2U7CiB0eXBlZGVmIHN0cnVjdCBfY2Fp
cm9fZm9udF9mYWNlIGNhaXJvX2ZvbnRfZmFjZV90OwpAQCAtMzUsNyArMzQsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVy
OwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVj
dCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250
Q3VzdG9tUGxhdGZvcm1EYXRhKTsKIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2Fu
dmFzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgK
aW5kZXggNmZjMWEwZS4uODE5Zjk4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtMzksNyArMzksNiBAQAogI2luY2x1ZGUgIlRl
eHR1cmUuaCIKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC01MCw3ICs0OSw4IEBAIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4
dDNEOwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hh
cmVkR3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwog
ICAgIH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmgKaW5kZXggNTMxZDY1Mi4uM2M3
MWFjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clJlbmRlcmVyQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw2IEBACiAjaW5jbHVkZSAi
U2tCaXRtYXAuaCIKICNpbmNsdWRlICJWaWRlb0xheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggMWYzMzUyNy4uNTI2YTg3
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJT
dXJmYWNlQ2hyb21pdW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC0zMiwxNCArMzIsMTQgQEAKICNpbmNsdWRlICJG
bG9hdFJlY3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRp
b25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXllckNocm9t
aXVtOwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRlcmVy
Q2hyb21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVtKExh
eWVyQ2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vVHJhbnNwYXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1RyYW5zcGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjI3NTEyNTggMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApA
QCAtMzUsNyArMzUsNiBAQAogCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVk
ZSAiSW1hZ2VCdWZmZXIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgInd0
Zi9Pd25QdHIuaCIKIAogY2xhc3MgU2tCaXRtYXA7CkBAIC01NCw3ICs1Myw4IEBAIGNsYXNzIFRy
YW5zcGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21w
b3NpdGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5h
YmlsaXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0
ZXh0LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVu
Y3lXaW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVu
dW0gTGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJh
d2luZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IDlmNzk4ODkuLmUzNTY1OTIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTM1LDcgKzM1
LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNzcsOCAr
NzYsMTAgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkKLSAgICBj
bGFzcyBXaWxsUHVibGlzaENhbGxiYWNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBXaWxsUHVibGlzaENhbGxiYWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ls
bFB1Ymxpc2hDYWxsYmFjayk7CiAgICAgcHVibGljOgorICAgICAgICBXaWxsUHVibGlzaENhbGxi
YWNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNoQ2FsbGJhY2soKSB7IH0KICAg
ICAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsUHVibGlzaCgpID0gMDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaAppbmRl
eCBjNjY1ODQ0Li4xYmQ2N2I4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCkBAIC0zMCwxNCArMzAsMTQgQEAKICNpZm5kZWYg
TG9vcEJsaW5uQ2xhc3NpZmllcl9oCiAjZGVmaW5lIExvb3BCbGlubkNsYXNzaWZpZXJfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRmxvYXRQb2ludDsKIAogLy8gQ2xhc3NpZmllcyBjdWJpYyBjdXJ2ZXMgaW50byBzcGVjaWZp
YyB0eXBlcy4KLWNsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TG9vcEJsaW5uQ2xhc3NpZmllcik7CiBwdWJsaWM6CiAgICAgLy8gVGhlIHR5cGVzIG9mIGN1Ymlj
IGN1cnZlcy4KICAgICBlbnVtIEN1cnZlVHlwZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAppbmRleCBl
YTNkN2UzLi5kMDFlNmM5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKQEAgLTMwLDE5ICszMCwyMCBA
QAogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0YW50
cy5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gUGVyZm9ybXMgYSBsb2NhbGl6ZWQg
dHJpYW5ndWxhdGlvbiBvZiB0aGUgdHJpYW5nbGUgbWVzaAogLy8gY29ycmVzcG9uZGluZyB0byB0
aGUgZm91ciBjb250cm9sIHBvaW50IHZlcnRpY2VzIG9mIGEgY3ViaWMgY3VydmUKIC8vIHNlZ21l
bnQuCi1jbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IpOwogcHVibGljOgogICAgIC8vIFRo
ZSB2ZXJ0aWNlcyB0aGF0IHRoZSB0cmlhbmd1bGF0b3Igb3BlcmF0ZXMgdXBvbiwgY29udGFpbmlu
ZyBib3RoCiAgICAgLy8gdGhlIHBvc2l0aW9uIGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgdGhlIGN1
YmljIHRleHR1cmUKICAgICAvLyBjb29yZGluYXRlcy4KLSAgICBjbGFzcyBWZXJ0ZXggOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFZlcnRleCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFZlcnRleCk7CiAgICAgcHVibGljOgogICAgICAgICBWZXJ0ZXgoKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5U
ZXh0dXJlQ29vcmRzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5U
ZXh0dXJlQ29vcmRzLmgKaW5kZXggNWZkZWIzYi4uYjI5YThmNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uVGV4dHVyZUNvb3Jkcy5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlublRleHR1cmVDb29yZHMuaApAQCAt
MzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkxvb3BCbGlubkNsYXNzaWZpZXIuaCIKICNpbmNsdWRl
ICJMb29wQmxpbm5Db25zdGFudHMuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1BPREFyZW5hLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RB
cmVuYS5oCmluZGV4IGY2OGJhZWYuLjVmZWVmMDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvUE9EQXJlbmEuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPHN0ZGludC5oPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpA
QCAtMTU4LDcgKzE1Nyw4IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgLy8gTWFuYWdlcyBhIGNo
dW5rIG9mIG1lbW9yeSBhbmQgaW5kaXZpZHVhbCBhbGxvY2F0aW9ucyBvdXQgb2YgaXQuCi0gICAg
Y2xhc3MgQ2h1bmsgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENodW5rIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2h1bmspOwogICAgIHB1YmxpYzoKICAgICAgICAg
Ly8gQWxsb2NhdGVzIGEgYmxvY2sgb2YgbWVtb3J5IG9mIHRoZSBnaXZlbiBzaXplIGZyb20gdGhl
IHBhc3NlZAogICAgICAgICAvLyBBbGxvY2F0b3IuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCmluZGV4IDMyMGNlNjAuLmZhMWUyN2MgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiUE9ESW50ZXJ2YWwuaCIKICNpbmNsdWRlICJQT0RSZWRC
bGFja1RyZWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNDQsOCArNDMsOCBAQCBzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKIC8vIHN1cHBvcnRz
IGVmZmljaWVudCAoTyhsZyBuKSkgaW5zZXJ0aW9uLCByZW1vdmFsIGFuZCBxdWVyeWluZyBvZgog
Ly8gaW50ZXJ2YWxzIGluIHRoZSB0cmVlLgogdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgVXNlckRh
dGEgPSB2b2lkKj4KLWNsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2
YWw8VCwgVXNlckRhdGE+ID4geworY2xhc3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIFBPRFJl
ZEJsYWNrVHJlZTxQT0RJbnRlcnZhbDxULCBVc2VyRGF0YT4gPiB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUE9ESW50ZXJ2YWxUcmVlKTsKIHB1YmxpYzoKICAgICAvLyBUeXBlZGVmIHRvIHJl
ZHVjZSB0eXBpbmcgd2hlbiBkZWNsYXJpbmcgaW50ZXJ2YWxzIHRvIGJlIHN0b3JlZCBpbgogICAg
IC8vIHRoaXMgdHJlZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPRFJlZEJsYWNrVHJlZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVk
QmxhY2tUcmVlLmgKaW5kZXggNmQ1OTU0Yy4uYjBkOTE4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKQEAgLTc0LDcgKzc0LDYgQEAKIAog
I2luY2x1ZGUgIlBPREFyZW5hLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaWZuZGVm
IE5ERUJVRwogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTE5OCw3ICsxOTcsOCBAQCBwcm90ZWN0
ZWQ6CiAgICAgLy8gVGhlIGJhc2UgTm9kZSBjbGFzcyB3aGljaCBpcyBzdG9yZWQgaW4gdGhlIHRy
ZWUuIE5vZGVzIGFyZSBvbmx5CiAgICAgLy8gYW4gaW50ZXJuYWwgY29uY2VwdDsgdXNlcnMgb2Yg
dGhlIHRyZWUgZGVhbCBvbmx5IHdpdGggdGhlIGRhdGEKICAgICAvLyB0aGV5IHN0b3JlIGluIGl0
LgotICAgIGNsYXNzIE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE5vZGUg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIC8vIENvbnN0cnVjdG9yLiBOZXdseS1jcmVhdGVkIG5vZGVzIGFyZSBjb2xvcmVkIHJlZC4K
ICAgICAgICAgZXhwbGljaXQgTm9kZShjb25zdCBUJiBkYXRhKQpAQCAtNjU5LDcgKzY1OSw4IEBA
IHByaXZhdGU6CiAgICAgLy8gSGVscGVyIGNsYXNzIGZvciBzaXplKCkKIAogICAgIC8vIEEgVmlz
aXRvciB3aGljaCBzaW1wbHkgY291bnRzIHRoZSBudW1iZXIgb2YgdmlzaXRlZCBlbGVtZW50cy4K
LSAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ291bnRlcik7CiAgICAgcHVibGljOgogICAgICAgICBDb3VudGVyKCkKICAg
ICAgICAgICAgIDogbV9jb3VudCgwKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1NoYWRlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hh
ZGVyLmgKaW5kZXggZTViZDhkZS4uYjU2NjBmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvU2hhZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvU2hhZGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZm5kZWYgU2hhZGVyX2gKICNkZWZpbmUg
U2hhZGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgY2xh
c3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBDb2xv
cjsKIAotY2xhc3MgU2hhZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNoYWRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhZGVyKTsKIHByb3RlY3RlZDoKICAgICBTaGFk
ZXIoR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBwcm9ncmFtKTsKICAgICB+U2hhZGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKaW5kZXggMWJkYzUx
YS4uZGNhOGFiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGls
aW5nRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEu
aApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRpbGluZ0RhdGFfaAogI2RlZmluZSBUaWxp
bmdEYXRhX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEludFJlY3Q7CiAKLWNsYXNzIFRpbGlu
Z0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGlsaW5nRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGlsaW5nRGF0YSk7CiBwdWJsaWM6CiAgICAgVGlsaW5nRGF0YShp
bnQgbWF4VGV4dHVyZVNpemUsIGludCB0b3RhbFNpemVYLCBpbnQgdG90YWxTaXplWSwgYm9vbCBo
YXNCb3JkZXJUZXhlbHMpOwogICAgIGludCBtYXhUZXh0dXJlU2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbWF4VGV4dHVyZVNpemU7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4
IDI0NmRlYTAuLjkxMjRiOTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcApAQCAt
MjQsNyArMjQsNiBAQAogI2luY2x1ZGUgIkdPd25QdHIuaCIKICNpbmNsdWRlICJHUmVmUHRyLmgi
CiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5o
IgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVD
bGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCkBAIC0zNiw3ICsz
NSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1jbGFzcyBTdHJlYW1pbmdDbGll
bnQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7Citj
bGFzcyBTdHJlYW1pbmdDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmVhbWluZ0NsaWVudCk7CiAgICAgcHVibGljOgogICAg
ICAgICBTdHJlYW1pbmdDbGllbnQoV2ViS2l0V2ViU3JjKik7CiAgICAgICAgIHZpcnR1YWwgflN0
cmVhbWluZ0NsaWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9o
YWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1
ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAg
ICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggYzExODU4Yy4uZDgxNTE2MSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aApAQCAtMjUsNyArMjUsNiBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5j
bHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBD
R0ZvbnRSZWY7CiB0eXBlZGVmIFVJbnQzMiBBVFNGb250Q29udGFpbmVyUmVmOwpAQCAtMzYsNyAr
MzUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xh
c3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyLCBDR0ZvbnRSZWYg
Y2dGb250KQogICAgICAgICA6IG1fYXRzQ29udGFpbmVyKGNvbnRhaW5lcikKICAgICAgICAgLCBt
X2NnRm9udChjZ0ZvbnQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW52Zy9QYWludGVyT3BlblZHLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9Q
YWludGVyT3BlblZHLmgKaW5kZXggMjRmZDhhMC4uODNjOGY1YSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaApAQCAtMjUsNyArMjUsNiBA
QAogCiAjaW5jbHVkZSA8b3BlbnZnLmg+CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDcg
KzQwLDggQEAgY2xhc3MgVGlsZWRJbWFnZU9wZW5WRzsKIAogc3RydWN0IFBsYXRmb3JtUGFpbnRl
clN0YXRlOwogCi1jbGFzcyBQYWludGVyT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFBhaW50ZXJPcGVuVkcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhaW50ZXJPcGVu
VkcpOwogcHVibGljOgogICAgIGZyaWVuZCBjbGFzcyBTdXJmYWNlT3BlblZHOwogICAgIGZyaWVu
ZCBzdHJ1Y3QgUGxhdGZvcm1QYWludGVyU3RhdGU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKaW5kZXggNDZkMTY0Ni4uZWU3MjAwMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaApA
QCAtMjQsNyArMjQsNiBAQAogI2luY2x1ZGUgPGVnbC5oPgogI2VuZGlmCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00Miw3ICs0MSw4
IEBAIGNsYXNzIEludFNpemU7CiAgKiBvZiAjaWZkZWZzIGFuZCBzaG91bGQgbWFrZSBpdCBlYXN5
IHRvIGFkZCBkaWZmZXJlbnQgc3VyZmFjZS9jb250ZXh0CiAgKiBpbXBsZW1lbnRhdGlvbnMgdGhh
biBFR0wuCiAgKi8KLWNsYXNzIFN1cmZhY2VPcGVuVkcgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU3VyZmFjZU9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3VyZmFjZU9w
ZW5WRyk7CiBwdWJsaWM6CiAgICAgZW51bSBNYWtlQ3VycmVudE1vZGUgewogICAgICAgICBBcHBs
eVBhaW50ZXJTdGF0ZU9uU3VyZmFjZVN3aXRjaCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggNmM0MWQ0Ny4uZDVm
MzI0MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI1LDE0ICsyNSwxNiBAQAogI2luY2x1ZGUgIkZvbnRPcmll
bnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwog
Ci1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
KCk7CiAKICAgICAvLyBmb3IgdXNlIHdpdGggUUZvbnREYXRhYmFzZTo6YWRkQXBwbGljYXRpb25G
b250L3JlbW92ZUFwcGxpY2F0aW9uRm9udApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ZvbnRQbGF0Zm9ybURhdGEuaAppbmRleCAxYzU3ZTI5Li5mMjY4MzcwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMzIsNyAr
MzIsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEZvbnRQbGF0Zm9ybURhdGFQ
cml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGFQcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFQ
cml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMsMTAgQEAgcHVibGlj
OgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgorICAgIEZvbnRQbGF0Zm9ybURhdGEoKSB7IH0KICAgICBGb250UGxhdGZvcm1EYXRh
KGZsb2F0IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBvYmxpcXVlKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEgJik7CiAgICAgRm9udFBsYXRmb3JtRGF0YShjb25z
dCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseU5hbWUsIGludCB3
b3JkU3BhY2luZyA9IDAsIGludCBsZXR0ZXJTcGFjaW5nID0gMCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCmluZGV4IDcyN2ZiZjEu
LjBjNjdlOGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NDb250ZXh0UXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NDb250ZXh0UXQuY3BwCkBAIC0xNzYsNyArMTc2LDggQEAgc3RhdGljIGlubGluZSBRdDo6Rmls
bFJ1bGUgdG9RdEZpbGxSdWxlKFdpbmRSdWxlIHJ1bGUpCiAgICAgcmV0dXJuIFF0OjpPZGRFdmVu
RmlsbDsKIH0KIAotY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlKFFQYWludGVyKiwgY29uc3QgUUNvbG9yJiBpbml0aWFsU29saWRDb2xvcik7
CiAgICAgfkdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCmluZGV4IDZiZGZiMzkuLjlm
YWQ3ZWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJl
bmN5TGF5ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5j
eUxheWVyLmgKQEAgLTQyLDcgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1
Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBUcmFuc3BhcmVu
Y3lMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgVHJh
bnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0IFFSZWN0ICZyZWN0LCBxcmVh
bCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAgIDogcGl4bWFwKHJlY3Qud2lk
dGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5KG9wYWNpdHkpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaAppbmRleCBlNTFiNmI2Li4wODNlNThjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1LDcgKzM1
LDYgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVy
aW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CkBAIC00OSw3ICs0OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgog
I2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJl
ZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShm
b250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVlMTJhZDYu
LjQ0ODM1YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFw
aGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0ICszMSwx
NCBAQAogI2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2RlZmluZSBH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRleHRTa2lh
IGZvciBHcmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShQ
bGF0Zm9ybUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9jb250ZXh0
KHBsYXRmb3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMWIzMTFhLi4zMWI2MTk0IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tp
YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRT
a2lhLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgUGxhdGZvcm1Db250ZXh0U2tpYV9oCiAK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgog
CiAjaW5jbHVkZSAiU2tEYXNoUGF0aEVmZmVjdC5oIgogI2luY2x1ZGUgIlNrRHJhd0xvb3Blci5o
IgpAQCAtNjcsNyArNjYsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2libGUgZm9yIG1h
bmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBhcmF0ZQogLy8g
U2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9yIHRoYXQgYWxs
b3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3BwZWQgYWxvbmcg
d2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBGb3IgcHJpbnRp
bmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJlIE5VTEwuIElm
IHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28gY2FsbCBzZXRD
YW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggYmFlZTEwMi4uOGQyZjg3NCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zv
cm0uaApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4Lmgi
CiAKICNpbmNsdWRlIDxzdHJpbmcuaD4gLy8gZm9yIG1lbWNweQotI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAKICNpZiBQTEFURk9STShDRykKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3Mv
Q0dBZmZpbmVUcmFuc2Zvcm0uaD4KQEAgLTU1LDcgKzU0LDggQEAgY2xhc3MgSW50UG9pbnQ7CiBj
bGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiAKLWNsYXNzIEFmZmlu
ZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFmZmluZVRyYW5zZm9y
bSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBk
b3VibGUgVHJhbnNmb3JtWzZdOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaAppbmRleCBjMGRhMzc3Li45
ODFlMWY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
VHJhbnNmb3JtT3BlcmF0aW9ucy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVHJhbnNmb3JtT3BlcmF0aW9ucyhib29sIG1ha2VJ
ZGVudGl0eSA9IGZhbHNlKTsKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKaW5kZXggOTZiNGJh
YS4uMWJiMDY1ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKQEAgLTMwLDcgKzMwLDYgQEAKICNp
bmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlIDxz
dHJpbmcuaD4gLy9mb3IgbWVtY3B5Ci0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAog
I2lmIFBMQVRGT1JNKENHKQogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0FmZmluZVRyYW5zZm9y
bS5oPgpAQCAtNjIsNyArNjEsOCBAQCBjbGFzcyBGbG9hdFBvaW50M0Q7CiBjbGFzcyBGbG9hdFJl
Y3Q7CiBjbGFzcyBGbG9hdFF1YWQ7CiAKLWNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXggeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1hdHJp
eDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi4xNjI4ZWViIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIHR5cGVkZWYgc3RydWN0IENHRm9udCogQ0dGb250
UmVmOwogCkBAIC0zNCw3ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVi
bGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNv
bnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5j
ZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXggM2Fi
NTJiOC4uMDY5OTFjOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTI0LDcgKzI0LDYgQEAK
IAogI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDxjYWlyby5oPgogCkBA
IC0zMyw3ICszMiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURh
dGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAg
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAg
ICAgICA6IG1fZm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYxNDAuLjU5
NTFlNDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2lu
ZG93c0NvbnRleHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdp
bmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IExvY2FsV2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsV2lu
ZG93c0NvbnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2luZG93c0NvbnRleHQoR3JhcGhpY3ND
b250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGJvb2wgc3VwcG9y
dEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJpdG1hcCA9IHRydWUpCiAgICAgICAg
IDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9RVE1vdmllLmNwcAppbmRleCBlZmFmMjE4Li5mZTYwYzhmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2lu
Y2x1ZGUgPFFUTUwuaD4KICNpbmNsdWRlIDxRdWlja1RpbWVDb21wb25lbnRzLmg+CiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CkBAIC02Myw3ICs2Miw4
IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9y
dGVkVHlwZXMgPSAwOwogc3RhdGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xh
c3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFz
a0NsaWVudCB7CitjbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgog
ICAgIFFUTW92aWVQcml2YXRlKCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllR1dvcmxkLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVHV29ybGQuY3BwCmluZGV4IGUxM2Y3MzIu
LjI2ODYxMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92
aWVHV29ybGQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWVH
V29ybGQuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSA8UXVpY2tUaW1lQ29tcG9uZW50
cy5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FU
VHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CiAKLWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFFUVHJhY2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNrUHJp
dmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1ByaXZh
dGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNv
bnRleHRGbHVzaGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250
ZXh0Rmx1c2hlci5oCmluZGV4IDE3ZWM0MWQuLjFlOTkwYTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMjgsNyAr
MjgsNiBAQAogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogCkBAIC0zNiw3
ICszNSw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZD
b250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVy
JiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
V0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tD
QUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDc2M2ZmZmEuLmExNjZlODEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAgLTMy
LDcgKzMyLDYgQEAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIldLQ0FDRkxheWVyLmgi
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNTYsNyArNTUsOCBAQCBwdWJsaWM6
CiAvLyBGSVhNRTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBmb3Ig
ZWFjaCBXZWJWaWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRleHQg
YW5kIERpcmVjdDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5ZXJS
ZW5kZXJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXS0NBQ0ZMYXllclJlbmRlcmVyPiBjcmVhdGUoV0tD
QUNGTGF5ZXJSZW5kZXJlckNsaWVudCopOwogICAgIH5XS0NBQ0ZMYXllclJlbmRlcmVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCmluZGV4IGFiZGMwZjIuLmYyMjc2YWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBA
IC0yNCw3ICsyNCw2IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAi
Rm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcg
KzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdp
c3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAKLSAgICBzdHJ1
Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFtZShuYW1lKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0Zv
bnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBs
YXRmb3JtRGF0YS5oCmluZGV4IGU3M2E3YjIuLjk4NjI3ZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0yOCw3ICsyOCw2
IEBACiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udE9yaWVudGF0
aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsLmg+CiAKIHR5cGVkZWYgc3RydWN0
IHRhZ1RFWFRNRVRSSUNXIFRFWFRNRVRSSUM7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IGE1MjY1OGYu
LmZiZTFhMjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3Jh
cGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
Y2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00MzksNyArNDM5LDggQEAgc3RhdGljIHZv
aWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVkQml0bWFw
KiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFsc2U+KGRl
c3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJlbnRMYXll
ckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAgIFRyYW5z
cGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEsIEludFJl
Y3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0gMCwgaW50
IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5zcGFyZW50
TGF5ZXJEQygpOwpAQCAtNTU5LDcgKzU2MCw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXllckRDOjpm
aWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRlciA6IE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29wZURDUHJv
dmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAgICA6IG1f
ZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApA
QCAtMjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBGb250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVj
dCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL0NsaXBib2FyZEd0ay5oCmluZGV4IGUxNGE1ODMuLjBjMDdjMDcgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL0NsaXBib2FyZEd0ay5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFu
ZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgLy8gQ3JlYXRlZCBmcm9tIHRoZSBFdmVudEhhbmRs
ZXJHdGsgdG8gYmUgdXNlZCBieSB0aGUgZG9tCiAgICAgY2xhc3MgQ2xpcGJvYXJkR3RrIDogcHVi
bGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDbGlwYm9hcmRHdGs+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBH
dGtDbGlwYm9hcmQqIGNsaXBib2FyZCwgRnJhbWUqIGZyYW1lKQogICAgICAgICB7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCBmMjA5ZGRh
Li42NzA5MTVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0lt
YWdlRGVjb2Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VE
ZWNvZGVyLmgKQEAgLTIyMSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8g
c2V0TWF4TnVtUGl4ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVjb2Rl
ZCBpbWFnZXMgY2FuCiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRlIHRo
b3NlIGltYWdlcyB0aGF0IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxzLiAo
Tm90IHN1cHBvcnRlZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIEltYWdl
RGVjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBJbWFnZURlY29kZXIoYm9vbCBwcmVt
dWx0aXBseUFscGhhLCBib29sIGlnbm9yZUdhbW1hQW5kQ29sb3JQcm9maWxlKQogICAgICAgICAg
ICAgOiBtX3NjYWxlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Ns
aXBib2FyZE1hYy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgKaW5kZXgg
NzE4N2VjZi4uMzllYWRkYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJv
YXJkTWFjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgKQEAgLTQ0
LDYgKzQ0LDcgQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBGaWxlTGlzdDsKIAogY2xhc3MgQ2xpcGJv
YXJkTWFjIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDbGlwYm9hcmRNYWM+IGNyZWF0ZShDbGlwYm9hcmRUeXBlIGNsaXBib2FyZFR5cGUsIE5T
UGFzdGVib2FyZCAqcGFzdGVib2FyZCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJh
bWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJy
ZW50R3JhcGhpY3NDb250ZXh0LmgKaW5kZXggOTBiZWI0MC4uYjk5MGQ3NCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmgKQEAgLTE3
LDcgKzE3LDYgQEAKICAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICovCiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmZGVmIF9fT0JKQ19fCiBAY2xhc3MgTlNHcmFw
aGljc0NvbnRleHQ7CkBAIC0zMSw3ICszMCw4IEBAIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKICAg
ICAKIC8vIFRoaXMgY2xhc3MgYXV0b21hdGljYWxseSBzYXZlcyBhbmQgcmVzdG9yZXMgdGhlIGN1
cnJlbnQgTlNHcmFwaGljc0NvbnRleHQgZm9yCiAvLyBmdW5jdGlvbnMgd2hpY2ggY2FsbCBvdXQg
aW50byBBcHBLaXQgYW5kIHJlbHkgb24gdGhlIGN1cnJlbnRDb250ZXh0IGJlaW5nIHNldAotY2xh
c3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KTsKIHB1YmxpYzoKICAgICBMb2NhbEN1cnJl
bnRHcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQpOwogICAg
IH5Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1NoYXJlZFRpbWVyTWFjLm1tIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2hhcmVk
VGltZXJNYWMubW0KaW5kZXggY2M5ZmYxNy4uNDQ2YmRhYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2hhcmVkVGltZXJNYWMubW0KKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2hhcmVkVGltZXJNYWMubW0KQEAgLTI5LDcgKzI5LDYgQEAKICNpbXBvcnQgPElPS2l0L0lPTWVz
c2FnZS5oPgogI2ltcG9ydCA8SU9LaXQvcHdyX21ndC9JT1BNTGliLmg+CiAjaW1wb3J0IDx3dGYv
QXNzZXJ0aW9ucy5oPgotI2ltcG9ydCA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW1wb3J0IDx3dGYv
UGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL1VudXNlZFBhcmFtLmg+CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Jsb2JEYXRhLmgKaW5kZXggMWZmNjM0NC4uYzFmNTUyMiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Jsb2JEYXRhLmgKQEAgLTE0NSw2ICsxNDUsNyBAQCBwcml2YXRlOgogdHlwZWRlZiBW
ZWN0b3I8QmxvYkRhdGFJdGVtPiBCbG9iRGF0YUl0ZW1MaXN0OwogCiBjbGFzcyBCbG9iRGF0YSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9y
bURhdGFCdWlsZGVyLmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9j
dW1lbnQ7CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRF
bmNvZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hh
cnNldCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li5mZWE0Mzk0ZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKQEAgLTI2
LDcgKzI2LDYgQEAKICNpZm5kZWYgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogI2RlZmluZSBOZXR3
b3JrU3RhdGVOb3RpZmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lm
IFBMQVRGT1JNKE1BQykKIApAQCAtNjEsNyArNjAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllclByaXZhdGU7CiAjZW5kaWYKIAotY2xhc3MgTmV0d29y
a1N0YXRlTm90aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmV0d29ya1N0YXRl
Tm90aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5ldHdvcmtTdGF0ZU5vdGlmaWVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgTmV0d29ya1N0YXRlTm90
aWZpZXIoKTsKICAgICB2b2lkIHNldE5ldHdvcmtTdGF0ZUNoYW5nZWRGdW5jdGlvbih2b2lkICgq
KSgpKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbC5oCmluZGV4IDljY2NlY2QuLmMyOTljZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaApAQCAtODAsNyArODAsOCBAQCBjbGFz
cyBOU1VSTENvbm5lY3Rpb247CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQ7CiAKLSAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUludGVybmFsIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUludGVybmFsIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wg
c2hvdWxkQ29udGVudFNuaWZmKQogICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggMzNhMTg0ZS4u
Zjc5NTg0ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVx
dWVzdEJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5oCkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3Qg
Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlz
IHR5cGUgZGlyZWN0bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3Mg
UmVzb3VyY2VSZXF1ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBS
ZXNvdXJjZVJlcXVlc3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICAvLyBUaGUgdHlwZSBvZiB0aGlzIFJlc291cmNlUmVxdWVzdCwg
YmFzZWQgb24gaG93IHRoZSByZXNvdXJjZSB3aWxsIGJlIHVzZWQuCiAgICAgICAgIGVudW0gVGFy
Z2V0VHlwZSB7CkBAIC0yMDUsNyArMjA2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBp
bmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjb21wYXJlKGEs
IGIpOyB9CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3IhPShSZXNvdXJjZVJlcXVlc3QmIGEsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLSAgICBzdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIENyb3NzVGhyZWFk
UmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UoKSB7IH0KICAgICAgICAgS1VSTCBtX3VybDsKIAogICAg
ICAgICBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBtX2NhY2hlUG9saWN5OwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggYi9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRleCA5YzU0YmFi
Li5lMDc3NGMyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXNwb25zZUJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNw
b25zZUJhc2UuaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3Ry
dWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGE7CiAKIC8vIERvIG5vdCB1c2UgdGhp
cyBjbGFzcyBkaXJlY3RseSwgdXNlIHRoZSBjbGFzcyBSZXNwb25zZVJlc3BvbnNlIGluc3RlYWQK
LWNsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xh
c3MgUmVzb3VyY2VSZXNwb25zZUJhc2UgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBh
c3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyAr
MTc2LDEwIEBAIHByaXZhdGU6CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNl
UmVzcG9uc2VCYXNlOjpjb21wYXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0
dXJuICEoYSA9PSBiKTsgfQogCi1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0
YUJhc2UgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNl
RGF0YUJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXNwb25zZURhdGFCYXNlKTsKK3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9u
c2VEYXRhQmFzZSgpIHsgfQogICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7
CiAgICAgbG9uZyBsb25nIG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggMDll
MWViZS4uNGIwYWQwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291
cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNv
dXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3Bw
CkBAIC03Niw3ICs3Niw4IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5F
VCByZXF1ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291
cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNv
dXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50KTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3Jt
L3F0L0NsaXBib2FyZFF0LmgKaW5kZXggNWFjYTFhNi4uZmI1YWJlZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQv
Q2xpcGJvYXJkUXQuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9w
IGFuZCBjb3B5L3Bhc3RlCiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJk
LCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENsaXBib2Fy
ZFF0PiBjcmVhdGUoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgY29uc3QgUU1pbWVEYXRh
KiByZWFkYWJsZUNsaXBib2FyZCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURh
dGFiYXNlLmgKaW5kZXggYzMyOTI3My4uZGE1M2FjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVEYXRhYmFzZS5oCkBAIC01MCw3ICs1MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0
U2NoZW1hOwogZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRGdWxsOwogZXh0ZXJuIGNvbnN0IGlu
dCBTUUxSZXN1bHRJbnRlcnJ1cHQ7CiAKLWNsYXNzIFNRTGl0ZURhdGFiYXNlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZURhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTUUxpdGVEYXRhYmFzZSk7CiAgICAgZnJpZW5kIGNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9u
OwogcHVibGljOgogICAgIFNRTGl0ZURhdGFiYXNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0
ZVN0YXRlbWVudC5oCmluZGV4IDE0NDRmMGUuLmZkMWFiZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3Fs
L1NRTGl0ZVN0YXRlbWVudC5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgU1FMVmFsdWU7CiAKLWNsYXNzIFNRTGl0ZVN0YXRlbWVudCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTUUxpdGVTdGF0ZW1lbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNRTGl0ZVN0YXRlbWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFNRTGl0ZVN0YXRlbWVudChTUUxpdGVEYXRhYmFzZSYsIGNvbnN0IFN0cmluZyYpOwogICAg
IH5TUUxpdGVTdGF0ZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NR
TGl0ZVRyYW5zYWN0aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlv
bi5oCmluZGV4IDkyNDI0MWYuLjllMzNjZjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
VHJhbnNhY3Rpb24uaApAQCAtMjYsMTQgKzI2LDEzIEBACiAjaWZuZGVmIFNRTGl0ZVRyYW5zYWN0
aW9uX2gKICNkZWZpbmUgU1FMaXRlVHJhbnNhY3Rpb25faAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1FMaXRlRGF0YWJhc2U7
CiAKLWNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFz
cyBTUUxpdGVUcmFuc2FjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlVHJh
bnNhY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTUUxpdGVU
cmFuc2FjdGlvbihTUUxpdGVEYXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAg
ICAgflNRTGl0ZVRyYW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvQmlkaVJlc29sdmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgK
aW5kZXggMWY4NzExNS4uMDU2ZWQ3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0JpZGlSZXNvbHZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIu
aApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBCaWRpUmVzb2x2ZXJfaAogCiAjaW5jbHVkZSAi
QmlkaUNvbnRleHQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTI2LDcgKzEy
NSw4IEBAIHN0cnVjdCBCaWRpQ2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBt
X25leHQ7CiB9OwogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3Mg
QmlkaVJlc29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVy
YXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEJpZGlSZXNvbHZlcik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAg
ICAgIDogbV9kaXJlY3Rpb24oV1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjUzNmVkNDggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3ICszMCw4
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVndWxhckV4cHJlc3Npb24gOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVndWxhckV4cHJlc3Npb24oY29u
c3QgU3RyaW5nJiwgVGV4dENhc2VTZW5zaXRpdml0eSk7CiAgICAgflJlZ3VsYXJFeHByZXNzaW9u
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmggYi9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKaW5kZXggYzZhZjM4YS4uMTJjZjY0NyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSA8
bWVtb3J5PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgpAQCAtNTcsOCArNTYsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBjaGFyIFVuZW5jb2RhYmxlUmVwbGFj
ZW1lbnRBcnJheVszMl07CiAKLSAgICBjbGFzcyBUZXh0Q29kZWMgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFRleHRDb2RlYyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRleHRDb2RlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAg
ICAgVGV4dENvZGVjKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRleHRDb2RlYygpOwogCiAgICAg
ICAgIFN0cmluZyBkZWNvZGUoY29uc3QgY2hhciogc3RyLCBzaXplX3QgbGVuZ3RoLCBib29sIGZs
dXNoID0gZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rl
ci9Gb250VHJhbnNjb2Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9u
dFRyYW5zY29kZXIuaAppbmRleCA2N2RiOTc3Li5iZmZmOTNlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKQEAgLTMyLDcgKzMyLDYg
QEAKICNkZWZpbmUgRm9udFRyYW5zY29kZXJfaAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNT
dHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDcgKzM5LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3MgVGV4dEVuY29k
aW5nOwogCi1jbGFzcyBGb250VHJhbnNjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBGb250VHJhbnNjb2RlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFRyYW5zY29k
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2b2lkIGNvbnZlcnQo
U3RyaW5nJiB0ZXh0LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2Rpbmcq
ID0gMCkgY29uc3Q7CiAgICAgYm9vbCBuZWVkc1RyYW5zY29kaW5nKGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyogPSAwKSBjb25zdDsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xp
cGJvYXJkV2luLmgKaW5kZXggY2U2NGI4NS4uNzc5ZGEyNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xp
cGJvYXJkV2luLmgKQEAgLTQxLDYgKzQxLDcgQEAgY2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBT
dGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBj
b3B5L3Bhc3RlCiBjbGFzcyBDbGlwYm9hcmRXaW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMg
Q2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENsaXBib2FyZFdpbj4gY3JlYXRlKENsaXBib2Fy
ZFR5cGUgY2xpcGJvYXJkVHlwZSwgSURhdGFPYmplY3QqIGRhdGFPYmplY3QsIENsaXBib2FyZEFj
Y2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oCmluZGV4IGU3ODU2ZTcuLmQzNmMy
MzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNh
c3Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rl
ci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgV2luZG93TWVzc2FnZUxpc3RlbmVyOwogCi0g
ICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgYWRkTGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7
CiAgICAgICAgIHN0YXRpYyB2b2lkIHJlbW92ZUxpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VM
aXN0ZW5lciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgg
Yi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaAppbmRleCBiMTQ2MDVmLi5jNDEyYzA5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaAorKysgYi9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFBsdWdpblBhY2thZ2U+LCBQ
bHVnaW5QYWNrYWdlSGFzaD4gUGx1Z2luU2V0OwogCi0gICAgY2xhc3MgUGx1Z2luRGF0YWJhc2Ug
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNlIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luRGF0YWJhc2UpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpbkRhdGFiYXNlKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmggYi9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCmluZGV4IDYxMGU4OWMuLjI5
YmM0ZTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1
bGVyLmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaApA
QCAtMzYsNyArMzYsOCBAQCB0eXBlZGVmIE5QUF90KiBOUFA7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2b2lkKik7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmggYi9XZWJDb3JlL3Bs
dWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IGRlYWVjOTkuLmE5OWI2ZWIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZp
ZXcuaApAQCAtOTMsNyArOTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdp
blN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxseQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1
ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGx1Z2luUmVxdWVzdChjb25zdCBGcmFt
ZUxvYWRSZXF1ZXN0JiBmcmFtZUxvYWRSZXF1ZXN0LCBib29sIHNlbmROb3RpZmljYXRpb24sIHZv
aWQqIG5vdGlmeURhdGEsIGJvb2wgc2hvdWxkQWxsb3dQb3B1cHMpCiAgICAgICAgICAgICA6IG1f
ZnJhbWVMb2FkUmVxdWVzdChmcmFtZUxvYWRSZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9y
ZW5kZXJpbmcvQ29sdW1uSW5mby5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCmlu
ZGV4IDVlNmY2MTkuLmQ3N2Q2Y2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVt
bkluZm8uaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKQEAgLTMxLDcgKzMx
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb2x1bW5JbmZvIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENvbHVtbkluZm8geworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENvbHVtbkluZm8pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBD
b2x1bW5JbmZvKCkKICAgICAgICAgOiBtX2Rlc2lyZWRDb2x1bW5XaWR0aCgwKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmgKaW5kZXggNTI5ZDQwOS4uNTU1ZTgxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvQ291bnRlck5vZGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9k
ZS5oCkBAIC0yMyw3ICsyMyw2IEBACiAjZGVmaW5lIENvdW50ZXJOb2RlX2gKIAogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KIAogLy8gVGhpcyBpbXBsZW1lbnRzIGEgY291bnRlciB0cmVlIHRo
YXQgaXMgdXNlZCBmb3IgZmluZGluZyBwYXJlbnRzIGluIGNvdW50ZXJzKCkgbG9va3VwLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL0xheW91dFN0YXRlLmgKaW5kZXggY2NhM2U0Mi4uYmJhNjAxZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9MYXlv
dXRTdGF0ZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5j
bHVkZSAiSW50U2l6ZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAgY2xhc3MgUmVuZGVyQXJlbmE7CiBjbGFz
cyBSZW5kZXJCb3g7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIExheW91dFN0YXRlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMYXlvdXRTdGF0ZSk7CiBwdWJsaWM6CiAgICAgTGF5b3V0U3RhdGUoKQogICAg
ICAgICA6IG1fY2xpcHBlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckFyZW5hLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCmluZGV4IDMyMTM5
ZmIuLjc4N2E2ODggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaApAQCAtMzYsMTMgKzM2LDEzIEBA
CiAjZGVmaW5lIFJlbmRlckFyZW5hX2gKIAogI2luY2x1ZGUgIkFyZW5hLmgiCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0
IHNpemVfdCBnTWF4UmVjeWNsZWRTaXplID0gNDAwOwogCi1jbGFzcyBSZW5kZXJBcmVuYSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJBcmVuYSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUmVuZGVyQXJlbmEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBhcmVuYVNpemUgPSA0MDk2KTsKICAgICB+UmVuZGVy
QXJlbmEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDk0ZDY5ODAuLmQzZjRiOGQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzU0LDcgKzM1NCw5IEBAIHByaXZhdGU6CiAgICAg
ICAgIGJvb2wgZXZlckhhZExheW91dDsKICAgICB9OwogCi0gICAgc3RydWN0IEZsb2F0aW5nT2Jq
ZWN0IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CisgICAgcHVibGljOgogICAgICAgICAvLyBOb3RlIHRoYXQgVHlwZSB1c2VzIGJpdHMg
c28geW91IGNhbiB1c2UgRmxvYXRCb3RoIGFzIGEgbWFzayB0byBxdWVyeSBmb3IgYm90aCBsZWZ0
IGFuZCByaWdodC4KICAgICAgICAgZW51bSBUeXBlIHsgRmxvYXRMZWZ0ID0gMSwgRmxvYXRSaWdo
dCA9IDIsIEZsb2F0Qm90aCA9IDMgfTsKIApAQCAtNjc4LDcgKzY4MCw5IEBAIHByaXZhdGU6CiAg
ICAgUmVuZGVyQm94TW9kZWxPYmplY3QqIG1fY29udGludWF0aW9uOwogICAgIAogICAgIC8vIEFs
bG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMgaGF2ZSBub24tZGVmYXVsdCB2
YWx1ZXMKLSAgICBzdHJ1Y3QgUmVuZGVyQmxvY2tSYXJlRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgUmVuZGVyQmxvY2tSYXJlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlbmRlckJsb2NrUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBw
dWJsaWM6CiAgICAgICAgIFJlbmRlckJsb2NrUmFyZURhdGEoY29uc3QgUmVuZGVyQmxvY2sqIGJs
b2NrKSAKICAgICAgICAgICAgIDogbV9tYXJnaW5zKHBvc2l0aXZlTWFyZ2luQmVmb3JlRGVmYXVs
dChibG9jayksIG5lZ2F0aXZlTWFyZ2luQmVmb3JlRGVmYXVsdChibG9jayksIHBvc2l0aXZlTWFy
Z2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5BZnRlckRlZmF1bHQoYmxvY2sp
KQogICAgICAgICAgICAgLCBtX3BhZ2luYXRpb25TdHJ1dCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGJkMTkxNjUuLjZiN2YxOTkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTUzLDcgKzUzLDggQEAg
c3RhdGljIGNvbnN0IGRvdWJsZSBjTG93UXVhbGl0eVRpbWVUaHJlc2hvbGQgPSAwLjUwMDsgLy8g
NTAwIG1zCiB0eXBlZGVmIHBhaXI8UmVuZGVyQm94TW9kZWxPYmplY3QqLCBjb25zdCB2b2lkKj4g
TGFzdFBhaW50U2l6ZU1hcEtleTsKIHR5cGVkZWYgSGFzaE1hcDxMYXN0UGFpbnRTaXplTWFwS2V5
LCBJbnRTaXplPiBMYXN0UGFpbnRTaXplTWFwOwogCi1jbGFzcyBJbWFnZVF1YWxpdHlDb250cm9s
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlUXVhbGl0eUNvbnRyb2xsZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVy
KCk7CiAgICAgYm9vbCBzaG91bGRQYWludEF0TG93UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBS
ZW5kZXJCb3hNb2RlbE9iamVjdCosIEltYWdlKiwgY29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IElu
dFNpemUmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0Lmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTEx
ZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAg
Y2xhc3MgR3JpZEF4aXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgR3JpZEF4aXMoKTsKICAgICAgICAgdm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2NzEyLi5hMjBjNTVhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAK
ICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxl
LmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3Mg
UmVuZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJ
bWFnZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291
cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+UmVu
ZGVySW1hZ2VSZXNvdXJjZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5o
CmluZGV4IGZiM2FiNjcuLjAxYTJmMTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5oCkBAIC01Myw3ICs1Myw4IEBAIGVudW0gQ29tcG9zaXRpbmdMYXllclR5cGUgewogLy8g
CiAvLyBUaGVyZSBpcyBvbmUgUmVuZGVyTGF5ZXJCYWNraW5nIGZvciBlYWNoIFJlbmRlckxheWVy
IHRoYXQgaXMgY29tcG9zaXRlZC4KIAotY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nIDogcHVibGlj
IEdyYXBoaWNzTGF5ZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJM
YXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVuZGVyTGF5ZXJCYWNraW5nKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgUmVuZGVyTGF5ZXJCYWNraW5nKFJlbmRlckxheWVyKik7CiAgICAgflJl
bmRlckxheWVyQmFja2luZygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWFycXVlZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCmluZGV4IDc5OTk4
ZWQuLjk4ZmRkYjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUu
aAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgKQEAgLTUzLDcgKzUzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyTGF5ZXI7CiAKIC8vIFRoaXMgY2xh
c3MgaGFuZGxlcyB0aGUgYXV0by1zY3JvbGxpbmcgb2YgbGF5ZXJzIHdpdGggb3ZlcmZsb3c6IG1h
cnF1ZWUuCi1jbGFzcyBSZW5kZXJNYXJxdWVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFJlbmRlck1hcnF1ZWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck1hcnF1ZWUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJN
YXJxdWVlKFJlbmRlckxheWVyKik7CiAgICAgdmlydHVhbCB+UmVuZGVyTWFycXVlZSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaCBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKaW5kZXggN2RjMmJjYi4uMzNlOGNmZmEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZQogLy8gRXhhbXBsZXMgb2YgdmlzdWFsIG92ZXJmbG93IGFyZSBzaGFkb3dzLCB0ZXh0IHN0cm9r
ZSAoYW5kIGV2ZW50dWFsbHkgb3V0bGluZSBhbmQgYm9yZGVyLWltYWdlKS4KIAogLy8gVGhpcyBv
YmplY3QgaXMgYWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5v
bi1kZWZhdWx0IHZhbHVlcyBpbiB0aGUgb3duaW5nIGJveC4KLWNsYXNzIFJlbmRlck92ZXJmbG93
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck92ZXJmbG93IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZW5kZXJPdmVyZmxvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGxheW91dFJlY3Qs
IGNvbnN0IEludFJlY3QmIHZpc3VhbFJlY3QpIAogICAgICAgICA6IG1fdG9wTGF5b3V0T3ZlcmZs
b3cobGF5b3V0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
VkdSZXNvdXJjZUNsaXBwZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNl
Q2xpcHBlci5oCmluZGV4IDIwMTUzZTkuLjgxYzc5ZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgog
ICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gY2xpcE1hc2tJbWFnZTsKIH07CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAppbmRleCBhMDlmYzFhLi40NWNhODEzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQogICAg
ICAgICA6IG1fb2JqZWN0KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggZDczNmUzZC4uYmQ1
MTdiNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtMjU4LDcgKzI1OCw4IEBAIHZvaWQgdG9S
ZW5kZXJWaWV3KGNvbnN0IFJlbmRlclZpZXcqKTsKIAogCiAvLyBTdGFjay1iYXNlZCBjbGFzcyB0
byBhc3Npc3Qgd2l0aCBMYXlvdXRTdGF0ZSBwdXNoL3BvcAotY2xhc3MgTGF5b3V0U3RhdGVNYWlu
dGFpbmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGVNYWludGFpbmVyKTsKIHB1
YmxpYzoKICAgICAvLyBjdG9yIHRvIHB1c2ggbm93CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVy
KFJlbmRlclZpZXcqIHZpZXcsIFJlbmRlckJveCogcm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wg
ZGlzYWJsZVN0YXRlID0gZmFsc2UsIGludCBwYWdlSGVpZ2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0
Q2hhbmdlZCA9IGZhbHNlLCBDb2x1bW5JbmZvKiBjb2xJbmZvID0gMCkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKaW5kZXggNzg4MzA0Yy4uOGJmNmFjOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKQEAgLTMwLDcgKzMwLDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgOiBw
cml2YXRlIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKTsKIHB1YmxpYzoKICAg
ICBSZW5kZXJXaWRnZXRQcm90ZWN0b3IoUmVuZGVyV2lkZ2V0KiBvYmplY3QpCiAgICAgICAgIDog
bV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VC
dWZmZXJUb29scy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCmlu
ZGV4IDliY2M3YTQuLjkyMjU4MDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0lt
YWdlQnVmZmVyVG9vbHMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRv
b2xzLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiSW1h
Z2VCdWZmZXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC0zMiw3ICszMSw4IEBAIGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBo
aWNzQ29udGV4dDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJU
b29scyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdJbWFnZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgYm9vbCBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIGFic29s
dXRlVGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjbGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0
LCBPd25QdHI8SW1hZ2VCdWZmZXI+JiwgQ29sb3JTcGFjZSk7CiAgICAgc3RhdGljIHZvaWQgcmVu
ZGVyU3VidHJlZVRvSW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXIqLCBSZW5kZXJPYmplY3QqLCBjb25z
dCBBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01h
cmtlckxheW91dEluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8u
aAppbmRleCA4ZjU5NzAzNS4uMDcyYjRiYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHTWFya2VyTGF5b3V0SW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxh
eW91dEluZm8uaApAQCAtMjMsNyArMjMsNiBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAi
UmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiU1ZHTWFya2VyRGF0YS5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQyLDcgKzQxLDgg
QEAgc3RydWN0IE1hcmtlckxheW91dCB7CiAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKIH07
CiAKLWNsYXNzIFNWR01hcmtlckxheW91dEluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1ZHTWFya2VyTGF5b3V0SW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHTWFy
a2VyTGF5b3V0SW5mbyk7CiBwdWJsaWM6CiAgICAgU1ZHTWFya2VyTGF5b3V0SW5mbygpOwogICAg
IH5TVkdNYXJrZXJMYXlvdXRJbmZvKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9T
VkdSZXNvdXJjZXMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCmluZGV4IDQ5
NTkxY2YuLmM0NjYzNTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNl
cy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oCkBAIC0yMiw3ICsyMiw2
IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAKQEAgLTM4LDcgKzM3LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVz
b3VyY2VNYXNrZXI7CiBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2Yg
cmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCBhIFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3Vy
Y2VzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJj
ZXNDYWNoZS5oCmluZGV4IDRhNjE1NzAuLjA4OWI2MjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVz
b3VyY2VzQ2FjaGUuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNz
IFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFz
cyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNv
dXJjZXNDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDYWNo
ZSgpOwogICAgIH5TVkdSZXNvdXJjZXNDYWNoZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jl
c291cmNlc0N5Y2xlU29sdmVyLmgKaW5kZXggZTYzZWU2My4uMzQxMjU4ZSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAorKysgYi9XZWJDb3Jl
L3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCkBAIC0yOSw3ICsyOSw4IEBAIGNs
YXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xh
c3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIpOwogcHVibGljOgogICAg
IFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKFJlbmRlck9iamVjdCosIFNWR1Jlc291cmNlcyopOwog
ICAgIH5TVkdSZXNvdXJjZXNDeWNsZVNvbHZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvVGFibGVMYXlvdXQuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKaW5k
ZXggZTBmYThlZS4uYmUwMWM2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVM
YXlvdXQuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCkBAIC0yMSwxMyAr
MjEsMTMgQEAKICNpZm5kZWYgVGFibGVMYXlvdXRfaAogI2RlZmluZSBUYWJsZUxheW91dF9oCiAK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBSZW5kZXJUYWJsZTsKIAotY2xhc3MgVGFibGVMYXlvdXQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVGFibGVMYXlvdXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhYmxl
TGF5b3V0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGFibGVMYXlv
dXQoUmVuZGVyVGFibGUqIHRhYmxlKQogICAgICAgICA6IG1fdGFibGUodGFibGUpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvVHJhbnNmb3JtU3RhdGUuaAppbmRleCAwYjRjYTQ2Li4zNmZjNmVjIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5n
L1RyYW5zZm9ybVN0YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2luY2x1ZGUgIkZsb2F0UXVh
ZC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtU3RhdGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNmb3JtU3RhdGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRyYW5zZm9ybVN0YXRlKTsKIHB1YmxpYzoKICAgICBlbnVtIFRyYW5zZm9ybURp
cmVjdGlvbiB7IEFwcGx5VHJhbnNmb3JtRGlyZWN0aW9uLCBVbmFwcGx5SW52ZXJzZVRyYW5zZm9y
bURpcmVjdGlvbiB9OwogICAgIGVudW0gVHJhbnNmb3JtQWNjdW11bGF0aW9uIHsgRmxhdHRlblRy
YW5zZm9ybSwgQWNjdW11bGF0ZVRyYW5zZm9ybSB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNh
bFBvc2l0aW9uQ2FjaGUuaAppbmRleCA0ZGVhZWY1Li5iMjViMmY2IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBjb25zdCBpbnQg
UG9zaXRpb25Ub3AgPSAtMHg3ZmZmZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvbkJvdHRvbSA9IDB4
N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25VbmRlZmluZWQgPSAweDgwMDAwMDAwOwogCi1j
bGFzcyBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VmVydGljYWxQb3NpdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0aWNh
bFBvc2l0aW9uQ2FjaGUpOwogcHVibGljOgogICAgIFZlcnRpY2FsUG9zaXRpb25DYWNoZSgpCiAg
ICAgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAppbmRleCA0Zjk2NGEyLi4x
NWY2OTEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5o
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKQEAgLTMzLDcgKzMz
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTdHlsZUltYWdlOwogCi1zdHJ1Y3Qg
Q29udGVudERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ29udGVudERhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENvbnRlbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1fdHlwZShDT05URU5UX05P
TkUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5o
IGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2Fk
Li44MTQwMzllIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29u
dGVudC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAg
LTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29u
dGVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb3VudGVyQ29udGVudChj
b25zdCBBdG9taWNTdHJpbmcmIGlkZW50aWZpZXIsIEVMaXN0U3R5bGVUeXBlIHN0eWxlLCBjb25z
dCBBdG9taWNTdHJpbmcmIHNlcGFyYXRvcikKICAgICAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRp
ZmllcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oIGIv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKaW5kZXggNDlmYjI5NC4uODQ3ZThk
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKQEAgLTU5LDcgKzU5LDggQEAgc3Ry
dWN0IEZpbGxTaXplIHsKICAgICBMZW5ndGhTaXplIHNpemU7CiB9OwogCi1jbGFzcyBGaWxsTGF5
ZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGaWxsTGF5ZXIgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZpbGxMYXllcihFRmlsbExheWVyVHlw
ZSk7CiAgICAgfkZpbGxMYXllcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU2hhZG93RGF0YS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCmlu
ZGV4IGNhODNhZjAuLmEzZGRmMTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1NoYWRvd0RhdGEuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgK
QEAgLTI2LDcgKzI2LDYgQEAKICNkZWZpbmUgU2hhZG93RGF0YV9oCiAKICNpbmNsdWRlICJDb2xv
ci5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtMzcsNyArMzYsOCBAQCBlbnVtIFNoYWRvd1N0eWxlIHsgTm9ybWFsLCBJbnNldCB9
OwogCiAvLyBUaGlzIHN0cnVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCBzaGFkb3dzIGZvciB0
aGUgdGV4dC1zaGFkb3cgYW5kIGJveC1zaGFkb3cgcHJvcGVydGllcy4KIAotY2xhc3MgU2hhZG93
RGF0YSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFNoYWRvd0RhdGEgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAg
ICA6IG1feCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVu
a0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgK
aW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4
dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0RnJhZ21lbnQ7
CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3RlciBsYXlvdXQs
IGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rlciwgc3RvcmVk
IGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVudCkuCiAvLyBQ
aGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUgdG8gYmUgYXBw
bGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3IgJiB0ZXh0TGVu
Z3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIuaAppbmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0z
OCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGlu
ZUJveCB0cmVlIGJhc2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRp
b24uCiAvLyBUaGUgc2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0
TGF5b3V0RW5naW5lLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxk
ZXIpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAg
IHZvaWQgYnVpbGRMYXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCop
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUu
aCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQw
NThkOC4uNjMxZTRjZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVu
Z2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVy
U1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZv
ciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4
dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRF
bmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7
IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLmFjMzkz
ZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lLmgKQEAgLTIyLDcgKzIyLDYgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVk
ZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzMsNyArMzIsOCBAQCBjbGFzcyBTVkdSZW5kZXJT
dHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBT
VkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21p
bmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0
RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91
dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0
RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGlu
ZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKQEAgLTMw
LDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50OwogCiAv
LyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAna2Vy
bmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNzIFNWR1Rl
eHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Rl
eHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0
TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZVNw
YWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJh
c2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggYjYxZTQ2NS4u
ZTFkZjU5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBi
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNr
IGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNy
ZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tT
eW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3lu
Y2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJv
bml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigpOwogCkBAIC02
Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIHZpcnR1YWwgfkRhdGFiYXNlVGFzaygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFj
a2VyLmgKaW5kZXggNzE0NWU2Yi4uYTFhNWJkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdl
L0RhdGFiYXNlVHJhY2tlci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIu
aApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBEYXRhYmFzZVRyYWNrZXJDbGllbnQ7CiBzdHJ1Y3Qg
U2VjdXJpdHlPcmlnaW5UcmFpdHM7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKENIUk9NSVVNKQogCi1j
bGFzcyBEYXRhYmFzZVRyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJh
c2VUcmFja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRyYWNrZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFs
aXplVHJhY2tlcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlUGF0aCk7CiAgICAgc3RhdGljIERhdGFi
YXNlVHJhY2tlciYgdHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBl
bmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJh
bnNhY3Rpb25Nb25pdG9yLmgKaW5kZXggNzgzYTczMS4uNGZjYzIzNCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaAorKysgYi9XZWJDb3Jl
L3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCkBAIC0yOCw3ICsyOCw2IEBA
CiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtNDQsNyArNDMsOCBAQCBjbGFzcyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U7CiAv
LyBGSVhNRTogbW92ZSB0aGUgdmVjdG9yIG9mIHRyYW5zYWN0aW9ucyB0byBUTFMuIEtlZXBpbmcg
aXQgc3RhdGljCiAvLyB3aWxsIG5vdCB3b3JrIG9uY2Ugd2UgYWRkIHN1cHBvcnQgZm9yIHdvcmtl
cnMuIEFub3RoZXIgcG9zc2libGUKIC8vIHNvbHV0aW9uIGlzIHRvIGtlZXAgdGhlIHZlY3RvciBp
biB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KLWNsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlv
bk1vbml0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSURCUGVuZGluZ1RyYW5zYWN0
aW9uTW9uaXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSURCUGVuZGluZ1RyYW5zYWN0
aW9uTW9uaXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYWRkUGVuZGluZ1RyYW5zYWN0
aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSopOwogICAgIHN0YXRpYyB2b2lkIHJl
bW92ZVBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmggYi9XZWJDb3Jl
L3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCmluZGV4IGEyZTM1ZWEuLjI3YThlYjUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKKysrIGIvV2ViQ29yZS9z
dG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkOwogCiAgICAgLy8gRklYTUU6IFJl
bmFtZSB0aGlzIGNsYXNzIHRvIFN0b3JhZ2VUYXNrCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFz
ayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsU3RvcmFnZVRhc2spOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBv
cnQsIEFyZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvV2ViQ29y
ZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLmEyYzc4YzYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAorKysgYi9XZWJD
b3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAvLyBGSVhN
RTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExvY2FsU3Rv
cmFnZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdl
VGhyZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGhyZWFk
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
UGFzc093blB0cjxMb2NhbFN0b3JhZ2VUaHJlYWQ+IGNyZWF0ZSgpOwogICAgICAgICB+TG9jYWxT
dG9yYWdlVGhyZWFkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFN
YW5hZ2VyLmggYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKaW5kZXggZWM5
NjIwYy4uODJkN2M3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFu
YWdlci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaApAQCAtNDEs
NyArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwog
Y2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQ7CiAKLWNsYXNzIE9yaWdpblF1b3RhTWFuYWdlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKE9yaWdpblF1b3RhTWFuYWdlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIE9yaWdpblF1b3RhTWFuYWdlcigpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaCBiL1dlYkNvcmUvc3RvcmFnZS9Pcmln
aW5Vc2FnZVJlY29yZC5oCmluZGV4IGE4MzBlNjguLjc1NTdlYWEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Pcmln
aW5Vc2FnZVJlY29yZC5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gT2JqZWN0cyBvZiB0aGlzIGNsYXNzIGNhbiBiZSB1c2VkIGZyb20gbXVsdGlwbGUgdGhyZWFk
cyB3aXRoIGV4dGVybmFsIHN5bmNocm9uaXphdGlvbi4KIC8vIFN0cmluZyBhcmd1bWVudHMgYXJl
IGFsc28gc3VwcG9zZWQgdG8gYmUgZGVlcGx5IGNvcGllZCBieSB0aGUgY2FsbGVyIHdoZW4gbmVj
ZXNzYXJ5LgotY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9yaWdp
blVzYWdlUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgT3Jp
Z2luVXNhZ2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uQ2xpZW50LmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApp
bmRleCBmZWQwNjU3Li4zOTg4OGQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJh
bnNhY3Rpb25DbGllbnQuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGll
bnQuaApAQCAtMzMsNyArMzMsNiBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCAr
NDAsMTAgQEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8gdGhlIFNR
TFRyYW5zYWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5IGludGVy
ZXN0ZWQKIC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVkIGluIGEg
dHJhbnNhY3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKKyAgICBTUUxUcmFuc2FjdGlvbkNsaWVudCgpIHsgfQogICAgIHZvaWQgZGlkQ29tbWl0
V3JpdGVUcmFuc2FjdGlvbihBYnN0cmFjdERhdGFiYXNlKik7CiAgICAgdm9pZCBkaWRFeGVjdXRl
U3RhdGVtZW50KEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICBib29sIGRpZEV4Y2VlZFF1b3RhKEFi
c3RyYWN0RGF0YWJhc2UqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2Fj
dGlvbkNvb3JkaW5hdG9yLmggYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGlu
YXRvci5oCmluZGV4IDk0MzYwYzAuLmZkNzY3ODIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFn
ZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IuaApAQCAtNDMsOCArNDMsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgY2xhc3MgU1FMVHJhbnNhY3Rpb247CiAKLSAgICBjbGFzcyBTUUxUcmFuc2Fj
dGlvbkNvb3JkaW5hdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTUUxUcmFu
c2FjdGlvbkNvb3JkaW5hdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJh
bnNhY3Rpb25Db29yZGluYXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKKyAgICAgICAgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcigpIHsgfQogICAgICAgICB2b2lk
IGFjcXVpcmVMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgcmVsZWFzZUxvY2so
U1FMVHJhbnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCBzaHV0ZG93bigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmggYi9XZWJDb3JlL3N2Zy9TVkdEb2N1
bWVudEV4dGVuc2lvbnMuaAppbmRleCBhMGNmMmJiLi4wZWQ2MmE5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdEb2N1
bWVudEV4dGVuc2lvbnMuaApAQCAtMzgsNyArMzgsOCBAQCBjbGFzcyBTVkdTdHlsZWRFbGVtZW50
OwogY2xhc3MgU1ZHU01JTEVsZW1lbnQ7CiBjbGFzcyBTVkdTVkdFbGVtZW50OwogCi1jbGFzcyBT
VkdEb2N1bWVudEV4dGVuc2lvbnMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRG9j
dW1lbnRFeHRlbnNpb25zIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdEb2N1bWVudEV4
dGVuc2lvbnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVm
IEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwog
ICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAtNjgsOSArNjksNiBAQCBw
cml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBt
X3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNlc0NhY2hlPiBtX3Jlc291
cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNvbnN0IFNWR0RvY3VtZW50
RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0
IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAgLy8gVGhpcyBIYXNoTWFw
IGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVuZGluZyByZXNvdXJjZXMs
IGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0
aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVE
YXRhLmgKaW5kZXggNDI3NmM0YS4uZGEwZjRjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudFJhcmVEYXRhLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgK
QEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1ZHRWxlbWVudFJhcmVEYXRhX2gKIAogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMSw3ICsz
MCw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3Mg
U1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBTVkdFbGVtZW50UmFyZURhdGEoKQogICAgICAgICA6IG1fY3Vyc29yRWxl
bWVudCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaCBiL1dlYkNvcmUv
c3ZnL1NWR0ZvbnREYXRhLmgKaW5kZXggZTg5N2E1OS4uZjIwMmQyNiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdmcvU1ZHRm9udERhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCkBA
IC0yNSw3ICsyNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHRm9udERh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRm9udERhdGEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR0ZvbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgU1ZHRm9udERhdGEoU1ZHRm9udEZhY2VFbGVtZW50Kik7CiAgICAgdmlydHVh
bCB+U1ZHRm9udERhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVu
ZGVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCmluZGV4IGMwYWU3ZjMuLjhlNDNi
OTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKKysrIGIvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAjaWYgRU5BQkxFKFNW
RykKICNpbmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNl
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgU1ZHUGF0aEJsZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZH
UGF0aEJsZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCbGVuZGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1dlYkNvcmUv
c3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uMWY0NWRmOSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdQ
YXRoQnl0ZVN0cmVhbS5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNWR1BhdGhCeXRlU3Ry
ZWFtX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAg
LTQzLDcgKzQyLDggQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tz
aXplb2YodW5zaWduZWQgc2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNW
R1BhdGhCeXRlU3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRl
U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNW
R1BhdGhCeXRlU3RyZWFtPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Zn
L1NWR1BhdGhDb25zdW1lci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKaW5kZXgg
YjdjNWU3My4uZGJiZGNhMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVy
LmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKQEAgLTI2LDcgKzI2LDYgQEAK
IAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQwLDggKzM5LDEw
IEBAIGVudW0gUGF0aFBhcnNpbmdNb2RlIHsKICAgICBVbmFsdGVyZWRQYXJzaW5nCiB9OwogCi1j
bGFzcyBTVkdQYXRoQ29uc3VtZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0
aENvbnN1bWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQ29uc3VtZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoQ29uc3VtZXIoKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgaW5jcmVtZW50UGF0aFNlZ21lbnRDb3VudCgpID0gMDsKICAg
ICB2aXJ0dWFsIGJvb2wgY29udGludWVDb25zdW1pbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGNsZWFudXAoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgg
Yi9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKaW5kZXggNzY3OWE5NS4uMDk2MTMxYyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NW
R1BhdGhQYXJzZXIuaApAQCAtMjksMTIgKzI5LDEyIEBACiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1
bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNlZy5oIgogI2luY2x1ZGUgIlNWR1BhdGhTb3VyY2Uu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhQYXJzZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aFBhcnNlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU1ZHUGF0aFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNvdXJjZS5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLjc3
YmY5ZmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9XZWJD
b3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTVkdQYXRoU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291
cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU1ZHUGF0aFNvdXJj
ZSgpIHsgfQogICAgIHZpcnR1YWwgflNWR1BhdGhTb3VyY2UoKSB7IH0KIAogICAgIHZpcnR1YWwg
Ym9vbCBoYXNNb3JlRGF0YSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NW
R1ZpZXdTcGVjLmggYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCmluZGV4IDY4NmNlYzMuLmNk
MTBjYTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIvV2ViQ29y
ZS9zdmcvU1ZHVmlld1NwZWMuaApAQCAtMzIsOCArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBTVkdFbGVtZW50OwogCiBjbGFzcyBTVkdWaWV3U3BlYyA6IHB1YmxpYyBTVkdGaXRU
b1ZpZXdCb3gsCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdab29tQW5kUGFuLAotICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVmll
d1NwZWMpOwogcHVibGljOgogICAgIFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqKTsKIApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IGJlYmM3NDIuLjlmN2JjMTQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdJbWFnZS5jcHAKQEAgLTU1LDcgKzU1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDogcHVibGlj
IEVtcHR5Q2hyb21lQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdJbWFnZUNo
cm9tZUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0lt
YWdlQ2hyb21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdl
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9XZWJD
b3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysgYi9XZWJD
b3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBG
bG9hdDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0aW1l
QW5hbHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6CiAg
ICAgUmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5k
ZXggMDViMzc2Ny4uOGYzZjE1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpZiBFTkFCTEUoV0VCX1NP
Q0tFVFMpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTQzLDggKzQyLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bCgpIHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQq
LCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZv
aWQgY29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4
IDljNTIzNzcuLmEzOWNkMGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApA
QCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0
Q2hhbm5lbENsaWVudDsKIAogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVm
Q291bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVu
dCwgcHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxX
ZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
V2ViU29ja2V0Q2hhbm5lbENsaWVudCogY2xpZW50LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgcHJvdG9jb2wpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJTb2NrZXRDaGFubmVsKGNv
bnRleHQsIGNsaWVudCwgdXJsLCBwcm90b2NvbCkpOyB9CiAgICAgICAgIHZpcnR1YWwgfldlYlNv
Y2tldENoYW5uZWwoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRI
YW5kc2hha2UuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAppbmRl
eCBhNWI0MjYwLi4zNzFkODUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29j
a2V0SGFuZHNoYWtlLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFr
ZS5oCkBAIC0zNywxMyArMzcsMTMgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2lu
Y2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRI
YW5kc2hha2VSZXNwb25zZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi0g
ICAgY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
ZWJTb2NrZXRIYW5kc2hha2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBNb2RlIHsKICAg
ICAgICAgICAgIEluY29tcGxldGUsIE5vcm1hbCwgRmFpbGVkLCBDb25uZWN0ZWQKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5o
IGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgK
aW5kZXggMzY2ZTRmYS4uOWYwYjAxYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dv
cmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvV2ViQ29yZS93ZWJzb2NrZXRz
L1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xh
c3MgV29ya2VyTG9hZGVyUHJveHk7CiBjbGFzcyBXb3JrZXJSdW5Mb29wOwogCiBjbGFzcyBXb3Jr
ZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFdvcmtlckNvbnRl
eHQqIHdvcmtlckNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVudCwgY29uc3Qg
U3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29s
KQogICAgIHsKQEAgLTc3LDcgKzc4LDggQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICAvLyBH
ZW5lcmF0ZWQgYnkgdGhlIGJyaWRnZS4gIFRoZSBQZWVyIGFuZCBpdHMgYnJpZGdlIHNob3VsZCBo
YXZlIGlkZW50aWNhbAogICAgIC8vIGxpZmV0aW1lcy4KLSAgICBjbGFzcyBQZWVyIDogcHVibGlj
IFdlYlNvY2tldENoYW5uZWxDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
UGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGVlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWxDbGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9h
ZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYg
dGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAg
ICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5LmggYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
aAppbmRleCAyMWUxNGExLi40OTAyYWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvRGVm
YXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTUzLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFNoYXJlZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50
YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAg
ICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gSW52b2tlZCBvbmNl
IHRoZSB3b3JrZXIgc2NyaXB0IGhhcyBiZWVuIGxvYWRlZCB0byBmaXJlIHVwIHRoZSB3b3JrZXIg
dGhyZWFkLgogICAgICAgICB2b2lkIHdvcmtlclNjcmlwdExvYWRlZChTaGFyZWRXb3JrZXJQcm94
eSYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHdvcmtlclNjcmlwdCwg
UGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWw+KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJDb250ZXh0LmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCmlu
ZGV4IDVkMTVkOTQuLjA4NDY0MjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmgKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTQ1LDcg
KzE0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpc0Nsb3NpbmcoKSB7
IHJldHVybiBtX2Nsb3Npbmc7IH0KIAogICAgICAgICAvLyBBbiBvYnNlcnZlciBpbnRlcmZhY2Ug
dG8gYmUgbm90aWZpZWQgd2hlbiB0aGUgd29ya2VyIHRocmVhZCBpcyBnZXR0aW5nIHN0b3BwZWQu
Ci0gICAgICAgIGNsYXNzIE9ic2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
Y2xhc3MgT2JzZXJ2ZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT2JzZXJ2
ZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBPYnNlcnZlcihXb3JrZXJDb250ZXh0
Kik7CiAgICAgICAgICAgICB2aXJ0dWFsIH5PYnNlcnZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaAppbmRleCAzMzkzN2NlLi40ZGU5MGRjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgIldvcmtl
ckxvYWRlclByb3h5LmgiCiAjaW5jbHVkZSAiV29ya2VyT2JqZWN0UHJveHkuaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CkBAIC00Niw3ICs0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIGNsYXNzIFdvcmtlcjsKIAotICAg
IGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5IDogcHVibGljIFdvcmtlckNvbnRleHRQcm94eSwg
cHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHksIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMg
V29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3Jr
ZXJMb2FkZXJQcm94eSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlck1lc3Nh
Z2luZ1Byb3h5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBXb3JrZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3Au
Y3BwCmluZGV4IDgzZjI0M2YuLjdiMzE0OWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJSdW5Mb29wLmNwcAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAK
QEAgLTEwNCw3ICsxMDQsOCBAQCBTdHJpbmcgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKQog
ICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotY2xhc3MgUnVuTG9vcFNldHVwIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFJ1bkxvb3BTZXR1cCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUnVuTG9vcFNldHVwKTsKIHB1YmxpYzoKICAgICBSdW5Mb29wU2V0dXAoV29ya2VyUnVuTG9v
cCYgcnVuTG9vcCkKICAgICAgICAgOiBtX3J1bkxvb3AocnVuTG9vcCkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVu
TG9vcC5oCmluZGV4IDlkNGVkZmQuLjNmZWI0ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJSdW5Mb29wLmgKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaApA
QCAtNjUsNyArNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgc3RhdGljIFN0
cmluZyBkZWZhdWx0TW9kZSgpOwogCi0gICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBhc3NPd25QdHI8U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5nJiBtb2RlKTsKICAg
ICAgICAgICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEy
MGUuLjljZDRkNWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3Bw
CisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCw3ICszOCw2IEBA
CiAjaW5jbHVkZSAiVGhyZWFkR2xvYmFsRGF0YS5oIgogCiAjaW5jbHVkZSA8dXRpbGl0eT4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKICNpbmNs
dWRlICJEYXRhYmFzZVRhc2suaCIKQEAgLTYxLDcgKzYwLDggQEAgdW5zaWduZWQgV29ya2VyVGhy
ZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAK
LXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBX
b3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2Vy
VGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4gY3JlYXRlKGNvbnN0
IEtVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggZmM3ZWI5ZS4uMmI3
NzIwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApAQCAtNjUsNyArNjUsOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVl
c3RDb3VudGVyKCJYTUxIdHRwUmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVx
dWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0
aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0Rh
dGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBYTUxIdHRwUmVxdWVz
dFN0YXRpY0RhdGEoKTsKICAgICBTdHJpbmcgbV9wcm94eUhlYWRlclByZWZpeDsKICAgICBTdHJp
bmcgbV9zZWNIZWFkZXJQcmVmaXg7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5oIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCBiYzY4MTVkLi5iMTVk
MzU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1dlYkNv
cmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgVGV4dFJlc291
cmNlRGVjb2RlcjsKIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKIGNsYXNzIFhNTEh0dHBSZXF1
ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+LCBwdWJsaWMgRXZlbnRUYXJn
ZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVj
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgWE1MSHR0cFJlcXVlc3QoY29udGV4dCkpOyB9
CiAgICAgflhNTEh0dHBSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aEV4
cHJlc3Npb25Ob2RlLmggYi9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKaW5kZXgg
YzA0ZDQ1Yi4uOTNmYjg1OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9u
Tm9kZS5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaApAQCAtMzksNyAr
MzksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogICAg
ICAgICAKLSAgICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250ZXh0IDogRmFzdEFsbG9jQmFzZSB7
CisgICAgICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCB7CisgICAgICAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxO
b2RlPiBub2RlOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAg
dW5zaWduZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAgICAgdmlydHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAK
LSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsK
KyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIEV2YWx1
YXRpb25Db250ZXh0JiBldmFsdWF0aW9uQ29udGV4dCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3htbC9YUGF0aE5vZGVTZXQuaCBiL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCmluZGV4IGQ1
YzQ3YmUuLjYxOWQ5MWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCisr
KyBiL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAKLSAgICAgICAgY2xhc3MgTm9k
ZVNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgY2xhc3MgTm9kZVNldCB7Cisg
ICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgTm9kZVNldCgpIDogbV9pc1NvcnRlZCh0cnVlKSwgbV9zdWJ0cmVlc0FyZURpc2pv
aW50KGZhbHNlKSB7IH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBh
dGhQYXJzZXIuaCBiL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKaW5kZXggMGVlNDQ3YS4uZjQ5
YjQ0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAorKysgYi9XZWJDb3Jl
L3htbC9YUGF0aFBhcnNlci5oCkBAIC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgICAgIFRva2VuKGludCB0LCBFcVRlc3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBl
cW9wKHYpIHt9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgUGFyc2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBhcnNlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFBhcnNl
cigpOwogICAgICAgICAgICAgflBhcnNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBh
dGhQcmVkaWNhdGUuaCBiL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKaW5kZXggNWYyNDgy
YS4uMzYwMDE1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAorKysg
Yi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCkBAIC0xMDUsNyArMTA1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBl
KCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogICAgICAgICB9OwogCi0g
ICAgICAgIGNsYXNzIFByZWRpY2F0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIFByZWRpY2F0ZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcmVkaWNh
dGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVw
LmgKaW5kZXggZWMwMjJiMy4uYjAzMWJhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhT
dGVwLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0g
ICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUg
eworICAgICAgICBjbGFzcyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
ICAgIHB1YmxpYzoKICAgICAgICAgICAgIGVudW0gQXhpcyB7CiAgICAgICAgICAgICAgICAgQW5j
ZXN0b3JBeGlzLCBBbmNlc3Rvck9yU2VsZkF4aXMsIEF0dHJpYnV0ZUF4aXMsCkBAIC00OSw3ICs1
MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICBTZWxmQXhpcwogICAg
ICAgICAgICAgfTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgY2xhc3MgTm9kZVRlc3QgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCB7CisgICAg
ICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICAgICAgZW51bSBLaW5kIHsKICAgICAgICAgICAgICAgICAgICAgVGV4dE5v
ZGVUZXN0LCBDb21tZW50Tm9kZVRlc3QsIFByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBB
bnlOb2RlVGVzdCwgTmFtZVRlc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1
bGUuaCBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAppbmRleCBmM2E5MzE4Li41YzBjYThh
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKKysrIGIvV2ViQ29yZS94
bWwvWFNMSW1wb3J0UnVsZS5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIENhY2hlZFhTTFN0eWxlU2hlZXQ7CiAKIGNsYXNzIFhTTEltcG9ydFJ1bGUgOiBwdWJs
aWMgU3R5bGVCYXNlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBv
cnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYg
aHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCBiNmViYTIxLi44MjFkMWZiIDEwMDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMi0wNyAgWm9s
dGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHZXQgcmlkIG9mIHRoZSBOb25jb3B5YWJsZSBhbmQg
RmFzdEFsbG9jQmFzZSBjbGFzc2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NC
YXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2
NTg5KS4gQ2hhbmdlIE5vbmNvcHlhYmxlIGFuZAorICAgICAgICBGYXN0QWxsb2NCYXNlIGluaGVy
aXRpbmcgdG8gdGhlaXIgbWFjcm8gaW1wbGVtZW50YXRpb24uIFJlbW92ZSBOb25jb3B5YWJsZS5o
IGFuZCB1bm5lY2Vzc2FyeSBGYXN0QWxsb2NCYXNlLmggaW5jbHVkZXMuCisKKyAgICAgICAgKiBG
b3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaDogUmVtb3ZlZC4KKwogMjAxMC0xMS0x
OCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgKiBTdHJpbmdzTm90
VG9CZUxvY2FsaXplZC50eHQ6IFVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4M2YuLjQzZGI3OWQgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0Jv
dW5kT2JqZWN0LmgKQEAgLTMyLDE0ICszMiwxNCBAQAogI2RlZmluZSBCb3VuZE9iamVjdF9oCiAK
ICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogLy8gQm91bmRPYmplY3QgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRz
IHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRo
b2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1
aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQm91
bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJvdW5kT2JqZWN0KTsKIHB1Ymxp
YzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2b2lk
KiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpOwogICAgIHZpcnR1YWwgfkJvdW5kT2Jq
ZWN0KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmlu
ZGV4IDA4NjBjYjEuLjU5YzIxNzcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJB
Z2VudE1hbmFnZXIuY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBs
LmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0Nv
bmNhdGVuYXRlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTUsNyArNTQsOCBAQCBib29s
IERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNl
OwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRl
YnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFw
cGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6
IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGlj
aXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuaAppbmRleCA2NmJkNzE0Li5iNzg1NmNmIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvV2ViS2l0L2No
cm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5j
bHVkZSA8djgtZGVidWcuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02Myw3ICs2Miw4IEBAIGNsYXNz
IFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5k
bGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFu
ZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8v
IGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1j
bGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBE
ZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJB
Z2VudE1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVn
Z2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFj
aChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIxZjNlLi4wNTk2
Y2FkIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRJbXBsLmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRJbXBsX2gKIAogI2luY2x1ZGUgIkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEluc3Bl
Y3RvckZyb250ZW5kSG9zdDsKQEAgLTQ0LDggKzQzLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBj
bGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVu
ZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJD
b3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENs
aWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJs
aWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJE
ZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5kZXggOWY0Y2U4Ny4uZDExYjhmMyAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKQEAgLTYwLDcg
KzYwLDYgQEAKICNpbmNsdWRlICJXZWJWaWV3Q2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViVmlld0lt
cGwuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKIHVzaW5nIFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zy
b250ZW5kSW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1w
bC5oCmluZGV4IDg2NmExY2IuLmIwODUzMzggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDx2OC5o
PgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU1LDggKzU0
LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5n
OwogCi1jbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRl
dlRvb2xzRnJvbnRlbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktp
dDo6V2ViRGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2
VG9vbHNGcm9udGVuZEltcGwpOwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBs
KAogICAgICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCA4OThkMjRiLi40NjAxOTgyIDEwMDY0NAotLS0gYS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yODAsNyArMjgwLDggQEAgV2ViUGx1Z2luQ29udGFp
bmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZy
YW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQg
YmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRo
ZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBD
aHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAg
ICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4
dChmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1w
bC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIxYmEw
My4uMWU5MjQ3NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJ
bXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2
LDYgKzU2LDcgQEAgc3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVi
bGljIFdlYlBvcHVwTWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29y
ZTo6RnJhbWVsZXNzU2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBw
dWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgLy8gV2ViV2lkZ2V0CiAgICAgdmlydHVhbCB2b2lkIGNs
b3NlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXJFZmwuaCBiL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlckVmbC5oCmluZGV4IDRiYmFlMjUuLjY3YzQ2MDggMTAwNjQ0Ci0tLSBh
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5o
CisrKyBiL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ckVmbC5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgog
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsK
IHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggYi9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCBkNGJiZWEyLi4zZmI4
YjE2IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIuaAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXIuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVs
ZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAg
IHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dGRvd25sb2FkLmNwcAppbmRleCAxOGI2NGFiLi5lMjZhNWM0IDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0ZG93bmxvYWQuY3BwCkBAIC0yMiw3ICsyMiw2IEBACiAKICNpbmNsdWRlIDxnbGliL2dpMThu
LWxpYi5oPgogI2luY2x1ZGUgIkdSZWZQdHIuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgog
I2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGll
bnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCkBAIC01NCw3ICs1Myw4
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogICogb3V0IHdoYXQgaXMgdG8gYmUgZG93bmxv
YWRlZCwgYW5kIGRvIGl0IGl0c2VsZi4KICAqLwogCi1jbGFzcyBEb3dubG9hZENsaWVudCA6IHB1
YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIERv
d25sb2FkQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEb3dubG9hZENsaWVudCk7CiAgICAgcHVibGljOgogICAgICAgICBEb3du
bG9hZENsaWVudChXZWJLaXREb3dubG9hZCopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0Zv
cndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5oIGIvV2ViS2l0L21hYy9Gb3J3YXJkaW5n
SGVhZGVycy93dGYvTm9uY29weWFibGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDUwODAyNC4uMDAwMDAwMAotLS0gYS9XZWJLaXQvbWFjL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9O
b25jb3B5YWJsZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2ltcG9ydCA8SmF2YVNj
cmlwdENvcmUvTm9uY29weWFibGUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvUGx1Z2lucy9I
b3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmggYi9XZWJLaXQvbWFjL1BsdWdpbnMv
SG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCmluZGV4IGY3ODRhZGUuLjRmMmM1
NjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5J
bnN0YW5jZVByb3h5LmgKKysrIGIvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHkuaApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBkZW1hcnNoYWxWYWx1ZUZyb21BcnJheShKU0M6OkV4ZWNTdGF0ZSosIE5TQXJyYXkgKmFycmF5
LCBOU1VJbnRlZ2VyJiBpbmRleCwgSlNDOjpKU1ZhbHVlJiByZXN1bHQpOwogICAgIHZvaWQgZGVt
YXJzaGFsVmFsdWVzKEpTQzo6RXhlY1N0YXRlKiwgZGF0YV90IHZhbHVlc0RhdGEsIG1hY2hfbXNn
X3R5cGVfbnVtYmVyX3QgdmFsdWVzTGVuZ3RoLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiBy
ZXN1bHQpOwogCi0gICAgY2xhc3MgTG9jYWxPYmplY3RNYXAgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgTG9jYWxPYmplY3RNYXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2Nh
bE9iamVjdE1hcCk7CiAgICAgcHVibGljOgogICAgICAgICBMb2NhbE9iamVjdE1hcCgpOwogICAg
ICAgICB+TG9jYWxPYmplY3RNYXAoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvU3RvcmFnZS9X
ZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0gYi9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJh
c2VUcmFja2VyQ2xpZW50Lm1tCmluZGV4IDI5MTM3MzkuLjY1YWJhNDMgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KKysrIGIvV2ViS2l0
L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQpAQCAtNTIsNyArNTIsOCBA
QCBXZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQ6On5XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQoKQog
ewogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERp
ZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9N
YWluVGhyZWFkKFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudCogY2xpZW50LCBTZWN1cml0eU9yaWdp
biogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJLaXRfcGNoLmggYi9X
ZWJLaXQvcXQvV2ViS2l0X3BjaC5oCmluZGV4IDFkZDRkNTIuLmUwOTVlZjQgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9XZWJLaXRfcGNoLmgKKysrIGIvV2ViS2l0L3F0L1dlYktpdF9wY2guaApAQCAt
NzIsNyArNzIsNiBAQAogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjaW5jbHVkZSA8d3Rm
L1RDU3lzdGVtQWxsb2MuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvVW51c2VkUGFyYW0uaD4KICNpbmNsdWRlIDx3dGYvQWx3YXlzSW5saW5lLmg+CmRpZmYg
LS1naXQgYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmggYi9XZWJLaXQvd2luL0NPTUVudW1W
YXJpYW50LmgKaW5kZXggYTkzYTNjMi4uNjcyNTEwNyAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9D
T01FbnVtVmFyaWFudC5oCisrKyBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaApAQCAtMjks
MTIgKzI5LDEyIEBACiAjZGVmaW5lIE5PTUlOTUFYCiAjaW5jbHVkZSA8dW5rbnduLmg+CiAKLSNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgIkNPTVZhcmlhbnRTZXR0ZXIu
aCIKIAogdGVtcGxhdGU8dHlwZW5hbWUgQ29udGFpbmVyVHlwZT4KLWNsYXNzIENPTUVudW1WYXJp
YW50IDogcHVibGljIElFbnVtVkFSSUFOVCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENP
TUVudW1WYXJpYW50IDogcHVibGljIElFbnVtVkFSSUFOVCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ09NRW51bVZhcmlhbnQpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFu
dCogYWRvcHQoQ29udGFpbmVyVHlwZSYpOwogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCogY3Jl
YXRlSW5zdGFuY2UoY29uc3QgQ29udGFpbmVyVHlwZSYpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dp
bi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggYi9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIuaAppbmRleCA5YWM4YzY5Li43NTMxODg4IDEwMDY0NAotLS0gYS9XZWJLaXQv
d2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAorKysgYi9XZWJLaXQvd2luL0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIuaApAQCAtMTAyLDcgKzEwMiw4IEBAIHByaXZhdGU6CiAgICAgaW50
IG1fZHJhZ1N0YXJ0T2Zmc2V0OwogfTsKIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUZ1bGxzY3JlZW5DbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6
TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlcigpOwogICAgIHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcCBiL1dl
YktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAppbmRleCBiZGNiNTQ5Li5lMmI4MWUxIDEw
MDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKKysrIGIvV2ViS2l0
L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCkBAIC01Miw3ICs1Miw4IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCBpc0VxdWFsKExQQ1dTVFIgczEsIExQQ1dTVFIgczIpCiAgICAgcmV0dXJuICF3Y3Nj
bXAoczEsIHMyKTsKIH0KIAotY2xhc3MgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJs
aWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VEZXRh
aWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyk7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKiBjcmVhdGVJbnN0YW5jZShjb25zdCBEYXRhYmFz
ZURldGFpbHMmKTsKIApAQCAtMzI4LDcgKzMyOSw4IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgV2ViRGF0YWJhc2VNYW5hZ2VyOjpkZWxldGVEYXRhYmFzZSgKICAgICByZXR1cm4gU19PSzsK
IH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEaWRN
b2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFRvTWFp
blRocmVhZChXZWJEYXRhYmFzZU1hbmFnZXIqIGRhdGFiYXNlTWFuYWdlciwgU2VjdXJpdHlPcmln
aW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5o
IGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaAppbmRleCAwNTNhNTkzLi5jZDMyNGE4IDEwMDY0
NAotLS0gYS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCisrKyBiL1dlYktpdC93aW4vV2ViSW5z
cGVjdG9yLmgKQEAgLTMwLDExICszMCwxMSBAQAogI2RlZmluZSBXZWJJbnNwZWN0b3JfaAogCiAj
aW5jbHVkZSAiV2ViS2l0LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGNsYXNz
IFdlYlZpZXc7CiAKLWNsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBw
dWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBX
ZWJJbnNwZWN0b3IgOiBwdWJsaWMgSVdlYkluc3BlY3RvciwgcHVibGljIElXZWJJbnNwZWN0b3JQ
cml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJJbnNwZWN0b3IpOwogcHVibGlj
OgogICAgIHN0YXRpYyBXZWJJbnNwZWN0b3IqIGNyZWF0ZUluc3RhbmNlKFdlYlZpZXcqKTsKIApk
aWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwIGIvV2ViS2l0
L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCmluZGV4IGRhNmIyMjEuLmU5Yjk5YWQgMTAw
NjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcAorKysgYi9XZWJL
aXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKQEAgLTcyLDcgKzcyLDggQEAgc3RhdGlj
IExvY2FsaXplZFN0cmluZ01hcCBmcmFtZXdvcmtMb2NTdHJpbmdzKCkKICAgICByZXR1cm4gbWFw
OwogfQogCi1jbGFzcyBMb2NhbGl6ZWRTdHJpbmcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgTG9jYWxpemVkU3RyaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbGl6ZWRT
dHJpbmcpOwogcHVibGljOgogICAgIExvY2FsaXplZFN0cmluZyhDRlN0cmluZ1JlZiBzdHJpbmcp
CiAgICAgICAgIDogbV9jZlN0cmluZyhzdHJpbmcpCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dl
YlNjcmlwdFdvcmxkLmggYi9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKaW5kZXggZjA4OGE3
Mi4uMDE1MTFkZSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCisrKyBi
L1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogfQogCi1jbGFzcyBXZWJTY3Jp
cHRXb3JsZCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTY3JpcHRXb3JsZCB7Citj
bGFzcyBXZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBJV2ViU2NyaXB0V29ybGQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFdlYlNjcmlwdFdvcmxkKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2Vi
U2NyaXB0V29ybGQqIHN0YW5kYXJkV29ybGQoKTsKICAgICBzdGF0aWMgQ09NUHRyPFdlYlNjcmlw
dFdvcmxkPiBjcmVhdGVJbnN0YW5jZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJTZXJp
YWxpemVkSlNWYWx1ZS5oIGIvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCmluZGV4
IGEyZDZkNTYuLjZlMzc0N2QgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpT
VmFsdWUuaAorKysgYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKQEAgLTM0LDcg
KzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTsKIH0KIAotY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgTm9uY29weWFi
bGUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpT
VmFsdWVQcml2YXRlIHsKK2NsYXNzIFdlYlNlcmlhbGl6ZWRKU1ZhbHVlIDogcHVibGljIElXZWJT
ZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNlcmlhbGl6ZWRKU1ZhbHVlKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgQ09NUHRyPFdlYlNlcmlhbGl6ZWRKU1ZhbHVlPiBjcmVhdGVJbnN0YW5jZSgp
OwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIGIv
V2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAppbmRleCBlOGY2YjY3Li40Mjg1
NGI0IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCisr
KyBiL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKQEAgLTMyLDcgKzMyLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFVzZXJDb250ZW50VVJMUGF0dGVybjsK
IH0KIAotY2xhc3MgV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIDogcHVibGljIE5vbmNvcHlhYmxl
LCBwdWJsaWMgSVdlYlVzZXJDb250ZW50VVJMUGF0dGVybiB7CitjbGFzcyBXZWJVc2VyQ29udGVu
dFVSTFBhdHRlcm4gOiBwdWJsaWMgSVdlYlVzZXJDb250ZW50VVJMUGF0dGVybiB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuKTsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgQ09NUHRyPFdlYlVzZXJDb250ZW50VVJMUGF0dGVybj4gY3JlYXRlSW5zdGFuY2Uo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCA3MzVjNmEwLi5lNTYzNzBlIDEwMDY0NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEwLTEyLTA3ICBab2x0YW4g
SG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEdldCByaWQgb2YgdGhlIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LiBDaGFuZ2UgTm9uY29weWFibGUgYW5kCisgICAgICAgIEZhc3RBbGxvY0Jhc2UgaW5oZXJpdGlu
ZyB0byB0aGVpciBtYWNybyBpbXBsZW1lbnRhdGlvbi4gUmVtb3ZlIE5vbmNvcHlhYmxlLmggYW5k
IHVubmVjZXNzYXJ5IEZhc3RBbGxvY0Jhc2UuaCBpbmNsdWRlcy4KKwogMjAxMC0xMi0wNiAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFy
eVNlbWFwaG9yZS5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5o
CmluZGV4IDgxMTMyMzYuLjhlZmZiMGQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vQ29y
ZUlQQy9CaW5hcnlTZW1hcGhvcmUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmlu
YXJ5U2VtYXBob3JlLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgQmluYXJ5U2VtYXBob3Jl
X2gKICNkZWZpbmUgQmluYXJ5U2VtYXBob3JlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBD
b3JlSVBDIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmggYi9XZWJLaXQy
L1BsYXRmb3JtL01vZHVsZS5oCmluZGV4IDA4MjViZjYuLmVjMWFjY2QgMTAwNjQ0Ci0tLSBhL1dl
YktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaApA
QCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBNb2R1bGVfaAogI2RlZmluZSBNb2R1bGVfaAogCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC0zOSw3ICszOCw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCi1jbGFzcyBNb2R1bGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTW9k
dWxlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNb2R1bGUpOwogcHVibGljOgogICAgIE1v
ZHVsZShjb25zdCBTdHJpbmcmIHBhdGgpOwogICAgIH5Nb2R1bGUoKTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmggYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1l
bW9yeS5oCmluZGV4IDA1ZGMwZGQuLmE4NmI5ZmQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZv
cm0vU2hhcmVkTWVtb3J5LmgKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaApA
QCAtMjYsNyArMjYsNiBAQAogI2lmbmRlZiBTaGFyZWRNZW1vcnlfaAogI2RlZmluZSBTaGFyZWRN
ZW1vcnlfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC01Miw3ICs1MSw4
IEBAIHB1YmxpYzoKICAgICAgICAgUmVhZFdyaXRlCiAgICAgfTsKIAotICAgIGNsYXNzIEhhbmRs
ZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIYW5kbGUgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIYW5kbGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgSGFuZGxlKCk7CiAgICAg
ICAgIH5IYW5kbGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5D
b250cm9sbGVyUHJveHkuaCBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVy
UHJveHkuaAppbmRleCAwYWMxMjY2Li5mYTk5M2I1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAi
UGx1Z2luQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKICNpbmNsdWRlICJTaGFy
ZWRNZW1vcnkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBMQVRGT1JN
KE1BQykKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuaAppbmRleCBlNjBkNTJkLi45YjVkMGUwIDEwMDY0NAotLS0gYS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Qcm9jZXNzLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgV2ViUHJvY2Vzc0Nvbm5lY3Rp
b247CiBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICAgICAgICAgCiBj
bGFzcyBQbHVnaW5Qcm9jZXNzIDogQ2hpbGRQcm9jZXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbHVnaW5Qcm9jZXNzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2VzcyYg
c2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIv
V2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggNzhmZTFmNC4uOGM1ZThlMyAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9TaGFy
ZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTI3LDEzICsyNywxMSBAQAogI2RlZmluZSBDaGlsZFByb2Nl
c3NfaAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQcm9jZXNzIDogcHJvdGVj
dGVkIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ2hpbGRQcm9jZXNzKTsKLQogcHJvdGVjdGVkOgogICAgIENoaWxkUHJvY2VzcygpOwogICAg
IH5DaGlsZFByb2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBP
YmplY3RNZXNzYWdlUmVjZWl2ZXIuaCBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RN
ZXNzYWdlUmVjZWl2ZXIuaAppbmRleCBjZmI2NmUxMy4uNGMzMGFmOCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9TaGFyZWQvUGx1Z2lucy9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlci5oCisrKyBiL1dlYktp
dDIvU2hhcmVkL1BsdWdpbnMvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIuaApAQCAtMzAsNyArMzAs
NiBAQAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPFdlYkNvcmUvbnBydW50
aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJl
ZC9QbHVnaW5zL05QT2JqZWN0UHJveHkuaCBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMvTlBPYmpl
Y3RQcm94eS5oCmluZGV4IGU0YzAwYzUuLjNkYzkyNGIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvU2hh
cmVkL1BsdWdpbnMvTlBPYmplY3RQcm94eS5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1BsdWdpbnMv
TlBPYmplY3RQcm94eS5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9D
RVNTKQogCiAjaW5jbHVkZSA8V2ViQ29yZS9ucHJ1bnRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIv
U2hhcmVkL1NhbmRib3hFeHRlbnNpb24uaCBiL1dlYktpdDIvU2hhcmVkL1NhbmRib3hFeHRlbnNp
b24uaAppbmRleCBmNWZiNTc2Li41MTEyNjU4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9T
YW5kYm94RXh0ZW5zaW9uLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvU2FuZGJveEV4dGVuc2lvbi5o
CkBAIC0yNyw3ICsyNyw2IEBACiAjZGVmaW5lIFNhbmRib3hFeHRlbnNpb25faAogCiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvRmluZEluZGljYXRvcldpbmRvdy5oIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9GaW5kSW5kaWNhdG9yV2luZG93LmgKaW5kZXggZTg4
ODliNi4uM2Y1ZmFkYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9GaW5k
SW5kaWNhdG9yV2luZG93LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9GaW5kSW5k
aWNhdG9yV2luZG93LmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpZm5kZWYgRmluZEluZGljYXRvcldp
bmRvd19oCiAjZGVmaW5lIEZpbmRJbmRpY2F0b3JXaW5kb3dfaAogCi0jaW1wb3J0IDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbXBvcnQgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW1wb3J0IDx3dGYvUmVm
UHRyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmggYi9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKaW5kZXggYzI2NWYyZTIuLjBkYzdhOWMg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFn
ZXIuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2Vy
LmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewpAQCAtNDEsNyArNDAsOCBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFBsdWdpblByb2Nlc3NQcm94eTsKIGNsYXNzIFdl
YlByb2Nlc3NQcm94eTsKIAotY2xhc3MgUGx1Z2luUHJvY2Vzc01hbmFnZXIgOiBOb25jb3B5YWJs
ZSAgeworY2xhc3MgUGx1Z2luUHJvY2Vzc01hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblByb2Nlc3NNYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJv
Y2Vzc01hbmFnZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAppbmRleCBmZTdkODk2Li45ZTE3NDJlIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVX
aW4uY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9y
ZVdpbi5jcHAKQEAgLTI1Niw3ICsyNTYsOCBAQCBWZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZvU3Rv
cmU6OnBsdWdpbnNEaXJlY3RvcmllcygpCiAgICAgcmV0dXJuIGRpcmVjdG9yaWVzOwogfQogCi1j
bGFzcyBQYXRoV2Fsa2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhdGhXYWxrZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhdGhXYWxrZXIpOwogcHVibGljOgogICAgIFBh
dGhXYWxrZXIoY29uc3QgU3RyaW5nJiBkaXJlY3RvcnkpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
VmlzaXRlZExpbmtQcm92aWRlci5oCmluZGV4IDAxNTUxNWMuLmE0MjhkNWIgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAorKysgYi9XZWJLaXQyL1VJ
UHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvTGlua0hhc2guaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDb250ZXh0OwogICAgIAotY2xhc3MgVmlzaXRlZExp
bmtQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZpc2l0ZWRMaW5rUHJvdmlkZXIpOwogcHVibGljOgog
ICAgIGV4cGxpY2l0IFZpc2l0ZWRMaW5rUHJvdmlkZXIoV2ViQ29udGV4dCopOwogCmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmggYi9XZWJLaXQyL1dl
YlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKaW5kZXggNTRmMzI1YS4uZmMxY2YwZSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCisrKyBiL1dl
YktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaApAQCAtMjgsNyArMjgsNiBAQAog
CiAjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTU5LDcgKzU4LDYgQEAgY2xhc3Mg
V2ViUGFnZTsKIAogY2xhc3MgRG93bmxvYWQgOiBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRl
cjxEb3dubG9hZD4gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkKTsKLQogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPERvd25sb2FkPiBjcmVhdGUodWludDY0X3QgZG93
bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgfkRvd25sb2Fk
KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkTWFu
YWdlci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZE1hbmFnZXIuaApp
bmRleCAxZjI3Yjg2Li5iNjZkYWM3IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkTWFuYWdlci5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9h
ZHMvRG93bmxvYWRNYW5hZ2VyLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRG93bmxvYWRN
YW5hZ2VyX2gKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUhhbmRs
ZTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNP
YmplY3QuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3Qu
aAppbmRleCA2NzM3YmQ0Li4xYjQzMTQ1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9Qcm90ZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9ucHJ1bnRpbWVf
aW50ZXJuYWwuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpT
QyB7CiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7CkBAIC00MCw3ICszOSw4IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogY2xhc3MgTlBSdW50aW1lT2JqZWN0TWFwOwogICAgIAogLy8gTlBKU09iamVj
dCBpcyBhbiBOUE9iamVjdCB0aGF0IHdyYXBzIGEgSlNPYmplY3QuCi1jbGFzcyBOUEpTT2JqZWN0
IDogcHVibGljIE5QT2JqZWN0LCBOb25jb3B5YWJsZSB7CitjbGFzcyBOUEpTT2JqZWN0IDogcHVi
bGljIE5QT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOUEpTT2JqZWN0KTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgTlBKU09iamVjdCogY3JlYXRlKE5QUnVudGltZU9iamVjdE1hcCog
b2JqZWN0TWFwLCBKU0M6OkpTT2JqZWN0KiBqc09iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2Vy
LmgKaW5kZXggZDdiYTg1My4uNjhhODBkMCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKQEAgLTI5
LDcgKzI5LDYgQEAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogLy8gTWFuYWdlcyBwbHVnLWluIHByb2Nlc3MgY29ubmVjdGlvbnMgZm9yIHRo
ZSBnaXZlbiB3ZWIgcHJvY2Vzcy4KQEAgLTM4LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiAKIGNsYXNzIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOwogICAgICAgICAKLWNsYXNzIFBsdWdp
blByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0ZpbmRDb250cm9sbGVyLmgKaW5kZXggMTEwYTdhNC4uOWJiNmYyNyAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaAorKysgYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oCkBAIC0yOSw3ICsyOSw2IEBA
CiAjaW5jbHVkZSAiUGFnZU92ZXJsYXkuaCIKICNpbmNsdWRlICJXZWJGaW5kT3B0aW9ucy5oIgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQg
YS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuaCBiL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCmluZGV4IDIxYTc1MjkuLmI3MDkwODIgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCisrKyBi
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5oCkBAIC0zMCw3ICszMCw2
IEBACiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpp
bmRleCBlNjkzNGQ1Li5mYjdiOGVjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTItMDcg
IFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0IHJpZCBvZiB0aGUgTm9uY29weWFibGUg
YW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFs
bG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYs
ICM0NjU4OSkuIENoYW5nZSBOb25jb3B5YWJsZSBhbmQKKyAgICAgICAgRmFzdEFsbG9jQmFzZSBp
bmhlcml0aW5nIHRvIHRoZWlyIG1hY3JvIGltcGxlbWVudGF0aW9uLiBSZW1vdmUgTm9uY29weWFi
bGUuaCBhbmQgdW5uZWNlc3NhcnkgRmFzdEFsbG9jQmFzZS5oIGluY2x1ZGVzLgorCisgICAgICAg
ICogRm9yd2FyZGluZ0hlYWRlcnMvd3RmL05vbmNvcHlhYmxlLmg6IFJlbW92ZWQuCisKIDIwMTAt
MTItMDYgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBbmRlcnMgQ2FybHNzb24uCkBAIC0yMDgyMSw3ICsyMDgzMyw3IEBACiAKIDIwMTAtMDctMDcg
IEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAotICAgICAgICBDb21tZW50
IG91dCBhIHBhcnQgb2YgVGVzdE5ldHNjYXBlUGx1Z2luIHRoYXQgY2F1c2VkIHRlc3RzwqB0byBm
YWlsIG9uIFRpZ2VyIGFuZCBMZW9wYXJkLgorICAgICAgICBDb21tZW50IG91dCBhIHBhcnQgb2Yg
VGVzdE5ldHNjYXBlUGx1Z2luIHRoYXQgY2F1c2VkIHRlc3RzwiB0byBmYWlsIG9uIFRpZ2VyIGFu
ZCBMZW9wYXJkLgogCiAgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0lu
L21haW4uY3BwOgogICAgICAgICAoTlBQX05ldyk6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvTm9uY29weWFibGUuaCBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJsZS5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmODQ4NGQyLi4wMDAwMDAwCi0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9Ob25jb3B5YWJs
ZS5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L05vbmNvcHlhYmxlLmg+CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9DcHBCb3VuZENsYXNzLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9DcHBCb3VuZENsYXNzLmgKaW5kZXggNmNiNjM4ZS4uYmQzNmQ1OCAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaApAQCAt
NDUsNyArNDUsNiBAQAogCiAjaW5jbHVkZSAiQ3BwVmFyaWFudC5oIgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNTgsNyArNTcsOCBAQCB0eXBl
ZGVmIFZlY3RvcjxDcHBWYXJpYW50PiBDcHBBcmd1bWVudExpc3Q7CiAKIC8vIENwcEJvdW5kQ2xh
c3MgbGV0cyB5b3UgbWFwIEphdmFzY3JpcHQgbWV0aG9kIGNhbGxzIGFuZCBwcm9wZXJ0eSBhY2Nl
c3NlcwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscyBhbmQgQ3BwVmFyaWFudCogdmFy
aWFibGUgYWNjZXNzLgotY2xhc3MgQ3BwQm91bmRDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDcHBCb3VuZENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcHBCb3Vu
ZENsYXNzKTsKIHB1YmxpYzoKICAgICBjbGFzcyBQcm9wZXJ0eUNhbGxiYWNrIHsKICAgICBwdWJs
aWM6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRE
ZXZUb29sc0FnZW50LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRE
ZXZUb29sc0FnZW50LmgKaW5kZXggZTE0NzhkMC4uMGRhYzRjNyAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaApAQCAt
MzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0Fn
ZW50Q2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQ5LDggKzQ4LDggQEAgc3Ry
dWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIGNsYXNzIERSVERldlRvb2xzQ2xpZW50Owog
Ci1jbGFzcyBEUlREZXZUb29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2Vu
dENsaWVudAotICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBEUlREZXZUb29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNBZ2VudCk7CiBwdWJs
aWM6CiAgICAgRFJURGV2VG9vbHNBZ2VudCgpOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQWdl
bnQoKSB7fQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RFJURGV2VG9vbHNDbGllbnQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0RSVERldlRvb2xzQ2xpZW50LmgKaW5kZXggOWNhMTQwMi4uMDMwZDY4NyAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaAor
KysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVu
dC5oCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiRFJURGV2VG9vbHNDYWxsQXJncy5oIgog
I2luY2x1ZGUgIlRhc2suaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50Lmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4LDggKzQ3LDggQEAgY2xhc3MgV2ViVmlldzsKIAog
Y2xhc3MgRFJURGV2VG9vbHNBZ2VudDsKIAotY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBwdWJs
aWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29sc0NsaWVudCA6IHB1
YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERSVERldlRvb2xzQ2xpZW50KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29sc0Ns
aWVudChEUlREZXZUb29sc0FnZW50KiwgV2ViS2l0OjpXZWJWaWV3Kik7CiAgICAgdmlydHVhbCB+
RFJURGV2VG9vbHNDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKaW5kZXggYjY3
MTQ4OS4uODUwMmE5NiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKQEAgLTExMSw3ICsx
MTEsOCBAQCBwdWJsaWM6CiAKIC8vIFRlc3Qgc2hlbGwncyBOYXZpZ2F0aW9uQ29udHJvbGxlci4g
VGhlIGdvYWwgaXMgdG8gYmUgYXMgY2xvc2UgdG8gdGhlIENocm9tZQogLy8gdmVyc2lvbiBhcyBw
b3NzaWJsZS4KLWNsYXNzIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcjogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBUZXN0TmF2
aWdhdGlvbkNvbnRyb2xsZXIoTmF2aWdhdGlvbkhvc3QqKTsKICAgICB+VGVzdE5hdmlnYXRpb25D
b250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJUaGVtZUNvbnRyb2xEUlQuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlRoZW1lQ29udHJvbERSVC5oCmluZGV4IDM4ODMxZDkuLjk2MThkYzQgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJv
bERSVC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1l
Q29udHJvbERSVC5oCkBAIC00MSwxMiArNDEsMTIgQEAKIAogI2luY2x1ZGUgInNraWEvZXh0L3Bs
YXRmb3JtX2NhbnZhcy5oIgogI2luY2x1ZGUgInRoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3Jl
L1NrQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogLy8gU2tpYSBmb3J3
YXJkIGRlY2xhcmF0aW9ucwogc3RydWN0IFNrSVJlY3Q7CiAKLWNsYXNzIFdlYlRoZW1lQ29udHJv
bERSVCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRoZW1lQ29udHJvbERSVCk7CiBwdWJsaWM6CiAg
ICAgLy8gVGhpcyBsaXN0IG9mIHN0YXRlcyBtb3N0bHkgbWlycm9ycyB0aGUgbGlzdCBpbiBXZWJD
b3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAogICAgIC8vIGJ1dCBpcyBtYWludGFpbmVkIHNlcGFy
YXRlbHkgc2luY2UgdGhhdCBpc24ndCBwdWJsaWMgYW5kIGFsc28gdG8gbWluaW1pemUKZGlmZiAt
LWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5l
RFJULmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2lu
ZURSVC5oCmluZGV4IGU1MDg4NmIuLjUzNjJmYjMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJULmgKKysrIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlQuaApAQCAtNDgsOSAr
NDgsOSBAQAogI2RlZmluZSBXZWJUaGVtZUVuZ2luZURSVF9oCiAKICNpbmNsdWRlICJ3aW4vV2Vi
VGhlbWVFbmdpbmUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAotY2xhc3MgV2Vi
VGhlbWVFbmdpbmVEUlQgOiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFdlYlRoZW1lRW5naW5lRFJUIDogcHVibGljIFdlYktpdDo6V2Vi
VGhlbWVFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRoZW1lRW5naW5lRFJU
KTsKIHB1YmxpYzoKICAgICBXZWJUaGVtZUVuZ2luZURSVCgpIHt9CiAKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oIGIvV2ViS2l0VG9vbHMvV2ViS2l0
QVBJVGVzdC9Ib3N0V2luZG93LmgKaW5kZXggYTI3MzRlZC4uODEzYjE5ZSAxMDA2NDQKLS0tIGEv
V2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKKysrIGIvV2ViS2l0VG9vbHMv
V2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKQEAgLTI2LDExICsyNiwxMiBAQAogI2RlZmluZSBI
b3N0V2luZG93X2gKIAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdlYktpdEFQ
SVRlc3QgewogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhvc3RXaW5kb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RXaW5kb3cpOwogcHVi
bGljOgogICAgIEhvc3RXaW5kb3coKTsKICAgICB+SG9zdFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xz
L1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKaW5kZXggMTFiNDU3ZC4uYmRjYzQ1NSAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaAor
KysgYi9XZWJLaXRUb29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCkBAIC0yOCwx
MyArMjgsMTMgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCiBjbGFzcyBUZXN0OwogCi1jbGFzcyBUZXN0
c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGVzdHNDb250cm9sbGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0c0NvbnRyb2xsZXIpOwogcHVibGljOgog
ICAgIHN0YXRpYyBUZXN0c0NvbnRyb2xsZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmggYi9XZWJLaXRUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKaW5kZXggZmVjMWY3YS4uYmIwNGUyMCAx
MDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5o
CisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApAQCAt
MjcsMTEgKzI3LDEyIEBACiAjZGVmaW5lIFRlc3RJbnZvY2F0aW9uX2gKIAogI2luY2x1ZGUgPFdl
YktpdDIvV0tSZXRhaW5QdHIuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKyNpbmNs
dWRlIDx3dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdUUiB7CiAKLWNsYXNzIFRlc3RJbnZv
Y2F0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RJbnZvY2F0aW9uIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0SW52b2NhdGlvbik7CiBwdWJsaWM6CiAgICAgVGVz
dEludm9jYXRpb24oY29uc3QgY2hhciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>
<flag name="review"
          id="66650"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77887</attachid>
            <date>2011-01-04 07:51:49 -0800</date>
            <delta_ts>2011-01-05 06:09:35 -0800</delta_ts>
            <desc>updated, ews test, for prereview</desc>
            <filename>fab.patch</filename>
            <type>text/plain</type>
            <size>281894</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKaW5kZXggNTA2MjA5My4uMDk3MTcw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKQEAgLTM0LDcgKzM0LDkg
QEAKICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ1B0ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAKLXN0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
U3RhdGljVmFsdWVFbnRyeSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CiAgICAgU3RhdGljVmFsdWVFbnRyeShKU09iamVjdEdldFByb3BlcnR5Q2FsbGJhY2sgX2dldFBy
b3BlcnR5LCBKU09iamVjdFNldFByb3BlcnR5Q2FsbGJhY2sgX3NldFByb3BlcnR5LCBKU1Byb3Bl
cnR5QXR0cmlidXRlcyBfYXR0cmlidXRlcykKICAgICAgICAgOiBnZXRQcm9wZXJ0eShfZ2V0UHJv
cGVydHkpLCBzZXRQcm9wZXJ0eShfc2V0UHJvcGVydHkpLCBhdHRyaWJ1dGVzKF9hdHRyaWJ1dGVz
KQogICAgIHsKQEAgLTQ1LDcgKzQ3LDkgQEAgc3RydWN0IFN0YXRpY1ZhbHVlRW50cnkgOiBGYXN0
QWxsb2NCYXNlIHsKICAgICBKU1Byb3BlcnR5QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwogfTsKIAot
c3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0
aWNGdW5jdGlvbkVudHJ5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBf
Y2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAg
ICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5jdGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0
ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8g
QW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMgY3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwg
c28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29udGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBn
cm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xkcyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFj
cm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoT3BhcXVl
SlNDbGFzcyopOwogICAgIH5PcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4Li5kNmRlNDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtNDgwLDcgKzQ4
MCw5IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVm
IGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
c3RydWN0IE9wYXF1ZUpTUHJvcGVydHlOYW1lQXJyYXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEo
Z2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGVlMDE4NTcuLmU4OTNjNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAxLTA0ICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxs
b2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAg
ZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4K
KworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IFR1cm4gRmFzdEFsbG9jQmFzZSdzIGlt
cGxlbWVudGF0aW9uIGludG8gYSBtYWNyby4KKwogMjAxMS0wMS0wMyAgRGFyaW4gQWRsZXIgIDxk
YXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQnJhZHkgRWlkc29uLgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAppbmRleCBlMzhiOWQ0
Li5jNWE3ZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xp
bmtCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZm
ZXIuaApAQCAtNTAsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIC8vICAgKiBUaGUgYWRkcmVz
cyBvZiBhIExhYmVsIHBvaW50aW5nIGludG8gdGhlIGNvZGUgbWF5IGJlIHJlc29sdmVkLgogLy8g
ICAqIFRoZSB2YWx1ZSByZWZlcmVuY2VkIGJ5IGEgRGF0YUxhYmVsIG1heSBiZSBzZXQuCiAvLwot
Y2xhc3MgTGlua0J1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMaW5rQnVmZmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMaW5rQnVmZmVyKTsKICAgICB0eXBlZGVmIE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZiBDb2RlUmVmOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJD
b2RlUHRyIENvZGVQdHI7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgTGFiZWw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggN2VjYTcy
YS4uMWNkMDg2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aApAQCAtMjQyLDcgKzI0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH0KICNlbmRpZgogCi0g
ICAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIENv
ZGVCbG9jayB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBmcmll
bmQgY2xhc3MgSklUOwogICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlwdEV4
ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0KiwgUGFz
c1JlZlB0cjxTb3VyY2VQcm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9sVGFi
bGUqIHN5bWJvbFRhYmxlLCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc4LDcgKzU3OSw5IEBA
IG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFN5bWJvbFRhYmxlKiBtX3N5bWJvbFRhYmxlOwog
Ci0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1
Y3QgUmFyZURhdGEgeworICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAg
ICAgcHVibGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlvbkhh
bmRsZXJzOwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYwMiw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZzZXRU
b0J5dGVjb2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAgICAg
ICB9OworI2lmIFBMQVRGT1JNKFdJTikKKyAgICAgICAgZnJpZW5kIHZvaWQgV1RGOjpkZWxldGVP
d25lZFB0cjxSYXJlRGF0YT4oUmFyZURhdGEqKTsKKyNlbmRpZgogICAgICAgICBPd25QdHI8UmFy
ZURhdGE+IG1fcmFyZURhdGE7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li5mMDc3Y2JmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApAQCAtNTQsNyArNTQsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBTdHJ1Y3R1cmVDaGFpbjsKIAogICAgIC8vIFN0cnVj
dHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9pZF9zZWxmX2xpc3QgYW5kIG9wX2dldF9ieV9pZF9wcm90
b19saXN0IGluc3RydWN0aW9uIHRvIGhvbGQgZGF0YSBvZmYgdGhlIG1haW4gb3Bjb2RlIHN0cmVh
bS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0IDogRmFzdEFsbG9j
QmFzZSB7CisgICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgc3RydWN0
IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAgICAg
ICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0dWJS
b3V0aW5lOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBs
aW5nVG9vbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBsaW5nVG9vbC5o
CmluZGV4IDhlM2VkOWUuLjljYTU0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU2FtcGxpbmdUb29sLmgKQEAgLTE0Miw3ICsxNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgZnJpZW5kIGNsYXNzIEhvc3RDYWxsUmVjb3JkOwogICAgICAgICAKICNpZiBFTkFC
TEUoT1BDT0RFX1NBTVBMSU5HKQotICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3JkKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wqIHNhbXBsaW5nVG9vbCkKICAgICAgICAgICAgICAg
ICA6IG1fc2FtcGxpbmdUb29sKHNhbXBsaW5nVG9vbCkKQEAgLTE3Miw3ICsxNzMsOCBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICNlbHNlCi0gICAgICAgIGNs
YXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBDYWxs
UmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCopCiAg
ICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggMzc3NTZmYS4uZmU0OGRkMiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuaApAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUgIlN5bWJvbFRhYmxlLmgiCiAjaW5jbHVk
ZSAiRGVidWdnZXIuaCIKICNpbmNsdWRlICJOb2Rlcy5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvU2Vn
bWVudGVkVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtODUsNyArODQsOCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHByb3BlcnR5UmVn
aXN0ZXI7CiAgICAgfTsKIAotICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9yIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERlY2xh
cmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNsYXJh
dGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAppbmRleCAzNTMyYWQ4Li43OGQ0
OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lz
dGVySUQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVy
SUQuaApAQCAtMzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAjaW5jbHVk
ZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xhc3Mg
UmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJJRCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgUmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCmluZGV4IGRmYmU2
NTguLjc0MDAwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0Nh
Y2hlZENhbGwuaApAQCAtMzIsNyArMzIsOCBAQAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAK
IG5hbWVzcGFjZSBKU0MgewotICAgIGNsYXNzIENhY2hlZENhbGwgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIENhY2hlZENhbGwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDYWNoZWRDYWxsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5jdGlv
biwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRleCA0Nzc5MGNm
Li43NTNkOTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBJbnRlcnByZXRlcl9oCiAKICNp
bmNsdWRlICJBcmdMaXN0LmgiCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUg
IkpTQ2VsbC5oIgogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJKU09iamVjdC5oIgpA
QCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0geyBNYXhMYXJnZVRo
cmVhZFJlZW50cnlEZXB0aCA9IDI1NiwgTWF4U21hbGxUaHJlYWRSZWVudHJ5RGVwdGggPSAzMiB9
OwogCi0gICAgY2xhc3MgSW50ZXJwcmV0ZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAg
Y2xhc3MgSW50ZXJwcmV0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICAgICAgZnJpZW5kIGNsYXNzIENhY2hlZENhbGw7
CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0
ZXIuaAppbmRleCAzOGQxNjQ3Li4zOTQ0NjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSlNW
YWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYgRXhl
Y1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6RmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZ2lzdGVyKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCA1MWE1
YmRmLi5mNWMwZjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L1JlZ2lzdGVyRmlsZS5oCkBAIC04OSw3ICs4OSw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
Y2xhc3MgSlNHbG9iYWxPYmplY3Q7CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlZ2lzdGVyRmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAg
ICAgcHVibGljOgogICAgICAgICBlbnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCA0ZDI1MTNkLi43MjU0N2ViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgY2xhc3MgUmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIExleGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TGV4ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8v
IENoYXJhY3RlciBtYW5pcHVsYXRpb24gZnVuY3Rpb25zLgogICAgICAgICBzdGF0aWMgYm9vbCBp
c1doaXRlU3BhY2UoaW50IGNoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVz
LmgKaW5kZXggYjhlOWNkZi4uMzQyY2Y4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaApAQCAtMTM3Nyw3ICsxMzc3LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBhcmFt
ZXRlck5vZGUqIG1fbmV4dDsKICAgICB9OwogCi0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEgOiBG
YXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgU2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNsYXJh
dGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRp
b25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKIApAQCAtMTQ3Myw2ICsxNDc1
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNsYXNzIEZ1bmN0aW9uUGFyYW1l
dGVycyA6IHB1YmxpYyBWZWN0b3I8SWRlbnRpZmllcj4sIHB1YmxpYyBSZWZDb3VudGVkPEZ1bmN0
aW9uUGFyYW1ldGVycz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZ1bmN0aW9uUGFyYW1ldGVycz4gY3Jl
YXRlKFBhcmFtZXRlck5vZGUqIGZpcnN0UGFyYW1ldGVyKSB7IHJldHVybiBhZG9wdFJlZihuZXcg
RnVuY3Rpb25QYXJhbWV0ZXJzKGZpcnN0UGFyYW1ldGVyKSk7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggMjEzODI3Yi4uNzIwNmQ2MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC00NSw4ICs0NSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFyc2VyQXJlbmFEYXRhIDogUGFy
c2VyQXJlbmFEZWxldGFibGUgeyBUIGRhdGE7IH07CiAKLSAgICBjbGFzcyBQYXJzZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
KyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQYXJzZWROb2Rl
PgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFsT2JqZWN0KiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0IFNvdXJjZUNv
ZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3RuZXNzIHN0cmlj
dG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJBcmVuYS5oCmluZGV4IDdjMTgwOWUuLjgyZmI4MDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgUGFyc2VyQXJlbmFEZWxldGFibGU7CiAgICAgY2xhc3MgUGFy
c2VyQXJlbmFSZWZDb3VudGVkOwogCi0gICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElO
RSBjb25zdCBJZGVudGlmaWVyJiBtYWtlSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBjb25zdCBV
Q2hhciogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZp
ZXImIG1ha2VOdW1lcmljSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBkb3VibGUgbnVtYmVyKTsK
QEAgLTU5LDcgKzYwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBtX2lkZW50
aWZpZXJzLmxhc3QoKTsKICAgICB9CiAKLSAgICBjbGFzcyBQYXJzZXJBcmVuYSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBQYXJzZXJBcmVuYSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBhcnNlckFyZW5hKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhcnNlckFyZW5hKCk7CiAg
ICAgICAgIH5QYXJzZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BjcmUvcGNyZV9leGVjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhl
Yy5jcHAKaW5kZXggZjQ4OTlmMi4uMWJkYTdmNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGNy
ZS9wY3JlX2V4ZWMuY3BwCkBAIC0xMTIsNyArMTEyLDkgQEAgc3RydWN0IEJyYWNrZXRDaGFpbk5v
ZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7CiB9OwogCi1zdHJ1Y3QgTWF0Y2hG
cmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNoRnJhbWUgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFJldHVybkxvY2F0aW9uIHJldHVybkxvY2F0
aW9uOwogICAgIHN0cnVjdCBNYXRjaEZyYW1lKiBwcmV2aW91c0ZyYW1lOwogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRleCA3NmMx
NDcwLi5hOTgyN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIv
Q2FsbElkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2Fs
bElkZW50aWZpZXIuaApAQCAtMjgsMTMgKzI4LDE0IEBACiAjZGVmaW5lIENhbGxJZGVudGlmaWVy
X2gKIAogI2luY2x1ZGUgPHJ1bnRpbWUvVVN0cmluZy5oPgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jh
c2UuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBDYWxsSWRlbnRp
ZmllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAg
IFVTdHJpbmcgbV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNpZ25l
ZCBtX2xpbmVOdW1iZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmls
ZXIvUHJvZmlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5o
CmluZGV4IGY5YzJjY2IuLmY4ODc0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxl
ci9Qcm9maWxlci5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNz
IFVTdHJpbmc7CiAgICAgc3RydWN0IENhbGxJZGVudGlmaWVyOyAgICAKIAotICAgIGNsYXNzIFBy
b2ZpbGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFByb2ZpbGVyIHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgUHJvZmlsZXIqKiBlbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKaW5kZXggY2Q1NjNhMi4uNTdlM2MyMCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1LDE0
IEBACiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJrU3Rh
Y2s7CiAKLSAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAgICAg
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlwZWRl
ZiBWZWN0b3I8UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi5mZTkwMGEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaApAQCAtMzMsNyArMzMs
MTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSA6IE5v
bmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEFyZ3VtZW50c0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAg
ICBwdWJsaWM6CisgICAgICAgIEFyZ3VtZW50c0RhdGEoKSB7IH0KICAgICAgICAgSlNBY3RpdmF0
aW9uKiBhY3RpdmF0aW9uOwogCiAgICAgICAgIHVuc2lnbmVkIG51bVBhcmFtZXRlcnM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9w
dGltaXplci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIuaAppbmRleCA3NDA4OWE1Li5kYjJkMWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVy
LmgKQEAgLTI3LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXpl
cl9oCiAjZGVmaW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBKU0Mg
ewogCi0gICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAgIHB1
YmxpYzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9iamVj
dCkKICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Db2xsZWN0b3IuaAppbmRleCBhNGUyZmUxLi4wY2MyNWU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db2xsZWN0b3IuaApAQCAtODUsNyArODUsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgfQogICAgIH07CiAKLSAgICBjbGFzcyBIZWFwIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICBjbGFzcyBUaHJlYWQ7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDFl
MjJiNmEuLjY1ODdhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q29tbW9uSWRlbnRpZmllcnMuaApAQCAtODQsNyArODQsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsK
IAotICAgIGNsYXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBDb21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENvbW1vbklkZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0
ZToKICAgICAgICAgQ29tbW9uSWRlbnRpZmllcnMoSlNHbG9iYWxEYXRhKik7CiAgICAgICAgIGZy
aWVuZCBjbGFzcyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCBhMjJiMGFhLi4yNGJjMmY4IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTQ2NSw3ICs0NjUs
OCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIG5ldyAoZXhlYykgSlNBcnJheShl
eGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJlKCksIHZhbHVlcyk7CiAg
ICAgfQogCi0gICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKENhbGxGcmFtZSogY2FsbEZyYW1l
LCBKU0dsb2JhbE9iamVjdCogZHluYW1pY0dsb2JhbE9iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNMb2NrLmgKaW5kZXggMDViMzg4Yy4uN2IwN2I0ZiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICBlbnVtIEpTTG9ja0JlaGF2aW9yIHsgU2lsZW5jZUFzc2VydGlvbnNPbmx5LCBM
b2NrRm9yUmVhbCB9OwogCi0gICAgY2xhc3MgSlNMb2NrIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBKU0xvY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU0xvY2sp
OwogICAgIHB1YmxpYzoKICAgICAgICAgSlNMb2NrKEV4ZWNTdGF0ZSopOwogICAgICAgICBKU0xv
Y2soSlNHbG9iYWxEYXRhKik7CkBAIC04OSw3ICs5MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgICAgIEpTTG9ja0JlaGF2aW9yIG1fbG9ja0JlaGF2aW9yOwogCi0gICAgICAgIGNsYXNzIERy
b3BBbGxMb2NrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIERyb3BBbGxM
b2NrcyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcm9wQWxsTG9ja3MpOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoRXhlY1N0YXRlKiBleGVj
KTsKICAgICAgICAgICAgIERyb3BBbGxMb2NrcyhKU0xvY2tCZWhhdmlvcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCmluZGV4IDllNjMwMjcuLmRmNGJl
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBA
IC03MCw3ICs3MCw4IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9
OwogCi1jbGFzcyBTdHJpbmdpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJp
bmdpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGlj
OgogICAgIFN0cmluZ2lmaWVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUg
c3BhY2UpOwogICAgIH5TdHJpbmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvTG9va3VwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9M
b29rdXAuaAppbmRleCA5YmM4MWQ0Li4wZDZkOThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Mb29rdXAuaApAQCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBl
ZGVmIFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jIEdldEZ1bmN0aW9uOwogICAgIHR5cGVkZWYg
dm9pZCAoKlB1dEZ1bmN0aW9uKShFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNW
YWx1ZSB2YWx1ZSk7CiAKLSAgICBjbGFzcyBIYXNoRW50cnkgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgSGFzaEVudHJ5IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5
LCB1bnNpZ25lZCBjaGFyIGF0dHJpYnV0ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lm
IEVOQUJMRShKSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9N
YXJrU3RhY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oCmlu
ZGV4IDdiY2NhZGYuLmY1NGNmYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hcmtTdGFjay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
cmtTdGFjay5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIAogICAgIGVu
dW0gTWFya1NldFByb3BlcnRpZXMgeyBNYXlDb250YWluTnVsbFZhbHVlcywgTm9OdWxsVmFsdWVz
IH07CiAgICAgCi0gICAgY2xhc3MgTWFya1N0YWNrIDogTm9uY29weWFibGUgeworICAgIGNsYXNz
IE1hcmtTdGFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtTdGFjayk7CiAg
ICAgcHVibGljOgogICAgICAgICBNYXJrU3RhY2sodm9pZCoganNBcnJheVZQdHIpCiAgICAgICAg
ICAgICA6IG1fanNBcnJheVZQdHIoanNBcnJheVZQdHIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li4xNzE0YmQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVj
dG9yLmgKQEAgLTMxLDcgKzMxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUmVnRXhw
UHJvdG90eXBlOwogICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGU7CiAKLSAgICBz
dHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlIDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3Ry
dWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAvIHNl
dHRpbmdzCiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAgICA6
IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBPYmplY3QuaAppbmRleCAxOWRlOTI5Li4yODVjOTY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaApAQCAtNjAsNyArNjAsOSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRhKENhbGxEYXRh
Jik7CiAKLSAgICAgICAgc3RydWN0IFJlZ0V4cE9iamVjdERhdGEgOiBGYXN0QWxsb2NCYXNlIHsK
KyAgICAgICAgc3RydWN0IFJlZ0V4cE9iamVjdERhdGEgeworICAgICAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZ0V4cE9iamVj
dERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiByZWdFeHAsIGRvdWJsZSBsYXN0SW5kZXgp
CiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhwKQogICAgICAgICAgICAgICAgICwgbGFz
dEluZGV4KGxhc3RJbmRleCkKQEAgLTcwLDcgKzcyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgICAgICBSZWZQdHI8UmVnRXhwPiByZWdFeHA7CiAgICAgICAgICAgICBkb3VibGUgbGFzdElu
ZGV4OwogICAgICAgICB9OwotCisjaWYgUExBVEZPUk0oV0lOKQorICAgICAgICBmcmllbmQgdm9p
ZCBXVEY6OmRlbGV0ZU93bmVkUHRyPFJlZ0V4cE9iamVjdERhdGE+KFJlZ0V4cE9iamVjdERhdGEq
KTsKKyNlbmRpZgogICAgICAgICBPd25QdHI8UmVnRXhwT2JqZWN0RGF0YT4gZDsKICAgICB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKaW5kZXggMGIxNWI2
Ny4uYjEwNGU3NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2Nv
cGVDaGFpbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4u
aApAQCAtMjEsNyArMjEsNyBAQAogI2lmbmRlZiBTY29wZUNoYWluX2gKICNkZWZpbmUgU2NvcGVD
aGFpbl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTMxLDcgKzMxLDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3BlQ2hhaW5JdGVy
YXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2NvcGVDaGFpbk5vZGUoU2NvcGVDaGFp
bk5vZGUqIG5leHQsIEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGdsb2JhbFRoaXMpCiAgICAg
ICAgICAgICA6IG5leHQobmV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NtYWxsU3RyaW5ncy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
bWFsbFN0cmluZ3MuY3BwCmluZGV4IGYzNTg3MjcuLjU2MTQ5MzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcApAQCAtNDAsNyArNDAsOCBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgaXNNYXJrZWQoSlNTdHJpbmcqIHN0cmluZykKICAgICByZXR1cm4g
c3RyaW5nICYmIEhlYXA6OmlzQ2VsbE1hcmtlZChzdHJpbmcpOwogfQogCi1jbGFzcyBTbWFsbFN0
cmluZ3NTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNtYWxsU3RyaW5nc1N0
b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5nc1N0b3JhZ2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmluZ3NTdG9yYWdl
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3Ry
aW5ncy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmgKaW5k
ZXggZDFlYmZiMTMuLmFjODRmZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1NtYWxsU3RyaW5ncy5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNs
YXNzIE1hcmtTdGFjazsKICAgICBjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlOwogCi0gICAgY2xh
c3MgU21hbGxTdHJpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTbWFsbFN0
cmluZ3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3MpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNtYWxsU3RyaW5ncygp
OwogICAgICAgICB+U21hbGxTdHJpbmdzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3ltYm9sVGFibGUuaAppbmRleCAxYjE2MzZkLi4yNjM1NTAxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCBTeW1i
b2xUYWJsZUVudHJ5LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQdHI8U3RyaW5n
SW1wbD4gPiwgU3ltYm9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxlOwogCiAgICAg
Y2xhc3MgU2hhcmVkU3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1YmxpYyBSZWZD
b3VudGVkPFNoYXJlZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcmVkU3ltYm9s
VGFibGU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTaGFyZWRTeW1ib2xUYWJsZSk7
IH0KICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha0dDTWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAu
aAppbmRleCAzOWE5MWM1Li4yNjgzZDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrR0NNYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NNYXAuaApAQCAtMzUsNyArMzUsOCBAQCBjbGFzcyBKU0NlbGw7CiAKIC8vIEEgSGFz
aE1hcCB3aG9zZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5zIGVtcHR5VmFsdWUoKSBmb3IgY2VsbHMg
YXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCiB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlLCB0eXBlbmFt
ZSBNYXBwZWRUeXBlPgotY2xhc3MgV2Vha0dDTWFwIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
Y2xhc3MgV2Vha0dDTWFwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAvKgog
ICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMgdGhlIFdlYWtHQ01hcCBt
YXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvV2Vha0dDUHRyLmgKaW5kZXggYWM3N2NmMy4uNjdmMTFjMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKQEAgLTI4LDEyICsyOCwxMiBAQAogCiAjaW5jbHVk
ZSAiQ29sbGVjdG9yLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21hcnQgcG9pbnRlciB3aG9z
ZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9u
LgotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6IE5vbmNvcHlhYmxlIHsK
K3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dDUHRyKCkKICAgICAgICAg
OiBtX3B0cigwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1Ro
cmVhZFJlZkNvdW50ZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRS
ZWZDb3VudGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCkBAIC01MSw3ICs1MSw4IEBA
IG5hbWVzcGFjZSBXVEYgewogICAgIC8vIHdpdGggcmVzcGVjdCB0byB0aGUgb3JpZ2luYWwgYW5k
IGFueSBvdGhlciBjb3BpZXMuICBUaGUgdW5kZXJseWluZyBtX2RhdGEgaXMgam9pbnRseQogICAg
IC8vIG93bmVkIGJ5IHRoZSBvcmlnaW5hbCBpbnN0YW5jZSBhbmQgYWxsIGNvcGllcy4KICAgICB0
ZW1wbGF0ZTxjbGFzcyBUPgotICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZWZDb3VudGVkKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENyb3NzVGhyZWFkUmVmQ291bnRlZDxUPiA+
IGNyZWF0ZShUKiBkYXRhKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0RhdGVNYXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRo
LmgKaW5kZXggOGQwZDkzMi4uNTdhNDJjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1h
dGguaApAQCAtMTIwLDcgKzEyMCw5IEBAIGRvdWJsZSBwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0
ZWRDaGFyYWN0ZXJzKEV4ZWNTdGF0ZSosIGNvbnN0IGNoYXIqIGRhdGVTdHJpbmcpCiAKIC8vIElu
dGVudGlvbmFsbHkgb3ZlcnJpZGRpbmcgdGhlIGRlZmF1bHQgdG0gb2YgdGhlIHN5c3RlbS4KIC8v
IFRoZSBtZW1iZXJzIG9mIHRtIGRpZmZlciBvbiB2YXJpb3VzIG9wZXJhdGluZyBzeXN0ZW1zLgot
c3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIDogTm9uY29weWFibGUgeworc3RydWN0IEdyZWdvcmlh
bkRhdGVUaW1lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmVnb3JpYW5EYXRlVGltZSk7
CitwdWJsaWM6CiAgICAgR3JlZ29yaWFuRGF0ZVRpbWUoKQogICAgICAgICA6IHNlY29uZCgwKQog
ICAgICAgICAsIG1pbnV0ZSgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9EZXF1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUw
YjYuLjFiMTZhZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKQEAgLTQ0LDcgKzQ0LDgg
QEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgRGVxdWVD
b25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xh
c3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgRGVxdWUgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVk
ZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRvcjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0
SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFz
dEFsbG9jQmFzZS5oCmluZGV4IGJiMTgyNWUuLmJiOTAxNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCkBAIC0zMiw4ICszMiw4IEBACiAvLyBQcm92aWRlcyBj
dXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIGZhc3RNYWxsb2MvZmFzdEZyZWUgYW5kIG9wZXJhdG9y
IG5ldy9kZWxldGUKIC8vCiAvLyBQcm92aWRlZCBmdW5jdGlvbmFsaXR5OgorLy8gICAgTWFjcm86
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAvLyAgICBuYW1lc3BhY2UgV1RGIHsKLS8vICAgICAg
ICBjbGFzcyBGYXN0QWxsb2NCYXNlOwogLy8KIC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KCk7
CiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxUPihhcmcpOwpAQCAtNDgsNyArNDgsMTAgQEAKIC8v
IEZhc3REZWxldGUgYXNzdW1lcyB0aGF0IHRoZSB1bmRlcmx5aW5nCiAvLwogLy8gRXhhbXBsZSB1
c2FnZToKLS8vICAgIGNsYXNzIFdpZGdldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsgLi4uIH07
CisvLyAgICBjbGFzcyBXaWRnZXQgeworLy8gICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CisvLyAgICAuLi4KKy8vICAgIH07CiAvLwogLy8gICAgY2hhciogY2hhclB0ciA9IGZhc3ROZXc8
Y2hhcj4oKTsKIC8vICAgIGZhc3REZWxldGUoY2hhclB0cik7CkBAIC04Myw4ICs4Niw2IEBACiAj
aW5jbHVkZSAiRmFzdE1hbGxvYy5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIKIAotbmFtZXNw
YWNlIFdURiB7Ci0KICNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAogcHVibGljOiBc
CiAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBc
CkBAIC0xMTUsMTEgKzExNiwxMCBAQCBwdWJsaWM6IFwKICAgICAgICAgIDo6V1RGOjpmYXN0TWFs
bG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxvY1R5cGVDbGFzc05l
d0FycmF5KTsgXAogICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCiAgICAgfSBcCi1wcml2
YXRlOgorcHJpdmF0ZTogXAordHlwZWRlZiBpbnQgVGhpc0lzSGVyZVRvRm9yY2VBU2VtaWNvbG9u
QWZ0ZXJUaGlzTWFjcm8KIAotY2xhc3MgRmFzdEFsbG9jQmFzZSB7Ci0gICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQgIAotfTsKK25hbWVzcGFjZSBXVEYgewogCiAgICAgLy8gZmFzdE5ldyAvIGZh
c3REZWxldGUKIApAQCAtNDEwLDcgKzQxMCw2IEBAIGNsYXNzIEZhc3RBbGxvY0Jhc2UgewogCiB9
IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NCYXNlOwogdXNpbmcgV1RG
OjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYgLy8gRmFzdEFsbG9jQmFz
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmgKaW5kZXggNGVk
NzVjNS4uYjk3ZDhjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNo
Q291bnRlZFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRT
ZXQuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjZGVmaW5lIFdURl9IYXNoQ291bnRlZFNldF9oCiAK
ICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2lu
Y2x1ZGUgIkhhc2hNYXAuaCIKICNpbmNsdWRlICJWZWN0b3IuaCIKIAogbmFtZXNwYWNlIFdURiB7
CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucyA9
IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlPjo6SGFzaCwKLSAgICAgICAgdHlwZW5hbWUgVHJh
aXRzID0gSGFzaFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNldCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzID0gSGFzaFRyYWl0czxWYWx1
ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxWYWx1ZSwgdW5zaWdu
ZWQsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cz4gSW1wbFR5cGU7CiAgICAgcHVibGljOgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0hhc2hNYXAuaAppbmRleCAwOTA5NGQxLi43NzMxNTQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBuYW1lc3BhY2UgV1RGIHsK
IAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFwcGVkQXJnLCB0eXBl
bmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6SGFzaCwKICAgICAg
ICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+LCB0eXBlbmFtZSBN
YXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgotICAgIGNsYXNzIEhhc2hN
YXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1hcCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYg
S2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcg
TWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNo
U2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaAppbmRleCA2NjYzOWU0
Li5iZTZiOTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApAQCAtMzUsNyArMzUs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgSWRl
bnRpdHlFeHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgdHlwZW5h
bWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaCwKLSAgICAg
ICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBjbGFzcyBIYXNo
U2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHNBcmcg
PSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEhhc2hBcmcg
SGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFsdWVUcmFpdHM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKaW5kZXggZTE0YWM0NS4uZTkxNmVm
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaApAQCAtNTIsNyArNTIs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6
ZV90IGlubGluZUNhcGFjaXR5PiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2RlQWxsb2NhdG9yOwogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVu
YW1lIEhhc2hBcmc+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVIYXNoRnVuY3Rpb25zOwogCi0gICAg
dGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDI1Niwg
dHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaD4g
Y2xhc3MgTGlzdEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDI1NiwgdHlwZW5hbWUg
SGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFzaD4gY2xhc3MgTGlz
dEhhc2hTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRl
OgogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZTxWYWx1ZUFyZywgaW5saW5lQ2FwYWNp
dHk+IE5vZGU7CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hTZXROb2RlQWxsb2NhdG9yPFZhbHVl
QXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZUFsbG9jYXRvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xv
Y2tlci5oCmluZGV4IDQxODEzZDMuLmM0NjViOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvTG9ja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2Nr
ZXIuaApAQCAtMzIsNyArMzIsOCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotdGVtcGxhdGUgPHR5
cGVuYW1lIFQ+IGNsYXNzIExvY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2Nr
ZXIpOwogcHVibGljOgogICAgIExvY2tlcihUJiBsb2NrYWJsZSkgOiBtX2xvY2thYmxlKGxvY2th
YmxlKSB7IG1fbG9ja2FibGUubG9jaygpOyB9CiAgICAgfkxvY2tlcigpIHsgbV9sb2NrYWJsZS51
bmxvY2soKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdl
UXVldWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKaW5kZXgg
MTQxMDBjOS4uN2MxOGEwYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9N
ZXNzYWdlUXVldWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1
ZS5oCkBAIC00OCw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8vIHdoZW4gbWVzc2Fn
ZXMgYXJlIGZldGNoZWQgZnJvbSB0aGUgcXVldWUuCiAgICAgLy8gRXNzZW50aWFsbHksIE1lc3Nh
Z2VRdWV1ZSBhY3RzIGFzIGEgcXVldWUgb2YgT3duUHRyPERhdGFUeXBlPi4KICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBEYXRhVHlwZT4KLSAgICBjbGFzcyBNZXNzYWdlUXVldWUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE1lc3NhZ2VRdWV1ZSk7CiAgICAgcHVibGljOgogICAgICAgICBNZXNzYWdlUXVl
dWUoKSA6IG1fa2lsbGVkKGZhbHNlKSB7IH0KICAgICAgICAgfk1lc3NhZ2VRdWV1ZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCmluZGV4IDI4NWVkMmUuLmNjNmJjNTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKQEAgLTQxLDIzICs0MSw0
IEBACiAgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBDbGFzc05hbWUmKQog
I2VuZGlmCiAKLS8vIFdlIGRvbid0IHdhbnQgYXJndW1lbnQtZGVwZW5kZW50IGxvb2t1cCB0byBw
dWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgV1RGCi0vLyBuYW1lc3BhY2Ugd2hlbiB5b3UgdXNl
IE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQgaW4gaXRzIG93biBuYW1lc3BhY2UuCi0KLSNpbmNsdWRl
ICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5hbWVzcGFjZSBXVEZOb25jb3B5YWJsZSB7Ci0KLSAgICBj
bGFzcyBOb25jb3B5YWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKLSAgICAgICAgTm9uY29w
eWFibGUoY29uc3QgTm9uY29weWFibGUmKTsKLSAgICAgICAgTm9uY29weWFibGUmIG9wZXJhdG9y
PShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgIHByb3RlY3RlZDoKLSAgICAgICAgTm9uY29weWFi
bGUoKSB7IH0KLSAgICAgICAgfk5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgfTsKLQotfSAvLyBuYW1l
c3BhY2UgV1RGTm9uY29weWFibGUKLQotdXNpbmcgV1RGTm9uY29weWFibGU6Ok5vbmNvcHlhYmxl
OwotCiAjZW5kaWYgLy8gV1RGX05vbmNvcHlhYmxlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
T3duQXJyYXlQdHIuaAppbmRleCA2NDNiOTBiLi5kYmQzNGFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Pd25BcnJheVB0ci5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXVEYgewog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093bkFycmF5UHRyOwogdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gUGFzc093bkFycmF5UHRyPFQ+IGFkb3B0QXJyYXlQdHIoVCopOwogCi10ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIHsKIHB1YmxpYzoKICAgICB0
eXBlZGVmIFQqIFB0clR5cGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0
TWFsbG9jUHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2RlZmlu
ZSBPd25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKLSNpbmNsdWRl
ICJOb25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRlbXBsYXRlPGNsYXNz
IFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRl
bXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGV4
cGxpY2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKaW5kZXggY2RjMjc3Yy4uZmI1OTQzMiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL093blB0ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAjZGVmaW5lIFdURl9P
d25QdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUgIk5vbmNvcHlhYmxl
LmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93blB0ckNvbW1vbi5oIgogI2lu
Y2x1ZGUgIlR5cGVUcmFpdHMuaCIKQEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093blB0cjsKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBQYXNzT3duUHRyPFQ+IGFkb3B0UHRyKFQqKTsKIAotICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIE93blB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVk
ZWYgdHlwZW5hbWUgUmVtb3ZlUG9pbnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7CiAgICAgICAgIHR5
cGVkZWYgVmFsdWVUeXBlKiBQdHJUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9SZWZDb3VudGVkLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50
ZWQuaAppbmRleCA4ZDhiMzAyLi5kYTE3OGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZkNvdW50ZWQuaApAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBSZWZDb3VudGVkX2gKIAogI2lu
Y2x1ZGUgIkFzc2VydGlvbnMuaCIKKyNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCiAjaW5jbHVk
ZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMzEsNyArMTMyLDggQEAg
aW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQogCiAjZW5kaWYKIAot
dGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVk
QmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJl
ZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2
b2lkIGRlcmVmKCkKICAgICB7CkBAIC0xNDAsNiArMTQyLDcgQEAgcHVibGljOgogICAgIH0KIAog
cHJvdGVjdGVkOgorICAgIFJlZkNvdW50ZWQoKSB7IH0KICAgICB+UmVmQ291bnRlZCgpCiAgICAg
ewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IGQ1N2Y4OGEuLjJiNmY3
ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMjMsOSArMjMsOSBAQAogI2lm
bmRlZiBXVEZfUmVmUHRyX2gKICNkZWZpbmUgV1RGX1JlZlB0cl9oCiAKLSNpbmNsdWRlIDxhbGdv
cml0aG0+CiAjaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIu
aCIKKyNpbmNsdWRlIDxhbGdvcml0aG0+CiAKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0zNiw3ICsz
Niw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVU
eXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cigpIDogbV9wdHIoMCkg
eyB9CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpIHsg
cmVmSWZOb3ROdWxsKHB0cik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRySGFzaE1hcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNo
TWFwLmgKaW5kZXggN2Y2ZWJmZS4uM2MwNzZjZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZQdHJIYXNoTWFwLmgKQEAgLTQyLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
fTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5h
bWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNB
cmc+Ci0gICAgY2xhc3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5
VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAg
IGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0Fy
ZywgTWFwcGVkVHJhaXRzQXJnPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAg
ICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMu
aAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaApAQCAtMzEsMTQgKzMx
LDE0IEBACiAjaWZuZGVmIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogI2RlZmluZSBU
aHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKIC8v
IEhvbGRzIFRocmVhZElkZW50aWZpZXIgaW4gdGhlIHRocmVhZC1zcGVjaWZpYyBzdG9yYWdlIGFu
ZCBlbXBsb3lzIHB0aHJlYWRzLXNwZWNpZmljIDItcGFzcyBkZXN0cnVjdGlvbiB0byByZWxpYWJs
eSByZW1vdmUKIC8vIFRocmVhZElkZW50aWZpZXIgZnJvbSB0aHJlYWRNYXAuIEl0IGFzc3VtZXMg
cmVndWxhciBUaHJlYWRTcGVjaWZpYyB0eXBlcyBkb24ndCB1c2UgbXVsdGlwbGUtcGFzcyBkZXN0
cnVjdGlvbi4KLWNsYXNzIFRocmVhZElkZW50aWZpZXJEYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFRocmVhZElkZW50aWZpZXJEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShUaHJlYWRJZGVudGlmaWVyRGF0YSk7CiBwdWJsaWM6CiAgICAgflRocmVhZElkZW50aWZpZXJE
YXRhKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2Fm
ZVNoYXJlZC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgK
aW5kZXggMzNjNjYxMi4uYTZhMWNmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTYWZlU2hhcmVkLmgKQEAgLTYyLDEyICs2MiwxMiBAQAogI2luY2x1ZGUgIlBsYXRmb3Jt
LmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewogCi1jbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkU2FmZVNoYXJlZEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAg
ICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkU3BlY2lmaWMuaAppbmRleCA5M2VkNDY2Li5mYTlhMzkzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oCkBAIC02MSw3ICs2MSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogdm9pZCBUaHJlYWRTcGVjaWZpY1RocmVhZEV4aXQoKTsKICNlbmRpZgogCi10
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUaHJlYWRTcGVjaWZpYyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUaHJlYWRTcGVjaWZpYyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU3BlY2lmaWMpOwogcHVibGljOgogICAgIFRocmVh
ZFNwZWNpZmljKCk7CiAgICAgVCogb3BlcmF0b3ItPigpOwpAQCAtODQsNyArODUsOSBAQCBwcml2
YXRlOgogICAgIHZvaWQgc3RhdGljIGRlc3Ryb3kodm9pZCogcHRyKTsKIAogI2lmIFVTRShQVEhS
RUFEUykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykgfHwgT1MoV0lORE9XUykKLSAg
ICBzdHJ1Y3QgRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRGF0YSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRGF0YShU
KiB2YWx1ZSwgVGhyZWFkU3BlY2lmaWM8VD4qIG93bmVyKSA6IHZhbHVlKHZhbHVlKSwgb3duZXIo
b3duZXIpIHt9CiAjaWYgUExBVEZPUk0oUVQpCiAgICAgICAgIH5EYXRhKCkgeyBvd25lci0+ZGVz
dHJveSh0aGlzKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRTcGVjaWZpY1dpbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNp
ZmljV2luLmNwcAppbmRleCBmMmMwY2FkLi5kNzI5OTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAiVGhyZWFkU3BlY2lmaWMuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFVTRShQVEhSRUFEUykKICNlcnJvciBUaGlzIGZp
bGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBieSBwb3J0cyB0aGF0IGRvIG5vdCB1c2UgV2luZG93
cyBuYXRpdmUgVGhyZWFkU3BlY2lmaWMgaW1wbGVtZW50YXRpb24uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZGluZy5jcHAKaW5kZXggNDlkZTU5ZS4uZjJlMDU2NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0
cnVjdCBOZXdUaHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKICAgICBOZXdUaHJlYWRDb250ZXh0KFRocmVhZEZ1bmN0aW9uIGVudHJ5UG9pbnQsIHZv
aWQqIGRhdGEsIGNvbnN0IGNoYXIqIG5hbWUpCiAgICAgICAgIDogZW50cnlQb2ludChlbnRyeVBv
aW50KQogICAgICAgICAsIGRhdGEoZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4uODA5YzNlMiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2Nr
ZXIuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIApAQCAtOTYsNyArOTcsOCBAQCB0
eXBlZGVmIHZvaWQqIFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1Db25kaXRpb247CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE11dGV4KCk7CiAgICAgfk11dGV4
KCk7CkBAIC0xMTMsNyArMTE1LDggQEAgcHJpdmF0ZToKIAogdHlwZWRlZiBMb2NrZXI8TXV0ZXg+
IE11dGV4TG9ja2VyOwogCi1jbGFzcyBSZWFkV3JpdGVMb2NrIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFJlYWRXcml0ZUxvY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlYWRX
cml0ZUxvY2spOwogcHVibGljOgogICAgIFJlYWRXcml0ZUxvY2soKTsKICAgICB+UmVhZFdyaXRl
TG9jaygpOwpAQCAtMTMwLDcgKzEzMyw4IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1SZWFkV3Jp
dGVMb2NrIG1fcmVhZFdyaXRlTG9jazsKIH07CiAKLWNsYXNzIFRocmVhZENvbmRpdGlvbiA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRDb25kaXRpb24geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRocmVhZENvbmRpdGlvbik7CiBwdWJsaWM6CiAgICAgVGhyZWFkQ29uZGl0
aW9uKCk7CiAgICAgflRocmVhZENvbmRpdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmgKaW5kZXggZjczNzkzZi4uNmQ4ZGQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5o
CkBAIC0yNzcsNyArMjc3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdm9p
ZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAgLTQ4OCw3
ICs0ODksOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3IgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBWZWN0b3JCdWZm
ZXI8VCwgaW5saW5lQ2FwYWNpdHk+IEJ1ZmZlcjsKICAgICAgICAgdHlwZWRlZiBWZWN0b3JUeXBl
T3BlcmF0aW9uczxUPiBUeXBlT3BlcmF0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9X
VEZUaHJlYWREYXRhLmgKaW5kZXggZGExYjZlYi4uZjMyYWI5MCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKQEAgLTUyLDcgKzUyLDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAKIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBjaGFyKiwgUmVmUHRyPFN0cmluZ0ltcGw+LCBQ
dHJIYXNoPGNvbnN0IGNoYXIqPiA+IExpdGVyYWxJZGVudGlmaWVyVGFibGU7CiAKLWNsYXNzIElk
ZW50aWZpZXJUYWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJU
YWJsZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgfklkZW50
aWZpZXJUYWJsZSgpOwogCkBAIC04NSw3ICs4Niw4IEBAIGNsYXNzIEF0b21pY1N0cmluZ1RhYmxl
OwogCiB0eXBlZGVmIHZvaWQgKCpBdG9taWNTdHJpbmdUYWJsZURlc3RydWN0b3IpKEF0b21pY1N0
cmluZ1RhYmxlKik7CiAKLWNsYXNzIFdURlRocmVhZERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgV1RGVGhyZWFkRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV1RGVGhy
ZWFkRGF0YSk7CiBwdWJsaWM6CiAgICAgV1RGVGhyZWFkRGF0YSgpOwogICAgIH5XVEZUaHJlYWRE
YXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAppbmRleCBjODljMDM2Li5iNWIxMjYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIFA1Tm9kZSgpIHsgfQogICAgIEJpZ0ludCB2YWw7CiAgICAgUDVO
b2RlKiBuZXh0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29i
amVjdC9HT3duUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0
ci5oCmluZGV4IGNlYzNlNDMuLjQxMzZmMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9nb2JqZWN0L0dPd25QdHIuaApAQCAtNDEsNyArNDEsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJl
ZU93bmVkR1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lk
IGZyZWVPd25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQ
dHI8R0ZpbGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3du
UHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0
cigpIHsgZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAppbmRleCBhNTQ2YmYzLi5lNzNkMzhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCkBAIC0zMCwxMyArMzAs
MTMgQEAKICNkZWZpbmUgU3RyaW5nQnVmZmVyX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUv
VW5pY29kZS5oPgogI2luY2x1ZGUgPGxpbWl0cz4KIAogbmFtZXNwYWNlIFdURiB7CiAKLWNsYXNz
IFN0cmluZ0J1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdCdWZmZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ0J1ZmZlcik7CiBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgU3RyaW5nQnVmZmVyKHVuc2lnbmVkIGxlbmd0aCkKICAgICAgICAgOiBtX2xlbmd0
aChsZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3Ry
aW5nSW1wbEJhc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBs
QmFzZS5oCmluZGV4IDY1Njc2NzIuLjI2YmMxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5k
ZWYgU3RyaW5nSW1wbEJhc2VfaAogI2RlZmluZSBTdHJpbmdJbXBsQmFzZV9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAK
IG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBTdHJpbmdJbXBsQmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTdHJpbmdJbXBsQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U3RyaW5nSW1wbEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBi
b29sIGlzU3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNv
dW50SW52YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1w
bDsgfQogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBA
IC00NSw5ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07
CiAKLSAgICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJh
dG9yIG5ldyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4g
aW5QbGFjZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2Nh
dGVzIGFuIGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFz
ZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUv
Q29sbGF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5o
CmluZGV4IGZlNmE4MDkuLjAwYWIxNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
dW5pY29kZS9Db2xsYXRvci5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaWZuZGVmIFdURl9Db2xsYXRv
cl9oCiAjZGVmaW5lIFdURl9Db2xsYXRvcl9oCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFz
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgpAQCAtMzksNyArNDAsOCBA
QCBzdHJ1Y3QgVUNvbGxhdG9yOwogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIGNsYXNzIENvbGxh
dG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb2xsYXRvciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENvbGxhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFJlc3VsdCB7IEVxdWFsID0gMCwgR3JlYXRlciA9
IDEsIExlc3MgPSAtMSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFy
ci9SZWdleEludGVycHJldGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleElu
dGVycHJldGVyLmgKaW5kZXggMGZkOGE1Ny4uZDQwNDUxMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuaApAQCAtMzE1LDcgKzMxNSw4IEBAIHN0cnVj
dCBCeXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0ZURpc2p1bmN0aW9uIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBCeXRlRGlzanVuY3Rpb24odW5zaWduZWQgbnVt
U3VicGF0dGVybnMsIHVuc2lnbmVkIGZyYW1lU2l6ZSkKICAgICAgICAgOiBtX251bVN1YnBhdHRl
cm5zKG51bVN1YnBhdHRlcm5zKQpAQCAtMzI4LDcgKzMyOSw5IEBAIHB1YmxpYzoKICAgICB1bnNp
Z25lZCBtX2ZyYW1lU2l6ZTsKIH07CiAKLXN0cnVjdCBCeXRlY29kZVBhdHRlcm4gOiBGYXN0QWxs
b2NCYXNlIHsKK3N0cnVjdCBCeXRlY29kZVBhdHRlcm4geworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgogICAgIEJ5dGVjb2RlUGF0dGVybihQYXNzT3duUHRyPEJ5dGVEaXNq
dW5jdGlvbj4gYm9keSwgVmVjdG9yPEJ5dGVEaXNqdW5jdGlvbio+IGFsbFBhcmVudGhlc2VzSW5m
bywgUmVnZXhQYXR0ZXJuJiBwYXR0ZXJuLCBCdW1wUG9pbnRlckFsbG9jYXRvciogYWxsb2NhdG9y
KQogICAgICAgICA6IG1fYm9keShib2R5KQogICAgICAgICAsIG1faWdub3JlQ2FzZShwYXR0ZXJu
Lm1faWdub3JlQ2FzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1Jl
Z2V4UGF0dGVybi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJuLmgK
aW5kZXggNjgzM2RkNi4uZWRlYjY0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3lhcnIvUmVnZXhQYXR0ZXJuLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVn
ZXhQYXR0ZXJuLmgKQEAgLTcyLDcgKzcyLDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1
Y3QgQ2hhcmFjdGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFz
cyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgLy8gQWxsIENo
YXJhY3RlckNsYXNzIGluc3RhbmNlcyBoYXZlIHRvIGhhdmUgdGhlIGZ1bGwgc2V0IG9mIG1hdGNo
ZXMgYW5kIHJhbmdlcywKICAgICAvLyB0aGV5IG1heSBoYXZlIGFuIG9wdGlvbmFsIHRhYmxlIGZv
ciBmYXN0ZXIgbG9va3VwcyAod2hpY2ggbXVzdCBtYXRjaCB0aGUKICAgICAvLyBzcGVjaWZpZWQg
bWF0Y2hlcyBhbmQgcmFuZ2VzKQpAQCAtMjEzLDcgKzIxNSw5IEBAIHN0cnVjdCBQYXR0ZXJuVGVy
bSB7CiAgICAgfQogfTsKIAotc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jh
c2Ugeworc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CiAgICAgUGF0dGVybkFsdGVybmF0aXZlKFBhdHRlcm5EaXNqdW5jdGlv
biogZGlzanVuY3Rpb24pCiAgICAgICAgIDogbV9wYXJlbnQoZGlzanVuY3Rpb24pCiAgICAgICAg
ICwgbV9vbmNlVGhyb3VnaChmYWxzZSkKQEAgLTI1NCw3ICsyNTgsOSBAQCBzdHJ1Y3QgUGF0dGVy
bkFsdGVybmF0aXZlIDogRmFzdEFsbG9jQmFzZSB7CiAgICAgYm9vbCBtX2NvbnRhaW5zQk9MIDog
MTsKIH07CiAKLXN0cnVjdCBQYXR0ZXJuRGlzanVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0
cnVjdCBQYXR0ZXJuRGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVu
dCA9IDApCiAgICAgICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRT
aXplKGZhbHNlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDkwMDk2YjAuLjM3ZjkwMTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wMS0wNCAgWm9sdGFuIEhv
cnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24g
ZnJhbWV3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1
bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAg
ICAgVGhlIG1vZGlmaWNhdGlvbiByZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFz
ZSBjbGFzc2VzIGFuZCB0aGVzZSBpbmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxl
bnQgbWFjcm8gaW1wbGVtZW50YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMuCiAyMDExLTAx
LTAzICBZaSBTaGVuICA8eWkuNC5zaGVuQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
Q3BwQm91bmRDbGFzcy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRD
bGFzcy5oCmluZGV4IDZjYjYzOGUuLjYxNTFhOWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAgLTU4LDcgKzU4LDggQEAgdHlwZWRlZiBWZWN0
b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3VuZENsYXNzIGxldHMg
eW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkgYWNjZXNzZXMKIC8v
IGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQqIHZhcmlhYmxlIGFj
Y2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
Q3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3BwQm91bmRDbGFzcyk7
CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAgcHVibGljOgpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5o
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCmluZGV4
IGUxNDc4ZDAuLjY2NTQzNWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9EUlREZXZUb29sc0FnZW50LmgKQEAgLTQ5LDggKzQ5LDggQEAgc3RydWN0IFdlYkRldlRvb2xz
TWVzc2FnZURhdGE7CiAKIGNsYXNzIERSVERldlRvb2xzQ2xpZW50OwogCi1jbGFzcyBEUlREZXZU
b29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVudAotICAgICAg
ICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29s
c0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNBZ2VudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2
VG9vbHNBZ2VudCgpOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQWdlbnQoKSB7fQpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKaW5kZXgg
OWNhMTQwMi4uMGNiYTUxYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJURGV2VG9vbHNDbGllbnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9EUlREZXZUb29sc0NsaWVudC5oCkBAIC00OCw4ICs0OCw4IEBAIGNsYXNzIFdlYlZpZXc7CiAK
IGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVi
bGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAgICAgICAgICAgICAg
ICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBw
dWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAgRFJURGV2VG9vbHND
bGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwogICAgIHZpcnR1YWwg
fkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2NzE0ODkuLjg1MDJh
OTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0
aW9uQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RO
YXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyArMTExLDggQEAgcHVibGljOgogCiAvLyBU
ZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlzIHRvIGJlIGFzIGNs
b3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMgcG9zc2libGUuCi1jbGFzcyBUZXN0TmF2
aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0TmF2aWdh
dGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3ROYXZpZ2F0aW9u
Q29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKE5hdmln
YXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmggYi9Ub29scy9XZWJLaXRBUElUZXN0
L0hvc3RXaW5kb3cuaAppbmRleCBhMjczNGVkLi4yYWFhODVmIDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaAorKysgYi9Ub29scy9XZWJLaXRBUElUZXN0L0hvc3RX
aW5kb3cuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0QVBJVGVzdCB7CiAK
LWNsYXNzIEhvc3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRv
dyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7CiBwdWJsaWM6CiAgICAg
SG9zdFdpbmRvdygpOwogICAgIH5Ib3N0V2luZG93KCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0Nv
bnRyb2xsZXIuaAppbmRleCAxMWI0NTdkLi5iZGNjNDU1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdEFQSVRlc3QvVGVz
dHNDb250cm9sbGVyLmgKQEAgLTI4LDEzICsyOCwxMyBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4K
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0QVBJVGVzdCB7CiAKIGNs
YXNzIFRlc3Q7CiAKLWNsYXNzIFRlc3RzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUZXN0c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3Rz
Q29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRlc3RzQ29udHJvbGxlciYgc2hhcmVk
KCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24u
aCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAppbmRleCBmZWMxZjdh
Li5lZmM2NjM1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCkBAIC0z
MSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0SW52b2NhdGlvbiB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGVzdEludm9jYXRpb24pOwogcHVibGljOgogICAgIFRlc3RJbnZvY2F0
aW9uKGNvbnN0IGNoYXIqKTsKICAgICB+VGVzdEludm9jYXRpb24oKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAwOTg3YS4uMGYzZGVj
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMS0wNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAg
IEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0
aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlv
biByZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVz
ZSBpbmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50
YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMuCisKIDIwMTEtMDEtMDQgIFlpIFNoZW4gIDx5
aS40LnNoZW5Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5u
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggZmM2ZGJiNS4uMWE1MjVh
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysg
Yi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC01Nyw3ICs1Nyw4IEBA
IHN0cnVjdCBUZXh0TWFya2VyRGF0YSB7CiAKIGVudW0gUG9zdFR5cGUgeyBQb3N0U3luY2hyb25v
dXNseSwgUG9zdEFzeW5jaHJvbm91c2x5IH07CiAKLWNsYXNzIEFYT2JqZWN0Q2FjaGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQVhPYmplY3RDYWNoZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQVhPYmplY3RDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIEFYT2JqZWN0Q2FjaGUoKTsKICAgICB+QVhPYmplY3RDYWNoZSgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCmluZGV4IDgwOWE0
ODguLmI2OTc2YWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0
U291cmNlUHJvdmlkZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyIDogcHVibGljIFNjcmlwdFNvdXJj
ZVByb3ZpZGVyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRT
Y3JpcHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihj
YWNoZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29u
dHJvbGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAppbmRleCA0YzI1
NDA3Li45MWYxZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxl
ci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsy
NiwxMiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAg
ZnJpZW5kIEdDQ29udHJvbGxlciYgZ2NDb250cm9sbGVyKCk7CiAKICAgICBwdWJsaWM6CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmggYi9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKaW5kZXggOTRiNmY3OC4uZTExMzhlZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaApAQCAtMzcsNyArMzcsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBkZWxldGVkIHdp
dGhvdXQgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoZSBjYWNoZQogLy8gICAgIC0gd3JhcHBlcnMgYmVp
bmcgY2FjaGVkIHR3aWNlCiAKLWNsYXNzIEpTRGVidWdXcmFwcGVyU2V0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEpTRGVidWdXcmFwcGVyU2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShKU0RlYnVnV3JhcHBlclNldCk7CiAgICAgZnJpZW5kIGNsYXNzIFdURjo6VGhyZWFkU3Bl
Y2lmaWM8SlNEZWJ1Z1dyYXBwZXJTZXQ+OwogcHVibGljOgogICAgIHN0YXRpYyBKU0RlYnVnV3Jh
cHBlclNldCYgc2hhcmVkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFp
blRocmVhZEV4ZWNTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVj
U3RhdGUuaAppbmRleCA4MTkzZDdjLi4zNDlkYzE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKQEAgLTMwLDExICszMCwxMSBAQAogI2lmbmRlZiBOREVC
VUcKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2VuZGlmCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSlNNYWluVGhyZWFk
RXhlY1N0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEpTTWFpblRocmVhZEV4ZWNT
dGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNNYWluVGhyZWFkRXhlY1N0YXRlKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpFeGVjU3RhdGUqIGN1cnJlbnRTdGF0ZSgpCiAgICAg
eyAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmggYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCmluZGV4IDZjOWQwYmEuLjU5YWQ2
ZmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaApAQCAtNDEsNyArNDEsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgKiB0aW1lIGludGVydmFsLCBlaXRoZXIgb25jZSBv
ciByZXBlYXRlZGx5LiBVc2VkIGZvciB3aW5kb3cuc2V0VGltZW91dCgpCiAgICAgKiBhbmQgd2lu
ZG93LnNldEludGVydmFsKCkKICAgICAqLwotICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkQWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxTY2hlZHVsZWRB
Y3Rpb24+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIERPTVdyYXBwZXJXb3JsZCogaXNvbGF0ZWRX
b3JsZCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmlu
ZGV4IDE1YzIzYzUuLjVmNjkxZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNo
ZWRGcmFtZURhdGEuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgRE9NV2luZG93OwogICAgIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIAotICAgIGNsYXNz
IFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFNjcmlwdENhY2hlZEZyYW1lRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNj
cmlwdENhY2hlZEZyYW1lRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICB0
eXBlZGVmIEhhc2hNYXA8IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3RlY3RlZFB0
cjxKU0RPTVdpbmRvdz4gPiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAppbmRleCA4MWNkOWFjLi45MWZjNGMyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNs
YXNzIFBhZ2VHcm91cDsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZhU2Ny
aXB0Q2FsbEZyYW1lOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIs
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVi
dWdnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2Vy
dmVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQ
cm9maWxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCmluZGV4IDA1
ZTdhMjUuLmQ0ZGQ2MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMy
LDExICszMiwxMSBAQAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3Jp
cHRTdGF0ZS5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgU2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFBy
b2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3Rh
dGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFBy
b2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NyaXB0U3RhdGUuaAppbmRleCAwYzA4NjExLi5lMTljMGM4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRTdGF0ZS5oCkBAIC01Miw3ICs1Miw4IEBAIGNsYXNzIFBhZ2U7CiAvLyBGb3Ig
bm93LCB0aGUgc2VwYXJhdGlvbiBpcyBwdXJlbHkgYnkgY29udmVudGlvbi4KIHR5cGVkZWYgSlND
OjpFeGVjU3RhdGUgU2NyaXB0U3RhdGU7CiAKLWNsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cik7CiBwdWJs
aWM6CiAgICAgZXhwbGljaXQgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoU2NyaXB0U3RhdGUqKTsK
ICAgICB+U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNmUyZDdiZSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5k
aW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDE3ICsyNCwxOCBAQAogCiAjaW5j
bHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRE9NT2JqZWN0SGFzaFRhYmxlTWFw
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6Q2xpZW50
RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBw
dWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBmcmllbmQgdm9p
ZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7CiAKIHB1Ymxp
YzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+V2ViQ29yZUpT
Q2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5jb250YWlucyht
X25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dv
cmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0
Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjQ1Nzg5MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0gICAgY2xhc3Mg
V29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
V29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdv
cmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2VyQ29udGV4dCopOwogICAg
ICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9ET01EYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaAppbmRleCA3
OGVkZjkyLi5iMDQyNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEu
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApAQCAtNDMsNyArNDMsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gdGhyZWFkLiAgVGhlIERPTURhdGEgZm9yIHRoZSBt
YWluIHRocmVhZCBhbmQgdGhlIERPTURhdGEgZm9yIGNoaWxkIHRocmVhZHMKICAgICAvLyB1c2Ug
ZGlmZmVyZW50IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBET01EYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRE9NRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBET01EYXRhKCk7CiAgICAg
ICAgIHZpcnR1YWwgfkRPTURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YVN0b3JlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCmluZGV4
IGExMDUxZGQuLjI4MjEzYTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0
YVN0b3JlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaApAQCAtMTQ5
LDcgKzE0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRvZXNu
J3QgbWFuYWdlIHRoZSBsaWZldGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogICAg
IC8vIGxpZmV0aW1lIGlzIG1hbmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNz
IERPTURhdGFTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YVN0
b3JlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIGVudW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAgICAgRE9N
Tm9kZU1hcCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJh
bWVEYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmlu
ZGV4IDFhYTFmNjIuLmY0MmU4MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNo
ZWRGcmFtZURhdGEuaApAQCAtNjAsMTQgKzYwLDE0IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93
bkhhbmRsZS5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7
CiAKLWNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhICk7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhKEZyYW1lKik7CiAgICAgflNjcmlwdENhY2hlZEZyYW1lRGF0YSgpIHsgfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDQwZGQ1ZmMuLjhmYTcyM2YgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTQ4LDcgKzQ4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7
CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNjcmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1
Z1NlcnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQo
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCmluZGV4IGI3NWEwNTQuLmUwOTY5
ZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKQEAgLTM2LDEzICszNiwxMyBA
QAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgog
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0YXJ0KFNj
cmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmlu
ZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5o
IGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCmluZGV4IDExODEzYjAuLjBmZWNl
ZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAorKysgYi9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKQEAgLTQyLDcgKzQyLDggQEAgY2xhc3Mg
RnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigp
IHsgcmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0VtcHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlv
bih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNlcHRpb24pCkBAIC03OSw3ICs4MCw4IEBAIHB1Ymxp
YzoKICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgpIHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQ
cm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90
ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVk
UHRyKTsKIHB1YmxpYzoKICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRT
dGF0ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2Ny
aXB0U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShzY3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCA1YTg5ZTFiLi40M2QzNzQwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAK
KysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0x
MjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAogLy8gV3JpdGVyIGlzIHJlc3BvbnNpYmxlIGZvciBz
ZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMgYW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVz
ZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRlIHR5cGVzLgotY2xhc3MgV3JpdGVyIDogTm9uY29w
eWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXcml0ZXIp
OwogcHVibGljOgogICAgIFdyaXRlcigpCiAgICAgICAgIDogbV9wb3NpdGlvbigwKQpAQCAtMzc3
LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVC
YXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTdGF0ZUJhc2UgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0ZUJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAg
dmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL0Jy
aWRnZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKaW5kZXggNTBlZmM2NC4uMDBkNmYzNiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvV2ViQ29yZS9icmlkZ2Uv
QnJpZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBAQAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVk
ZSAiQnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgIHsKIAogbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhvZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TWV0aG9kKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgTWV0aG9kKCkg
eyB9CiAgICAgdmlydHVhbCBpbnQgbnVtUGFyYW1ldGVycygpIGNvbnN0ID0gMDsKIAogICAgIHZp
cnR1YWwgfk1ldGhvZCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmll
clJlcC5oIGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCmluZGV4IDk5YmFlMGIuLjg2
NDZlOTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaAorKysgYi9X
ZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKQEAgLTMzLDcgKzMzLDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoaW50KTsKICAgICBz
dGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGNvbnN0IGNoYXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBiL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0Mu
aAppbmRleCA5Njk3NGQ5Li5lYmNmYWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRnZS9qc2Mv
QnJpZGdlSlNDLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01OSw4
ICs1OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNsYXNz
IENsYXNzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDbGFzcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgor
ICAgIENsYXNzKCkgeyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25z
dCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVsZCog
ZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAg
dmlydHVhbCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29u
c3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsxMjcs
OCBAQCBwcml2YXRlOgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVPYmpl
Y3Q7CiB9OwogCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcnJh
eSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFycmF5
KFBhc3NSZWZQdHI8Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmggYi9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZh
bHVlLmgKaW5kZXggODMzZDdmZS4uMTc0ZjFlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMzIsNiAr
MzIsNyBAQCBjbGFzcyBTdHlsZUNhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVJbWFnZTsKIAogY2xh
c3MgQ1NTSW1hZ2VWYWx1ZSA6IHB1YmxpYyBDU1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0ZSBDYWNo
ZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NT
SW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTSW1w
b3J0UnVsZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLmFk
NGU5N2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysgYi9XZWJD
b3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NT
U3R5bGVTaGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1
YmxpYyBDU1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbXBv
cnRSdWxlPiBjcmVhdGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGhyZWYs
IFBhc3NSZWZQdHI8TWVkaWFMaXN0PiBtZWRpYSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2Nzcy9DU1NOYW1lc3BhY2UuaCBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCmluZGV4IDYy
MjVjMzYuLjkyNjM4ZjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCisr
KyBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCkBAIC0yNiw3ICsyNiw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotICAgIHN0cnVjdCBDU1NOYW1lc3BhY2UgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IENTU05hbWVzcGFjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENTU05hbWVzcGFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAg
ICAgICAgQXRvbWljU3RyaW5nIHByZWZpeDsKICAgICAgICAgQXRvbWljU3RyaW5nIHVyaTsKICAg
ICAgICAgT3duUHRyPENTU05hbWVzcGFjZT4gcGFyZW50OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmggYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA2NjMzMDcyLi44
N2RjNjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaApAQCAtMzM4LDcgKzMzOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBpbnQgY3NzUHJvcGVydHlJRChjb25zdCBTdHJpbmcmKTsKICAgICBpbnQgY3NzVmFsdWVL
ZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJik7CiAKLSAgICBjbGFzcyBTaG9ydGhhbmRT
Y29wZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
U2hvcnRoYW5kU2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIo
cGFyc2VyKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1
ZXMuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjguLjk5NmU3
ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBDU1NQYXJz
ZXJWYWx1ZSB7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07
CiAKLWNsYXNzIENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIENTU1BhcnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KCkKICAgICAgICAgOiBtX2N1cnJlbnQoMCkK
QEAgLTgzLDcgKzg0LDkgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8Q1NTUGFyc2VyVmFsdWUsIDQ+
IG1fdmFsdWVzOwogfTsKIAotc3RydWN0IENTU1BhcnNlckZ1bmN0aW9uIDogRmFzdEFsbG9jQmFz
ZSB7CitzdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgogICAgIENTU1BhcnNlclN0cmluZyBuYW1lOwogICAgIE93blB0cjxDU1NQ
YXJzZXJWYWx1ZUxpc3Q+IGFyZ3M7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuaCBiL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKaW5kZXggMTA2MTcxZC4uMTBlNTkz
YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgQ1NTUHJvcGVydHkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQ
cm9wZXJ0eSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NT
UHJvcGVydHkoaW50IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1w
b3J0YW50ID0gZmFsc2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxz
ZSkKICAgICAgICAgOiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1Nl
bGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBjMTM5ZGJmLi42
OGE1MGM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysrIGIvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVjdG9y
QmFnIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NTU2Vs
ZWN0b3JCYWcoKSB7IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAgQVNT
RVJUKGlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIv
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCAzNTNmYjVlLi42MjliYTAzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1NlbGVj
dG9yLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENT
U1NlbGVjdG9yQmFnOwogCiAgICAgLy8gdGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0b3Ig
Zm9yIGEgU3R5bGVSdWxlCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIENTU1NlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ1NTU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIENTU1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50
KQpAQCAtMzA0LDcgKzMwNSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWdu
ZWQgc3BlY2lmaWNpdHlGb3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVk
b1R5cGUoKSBjb25zdDsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7
CisgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBSYXJlRGF0YShQYXNzT3duUHRyPENTU1NlbGVjdG9yPiB0YWdIaXN0b3J5
KQogICAgICAgICAgICAgICAgIDogbV9hKDApCiAgICAgICAgICAgICAgICAgLCBtX2IoMCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvV2ViQ29yZS9jc3MvQ1NT
U2VsZWN0b3JMaXN0LmgKaW5kZXggOWU0MGVmOC4uNzFjZWE2ZiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0
LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBDU1NTZWxlY3Rvckxpc3RfaAogCiAjaW5j
bHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJyYXkoMCkgeyB9CiAgICAgfkNT
U1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCBlZGIyMTZmLi40
ZjE3OWFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzQ4LDcgKzM0OCw4IEBAIGlm
IChpZCA9PSBwcm9wSUQpIHsgXAogICAgIHJldHVybjsgXAogfQogCi1jbGFzcyBDU1NSdWxlRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxlRGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGEpOwogcHVibGljOgogICAgIENTU1J1bGVEYXRhKHVu
c2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiByLCBDU1NTZWxlY3Rvciogc2VsLCBDU1NSdWxlRGF0
YSogcHJldiA9IDApCiAgICAgICAgIDogbV9wb3NpdGlvbihwb3MpCkBAIC0zNzYsNyArMzc3LDgg
QEAgcHJpdmF0ZToKICAgICBDU1NSdWxlRGF0YSogbV9uZXh0OwogfTsKIAotY2xhc3MgQ1NTUnVs
ZURhdGFMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVEYXRhTGlzdCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsKIHB1YmxpYzoKICAg
ICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1Nl
bGVjdG9yKiBzZWwpCiAgICAgICAgIDogbV9maXJzdChuZXcgQ1NTUnVsZURhdGEocG9zLCBydWxl
LCBzZWwpKQpAQCAtNDA2LDcgKzQwOCw4IEBAIHByaXZhdGU6CiAgICAgQ1NTUnVsZURhdGEqIG1f
bGFzdDsKIH07CiAKLWNsYXNzIENTU1J1bGVTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ1NTUnVsZVNldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZVNldCk7CiBw
dWJsaWM6CiAgICAgQ1NTUnVsZVNldCgpOwogICAgIH5DU1NSdWxlU2V0KCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmgKaW5kZXggYjU3YmExMy4uNmI0ZjU0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaApA
QCAtNjksNyArNjksOCBAQCBjbGFzcyBTdHlsZWRFbGVtZW50OwogY2xhc3MgV2ViS2l0Q1NTS2V5
ZnJhbWVSdWxlOwogY2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTsKIAotY2xhc3MgTWVkaWFR
dWVyeVJlc3VsdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5UmVzdWx0
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5UmVzdWx0KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgTWVkaWFRdWVyeVJlc3VsdChjb25zdCBNZWRp
YVF1ZXJ5RXhwJiBleHByLCBib29sIHJlc3VsdCkKICAgICAgICAgOiBtX2V4cHJlc3Npb24oZXhw
cikKQEAgLTgyLDcgKzgzLDggQEAgcHVibGljOgogfTsKIAogICAgIC8vIFRoaXMgY2xhc3Mgc2Vs
ZWN0cyBhIFJlbmRlclN0eWxlIGZvciBhIGdpdmVuIGVsZW1lbnQgYmFzZWQgb24gYSBjb2xsZWN0
aW9uIG9mIHN0eWxlc2hlZXRzLgotICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3IgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3IgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDU1NTdHlsZVNlbGVjdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3VtZW50KiwgU3R5
bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVldCogbWFwcGVkRWxlbWVudFNo
ZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBhZ2VVc2VyU2hl
ZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdyb3VwVXNlclNo
ZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICBz
dGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxlKCkgeyByZXR1cm4gc19zdHls
ZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tlciB7CisgICAg
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNoZWNrZXIpOwogICAgICAgICBw
dWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBib29sIHN0cmlj
dFBhcnNpbmcpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmggYi9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKaW5kZXggMjgxMDA5Yi4uYTYzOGFjOSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaApA
QCAtMzcsNyArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFRdWVyeUV4
cDsKIAotY2xhc3MgTWVkaWFRdWVyeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRp
YVF1ZXJ5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9yIHsKICAgICAgICAg
T25seSwgTm90LCBOb25lCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVh
dG9yLmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXggMDBhYzM5NC4u
MDdjNGQwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCisr
KyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNDksNyArNDksOCBAQCBj
bGFzcyBNZWRpYVF1ZXJ5RXhwOwogICogdGhlIGRldmljZSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5v
dCBrbm93bi4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGluZwogICogb2Ygc3R5
bGVzaGVldHMgdG8gb25seSB0aG9zZSB3aGljaCBhcmUgcHJvYmFibGUgdG8gbWF0Y2guCiAgKi8K
LWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TWVkaWFRdWVyeUV2YWx1YXRvciB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVl
cnlFdmFsdWF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICAvKiog
Q3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlhIHF1ZXJp
ZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3IgImFsbCIsIGFuZCByZXR1cm5z
IHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAppbmRleCA3MmQzZmZm
Li43ZTRkNDc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgKKysrIGIv
V2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICszOCw4IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAKLWNsYXNzIE1lZGlhUXVlcnlF
eHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXhwIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxN
ZWRpYVF1ZXJ5RXhwPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBtZWRpYUZlYXR1cmUsIENT
U1BhcnNlclZhbHVlTGlzdCogdmFsdWVzKTsKICAgICB+TWVkaWFRdWVyeUV4cCgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuY3BwIGIvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuY3BwCmluZGV4IDdmNWYxYjYuLjRhOGQyNWEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmNwcAorKysgYi9XZWJDb3JlL2RvbS9Bc3luY1Nj
cmlwdFJ1bm5lci5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBBc3luY1NjcmlwdFJ1bm5lcjo6
ZXhlY3V0ZVNjcmlwdFNvb24oU2NyaXB0RWxlbWVudCogZGF0YSwgQ2FjaGVkUmVzb3VyY2VIYW4K
ICAgICBBU1NFUlQoZWxlbWVudC0+aW5Eb2N1bWVudCgpKTsKIAogICAgIG1fZG9jdW1lbnQtPmlu
Y3JlbWVudExvYWRFdmVudERlbGF5Q291bnQoKTsKLSAgICBtX3NjcmlwdHNUb0V4ZWN1dGVTb29u
LmFwcGVuZChtYWtlX3BhaXIoZGF0YSwgY2FjaGVkU2NyaXB0KSk7CisgICAgbV9zY3JpcHRzVG9F
eGVjdXRlU29vbi5hcHBlbmQoc3RkOjptYWtlX3BhaXIoZGF0YSwgY2FjaGVkU2NyaXB0KSk7CiAg
ICAgZWxlbWVudC0+cmVmKCk7IC8vIEJhbGFuY2VkIGJ5IGRlcmVmKClzIGluIHRpbWVyRmlyZWQo
KSBhbmQgZHRvci4KICAgICBpZiAoIW1fdGltZXIuaXNBY3RpdmUoKSkKICAgICAgICAgbV90aW1l
ci5zdGFydE9uZVNob3QoMCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1
bm5lci5oIGIvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaAppbmRleCAxYTA1MWE4Li44
YjAxMWRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCisrKyBi
L1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3Mg
Q2FjaGVkU2NyaXB0OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBTY3JpcHRFbGVtZW50OwogICAg
IAotY2xhc3MgQXN5bmNTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
QXN5bmNTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jU2NyaXB0
UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NPd25QdHI8QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpIHsg
cmV0dXJuIG5ldyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5bmNTY3Jp
cHRSdW5uZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oIGIvV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmgKaW5kZXggODZhMjJiMC4uNzcyYTcwMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvV2ViQ29yZS9kb20vRE9NU3RyaW5n
TWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVu
dDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNzIERPTVN0cmluZ01hcCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01TdHJpbmdNYXAgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERPTVN0cmluZ01hcCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIHZpcnR1YWwgfkRPTVN0cmluZ01hcCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAgYi9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggYWU2MDRlOS4u
NzAxMjFmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDY1OSw3ICs0NjU5LDkgQEAgdm9pZCBEb2N1bWVudDo6
YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2Fn
ZUxldmVsIGwKICAgICAgICAgd2luZG93LT5jb25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0
eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0
IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0Nv
bnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBlcmZvcm1UYXNrQ29udGV4dChQ
YXNzUmVmUHRyPERvY3VtZW50V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVuY2UsIFBhc3NP
d25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAgICAgOiBkb2N1
bWVudFJlZmVyZW5jZShkb2N1bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNrKHRhc2spCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBiL1dlYkNv
cmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCmluZGV4IDgzMTc3ZmMuLjJkYzJiOWUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCisrKyBi
L1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCkBAIC0zOCw4ICszOCwxMCBA
QCBjbGFzcyBJbnRSZWN0OwogY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogCi1jbGFzcyBEb2N1
bWVudE1hcmtlckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRG9jdW1l
bnRNYXJrZXJDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVudE1h
cmtlckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBE
b2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7IH0KICAgICB+RG9jdW1lbnRNYXJrZXJDb250cm9s
bGVyKCkgeyBkZXRhY2goKTsgfQogCiAgICAgdm9pZCBkZXRhY2goKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0V2ZW50LmggYi9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGYwNWQzNmMuLmNk
NDlkZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvV2ViQ29yZS9kb20v
RXZlbnQuaApAQCAtMjQsNiArMjQsNyBAQAogI2lmbmRlZiBFdmVudF9oCiAjZGVmaW5lIEV2ZW50
X2gKIAorI2luY2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkRPTVRpbWVTdGFtcC5oIgog
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAg
LTMxLDggKzMyLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgQ2xpcGJv
YXJkOwotCiAgICAgY2xhc3MgRXZlbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudD4gewogICAg
IHB1YmxpYzoKICAgICAgICAgZW51bSBQaGFzZVR5cGUgeyAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaCBiL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA0OTY4MDRl
Li42ODZkOWIzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xNzgsNyArMTc4LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIFwKIC8vIGVuZCBvZiBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0gKIAotICAgIGNs
YXNzIEV2ZW50TmFtZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TmFt
ZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudE5hbWVzKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGludCBkdW1teTsgLy8gTmVlZGVkIHRvIG1ha2UgaW5p
dGlhbGl6YXRpb24gbWFjcm8gd29yay4KICAgICAgICAgLy8gUHJpdmF0ZSB0byBwcmV2ZW50IGFj
Y2lkZW50YWwgY2FsbCB0byBFdmVudE5hbWVzKCkgaW5zdGVhZCBvZiBldmVudE5hbWVzKCkKICAg
ICAgICAgRXZlbnROYW1lcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
aCBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uODFlZWI3ZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5oCkBAIC04Myw3ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBl
ZGVmIFZlY3RvcjxSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3Rv
cjsKICAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9y
Kj4gRXZlbnRMaXN0ZW5lck1hcDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25j
b3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEV2ZW50VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
ICAgIHB1YmxpYzoKICAgICAgICAgRXZlbnRUYXJnZXREYXRhKCk7CiAgICAgICAgIH5FdmVudFRh
cmdldERhdGEoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50SW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3Jp
dGVDb3VudEluY3JlbWVudGVyLmgKaW5kZXggOWQxODM1YS4uMjZmN2ZkMCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAorKysg
Yi9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCkBA
IC0yNywxMSArMjcsMTEgQEAKICNkZWZpbmUgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXJfaAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJZ25vcmVEZXN0cnVjdGl2
ZVdyaXRlQ291bnRJbmNyZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJZ25v
cmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIpOwogcHVibGljOgog
ICAgIGV4cGxpY2l0IElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKERvY3Vt
ZW50KiBkb2N1bWVudCkKICAgICAgICAgOiBtX2NvdW50KGRvY3VtZW50ID8gJmRvY3VtZW50LT5t
X2lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudCA6IDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Rv
bS9NZXNzYWdlUG9ydENoYW5uZWwuaCBiL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5o
CmluZGV4IGYzMDhhMjkuLjA3NjY4YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQ
b3J0Q2hhbm5lbC5oCisrKyBiL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCkBAIC01
NSw3ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIE1lc3NhZ2VQb3J0Q2hh
bm5lbCBpcyBhIHBsYXRmb3JtLWluZGVwZW5kZW50IGludGVyZmFjZSB0byB0aGUgcmVtb3RlIHNp
ZGUgb2YgYSBtZXNzYWdlIGNoYW5uZWwuCiAgICAgLy8gSXQgYWN0cyBhcyBhIHdyYXBwZXIgYXJv
dW5kIHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgUGxhdGZvcm1NZXNzYWdlUG9ydENoYW5uZWwgaW1w
bGVtZW50YXRpb24gd2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgY2xv
c2UoKSBtZXRob2QgaXMgaW52b2tlZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uCi0gICAgY2xhc3MgTWVz
c2FnZVBvcnRDaGFubmVsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNzYWdl
UG9ydENoYW5uZWwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNzYWdlUG9ydENo
YW5uZWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyB2b2lkIGNyZWF0ZUNoYW5uZWwoUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4sIFBhc3NSZWZQ
dHI8TWVzc2FnZVBvcnQ+KTsKIApAQCAtNzgsNyArNzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgcHJveHkgY3VycmVudGx5IGNvbnRhaW5z
IG1lc3NhZ2VzIGZvciB0aGlzIHBvcnQuCiAgICAgICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5
KCk7CiAKLSAgICAgICAgY2xhc3MgRXZlbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICAgICAgY2xhc3MgRXZlbnREYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEV2ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxFdmVudERhdGE+IGNyZWF0ZShQYXNzUmVmUHRy
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsQXJy
YXk+KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9XZWJDb3Jl
L2RvbS9Ob2RlUmFyZURhdGEuaAppbmRleCBhYjIwOGQyLi43MzUwZjgwIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEu
aApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2Rl
TGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8RHluYW1pY05vZGVM
aXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAgTm9kZUxpc3RTZXQgbV9saXN0c1dpdGhDYWNoZXM7CiAg
ICAgCkBAIC02Nyw3ICs2OSw4IEBAIHByaXZhdGU6CiAgICAgfQogfTsKICAgICAKLWNsYXNzIE5v
ZGVSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOb2RlUmFyZURhdGEgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGVSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOiAgICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAgICA6IG1fdGFi
SW5kZXgoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1dlYkNv
cmUvZG9tL1F1YWxpZmllZE5hbWUuaAppbmRleCAzNGZjMDY5Li5jYjk1ZjIwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysrIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5oCkBAIC0zMiw3ICszMiw4IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29tcG9uZW50cyB7
CiAgICAgU3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFsaWZpZWROYW1l
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUXVhbGlmaWVkTmFtZSB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUlt
cGwgOiBwdWJsaWMgUmVmQ291bnRlZDxRdWFsaWZpZWROYW1lSW1wbD4gewogICAgIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1Nj
cmlwdEVsZW1lbnQuaAppbmRleCAwN2M1OWRiLi41MjUwZjNlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCkBA
IC0zMiw2ICszMiw3IEBAIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiBjbGFzcyBTY3JpcHRTb3VyY2VD
b2RlOwogCiBjbGFzcyBTY3JpcHRFbGVtZW50IDogcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2NyaXB0RWxl
bWVudChFbGVtZW50KiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIsIGJvb2wgaXNFdmFsdWF0ZWQpOwog
ICAgIHZpcnR1YWwgflNjcmlwdEVsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaAppbmRleCAxMmViNzc2Li5lOGJmOWExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oCkBAIC0xMTYsOCArMTE2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dm9pZCByZWYoKSB7IHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogICAgICAgICB2b2lk
IGRlcmVmKCkgeyBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogCi0gICAgICAgIGNs
YXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBUYXNrIHsKKyAg
ICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICAgICAgcHVibGljOgorICAgICAgICAgICAgVGFzaygpIHsgfQogICAgICAgICAg
ICAgdmlydHVhbCB+VGFzaygpOwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNr
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CiAgICAgICAgICAgICAvLyBDZXJ0YWluIHRh
c2tzIGdldCBtYXJrZWQgc3BlY2lhbGx5IHNvIHRoYXQgdGhleSBhcmVuJ3QgZGlzY2FyZGVkLCBh
bmQgYXJlIGV4ZWN1dGVkLCB3aGVuIHRoZSBjb250ZXh0IGlzIHNodXR0aW5nIGRvd24gaXRzIG1l
c3NhZ2UgcXVldWUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgg
Yi9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKaW5kZXggODI2ZTZiZC4uNmViODkzYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCisrKyBiL1dlYkNvcmUv
ZG9tL1NwYWNlU3BsaXRTdHJpbmcuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBTcGFjZVNwbGl0U3RyaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgU3BhY2VTcGxpdFN0cmluZ0RhdGEgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTcGFjZVNwbGl0U3RyaW5nRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3Ry
aW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkRm9sZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5n
KHN0cmluZyksIG1fc2hvdWxkRm9sZENhc2Uoc2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0
b3IoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1dl
YkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCmluZGV4IGY5N2FmY2YuLjYzZGM3OGEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCisrKyBiL1dlYkNvcmUvZG9tL1Ry
YW5zZm9ybVNvdXJjZS5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtVHJhbnNmb3JtU291cmNlOwogI2VuZGlmCiAKLSAgICBj
bGFzcyBUcmFuc2Zvcm1Tb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRy
YW5zZm9ybVNvdXJjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zZm9ybVNv
dXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgVHJh
bnNmb3JtU291cmNlKGNvbnN0IFBsYXRmb3JtVHJhbnNmb3JtU291cmNlJiBzb3VyY2UpOwogICAg
ICAgICB+VHJhbnNmb3JtU291cmNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Vc2VyR2Vz
dHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAppbmRl
eCAxN2VhMzE5Li5iMWVkOTZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUlu
ZGljYXRvci5oCisrKyBiL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTM2
LDcgKzM2LDggQEAgZW51bSBQcm9jZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSB7CiAgICAgRGVmaW5p
dGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVyZQogfTsKIAotY2xhc3MgVXNlckdlc3R1cmVJbmRp
Y2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3Ig
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJHZXN0dXJlSW5kaWNhdG9yKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgYm9vbCBwcm9jZXNzaW5nVXNlckdlc3R1cmUoKSB7IHJldHVybiBzX3By
b2Nlc3NpbmdVc2VyR2VzdHVyZSA9PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9
CiAgICAgc3RhdGljIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIGdldFVzZXJHZXN0dXJlU3Rh
dGUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCBiL1dlYkNvcmUvZG9tL1VzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggNmM3MTA3OS4uMjFmNGM3ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9XZWJDb3Jl
L2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsKIAotY2xhc3MgVXNlclR5
cGluZ0dlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclR5
cGluZ0dlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJUeXBp
bmdHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBwcm9jZXNzaW5n
VXNlclR5cGluZ0dlc3R1cmUoKTsKICAgICBzdGF0aWMgTm9kZSogZm9jdXNlZEVsZW1lbnRBdEdl
c3R1cmVTdGFydCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIu
aCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKaW5kZXggMTEzNzBmYS4uYjBjYmE2
NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCkBAIC03MSw2ICs3MSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICNlbmRpZgogCiAgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXIgOiBwdWJsaWMg
U2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFhNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3Vt
ZW50LCBGcmFtZVZpZXcqIHZpZXcpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9t
L1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBh
cnNlckxpYnhtbDIuY3BwCmluZGV4IDIzZjk4ODMuLmJjYmEzMjAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvV2ViQ29yZS9kb20vWE1M
RG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUsMTAgQEAgdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5kaW5nQ2FsbGJhY2tz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFja3MgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVibGljOgorICAgIFBlbmRp
bmdDYWxsYmFja3MoKSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNrcygpCiAgICAgewogICAgICAg
ICBkZWxldGVBbGxWYWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oIGIvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJT
Y29wZS5oCmluZGV4IDU4ZThhNmIuLmY2MDQ3MWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1hN
TERvY3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNl
clNjb3BlLmgKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNj
b3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJl
c291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVu
dFBhcnNlclNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9u
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApp
bmRleCAxMjg2YzA3Li40ZDkyOGM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVCdXR0b25D
b250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBEZWxldGVCdXR0b25Db250
cm9sbGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1h
bmQuY3BwCmluZGV4IDA0NGNlNjMuLmNjYzZkMDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1JlcGxh
Y2VTZWxlY3Rpb25Db21tYW5kLmNwcApAQCAtNjIsNyArNjIsOCBAQCBlbnVtIEVGcmFnbWVudFR5
cGUgeyBFbXB0eUZyYWdtZW50LCBTaW5nbGVUZXh0Tm9kZUZyYWdtZW50LCBUcmVlRnJhZ21lbnQg
fTsKIAogLy8gLS0tIFJlcGxhY2VtZW50RnJhZ21lbnQgaGVscGVyIGNsYXNzCiAKLWNsYXNzIFJl
cGxhY2VtZW50RnJhZ21lbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVwbGFjZW1l
bnRGcmFnbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVwbGFjZW1lbnRGcmFnbWVu
dCk7CiBwdWJsaWM6CiAgICAgUmVwbGFjZW1lbnRGcmFnbWVudChEb2N1bWVudCosIERvY3VtZW50
RnJhZ21lbnQqLCBib29sIG1hdGNoU3R5bGUsIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaCBiL1dlYkNv
cmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKaW5kZXggZWU1MjE4Ny4uM2Y4MDVkMyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAorKysgYi9X
ZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCkBAIC00OCw3ICs0OCw4IEBAIGNs
YXNzIFZpc2libGVQb3NpdGlvbjsKIAogZW51bSBEaXJlY3Rpb25hbGl0eVBvbGljeSB7IE1ha2VO
b25EaXJlY3Rpb25hbFNlbGVjdGlvbiwgTWFrZURpcmVjdGlvbmFsU2VsZWN0aW9uIH07CiAKLWNs
YXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Vs
ZWN0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VsZWN0aW9uQ29u
dHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGVudW0gRUFs
dGVyYXRpb24geyBBbHRlcmF0aW9uTW92ZSwgQWx0ZXJhdGlvbkV4dGVuZCB9OwogICAgIGVudW0g
Q3Vyc29yQWxpZ25PblNjcm9sbCB7IEFsaWduQ3Vyc29yT25TY3JvbGxJZk5lZWRlZCwKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaCBiL1dlYkNvcmUvZWRpdGluZy9T
cGVsbENoZWNrZXIuaAppbmRleCA2OTIyZjBlLi4zZGNkMDBiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKKysrIGIvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tl
ci5oCkBAIC01Myw3ICs1Myw4IEBAIHByaXZhdGU6CiAgICAgaW50IG1fbGVuZ3RoOwogfTsKIAot
Y2xhc3MgU3BlbGxDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNwZWxsQ2hl
Y2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BlbGxDaGVja2VyKTsKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBTcGVsbENoZWNrZXIoRnJhbWUqLCBFZGl0b3JDbGllbnQqKTsKICAgICB+
U3BlbGxDaGVja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5n
SGVscGVyLmggYi9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXggMjI3
NTMwZi4uOGI1YzY5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hl
bHBlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAtNzIs
NyArNzIsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgaW50IG1fY2hlY2tpbmdMZW5ndGg7CiB9
OwogCi1jbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVGV4dENoZWNraW5nSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q2hl
Y2tpbmdIZWxwZXIpOwogcHVibGljOgogICAgIFRleHRDaGVja2luZ0hlbHBlcihFZGl0b3JDbGll
bnQqLCBQYXNzUmVmUHRyPFJhbmdlPik7CiAgICAgflRleHRDaGVja2luZ0hlbHBlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCA3ZTQxNDIwLi5mOGExYjlmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvVGV4
dEl0ZXJhdG9yLmNwcApAQCAtNjEsNyArNjEsOCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVz
OwogLy8gQ2FzZSBmb2xkaW5nIGlzIGFsc28gZG9uZSBpZiB0aGUgQ2FzZUluc2Vuc2l0aXZlIG9w
dGlvbiBpcyBzcGVjaWZpZWQuCiAvLyBNYXRjaGVzIGFyZSBmdXJ0aGVyIGZpbHRlcmVkIGlmIHRo
ZSBBdFdvcmRTdGFydHMgb3B0aW9uIGlzIHNwZWNpZmllZCwgYWx0aG91Z2ggc29tZQogLy8gbWF0
Y2hlcyBpbnNpZGUgYSB3b3JkIGFyZSBwZXJtaXR0ZWQgaWYgVHJlYXRNZWRpYWxDYXBpdGFsQXNX
b3JkU3RhcnQgaXMgc3BlY2lmaWVkIGFzIHdlbGwuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTZWFyY2hCdWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBT
dHJpbmcmIHRhcmdldCwgRmluZE9wdGlvbnMpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmggYi9XZWJDb3JlL2ZpbGVhcGkvRmls
ZVRocmVhZC5oCmluZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZmls
ZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApAQCAt
NTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQgc3RvcCgp
OwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGFz
ayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoKICAg
ICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRh
c2soKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgg
Yi9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggYjc3OWE1Zi4uMTJhNzAx
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCisrKyBiL1dl
YkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBG
aWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAvLyBL
ZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9pbnQg
dG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVyLXBy
b2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBMb2Nh
bEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQgYmVm
b3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmggYi9X
ZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIwYWM0
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisrKyBi
L1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgsOCBAQCBj
bGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmlsZVN5c3Rl
bVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0NhbGxiYWNr
LCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBlbmFtZSBS
ZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxsYmFja0hl
bHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJlc3VsdFR5
cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlwZSogb2Jz
ZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJv
bGxlci5oIGIvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCmluZGV4IGU4
OWUzMmIuLjEyODg0ZWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENv
bnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgK
QEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgQmFja0ZvcndhcmRMaXN0OwogY2xhc3MgSGlzdG9yeUl0
ZW07CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBCYWNrRm9yd2FyZENvbnRyb2xsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShCYWNrRm9yd2FyZENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NSZWZQ
dHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oIGIvV2ViQ29yZS9oaXN0b3J5L1Bh
Z2VDYWNoZS5oCmluZGV4IDcxYWU1YWQuLjkxMmJkNjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaGlz
dG9yeS9QYWdlQ2FjaGUuaAorKysgYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAgLTM5
LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhpc3RvcnlJdGVtOwog
ICAgIGNsYXNzIFBhZ2U7CiAgICAgCi0gICAgY2xhc3MgUGFnZUNhY2hlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlQ2FjaGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQYWdlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUqIHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBiL1dlYkNvcmUvaHRtbC9Db2xsZWN0
aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZhLi44ZTRhMDY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5o
CkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsK
IAotc3RydWN0IENvbGxlY3Rpb25DYWNoZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxl
Y3Rpb25DYWNoZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAg
Q29sbGVjdGlvbkNhY2hlKCk7CiAgICAgQ29sbGVjdGlvbkNhY2hlKGNvbnN0IENvbGxlY3Rpb25D
YWNoZSYpOwogICAgIENvbGxlY3Rpb25DYWNoZSYgb3BlcmF0b3I9KGNvbnN0IENvbGxlY3Rpb25D
YWNoZSYgb3RoZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxp
c3QuaCBiL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oCmluZGV4IDJiNzExYjQu
LjhmNmZkNGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5o
CisrKyBiL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oCkBAIC0zNSw2ICszNSw3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERPTVNldHRhYmxlVG9rZW5MaXN0IDog
cHVibGljIERPTVRva2VuTGlzdCwgcHVibGljIFJlZkNvdW50ZWQ8RE9NU2V0dGFibGVUb2tlbkxp
c3Q+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxET01TZXR0YWJsZVRva2VuTGlzdD4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmggYi9XZWJDb3JlL2h0bWwvRE9NVG9rZW5M
aXN0LmgKaW5kZXggNWRmMmVkZS4uMGI3NWI2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0RP
TVRva2VuTGlzdC5oCisrKyBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaApAQCAtMjcsMTUg
KzI3LDE2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7
CiAKLWNsYXNzIERPTVRva2VuTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01U
b2tlbkxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVRva2VuTGlzdCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAg
IHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9OwogCiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0g
MDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmggYi9XZWJDb3Jl
L2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCmluZGV4IDUwZGU3MTAuLjNiZjIyYTQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKKysrIGIvV2ViQ29yZS9odG1sL0hU
TUxQYXJzZXJRdWlya3MuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIEhUTUxQYXJzZXJR
dWlya3NfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBOb2RlOwogCi1jbGFzcyBI
VE1MUGFyc2VyUXVpcmtzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQYXJzZXJR
dWlya3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJzZXJRdWlya3MpOwogcHVi
bGljOgogICAgIEhUTUxQYXJzZXJRdWlya3MoKSB7IH0KICAgICB2aXJ0dWFsIH5IVE1MUGFyc2Vy
UXVpcmtzKCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmggYi9XZWJD
b3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggNGQyNWE5Ny4uM2U0NmM1OCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaApA
QCAtMzMsNiArMzMsNyBAQAogI2RlZmluZSBJbnB1dFR5cGVfaAogCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CkBAIC02MCwxMyArNjEsMTQgQEAgc3RydWN0IENsaWNrSGFuZGxpbmdTdGF0ZSB7CiAg
ICAgYm9vbCBpbmRldGVybWluYXRlOwogICAgIFJlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBjaGVj
a2VkUmFkaW9CdXR0b247CiAKLSAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogfTsKIAogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNl
bnRzIHRoZSB0eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERv
IG5vdCBleHBvc2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZy
b20gaXQgdG8gY2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3Mg
SW5wdXRUeXBlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElu
cHV0RWxlbWVudCosIGNvbnN0IFN0cmluZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0
VHlwZT4gY3JlYXRlVGV4dChIVE1MSW5wdXRFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvU3RlcFJhbmdlLmggYi9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggY2UwNDRl
YS4uMmZhMTM5MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCisrKyBiL1dl
YkNvcmUvaHRtbC9TdGVwUmFuZ2UuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAKLWNsYXNzIFN0ZXBSYW5nZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFuZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYXNTdGVwOwogICAgIGRvdWJsZSBz
dGVwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmggYi9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAppbmRleCBkNzhlM2YzLi5mNWQ0ODMwIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAorKysgYi9XZWJDb3JlL2h0
bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDsKIAotY2xhc3MgVmFsaWRhdGlvbk1l
c3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRlKEZvcm1Bc3NvY2lh
dGVkRWxlbWVudCopOwogICAgIH5WYWxpZGF0aW9uTWVzc2FnZSgpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgK
aW5kZXggZTE0MGM0OS4uNGE5NjQ4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL1ZhbGlkaXR5
U3RhdGUuaAorKysgYi9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC0yOSw3ICsyOSw4
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVmFsaWRpdHlTdGF0ZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxpZGl0eVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShWYWxpZGl0eVN0YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRlKEZvcm1Bc3NvY2lh
dGVkRWxlbWVudCogY29udHJvbCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IGEyNWU4YTEuLmExNDM1OTYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC00MSw3ICs0MSw4IEBAIGNs
YXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7CiAK
LWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQoSFRNTENhbnZhc0VsZW1lbnQqKTsKICAgICB2aXJ0
dWFsIH5DYW52YXNSZW5kZXJpbmdDb250ZXh0KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1By
ZWxvYWRTY2FubmVyLmgKaW5kZXggN2FjMjgyZi4uZmFlOTVhMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgQ1NTUHJlbG9h
ZFNjYW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTUHJlbG9hZFNjYW5uZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1ByZWxvYWRTY2FubmVyKTsKIHB1YmxpYzoK
ICAgICBDU1NQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmggYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKaW5kZXggOGIwOWJmNS4uNWE0YTY1ZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCisrKyBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaApAQCAtNDAsNyArNDAsOCBAQCBj
bGFzcyBBdG9taWNIVE1MVG9rZW47CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEVsZW1lbnQ7CiAK
LWNsYXNzIEhUTUxDb25zdHJ1Y3Rpb25TaXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxDb25zdHJ1Y3Rpb25TaXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MQ29u
c3RydWN0aW9uU2l0ZSk7CiBwdWJsaWM6CiAgICAgSFRNTENvbnN0cnVjdGlvblNpdGUoRG9jdW1l
bnQqLCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24sIGJvb2wgaXNQYXJzaW5nRnJhZ21lbnQp
OwogICAgIH5IVE1MQ29uc3RydWN0aW9uU2l0ZSgpOwpAQCAtODksNyArOTAsOCBAQCBwdWJsaWM6
CiAgICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9mb3JtLmdldCgp
OyB9CiAgICAgUGFzc1JlZlB0cjxIVE1MRm9ybUVsZW1lbnQ+IHRha2VGb3JtKCk7CiAKLSAgICBj
bGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCk7CiAgICAgcHVibGljOgog
ICAgICAgICBSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQoSFRNTENvbnN0cnVjdGlvblNpdGUm
IHRyZWUpCiAgICAgICAgICAgICA6IG1fdHJlZSh0cmVlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TERvY3VtZW50UGFyc2VyLmgKaW5kZXggZmNhMjY5YS4uOWY5ODM1NyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIFNjcmlw
dENvbnRyb2xsZXI7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBIVE1MRG9jdW1l
bnRQYXJzZXIgOiAgcHVibGljIFNjcmlwdGFibGVEb2N1bWVudFBhcnNlciwgSFRNTFNjcmlwdFJ1
bm5lckhvc3QsIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MRG9jdW1lbnRQYXJzZXI+
IGNyZWF0ZShIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycykKICAgICB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaCBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCmluZGV4IDhhOGUxNjAuLmFkOGI5
NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCkBAIC0zOSwxMiArMzks
MTQgQEAgY2xhc3MgUXVhbGlmaWVkTmFtZTsKIAogLy8gTk9URTogVGhlIEhUTUw1IHNwZWMgdXNl
cyBhIGJhY2t3YXJkcyAoZ3Jvd3MgZG93bndhcmQpIHN0YWNrLiAgV2UncmUgdXNpbmcKIC8vIG1v
cmUgc3RhbmRhcmQgKGdyb3dzIHVwd2FyZHMpIHN0YWNrIHRlcm1pbm9sb2d5IGhlcmUuCi1jbGFz
cyBIVE1MRWxlbWVudFN0YWNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxFbGVt
ZW50U3RhY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxFbGVtZW50U3RhY2spOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNrKCk7
CiAgICAgfkhUTUxFbGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IH5FbGVtZW50UmVjb3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0Lmgg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAppbmRleCBh
Y2EwNWJiLi5mNzVmYTUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3Jt
YXR0aW5nRWxlbWVudExpc3QuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0
aW5nRWxlbWVudExpc3QuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBFbGVtZW50OwogCiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1l
bnRTdGFjay4KLWNsYXNzIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRN
TEZvcm1hdHRpbmdFbGVtZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCAxYmZiYWY5Li5kOTVl
YzMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFz
dCBvZiB0aGUgYWZ0ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRk
cyBkYXRhIGF0IHRoZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0
aGVtIHRvIHRoZSAibGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSFRNTElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0o
KQogICAgICAgICA6IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOSw3ICsxMzAsOCBAQCBwcml2YXRl
OgogICAgIFNlZ21lbnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9p
bnRSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNv
cmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1
YmxpYzoKICAgICBleHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0m
IGlucHV0U3RyZWFtKQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaCBiL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmgKaW5kZXggYzMxMzZmNS4u
NDVmYmFmNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQ
YXJzZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5o
CkBAIC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEhUTUxUb2tlbml6
ZXI7CiBjbGFzcyBUZXh0Q29kZWM7CiAKLWNsYXNzIEhUTUxNZXRhQ2hhcnNldFBhcnNlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MTWV0YUNoYXJzZXRQYXJzZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEhUTUxNZXRhQ2hhcnNldFBhcnNlcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8SFRNTE1ldGFDaGFyc2V0UGFyc2VyPiBjcmVhdGUoKSB7IHJldHVy
biBhZG9wdFB0cihuZXcgSFRNTE1ldGFDaGFyc2V0UGFyc2VyKCkpOyB9CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oIGIvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKaW5kZXggNWJlMzNiMC4uNjQ3NjAyMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKQEAgLTI4LDE0ICsyOCwx
NCBAQAogCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlcjsKIAot
Y2xhc3MgSFRNTFBhcnNlclNjaGVkdWxlciA6ICBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTFBhcnNlclNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNl
clNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEhUTUxQYXJzZXJTY2hlZHVsZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJz
ZXIqIHBhcnNlcikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
cmVsb2FkU2Nhbm5lci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIu
aAppbmRleCA5NGE5MGU2Li5iZWQ3N2ZlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxv
YWRTY2FubmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDU1NQcmVsb2FkU2Nhbm5l
ci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbi5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5o
IgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTFRva2VuaXplcjsK
IGNsYXNzIFNlZ21lbnRlZFN0cmluZzsKIAotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSFRNTFByZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uOTg2ZjdiZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNp
bmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NDIsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0Owog
Y2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFNjcmlwdFJ1bm5lcj4gY3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCwgSFRNTFNjcmlwdFJ1bm5lckhvc3QqIGhvc3QpCiAgICAgewpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaCBiL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRva2VuLmgKaW5kZXggNDJjZGRiOC4uMWNiYzE1MSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbi5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFRva2VuX2gKIAogI2lu
Y2x1ZGUgIk5hbWVkTm9kZU1hcC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEhUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIVE1MVG9rZW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAg
ICAgIFVuaW5pdGlhbGl6ZWQsCkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICAvLyB3
YW50IHRvIGVuZCB1cCB3aXRoIGEgY2xlYW5lciBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdHdvIGNs
YXNzZXMuCiAgICAgZnJpZW5kIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIAotICAgIGNsYXNzIERv
Y3R5cGVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEb2N0eXBlRGF0YSB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3R5cGVEYXRhKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIERvY3R5cGVEYXRhKCkKICAgICAgICAgICAgIDogbV9oYXNQdWJsaWNJZGVudGlm
aWVyKGZhbHNlKQpAQCAtMzUyLDcgKzM1Myw4IEBAIHByaXZhdGU6CiAKIC8vIEZJWE1FOiBUaGlz
IGNsYXNzIHNob3VsZCBldmVudHVhbGx5IGJlIG5hbWVkIEhUTUxUb2tlbiBvbmNlIHdlIG1vdmUg
dGhlCiAvLyBleGl0aW5nIEhUTUxUb2tlbiB0byBiZSBpbnRlcm5hbCB0byB0aGUgSFRNTFRva2Vu
aXplci4KLWNsYXNzIEF0b21pY0hUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBBdG9taWNIVE1MVG9rZW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY0hUTUxU
b2tlbik7CiBwdWJsaWM6CiAgICAgQXRvbWljSFRNTFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiAg
ICAgICAgIDogbV90eXBlKHRva2VuLnR5cGUoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRva2VuaXplci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVy
LmgKaW5kZXggZjE2YjA0OS4uZmE0NWNiMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVG9rZW5pemVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVy
LmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRWxlbWVudDsKIGNsYXNzIEZyYW1lOwogY2xhc3Mg
SFRNTFRva2VuOwogCi1jbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhUTUxUb2tlbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tl
bml6ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFN0YXRl
IHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Myw4IEBAIHB1YmxpYzoKIAogcHJp
dmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVu
dC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAgICBjbGFzcyBJbnB1dFN0
cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW5wdXRT
dHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1dFN0
cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJbnB1dFN0cmVhbVByZXBy
b2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAgICAgICA6IG1fdG9rZW5p
emVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRl
eCBjMzdkNmYxLi44MzdkYmYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
cmVlQnVpbGRlci5jcHAKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIu
Y3BwCkBAIC0yNDEsNyArMjQxLDggQEAgSFRNTEZvcm1FbGVtZW50KiBjbG9zZXN0Rm9ybUFuY2Vz
dG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8gbmFtZXNwYWNlCiAKLWNsYXNzIEhUTUxUcmVl
QnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIp
OwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIoQXRv
bWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX2N1cnJlbnQodG9rZW4uY2hhcmFjdGVy
cygpLmRhdGEoKSkKQEAgLTIzMzUsNyArMjMzNiw4IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpy
ZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICBwcm9jZXNzRW5kVGFn
KHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNlcnRp
b25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGYWtlSW5zZXJ0aW9uTW9kZSk7CiBw
dWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUoSFRNTFRyZWVCdWlsZGVyKiB0cmVlQnVpbGRl
ciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAgICA6IG1fdHJlZUJ1aWxkZXIodHJlZUJ1aWxk
ZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oIGIv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRleCAxN2I3N2I3Li4zMDlh
YzZmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCisr
KyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKQEAgLTUxLDcgKzUxLDgg
QEAgY2xhc3MgSFRNTERvY3VtZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIEhUTUxEb2N1bWVudFBh
cnNlcjsKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhUTUxUcmVlQnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRyZWVC
dWlsZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBwYXJz
ZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzLCBib29sIHVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwNCw3ICsyMDUsOCBAQCBwcml2YXRlOgog
ICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlNb2RlQW5kUmVzZXRNb2Rl
KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRGb3JlaWduSW5zZXJ0aW9u
TW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAgICBGcmFnbWVudFBhcnNp
bmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJh
Z21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGlu
Z0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKKysrIGIvV2ViQ29y
ZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCkBAIC0yOCw3ICsyOCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbEluY3JlbWVudGVyKTsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcih1bnNpZ25lZCYgbmVzdGlu
Z0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0aW5nTGV2ZWwpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oIGIvV2ViQ29yZS9pbnNwZWN0
b3IvQ29uc29sZU1lc3NhZ2UuaAppbmRleCAwNmExN2Q0Li5mMmU5MWQ3IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgU2NyaXB0Q2FsbEZyYW1l
OwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFsdWU7CiAKLWNsYXNzIENv
bnNvbGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENvbnNvbGVNZXNzYWdl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2FnZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2Us
IE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5zaWduZWQgbGks
IGNvbnN0IFN0cmluZyYgdSk7CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVz
c2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCBQYXNzUmVmUHRyPFNjcmlw
dEFyZ3VtZW50cz4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCmluZGV4IDExZjEw
Y2UuLjRjYzA0YjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxp
Y2F0aW9uQ2FjaGVBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxp
Y2F0aW9uQ2FjaGVBZ2VudC5oCkBAIC00MCw3ICs0MCw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVj
dDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xh
c3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KElu
c3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5k
KiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDQ4MTM0NGQuLmNlMmM3
MmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEwMSw3ICsx
MDEsOCBAQCBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0
SGFuZHNoYWtlUmVzcG9uc2U7CiAjZW5kaWYKIAotY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IENvbnNvbGVQ
YW5lbDsKICAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgRWxlbWVudHNQYW5lbDsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA2ZTQ1ZTU5Li5iZTk3
ZTA4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC01
Miw3ICs1Miw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2ZUJyZWFrcG9p
bnREZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6
IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9y
RGVidWdnZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqLCBJbnNwZWN0b3JGcm9u
dGVuZCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRlYnVnZ2VyQWdlbnQoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaCBiL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAppbmRleCA5ZGNh
YTVhLi4xOWY2YWQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudExvY2FsLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRMb2NhbC5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xs
ZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJ
bnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRM
b2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVj
dG9yQ29udHJvbGxlciosIFBhZ2UqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgK
aW5kZXggZTY3ODQ4ZC4uMTYwOGRhMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5oCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBy
b2ZpbGVyQWdlbnQuaApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBj
bGFzcyBTY3JpcHRIZWFwU25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJ
bnNwZWN0b3JQcm9maWxlckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclBy
b2ZpbGVyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxJbnNwZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29u
dHJvbGxlciopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCBiYzFlMDI3Li44MWFk
NDkxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC03
MCw3ICs3MCw4IEBAIGVudW0gVGltZWxpbmVSZWNvcmRUeXBlIHsKICAgICBTY2hlZHVsZVJlc291
cmNlUmVxdWVzdFRpbWVsaW5lUmVjb3JkVHlwZSA9IDIwCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JU
aW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQo
SW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oCmluZGV4IDEwMTZhZWQuLmRkZDUwNzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Ny
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Dcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEhUVFBIZWFkZXJNYXA7CiAgICAgY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVt
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlSXRlbSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbShib29s
IGNyZWRlbnRpYWxzKQogICAgICAgICAgICAgOiBtX2Fic29sdXRlRXhwaXJ5VGltZSgwKQpAQCAt
NjMsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEhlYWRlcnNTZXQgbV9o
ZWFkZXJzOwogICAgIH07CiAKLSAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENh
Y2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdo
dFJlc3VsdENhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5Q
cmVmbGlnaHRSZXN1bHRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJl
ZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXIuaCBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGVi
ZjNhMjUuLjNhM2NjNjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFk
YWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50OwogCiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRo
cmVhZGFibGVMb2FkZXIsIHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
dm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJP
cHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlcj4gY3JlYXRlKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRXcml0ZXIuaAppbmRleCA1ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3Jp
dGVyLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBTZWN1cml0eU9yaWdp
bjsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiAKLWNsYXNzIERvY3VtZW50V3JpdGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50V3JpdGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEb2N1bWVudFdyaXRlcik7CiBwdWJsaWM6CiAgICAgRG9jdW1lbnRXcml0
ZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgg
Yi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA1NjBlYTkxLi4wODQzNDg2IDEw
MDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYK
IH07CiAKLWNsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJD
bGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50
IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShF
bXB0eUZyYW1lTG9hZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CisgICAgRW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RnJh
bWVMb2FkZXJDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lTG9hZGVyRGVzdHJv
eWVkKCkgeyB9CiAKQEAgLTM4Niw4ICszODgsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29udGV4dCgp
IHsgcmV0dXJuIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4oKTsgfQogfTsKIAot
Y2xhc3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUVkaXRvckNsaWVudCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAg
ICAgdmlydHVhbCB+RW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFn
ZURlc3Ryb3llZCgpIHsgfQogCkBAIC00OTgsOCArNTAyLDEwIEBAIHB1YmxpYzoKIH07CiAKICNp
ZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBw
dWJsaWMgQ29udGV4dE1lbnVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShFbXB0eUNvbnRleHRNZW51Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAg
IHZpcnR1YWwgfkVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lk
IGNvbnRleHRNZW51RGVzdHJveWVkKCkgeyB9CiAKQEAgLTUyNSw4ICs1MzEsMTAgQEAgcHVibGlj
OgogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKLWNsYXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RHJhZ0NsaWVudCgpIHsgfQogICAgIHZp
cnR1YWwgfkVtcHR5RHJhZ0NsaWVudCgpIHt9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3Jt
RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgRHJhZ0RhdGEqKSB7
IH0KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3Vy
Y2VBY3Rpb24sIGNvbnN0IEludFBvaW50JiwgQ2xpcGJvYXJkKikgeyB9CkBAIC01MzgsOCArNTQ2
LDEwIEBAIHB1YmxpYzoKIH07CiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotY2xh
c3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVj
dG9yQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUluc3BlY3RvckNsaWVu
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5SW5zcGVjdG9y
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KIAog
ICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmggYi9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlz
c2lvbi5oCmluZGV4IGQ3MjQ4MzUuLjdmNThmOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVy
L0Zvcm1TdWJtaXNzaW9uLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaApA
QCAtNDcsNyArNDcsOCBAQCBjbGFzcyBGb3JtU3VibWlzc2lvbiA6IHB1YmxpYyBSZWZDb3VudGVk
PEZvcm1TdWJtaXNzaW9uPiB7CiBwdWJsaWM6CiAgICAgZW51bSBNZXRob2QgeyBHZXRNZXRob2Qs
IFBvc3RNZXRob2QgfTsKIAotICAgIGNsYXNzIEF0dHJpYnV0ZXMgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIEF0dHJpYnV0ZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShBdHRyaWJ1dGVzKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEF0dHJpYnV0ZXMoKQogICAgICAg
ICAgICAgOiBtX21ldGhvZChHZXRNZXRob2QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCBmMWMyMTg5
Li40NGVkYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBi
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTg2LDcgKzg2LDggQEAgc3RydWN0IFdp
bmRvd0ZlYXR1cmVzOwogCiBib29sIGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBl
KTsKIAotY2xhc3MgRnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJh
bWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyKTsKIHB1Ymxp
YzoKICAgICBGcmFtZUxvYWRlcihGcmFtZSosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAgICAgfkZy
YW1lTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRl
TWFjaGluZS5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAppbmRl
eCBjMzQwOGMyLi5mZTM3ZWNlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
clN0YXRlTWFjaGluZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNo
aW5lLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBFbmNhcHN1
bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxvYWRlci4gTm90ZSB0aGF0IHRoaXMgaXMg
ZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdoaWNoIHN0b3JlcyB0aGUgc3RhdGUgb2Yg
dGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVyIGlzIGV4ZWN1dGluZy4KLWNsYXNzIEZy
YW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1l
TG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRl
clN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaCBiL1dlYkNv
cmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5kZXggMWJmNTA3Mi4uZWM2MmI4NyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3Jl
L2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIEZyYW1l
OwogY2xhc3MgSGlzdG9yeUl0ZW07CiBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiAKLWNs
YXNzIEhpc3RvcnlDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhpc3Rv
cnlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIaXN0b3J5Q29udHJvbGxl
cik7CiBwdWJsaWM6CiAgICAgZW51bSBIaXN0b3J5VXBkYXRlVHlwZSB7IFVwZGF0ZUFsbCwgVXBk
YXRlQWxsRXhjZXB0QmFja0ZvcndhcmRMaXN0IH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL0ltYWdlTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRl
eCBhNzdlOGMwLi4wNjliNDBlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRl
ci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC01Nyw3ICs1Nyw4
IEBAIHRlbXBsYXRlPD4gc3RydWN0IFZhbHVlQ2hlY2s8V2ViQ29yZTo6SW1hZ2VMb2FkZXIqPiB7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSW1hZ2VFdmVudFNlbmRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZUV2ZW50U2VuZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbWFnZUV2ZW50U2VuZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgSW1hZ2VFdmVudFNlbmRlcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
IGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKaW5kZXggZDJkMGY3Zi4u
M2ZkMTU5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5j
cHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTUxLDcg
KzUxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTY2hlZHVsZWROYXZpZ2F0
aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjaGVkdWxlZE5hdmlnYXRpb24gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZE5hdmlnYXRpb24pOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9uKGRvdWJsZSBk
ZWxheSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0LCBib29sIHdh
c0R1cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBtX2RlbGF5KGRl
bGF5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oIGIv
V2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCmluZGV4IDRmM2JlYmMuLjljNmJi
NGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmgKQEAgLTQ4LDcgKzQ4LDggQEAg
Y2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKIHN0cnVjdCBGcmFtZUxvYWRSZXF1ZXN0OwogCi1jbGFz
cyBOYXZpZ2F0aW9uU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5hdmln
YXRpb25TY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5hdmlnYXRpb25TY2hl
ZHVsZXIpOwogcHVibGljOgogICAgIE5hdmlnYXRpb25TY2hlZHVsZXIoRnJhbWUqKTsKICAgICB+
TmF2aWdhdGlvblNjaGVkdWxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUGluZ0xv
YWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCmluZGV4IGViNDMxNjYuLjcwN2M0
NDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAorKysgYi9XZWJDb3Jl
L2xvYWRlci9QaW5nTG9hZGVyLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgUmVzb3VyY2VSZXNw
b25zZTsKIC8vIHRvIGFsbG93IHRoZSBsb2FkIHRvIGxpdmUgbG9uZyBlbm91Z2ggdG8gZW5zdXJl
IHRoZSBtZXNzYWdlIHdhcyBhY3R1YWxseSBzZW50LgogLy8gVGhlcmVmb3JlLCBhcyBzb29uIGFz
IGEgY2FsbGJhY2sgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgUmVzb3VyY2VIYW5kbGUsIHRoaXMgY2xh
c3MgCiAvLyB3aWxsIGNhbmNlbCB0aGUgbG9hZCBhbmQgZGVsZXRlIGl0c2VsZi4KLWNsYXNzIFBp
bmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBpbmdMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsb2FkSW1hZ2UoRnJhbWUqLCBjb25zdCBL
VVJMJiB1cmwpOwogICAgIHN0YXRpYyB2b2lkIHNlbmRQaW5nKEZyYW1lKiwgY29uc3QgS1VSTCYg
cGluZ1VSTCwgY29uc3QgS1VSTCYgZGVzdGluYXRpb25VUkwpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oIGIvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5o
CmluZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1BvbGlj
eUNoZWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKQEAgLTQ1LDcg
KzQ1LDggQEAgY2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBQb2xpY3lDaGVja2VyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFBvbGljeUNoZWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBvbGljeUNoZWNrZXIpOwogcHVibGljOgogICAgIFBvbGljeUNoZWNrZXIoRnJhbWUqKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggY2QxNTQzMy4uNjVkZDFjNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9XZWJDb3Jl
L2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01MCw3ICs1MCw5IEBAIHN0YXRpYyBjb25z
dCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAgLSBpbml0aWFsUHJvZ3Jl
c3NWYWx1ZQogCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzSXRlbURlZmF1bHRFc3RpbWF0ZWRM
ZW5ndGggPSAxMDI0ICogMTY7CiAKLXN0cnVjdCBQcm9ncmVzc0l0ZW0gOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVz
c0l0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBQcm9ncmVzc0l0
ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQogICAgICAg
ICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApp
bmRleCA1ZDViNmIyLi5lYTVmN2Y5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVz
c1RyYWNrZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtMzYs
NyArMzYsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBzdHJ1Y3Qg
UHJvZ3Jlc3NJdGVtOwogCi1jbGFzcyBQcm9ncmVzc1RyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUHJvZ3Jlc3NUcmFja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
cm9ncmVzc1RyYWNrZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQ
cm9ncmVzc1RyYWNrZXIoKTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oIGIvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkTm90aWZpZXIuaAppbmRleCAyZjEwODU2Li5hNmQ5MmZiIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCisrKyBiL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKQEAgLTQzLDcgKzQzLDggQEAgY2xhc3MgUmVzb3VyY2VM
b2FkZXI7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0Owog
Ci1jbGFzcyBSZXNvdXJjZUxvYWROb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSZXNvdXJjZUxvYWROb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3Vy
Y2VMb2FkTm90aWZpZXIpOwogcHVibGljOgogICAgIFJlc291cmNlTG9hZE5vdGlmaWVyKEZyYW1l
Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5o
IGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKaW5kZXggMTYzYjY3ZS4u
ZjJlNjI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKQEAgLTQ0LDcg
KzQ0LDggQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7
CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2No
ZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1
YmxpYzoKICAgICBmcmllbmQgUmVzb3VyY2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hl
ZHVsZXIoKTsKIApAQCAtNjksNyArNzAsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVT
ZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpOwogICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8
UmVzb3VyY2VMb2FkU2NoZWR1bGVyPiopOwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAg
ICAgICAgSG9zdEluZm9ybWF0aW9uKGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAg
fkhvc3RJbmZvcm1hdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVM
b2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4u
YmE2M2E1YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC01NCw3ICs1NCw4IEBAIGNsYXNz
IE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9tZXIuIEl0
IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3ViZnJhbWVz
IGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1YmZy
YW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9XZWJDb3JlL2xvYWRl
ci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uZjU3NGM5NCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Ro
cmVhZGFibGVMb2FkZXIuaApAQCAtNjUsNyArNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAvLyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVh
ZCAobm90IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBv
dGhlciB0aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNs
aWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3Niw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7
IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAg
ICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZU
aHJlYWRhYmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFk
YWJsZUxvYWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dC5oCmluZGV4IGJjZjY4YmUuLmNlYThiMGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Ro
cmVhZGFibGVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgUmVz
b3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVh
ZGFibGVMb2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcgLypi
eXRlc1NlbnQqLywgdW5zaWduZWQgbG9uZyBsb25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8pIHsg
fQogCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJikgeyB9CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQoKSB7IH0KICAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJsZUxvYWRlckNsaWVudCgp
IHsgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFi
bGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAppbmRl
eCA4MWRhMmUwLi42NWNjNjM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJl
YWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRl
ci5oCkBAIC01NCw2ICs1NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgY2xhc3MgV29ya2VyVGhyZWFkYWJs
ZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFibGVMb2FkZXI+LCBwdWJs
aWMgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNs
eShXb3JrZXJDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFdvcmtlclRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShXb3JrZXJDb250ZXh0
KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0
cmluZyYgdGFza01vZGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCmluZGV4IDI5ZDA3NDkuLjZmMDRmMWUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCisr
KyBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCkBAIC01
Myw3ICs1Myw4IEBAIGVudW0gQXBwbGljYXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB7CiAgICAgQXBw
bGljYXRpb25DYWNoZVVwZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRleHQKIH07CiAKLWNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgUmVzb3VyY2VIYW5kbGVD
bGllbnQgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogUmVzb3VyY2VIYW5kbGVDbGll
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVHcm91cCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFwcGxpY2F0aW9uQ2FjaGVHcm91
cChjb25zdCBLVVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBpc0NvcHkgPSBmYWxzZSk7ICAgIAogICAg
IH5BcHBsaWNhdGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlSG9zdC5oCmluZGV4IDhhYzUzNTcuLmExZjI4NDEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKKysrIGIvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaApAQCAtNTgsNyArNTgs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3Jh
Z2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFs
dWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCiAgICAgICAgIGVudW0gU3RhdHVz
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVT
dG9yYWdlLmggYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZS5oCmluZGV4IDdkYjM0ZTYuLjhiZmRmMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaApAQCAtNDQsNyArNDQsOCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVD4KIGNsYXNzIFN0b3JhZ2VJREpvdXJuYWw7CiBjbGFzcyBTZWN1cml0eU9yaWdp
bjsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAgICAgT3JpZ2luUXVvdGFSZWFj
aGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VD
b2xsZWN0aW9uLmggYi9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxl
Y3Rpb24uaAppbmRleCA5ZDYzMGQxLi5mZDJkZGJmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaAorKysgYi9XZWJDb3JlL2xvYWRl
ci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaApAQCAtMzksNyArMzksOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFyY2hpdmVSZXNvdXJjZUNvbGxl
Y3Rpb24oKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggMzYwMGEw
Mi4uNWM4YjM4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC01MCw3
ICs1MCw4IEBAIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlcjsKIC8vIEEgcmVzb3VyY2UgdGhhdCBpcyBo
ZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBvYmplY3Qgc2hv
dWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0IHRoZSBmdW5j
dGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZlZC4KIC8vIFRo
aXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBsb2Fk
ZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xhc3MgQ2FjaGVk
UmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVzb3VyY2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogICAgIGZyaWVuZCBjbGFz
cyBJbnNwZWN0b3JSZXNvdXJjZTsKICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUNsaWVudC5oCmluZGV4IDI3NWQzMzEuLjFjNTZmMTMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaApAQCAtNDUsOCArNDUsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICogaW5oZXJpdCBmcm9tIHRoaXMgY2xhc3MgYW5kIG92ZXJsb2Fk
IG9uZSBvZiB0aGUgMyBmdW5jdGlvbnMKICAgICAgKgogICAgICAqLwotICAgIGNsYXNzIENhY2hl
ZFJlc291cmNlQ2xpZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2UKLSAgICB7CisgICAgY2xhc3Mg
Q2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkNhY2hlZFJlc291cmNlQ2xpZW50KCkgeyB9
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDJi
OTA2MTEuLmM3ZjU5MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBJbWFnZUxvYWRlcjsKIGNsYXNzIEtVUkw7
CiAKIC8vIFRoZSBDYWNoZWRSZXNvdXJjZUxvYWRlciBtYW5hZ2VzIHRoZSBsb2FkaW5nIG9mIHNj
cmlwdHMvaW1hZ2VzL3N0eWxlc2hlZXRzIGZvciBhIHNpbmdsZSBkb2N1bWVudC4KLWNsYXNzIENh
Y2hlZFJlc291cmNlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hlZFJl
c291cmNlTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZUxv
YWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hl
OwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oIGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aAppbmRleCAyNzk4ZmJhLi4yZWE4MWU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9NZW1vcnlDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgK
QEAgLTcwLDcgKzcwLDggQEAgY2xhc3MgS1VSTDsKIC8vIGl0cyBtZW1iZXIgdmFyaWFibGVzKSBh
cmUgYWxsb2NhdGVkIGluIG5vbi1wdXJnZWFibGUgVEMtbWFsbG9jJ2QgbWVtb3J5IHNvIHdlIHdv
dWxkIHNlZSBzbGlnaHRseQogLy8gbW9yZSBtZW1vcnkgdXNlIGR1ZSB0byB0aGlzLgogCi1jbGFz
cyBNZW1vcnlDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZW1vcnlDYWNoZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVtb3J5Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBmcmllbmQgTWVtb3J5Q2FjaGUqIGNhY2hlKCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmggYi9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZS5oCmluZGV4IDYxNDZhYTYuLmUwOGRjZDQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9sb2Fk
ZXIvaWNvbi9JY29uRGF0YWJhc2UuaApAQCAtNjIsOCArNjIsOCBAQCBlbnVtIEljb25Mb2FkRGVj
aXNpb24gewogICAgIEljb25Mb2FkVW5rbm93bgogfTsKIAotY2xhc3MgSWNvbkRhdGFiYXNlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKLQorY2xhc3MgSWNvbkRhdGFiYXNlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIC8v
ICoqKiBNYWluIFRocmVhZCBPbmx5ICoqKgogcHVibGljOgogICAgIHZvaWQgc2V0Q2xpZW50KElj
b25EYXRhYmFzZUNsaWVudCopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2VDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50
LmgKaW5kZXggYzIxMGQ3ZC4uZjk3YTJhOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNv
bi9JY29uRGF0YWJhc2VDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRh
YmFzZUNsaWVudC5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaWZuZGVmIEljb25EYXRhYmFzZUNsaWVu
dF9oCiAjZGVmaW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFs
bG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKQEAgLTM3LDggKzM4LDEwIEBACiAgCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIEljb25EYXRhYmFzZUNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
Y29uRGF0YWJhc2VDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFz
ZUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEljb25EYXRh
YmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQog
ICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNv
bkxvYWRlci5oCmluZGV4IDFlYmFjNDguLjI5ODUzOTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL2ljb24vSWNvbkxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRl
ci5oCkBAIC0zNyw3ICszNyw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNo
YXJlZEJ1ZmZlcjsKIAotY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2Fk
ZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0
ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNv
bkxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEljb25Mb2FkZXI+IGNyZWF0ZShGcmFtZSopOwogICAgIH5JY29uTG9hZGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaCBiL1dlYkNv
cmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oCmluZGV4IGY3Y2NiOGYuLjc5MzVkYzkgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oCkBAIC01MSw3ICs1MSw4IEBAIHB1YmxpYzoK
ICAgICBTdHJpbmcgaWNvblVSTDsKIH07CiAKLWNsYXNzIFBhZ2VVUkxSZWNvcmQgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUGFnZVVSTFJlY29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFnZVVSTFJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFBhZ2VVUkxSZWNvcmQoY29uc3QgU3RyaW5nJiBwYWdlVVJMKTsKICAgICB+UGFnZVVSTFJl
Y29yZCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5o
IGIvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjcz
MTMxZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAor
KysgYi9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBj
bGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGlj
IEV2ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25z
dCBLVVJMJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNv
ZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRp
b25Db250ZW50cyYgY29udGVudHMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4
Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvV2Vi
Q29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IGFiOTI3OTYuLmU2YTBhMDAg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50OwogICAgIGNsYXNzIFBhZ2U7CiAKLSAg
ICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENvbnRleHRNZW51Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKFBhZ2UqLCBDb250ZXh0TWVu
dUNsaWVudCopOwogICAgICAgICB+Q29udGV4dE1lbnVDb250cm9sbGVyKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5oCmluZGV4IDBlOTBhNTIuLjM2MGU0NjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9E
cmFnQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBAIC00
Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSYW5nZTsKICAgICBj
bGFzcyBTZWxlY3Rpb25Db250cm9sbGVyOwogICAgIAotICAgIGNsYXNzIERyYWdDb250cm9sbGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEcmFnQ29udHJvbGxlciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERyYWdDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJh
Z0NsaWVudCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRl
eCA2NTY5NWMyLi4xYWIzOGM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC04MCw3ICs4MCw4IEBAIGV4
dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RTY3Jv
bGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9
OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRXZl
bnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXIpOwogcHVi
bGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAgIH5FdmVudEhhbmRsZXIoKTsKQEAg
LTIyNCw3ICsyMjUsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgUGVyZm9ybURyYWdBbmREcm9wCiAg
ICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlKCkgeyB9CiAgICAg
ICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVsZW1lbnQgdGhhdCBtYXkgYmUgYSBkcmFn
IHNvdXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdlc3R1cmUKICAgICAgICAgYm9vbCBtX2Ry
YWdTcmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNJbWFnZTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgK
aW5kZXggZmZlZDU5Mi4uMTBhZDZiYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTUxLDYgKzUxLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKICAgICBj
bGFzcyBFdmVudFNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50U291cmNlPiwgcHVibGlj
IEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV2ZW50U291cmNlPiBjcmVhdGUoY29uc3Qg
U3RyaW5nJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgICAgIHZpcnR1YWwgfkV2ZW50U291cmNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKaW5kZXgg
YmU1MWM3Ny4uNTBmYTJlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxl
ci5oCisrKyBiL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaApAQCAtNDAsNyArNDAsOCBA
QCBjbGFzcyBLZXlib2FyZEV2ZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNz
IEZvY3VzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb2N1c0NvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvY3VzQ29udHJvbGxlcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvY3VzQ29udHJvbGxlcihQYWdlKik7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaCBiL1dlYkNvcmUvcGFnZS9G
cmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5iYWM1NDc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bh
Z2UvRnJhbWVUcmVlLmgKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsy
Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xh
c3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkg
CiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXgg
ODUwZTFiYi4uMjgyMjQ3ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
KysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEwNiw3ICsxMDYsMTAgQEAgZG91
YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1cmluZ0xvYWRp
bmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMgaXRlcmF0aW9u
cyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMgY29uc3QgdW5z
aWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3QgU2NoZWR1bGVk
RXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitwdWJsaWM6CisgICAgU2NoZWR1bGVkRXZlbnQoKSB7IH0KICAgICBSZWZQdHI8RXZlbnQ+IG1f
ZXZlbnQ7CiAgICAgUmVmUHRyPE5vZGU+IG1fZXZlbnRUYXJnZXQ7CiB9OwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0dlb2xv
Y2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDdkYjE5NTEuLjFhMmNlNjkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL3BhZ2UvR2Vv
bG9jYXRpb25Db250cm9sbGVyLmgKQEAgLTQwLDcgKzQwLDggQEAgY2xhc3MgR2VvbG9jYXRpb25F
cnJvcjsKIGNsYXNzIEdlb2xvY2F0aW9uUG9zaXRpb247CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBH
ZW9sb2NhdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9j
YXRpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvbkNv
bnRyb2xsZXIpOwogcHVibGljOgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcihQYWdlKiwgR2Vv
bG9jYXRpb25DbGllbnQqKTsKICAgICB+R2VvbG9jYXRpb25Db250cm9sbGVyKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0
dGluZ3MuaAppbmRleCBmYjZmNmI1Li4xYmJhZDJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2Uv
R3JvdXBTZXR0aW5ncy5oCisrKyBiL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKQEAgLTMz
LDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdlR3JvdXA7CiAKLWNs
YXNzIEdyb3VwU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JvdXBTZXR0
aW5ncyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5ncyk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEdyb3VwU2V0
dGluZ3M+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2UuaCBi
L1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggNzQxM2JiNi4uMDcxYjE0MiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC05MCwxMiAr
OTAsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgZW51bSBGaW5kRGlyZWN0aW9uIHsg
RmluZERpcmVjdGlvbkZvcndhcmQsIEZpbmREaXJlY3Rpb25CYWNrd2FyZCB9OwogCi0gICAgY2xh
c3MgUGFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IHZvaWQgc2NoZWR1bGVGb3JjZWRTdHlsZVJlY2FsY0ZvckFsbFBhZ2VzKCk7CiAKICAgICAgICAg
Ly8gSXQgaXMgdXAgdG8gdGhlIHBsYXRmb3JtIHRvIGVuc3VyZSB0aGF0IG5vbi1udWxsIGNsaWVu
dHMgYXJlIHByb3ZpZGVkIHdoZXJlIHJlcXVpcmVkLgotICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVu
dHMgOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50cyB7CisgICAgICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlQ2xpZW50cyk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYWdlQ2xpZW50cygpOwogICAg
ICAgICAgICAgflBhZ2VDbGllbnRzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdl
R3JvdXAuaCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCBjYzQ3ZmJhLi42NDNjNWU2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9wYWdl
L1BhZ2VHcm91cC5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAKLSAgICBjbGFzcyBQYWdl
R3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VHcm91cCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwKGNvbnN0IFN0cmluZyYgbmFtZSk7
CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFn
ZUdyb3VwTG9hZERlZmVycmVyLmggYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVy
LmgKaW5kZXggZDQ0M2ViZC4uZjc5NTZjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BhZ2VH
cm91cExvYWREZWZlcnJlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJy
ZXIuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRnJh
bWU7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdyb3VwTG9hZERlZmVycmVyKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cExvYWREZWZlcnJlcihQYWdlKiwgYm9vbCBkZWZl
clNlbGYpOwogICAgICAgICB+UGFnZUdyb3VwTG9hZERlZmVycmVyKCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmggYi9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgK
aW5kZXggYWY4YjMxZS4uNWI5NmQxOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaApAQCAtMzUsNyArMzUsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhhbHRhYmxlUGx1Z2luOwogCi1jbGFzcyBQ
bHVnaW5IYWx0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luSGFsdGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5IYWx0ZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBQbHVnaW5IYWx0ZXIoUGx1Z2luSGFsdGVyQ2xpZW50Kik7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKaW5kZXggZjQ2MzBkZS4uNDIwZGFjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKKysrIGIvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTUwLDcgKzUwLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5
c0luY2x1ZGVkCiAgICAgfTsKIAotICAgIGNsYXNzIFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBTZXR0aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBTZXR0aW5ncyhQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1
dC5oIGIvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5kZXggNDUzMmQ0OS4uODUzYzBhYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKKysrIGIvV2ViQ29yZS9wYWdl
L1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJTcGVlY2hJbnB1dExp
c3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5wdXRMaXN0ZW5lcjsKIC8vIFRoaXMg
Y2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJlcXVpcmluZyBzcGVlY2ggaW5wdXQg
d2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUu
IEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50cyB0byBhY3RpdmF0ZSBz
cGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZvciB0aGUgc3BlZWNoIHJlY29nbml0
aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0cy4KLWNsYXNzIFNwZWVjaElucHV0
IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5lciB7CitjbGFz
cyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6CiAgICAgU3BlZWNoSW5wdXQoU3Bl
ZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVlY2hJbnB1dCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgK
aW5kZXggMDY1MjQzOS4uMDUxNDA5MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTY3Jp
cHQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCkBAIC0zNSw3ICszNSw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclNjcmlwdCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2Vy
U2NyaXB0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVXNlclNjcmlw
dChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJsLAogICAgICAgICAgICAgICAg
UGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8
U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVT
aGVldC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKaW5kZXggZmE0MmUyYy4uMDY4
ZGYxZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKKysrIGIvV2Vi
Q29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBVc2VyU3R5bGVTaGVldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBVc2VyU3R5bGVTaGVldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclN0
eWxlU2hlZXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBVc2VyU3R5
bGVTaGVldChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJsLAogICAgICAgICAg
ICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25Q
dHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2Uv
WFNTQXVkaXRvci5oIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaAppbmRleCAyYjc4MWYxLi41
YmVlZDYxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCisrKyBiL1dlYkNv
cmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIC8vICogSFRNTERvY3VtZW50UGFyc2VyOjpzaG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRG
cm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4dGVybmFsIEphdmFTY3JpcHQgc2NyaXB0cy4KICAgICAv
LyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0IC0gdXNlZCB0byBsb2FkIDxvYmplY3Q+
LzxlbWJlZD4gZWxlbWVudHMuCiAgICAgLy8KLSAgICBjbGFzcyBYU1NBdWRpdG9yIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYU1NBdWRpdG9yIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAgICAgICB+WFNTQXVkaXRvcigp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBi
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggYWI1NTFiYi4u
NzUzNDEyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNl
LmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBAIC0y
MjMsNyArMjIzLDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZTsKIHN0YXRpYyB2b2lkIGFk
ZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlKiB3cmFw
cGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBwZXJC
YXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3BlcnR5V3JhcHBlckJhc2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBlckJhc2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQcm9wZXJ0eVdyYXBwZXJCYXNlKGludCBwcm9w
KQogICAgICAgICA6IG1fcHJvcChwcm9wKQpAQCAtNDQ2LDcgKzQ0Nyw4IEBAIHB1YmxpYzoKIH07
CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
R2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2UsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMg
RmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKTsKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXJQ
cm9wZXJ0eVdyYXBwZXJHZXR0ZXIoVCAoRmlsbExheWVyOjoqZ2V0dGVyKSgpIGNvbnN0KQogICAg
ICAgICA6IG1fZ2V0dGVyKGdldHRlcikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBiL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA2ODEyZTA5Li4xODZkZDdkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRl
LmgKKysrIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0
ZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiBj
bGFzcyBSZW5kZXJTdHlsZTsKIAotY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uQ29udHJvbGxlclBy
aXZhdGUoRnJhbWUqKTsKICAgICB+QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvV2ViQ29yZS9wYWdl
L21hYy9FdmVudEhhbmRsZXJNYWMubW0KaW5kZXggMmQ0ZDg2Yi4uNjAxMTg1OSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KKysrIGIvV2ViQ29yZS9wYWdl
L21hYy9FdmVudEhhbmRsZXJNYWMubW0KQEAgLTc3LDcgKzc3LDggQEAgTlNFdmVudCAqRXZlbnRI
YW5kbGVyOjpjdXJyZW50TlNFdmVudCgpCiAgICAgcmV0dXJuIGN1cnJlbnROU0V2ZW50U2xvdCgp
LmdldCgpOwogfQogCi1jbGFzcyBDdXJyZW50RXZlbnRTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBDdXJyZW50RXZlbnRTY29wZSB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEN1cnJlbnRFdmVudFNjb3BlKTsKIHB1YmxpYzoKICAgICBDdXJyZW50RXZlbnRTY29wZShOU0V2
ZW50ICopOwogICAgIH5DdXJyZW50RXZlbnRTY29wZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lz
dGVtLmgKaW5kZXggZDk2YzFhZC4uYzM0YTY0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9Bc3luY0ZpbGVTeXN0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3Rl
bS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrczsKIGNs
YXNzIEFzeW5jRmlsZVdyaXRlckNsaWVudDsKIAogLy8gVGhpcyBjbGFzcyBwcm92aWRlcyBhc3lu
YyBpbnRlcmZhY2UgZm9yIHBsYXRmb3JtLXNwZWNpZmljIGZpbGUgc3lzdGVtIGltcGxlbWVudGF0
aW9uLiAgTm90ZSB0aGF0IGFsbCB0aGUgbWV0aG9kcyB0YWtlIHBsYXRmb3JtIHBhdGhzLgotY2xh
c3MgQXN5bmNGaWxlU3lzdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmls
ZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtKTsKIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5Bc3luY0ZpbGVTeXN0ZW0oKSB7IH0KIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKaW5kZXggMjkwYTY2OS4uY2VlOGQ5MCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCkBAIC00MSw4
ICs0MSwxMSBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW07CiBjbGFzcyBBc3luY0ZpbGVXcml0ZXI7
CiBzdHJ1Y3QgRmlsZU1ldGFkYXRhOwogCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3Mg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MpOwogcHVi
bGljOgorICAgIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcygpIHsgfSAgICAKKwogICAgIC8vIENh
bGxlZCB3aGVuIGEgcmVxdWVzdGVkIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5
LgogICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVkKCkgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJh
aW5lZFBvb2wuaAppbmRleCBkNDRlZTFlLi5mMDNlYzgxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWlu
ZWRQb29sLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgTlNBdXRvcmVsZWFzZVBvb2w7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQXV0b2RyYWluZWRQb29sIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEF1dG9kcmFpbmVkUG9vbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQXV0b2RyYWluZWRQb29sKTsKIHB1YmxpYzoKICAgICBBdXRvZHJhaW5lZFBvb2woaW50IGl0
ZXJhdGlvbkxpbWl0ID0gMSk7CiAgICAgfkF1dG9kcmFpbmVkUG9vbCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0
TWVudS5oCmluZGV4IDU3NWM4NmQuLjI5Nzc3NDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vQ29udGV4dE1lbnUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKQEAg
LTQxLDggKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQ29udGV4dE1l
bnVDb250cm9sbGVyOwogCi0gICAgY2xhc3MgQ29udGV4dE1lbnUgOiBwdWJsaWMgTm9uY29weWFi
bGUKLSAgICB7CisgICAgY2xhc3MgQ29udGV4dE1lbnUgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb250ZXh0TWVudSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgQ29udGV4dE1lbnUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9Db250ZXh0TWVudUl0ZW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgK
aW5kZXggMjU1NzUwZS4uYjVjNzBhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBA
IC0yMjQsNyArMjI0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCog
UGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0
TWVudUl0ZW0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJ
dGVtIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBDb250ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnVJdGVtVHlwZSwgQ29udGV4dE1lbnVBY3Rp
b24sIGNvbnN0IFN0cmluZyYsIENvbnRleHRNZW51KiBzdWJNZW51ID0gMCk7CiAgICAgICAgIENv
bnRleHRNZW51SXRlbShDb250ZXh0TWVudUl0ZW1UeXBlLCBDb250ZXh0TWVudUFjdGlvbiwgY29u
c3QgU3RyaW5nJiwgYm9vbCBlbmFibGVkLCBib29sIGNoZWNrZWQpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCmluZGV4IDQ3Y2Q1MzguLmMwN2QxNzMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0Rl
cHJlY2F0ZWRQdHJMaXN0LmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAot
dGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgewordGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBEZXByZWNhdGVkUHRy
TGlzdCgpIDogaW1wbChkZWxldGVGdW5jKSwgZGVsX2l0ZW0oZmFsc2UpIHsgfQogICAgIH5EZXBy
ZWNhdGVkUHRyTGlzdCgpIHsgaW1wbC5jbGVhcihkZWxfaXRlbSk7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcCBiL1dlYkNvcmUvcGxhdGZv
cm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAppbmRleCA5NmZkNTEzLi5jNjMzNzQxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCkBAIC0yOSwxMiArMjks
MTMgQEAKICNpbmNsdWRlIDxjc3RkZGVmPgogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
RGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFzcyBEZXByZWNh
dGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9k
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlcHJlY2F0ZWRMaXN0
Tm9kZSh2b2lkICpkKSA6IGRhdGEoZCksIG5leHQoMCksIHByZXYoMCkgeyB9CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmggYi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50
TG9vcC5oCmluZGV4IGIwNTA3ZjcuLjEyOGU5MmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vRXZlbnRMb29wLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaApAQCAtMzAs
NyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3Ag
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9vcCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVu
dExvb3AoKQogICAgICAgICAgICAgOiBtX2VuZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9j
YXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2NS4uOTIxMWY4ZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0dl
b2xvY2F0aW9uU2VydmljZS5oCkBAIC00Miw3ICs0Miw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJlZChHZW9sb2NhdGlvblNlcnZpY2Uq
KSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZpY2UgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblNl
cnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5H
ZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vSG9z
dFdpbmRvdy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5kZXggNzg4MmQ0OC4u
MjI1ODg0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRl
ZiBIb3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRv
dyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEhvc3RXaW5kb3coKSB7
IH0KICAgICB2aXJ0dWFsIH5Ib3N0V2luZG93KCkgeyB9CiAKICAgICAvLyBSZXF1ZXN0cyB0aGUg
aG9zdCBpbnZhbGlkYXRlIHRoZSB3aW5kb3csIG5vdCB0aGUgY29udGVudHMuICBJZiBpbW1lZGlh
dGUgaXMgdHJ1ZSBkbyBzbyBzeW5jaHJvbm91c2x5LCBvdGhlcndpc2UgYXN5bmMuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmggYi9XZWJDb3JlL3BsYXRmb3JtL0tpbGxS
aW5nLmgKaW5kZXggOGUyNzM1MC4uYjY4NzI3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9LaWxsUmluZy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaApAQCAtMzEsNiAr
MzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBLaWxsUmluZyB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBhcHBlbmQoY29uc3QgU3Ry
aW5nJik7CiAgICAgdm9pZCBwcmVwZW5kKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9MZW5ndGguaCBiL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXgg
N2RkODc1ZS4uOWRhNzFjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCkBAIC0zNSw3ICszNSw5IEBAIGNvbnN0IGlu
dCBpbnRNaW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFsdWUgZm9yIGEg
MjgtYml0IGludAogCiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwg
Rml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKIAotc3RydWN0IExlbmd0
aCA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDApCiAg
ICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3YzUwNzM3Li5lMDFiOWU1IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaApAQCAtODEsNyArODEsOCBAQCBjbGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiBj
bGFzcyBBcmNoaXZlUmVzb3VyY2U7CiAgICAgCi1jbGFzcyBQYXN0ZWJvYXJkIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFBhc3RlYm9hcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBhc3RlYm9hcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgLy9IZWxwZXIgZnVuY3Rpb25zIHRvIGFsbG93IENsaXBib2FyZCB0byBz
aGFyZSBjb2RlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRF
dmVudC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBi
YzI4ZTg0Li5hZWU5NWI0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5
Ym9hcmRFdmVudC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50
LmgKQEAgLTc1LDcgKzc1LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IGVudW0gVHlwZSB7CiAgICAgICAgICAgICAvLyBLZXlEb3duIGlzIHNlbnQgYnkgcGxhdGZvcm1z
IHN1Y2ggYXMgTWFjIE9TIFgsIGd0ayBhbmQgUXQsIGFuZCBoYXMgaW5mb3JtYXRpb24gYWJvdXQg
Ym90aCBwaHlzaWNhbCBwcmVzc2VkIGtleSwgYW5kIGl0cyB0cmFuc2xhdGlvbi4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L1B1cmdlYWJsZUJ1ZmZlci5oCmluZGV4IDliZGEyZDUuLjQ0MTM2YzIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9Q
dXJnZWFibGVCdWZmZXIuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIFB1cmdlYWJsZUJ1
ZmZlcl9oCiAKICNpbmNsdWRlICJQdXJnZVByaW9yaXR5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLSAgICBjbGFzcyBQdXJnZWFibGVC
dWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFB1cmdlYWJsZUJ1ZmZlcik7CiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxQdXJnZWFibGVCdWZmZXI+IGNyZWF0ZShj
b25zdCBjaGFyKiBkYXRhLCBzaXplX3QpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vUnVuTG9vcFRpbWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5o
CmluZGV4IDY1ZjI1M2UuLmY4YzUyOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUnVu
TG9vcFRpbWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaApAQCAtMzAs
MTUgKzMwLDE2IEBACiAjZGVmaW5lIFJ1bkxvb3BUaW1lcl9oCiAKICNpbmNsdWRlICJTY2hlZHVs
ZVBhaXIuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGltZSBpbnRlcnZhbHMgYXJl
IGFsbCBpbiBzZWNvbmRzLgogCi1jbGFzcyBSdW5Mb29wVGltZXJCYXNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFJ1bkxvb3BUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJ1bkxvb3BUaW1lckJhc2UpOwogcHVibGljOgorICAgIFJ1bkxvb3BUaW1lckJhc2UoKSB7
IH0KICAgICB2aXJ0dWFsIH5SdW5Mb29wVGltZXJCYXNlKCk7CiAKICAgICB2b2lkIHNjaGVkdWxl
KGNvbnN0IFNjaGVkdWxlUGFpciopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxiYXJUaGVtZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDBl
ZmFmN2EuLmYxMDY5MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhl
bWUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKQEAgLTM2LDggKzM2
LDEwIEBAIGNsYXNzIFBsYXRmb3JtTW91c2VFdmVudDsKIGNsYXNzIFNjcm9sbGJhcjsKIGNsYXNz
IFNjcm9sbFZpZXc7CiAKLWNsYXNzIFNjcm9sbGJhclRoZW1lIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNjcm9sbGJhclRoZW1lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3Jv
bGxiYXJUaGVtZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNjcm9s
bGJhclRoZW1lKCkgeyB9CiAgICAgdmlydHVhbCB+U2Nyb2xsYmFyVGhlbWUoKSB7fTsKIAogICAg
IHZpcnR1YWwgYm9vbCBwYWludChTY3JvbGxiYXIqLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJ
bnRSZWN0JiAvKmRhbWFnZVJlY3QqLykgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGlt
ZXIuaAppbmRleCA1YjVjZDE0Li4xNmUwZDBiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L1NoYXJlZFRpbWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCkBAIC0y
Niw2ICsyNiw3IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJf
aAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzMsOCArMzQsMTAgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIC8vIEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0
YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAg
ICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFk
LgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVy
IGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6Cisg
ICAgICAgIFNoYXJlZFRpbWVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflNoYXJlZFRpbWVyKCkg
e30KICAgICAgICAgdmlydHVhbCB2b2lkIHNldEZpcmVkRnVuY3Rpb24odm9pZCAoKikoKSkgPSAw
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCmluZGV4IDlmNTdmMDAuLjc2Mzc3YjQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCkBAIC00NSw3ICs0NSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29udmVydGVyV3JhcHBlcjsKICAgICBjbGFz
cyBUaHJlYWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRHbG9iYWxEYXRhIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGhyZWFkR2xvYmFsRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBU
aHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgICAgIH5UaHJlYWRHbG9iYWxEYXRhKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9U
aHJlYWRUaW1lcnMuaAppbmRleCBhYjQyNTk4Li4zZDdiNWY5MCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRp
bWVycy5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBU
aW1lckJhc2U7CiAKICAgICAvLyBBIGNvbGxlY3Rpb24gb2YgdGltZXJzIHBlciB0aHJlYWQuIEtl
cHQgaW4gVGhyZWFkR2xvYmFsRGF0YS4KLSAgICBjbGFzcyBUaHJlYWRUaW1lcnMgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZFRpbWVycyB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRocmVhZFRpbWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgVGhyZWFkVGltZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBjNDQ0M2Rh
Li5jMzMxZTNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xhc3MgVGltZXJCYXNlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGlt
ZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCmlu
ZGV4IDlkOWFjMWYuLjllMjdjNWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNo
YXJlZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBAIC0zMiw3ICszMiw4
IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQ7CiB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiB2b2lkIGFkb3B0ZWQoVHJlZVNoYXJlZDxUPiopOwogI2VuZGlmCiAKLXRlbXBsYXRl
PHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVHJlZVNoYXJlZCk7CiBwdWJsaWM6CiAgICAgVHJlZVNoYXJlZCgpCiAgICAgICAgIDog
bV9yZWZDb3VudCgxKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5p
bWF0aW9uTGlzdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5o
CmluZGV4IDlhMzM0Y2EuLmJmOGZmOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYW5p
bWF0aW9uL0FuaW1hdGlvbkxpc3QuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9B
bmltYXRpb25MaXN0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBBbmltYXRpb25MaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQW5p
bWF0aW9uTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
QW5pbWF0aW9uTGlzdCgpIHsgfQogICAgIEFuaW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0aW9uTGlz
dCYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCmluZGV4IDQzMThiODEuLjg4OGY2YmYgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogLy8gQW4gQXVkaW9CdXMgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2Ygb25lIG9y
IG1vcmUgQXVkaW9DaGFubmVscy4KIC8vIFRoZSBkYXRhIGxheW91dCBpcyAicGxhbmFyIiBhcyBv
cHBvc2VkIHRvICJpbnRlcmxlYXZlZCIuCiAvLyBBbiBBdWRpb0J1cyB3aXRoIG9uZSBjaGFubmVs
IGlzIG1vbm8sIGFuIEF1ZGlvQnVzIHdpdGggdHdvIGNoYW5uZWxzIGlzIHN0ZXJlbywgZXRjLgot
Y2xhc3MgQXVkaW9CdXMgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQnVzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb0J1cyk7CiBwdWJsaWM6CiAgICAgZW51bSB7
CiAgICAgICAgIENoYW5uZWxMZWZ0ID0gMCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5l
bC5oCmluZGV4IDY4MTY4MzAuLjczMjVlOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0No
YW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjZGVmaW5lIEF1ZGlvQ2hhbm5lbF9oCiAKICNp
bmNsdWRlICJBdWRpb0FycmF5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBBbiBB
dWRpb0NoYW5uZWwgcmVwcmVzZW50cyBhIGJ1ZmZlciBvZiBub24taW50ZXJsZWF2ZWQgZmxvYXRp
bmctcG9pbnQgYXVkaW8gc2FtcGxlcy4KIC8vIFRoZSBQQ00gc2FtcGxlcyBhcmUgbm9ybWFsbHkg
YXNzdW1lZCB0byBiZSBpbiBhIG5vbWluYWwgcmFuZ2UgLTEuMCAtPiArMS4wCi1jbGFzcyBBdWRp
b0NoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9DaGFubmVsIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb0NoYW5uZWwpOwogcHVibGljOgogICAgIC8vIE1l
bW9yeSBjYW4gYmUgZXh0ZXJuYWxseSByZWZlcmVuY2VkLCBvciBjYW4gYmUgaW50ZXJuYWxseSBh
bGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zsb2F0QXJyYXkuCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZEYXRhYmFzZS5oCmluZGV4IGMzM2IzOGYuLmJmMTNhM2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9IUlRGRGF0YWJhc2UuaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEhSVEZLZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhS
VEZEYXRhYmFzZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNl
PiBjcmVhdGUoZG91YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVs
ZXZhdGlvbi5oCmluZGV4IGIzODhiMzQuLjI0Yjc4MjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
SFJURkVsZXZhdGlvbi5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhSVEZLZXJuZWxzIChvbmUgbGVm
dCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5nbGUpIGZvciBhIHBhcnRpY3Vs
YXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZF
bGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2
YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZh
dGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmspIHJlc291cmNlcy4KICAgICAv
LyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0
LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5IG9mIG11bHRpcGxlIG9uZXMg
d2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL0NsaXBib2FyZENocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBi
b2FyZENocm9taXVtLmgKaW5kZXggMWQ2OTkyMS4uZDVhZGExNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaApAQCAtNDIsNiArNDIsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSW50UG9pbnQ7CiAKICAgICBjbGFzcyBDbGlwYm9h
cmRDaHJvbWl1bSA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgfkNsaXBib2FyZENocm9taXVtKCkge30KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5oCmluZGV4IDVhNTQ5NjMuLmU5Njc4YzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0JpdG1hcEltYWdlLmgKQEAgLTY4LDcgKzY4LDkgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
IGNsYXNzIFRpbWVyOwogLy8gRnJhbWVEYXRhIENsYXNzCiAvLyA9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotc3RydWN0IEZyYW1lRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBGcmFtZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZy
YW1lRGF0YSk7CitwdWJsaWM6CiAgICAgRnJhbWVEYXRhKCkKICAgICAgICAgOiBtX2ZyYW1lKDAp
CiAgICAgICAgICwgbV9oYXZlTWV0YWRhdGEoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0NvbG9yLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9y
LmgKaW5kZXggMmU0ZTk2Mi4uNzM5MzY0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Db2xvci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaApA
QCAtNzUsNyArNzUsOCBAQCBpbmxpbmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsg
cmV0dXJuIChjb2xvciA+PiA4KSAmIDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdC
QTMyIGNvbG9yKSB7IHJldHVybiBjb2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFu
bmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xh
c3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCks
IG1fdmFsaWQoZmFsc2UpIHsgfQogICAgIENvbG9yKFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wp
LCBtX3ZhbGlkKHRydWUpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3Bw
CmluZGV4IDE0OWVhNzkuLmNmY2E5ODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250Q2FjaGUoKQogewogfQog
Ci1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1
Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkoY29uc3QgQXRvbWljU3Ry
aW5nJiBmYW1pbHkgPSBBdG9taWNTdHJpbmcoKSwgdW5zaWduZWQgc2l6ZSA9IDAsIHVuc2lnbmVk
IHdlaWdodCA9IDAsIGJvb2wgaXRhbGljID0gZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJvb2wgaXNQcmludGVyRm9udCA9IGZhbHNlLCBGb250UmVuZGVyaW5nTW9kZSByZW5k
ZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0
aW9uID0gSG9yaXpvbnRhbCkKICAgICAgICAgOiBtX3NpemUoc2l6ZSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGU2ODQ1ZDkuLjg2ZjhjNjcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBGb250RGVzY3Jp
cHRpb247CiBjbGFzcyBGb250U2VsZWN0b3I7CiBjbGFzcyBTaW1wbGVGb250RGF0YTsKIAotY2xh
c3MgRm9udENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRDYWNoZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIEZvbnRDYWNoZSogZm9udENhY2hlKCk7CiAKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAppbmRleCBlZTk0YTk4Li4zZDM1ZDJhIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIEZv
bnREYXRhX2gKICNkZWZpbmUgRm9udERhdGFfaAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jh
c2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTM0LDcgKzM1LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTaW1wbGVGb250RGF0YTsKIAotY2xhc3MgRm9u
dERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udERhdGEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgRm9udERhdGEoKQogICAgICAgICA6IG1fbWF4R2x5cGhQYWdlVHJlZUxldmVsKDAp
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAppbmRleCBmYTg1
YmNjLi4zZTEzZmJiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBo
TWV0cmljc01hcC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNz
TWFwLmgKQEAgLTQwLDcgKzQwLDggQEAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHbHlwaDsKIAog
Y29uc3QgZmxvYXQgY0dseXBoU2l6ZVVua25vd24gPSAtMTsKIAotdGVtcGxhdGU8Y2xhc3MgVD4g
Y2xhc3MgR2x5cGhNZXRyaWNzTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPGNs
YXNzIFQ+IGNsYXNzIEdseXBoTWV0cmljc01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
R2x5cGhNZXRyaWNzTWFwKTsKIHB1YmxpYzoKICAgICBHbHlwaE1ldHJpY3NNYXAoKSA6IG1fZmls
bGVkUHJpbWFyeVBhZ2UoZmFsc2UpIHsgfQogICAgIH5HbHlwaE1ldHJpY3NNYXAoKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggYTRhMjY5NS4uM2My
ZDc2YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRl
eHQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCkBA
IC0yMDYsNyArMjA2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHNoYWRv
d3NJZ25vcmVUcmFuc2Zvcm1zIDogMTsKICAgICB9OwogCi0gICAgY2xhc3MgR3JhcGhpY3NDb250
ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0
Zm9ybUdyYXBoaWNzQ29udGV4dCopOwogICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC00
MjIsNyArNDIzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFNob3Vs
ZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNo
aWxkV2luZG93cygpIGNvbnN0OwogCi0gICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6
CiAgICAgICAgICAgICBXaW5kb3dzQml0bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+
V2luZG93c0JpdG1hcCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0xheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aAppbmRleCA2MDYzOGU3Li4zMTNlMGY5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzTGF5ZXIuaApAQCAtOTcsNyArOTcsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8v
IEJhc2UgY2xhc3MgZm9yIGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlv
bnMpLiBIZXJlIHRvCiAvLyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFu
aW1hdGVkIHZpYSB0aGUgR3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHls
ZS1yZWxhdGVkIGRhdGEgZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1j
bGFzcyBBbmltYXRpb25WYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRp
b25WYWx1ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25WYWx1ZShmbG9hdCBr
ZXlUaW1lLCBQYXNzUmVmUHRyPFRpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbiA9IDApCiAg
ICAgICAgIDogbV9rZXlUaW1lKGtleVRpbWUpCkBAIC0xNDksNyArMTUwLDggQEAgcHJpdmF0ZToK
IAogLy8gVXNlZCB0byBzdG9yZSBhIHNlcmllcyBvZiB2YWx1ZXMgaW4gYSBrZXlmcmFtZSBsaXN0
LiBWYWx1ZXMgd2lsbCBhbGwgYmUgb2YgdGhlIHNhbWUgdHlwZSwKIC8vIHdoaWNoIGNhbiBiZSBp
bmZlcnJlZCBmcm9tIHRoZSBwcm9wZXJ0eS4KLWNsYXNzIEtleWZyYW1lVmFsdWVMaXN0IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEtleWZyYW1lVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShLZXlmcmFtZVZhbHVlTGlzdCk7CiBwdWJsaWM6CiAKICAgICBLZXlmcmFt
ZVZhbHVlTGlzdChBbmltYXRlZFByb3BlcnR5SUQgcHJvcGVydHkpCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlQnVmZmVyLmgKaW5kZXggMzM4ZTNmOC4uY2RmZTE4YyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAtNjEsNyArNjEsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIEFjY2VsZXJhdGVkCiAgICAgfTsKIAotICAgIGNsYXNzIEltYWdl
QnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZUJ1ZmZlciB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBXaWxsIHJldHVybiBhIG51bGwgcG9p
bnRlciBvbiBhbGxvY2F0aW9uIGZhaWx1cmUuCiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPElt
YWdlQnVmZmVyPiBjcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29sb3JTcGFjZSBjb2xvclNw
YWNlID0gQ29sb3JTcGFjZURldmljZVJHQiwgUmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0g
VW5hY2NlbGVyYXRlZCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VTb3VyY2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAppbmRl
eCA3MDE4YTVjLi4zZjE2ZDA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlU291cmNlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJj
ZS5oCkBAIC0xMTcsNyArMTE3LDggQEAgY29uc3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IDA7
CiBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BJbmZpbml0ZSA9IC0xOwogY29uc3QgaW50IGNBbmlt
YXRpb25Ob25lID0gLTI7CiAKLWNsYXNzIEltYWdlU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEltYWdlU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVNv
dXJjZSk7CiBwdWJsaWM6CiAgICAgZW51bSBBbHBoYU9wdGlvbiB7CiAgICAgICAgIEFscGhhUHJl
bXVsdGlwbGllZCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5k
ZXggYWJmNTEwNS4uYmExOWVjNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5jcHAKQEAgLTE0Nyw3ICsxNDcsOSBAQCBzdGF0aWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlKiBjcmVhdGVOdWxsTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKIAogLy8g
ZW5naW5lIHN1cHBvcnQKIAotc3RydWN0IE1lZGlhUGxheWVyRmFjdG9yeSA6IE5vbmNvcHlhYmxl
IHsKK3N0cnVjdCBNZWRpYVBsYXllckZhY3RvcnkgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE1lZGlhUGxheWVyRmFjdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgog
ICAgIE1lZGlhUGxheWVyRmFjdG9yeShDcmVhdGVNZWRpYUVuZ2luZVBsYXllciBjb25zdHJ1Y3Rv
ciwgTWVkaWFFbmdpbmVTdXBwb3J0ZWRUeXBlcyBnZXRTdXBwb3J0ZWRUeXBlcywgTWVkaWFFbmdp
bmVTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlQW5kQ29kZWNzKSAKICAgICAgICAgOiBjb25zdHJ1
Y3Rvcihjb25zdHJ1Y3RvcikKICAgICAgICAgLCBnZXRTdXBwb3J0ZWRUeXBlcyhnZXRTdXBwb3J0
ZWRUeXBlcykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBjN2Q3
ZWYzLi4xY2JiZTE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBA
IC0xNDksNyArMTQ5LDggQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBNZWRpYVBsYXll
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKIAogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyPiBjcmVhdGUoTWVkaWFQ
bGF5ZXJDbGllbnQqIGNsaWVudCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oCmluZGV4IGQ5NTYyODYuLjZhYmUyNTggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMzYsOCArMzYsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW50UmVjdDsKIGNsYXNzIEludFNpemU7CiAKLWNs
YXNzIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAgIHZp
cnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVhbCB2
b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvUGF0aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgK
aW5kZXggNDIzYTc5Mi4uODUyZDg4ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9QYXRoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTEw
MCw3ICsxMDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZvaWQgKCpQ
YXRoQXBwbGllckZ1bmN0aW9uKSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVudCopOwogCi0g
ICAgY2xhc3MgUGF0aCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQYXRoIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBQ
YXRoKCk7CiAgICAgICAgIH5QYXRoKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Rp
bGVkQmFja2luZ1N0b3JlLmgKaW5kZXggNTg0NzdkYi4uMDZjN2ZlMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaApAQCAtMzYsNyArMzYsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBUaWxlZEJh
Y2tpbmdTdG9yZUNsaWVudDsKIAotY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRpbGVkQmFja2luZ1N0b3JlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgVGlsZWRCYWNraW5nU3RvcmUoVGlsZWRCYWNraW5nU3RvcmVDbGllbnQqKTsKICAg
ICB+VGlsZWRCYWNraW5nU3RvcmUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZGFjMzFmOC4uNTBl
YTAwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CiBwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShGVF9GYWNl
LCBTaGFyZWRCdWZmZXIqKTsKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCmluZGV4IDZm
YzFhMGUuLjg5YTc5YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vR0xFUzJDYW52YXMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0dMRVMyQ2FudmFzLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRmxvYXRSZWN0OwogY2xh
c3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBTaGFyZWRHcmFwaGljc0NvbnRleHQzRDsKIAot
Y2xhc3MgR0xFUzJDYW52YXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR0xFUzJDYW52
YXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdMRVMyQ2FudmFzKTsKIHB1YmxpYzoKICAg
ICBHTEVTMkNhbnZhcyhTaGFyZWRHcmFwaGljc0NvbnRleHQzRCosIERyYXdpbmdCdWZmZXIqLCBj
b25zdCBJbnRTaXplJik7CiAgICAgfkdMRVMyQ2FudmFzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVyZS5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUuaAppbmRleCAzMTJhZGZhLi5kMjYx
YTUyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
VGV4dHVyZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJU
ZXh0dXJlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVk
ZSAiVGV4dHVyZU1hbmFnZXIuaCIKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zNyw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgVGV4dHVyZU1hbmFnZXI7CiAK
LWNsYXNzIExheWVyVGV4dHVyZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXllclRl
eHR1cmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheWVyVGV4dHVyZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPExheWVyVGV4
dHVyZT4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBUZXh0dXJlTWFuYWdlciog
bWFuYWdlcikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyVGlsZXJDaHJvbWl1bS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllclRpbGVyQ2hyb21pdW0uaAppbmRleCBjMDY2ZmRmLi5kNGY5ZjU5IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGlsZXJDaHJv
bWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUaWxl
ckNocm9taXVtLmgKQEAgLTQyLDcgKzQyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBw
YWludChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0
KSA9IDA7CiB9OwogCi1jbGFzcyBMYXllclRpbGVyQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTGF5ZXJUaWxlckNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMYXllclRpbGVyQ2hyb21pdW0pOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPExh
eWVyVGlsZXJDaHJvbWl1bT4gY3JlYXRlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5k
ZXJlciwgY29uc3QgSW50U2l6ZSYgdGlsZVNpemUpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAppbmRl
eCBhOTMyMThmLi42ODlhNmViIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKQEAgLTQxLDcgKzQxLDgg
QEAgY2xhc3MgTGF5ZXJDaHJvbWl1bTsKIGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIGNs
YXNzIExheWVyVGV4dHVyZTsKIAotY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVuZGVyU3VyZmFjZUNocm9taXVtKTsKICAgICBmcmllbmQgY2xhc3Mg
TGF5ZXJSZW5kZXJlckNocm9taXVtOwogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZh
Y2VDaHJvbWl1bShMYXllckNocm9taXVtKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmgKaW5kZXggMWU4NTBjZC4uYzc3NWUyNSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFu
YWdlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1h
bmFnZXIuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRl
ICJJbnRTaXplLmgiCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CiAKQEAgLTM2LDcg
KzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0eXBlZGVmIGludCBUZXh0dXJlVG9rZW47
CiAKLWNsYXNzIFRleHR1cmVNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRl
eHR1cmVNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0dXJlTWFuYWdlcik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VGV4dHVyZU1hbmFnZXI+IGNyZWF0ZShH
cmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgc2l6ZV90IG1lbW9yeUxpbWl0Qnl0ZXMsIGludCBt
YXhUZXh0dXJlU2l6ZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaAppbmRleCBiNmJlZjkxLi41MzVjYmFhIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdp
bi5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5
V2luLmgKQEAgLTU0LDcgKzU0LDggQEAgY2xhc3MgVHJhbnNwYXJlbmN5V2luX09wYXF1ZUNvbXBv
c2l0ZUxheWVyX1Rlc3Q7CiAvLyB0aGF0IGlzIGNvbXBvc2l0ZWQgbGF0ZXIgbWFudWFsbHkuIFRo
aXMgaXMgdG8gZ2V0IGFyb3VuZCBXaW5kb3dzJyBpbmFiaWxpdHkKIC8vIHRvIGhhbmRsZSB0aGUg
YWxwaGEgY2hhbm5lbCwgc2VtaXRyYW5zcGFyZW50IHRleHQsIGFuZCB0cmFuc2Zvcm1lZCBmb3Jt
CiAvLyBjb250cm9scy4KLWNsYXNzIFRyYW5zcGFyZW5jeVdpbiA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBUcmFuc3BhcmVuY3lXaW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRy
YW5zcGFyZW5jeVdpbik7CiBwdWJsaWM6CiAgICAgZW51bSBMYXllck1vZGUgewogICAgICAgICAv
LyBObyBleHRyYSBsYXllciBpcyBjcmVhdGVkLiBEcmF3aW5nIHdpbGwgaGFwcGVuIHRvIHRoZSBz
b3VyY2UuCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5n
QnVmZmVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgK
aW5kZXggOWY3OTg4OS4uZWJmMWUxOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0RyYXdpbmdCdWZmZXIuaApAQCAtNzcsOCArNzcsMTAgQEAgcHVibGljOgogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShDSFJPTUlVTSkKLSAgICBjbGFzcyBXaWxsUHVibGlzaENhbGxiYWNrIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXaWxsUHVibGlzaENhbGxiYWNrIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2lsbFB1Ymxpc2hDYWxsYmFjayk7CiAgICAgcHVi
bGljOgorICAgICAgICBXaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwg
fldpbGxQdWJsaXNoQ2FsbGJhY2soKSB7IH0KICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB3aWxsUHVibGlzaCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaAppbmRleCBjNjY1ODQ0Li4xYmQ2N2I4IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5o
CkBAIC0zMCwxNCArMzAsMTQgQEAKICNpZm5kZWYgTG9vcEJsaW5uQ2xhc3NpZmllcl9oCiAjZGVm
aW5lIExvb3BCbGlubkNsYXNzaWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmxvYXRQb2ludDsKIAogLy8gQ2xhc3Np
ZmllcyBjdWJpYyBjdXJ2ZXMgaW50byBzcGVjaWZpYyB0eXBlcy4KLWNsYXNzIExvb3BCbGlubkNs
YXNzaWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmll
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9vcEJsaW5uQ2xhc3NpZmllcik7CiBwdWJs
aWM6CiAgICAgLy8gVGhlIHR5cGVzIG9mIGN1YmljIGN1cnZlcy4KICAgICBlbnVtIEN1cnZlVHlw
ZSB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5M
b2NhbFRyaWFuZ3VsYXRvci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaAppbmRleCBlYTNkN2UzLi5kMDFlNmM5IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRv
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJp
YW5ndWxhdG9yLmgKQEAgLTMwLDE5ICszMCwyMCBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5o
IgogI2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0YW50cy5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogLy8gUGVyZm9ybXMgYSBsb2NhbGl6ZWQgdHJpYW5ndWxhdGlvbiBvZiB0aGUgdHJpYW5n
bGUgbWVzaAogLy8gY29ycmVzcG9uZGluZyB0byB0aGUgZm91ciBjb250cm9sIHBvaW50IHZlcnRp
Y2VzIG9mIGEgY3ViaWMgY3VydmUKIC8vIHNlZ21lbnQuCi1jbGFzcyBMb29wQmxpbm5Mb2NhbFRy
aWFuZ3VsYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb29wQmxpbm5Mb2NhbFRy
aWFuZ3VsYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9vcEJsaW5uTG9jYWxUcmlh
bmd1bGF0b3IpOwogcHVibGljOgogICAgIC8vIFRoZSB2ZXJ0aWNlcyB0aGF0IHRoZSB0cmlhbmd1
bGF0b3Igb3BlcmF0ZXMgdXBvbiwgY29udGFpbmluZyBib3RoCiAgICAgLy8gdGhlIHBvc2l0aW9u
IGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgdGhlIGN1YmljIHRleHR1cmUKICAgICAvLyBjb29yZGlu
YXRlcy4KLSAgICBjbGFzcyBWZXJ0ZXggOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFZlcnRleCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZlcnRleCk7CiAgICAgcHVi
bGljOgogICAgICAgICBWZXJ0ZXgoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhiYWVmLi42ZWRjMWRiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTE1OCw3ICsxNTgsOCBAQCBwcml2YXRlOgog
ICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2aWR1YWwg
YWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENo
dW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9mIG1lbW9y
eSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxsb2NhdG9y
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxU
cmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApp
bmRleCAzMjBjZTYwLi41YmYzZGUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtNDQsOCArNDQsOCBAQCBzdHJ1Y3QgVmFsdWVUb1N0
cmluZzsKIC8vIHN1cHBvcnRzIGVmZmljaWVudCAoTyhsZyBuKSkgaW5zZXJ0aW9uLCByZW1vdmFs
IGFuZCBxdWVyeWluZyBvZgogLy8gaW50ZXJ2YWxzIGluIHRoZSB0cmVlLgogdGVtcGxhdGU8Y2xh
c3MgVCwgY2xhc3MgVXNlckRhdGEgPSB2b2lkKj4KLWNsYXNzIFBPREludGVydmFsVHJlZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBQT0RSZWRC
bGFja1RyZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworY2xhc3MgUE9ESW50ZXJ2YWxU
cmVlIDogcHVibGljIFBPRFJlZEJsYWNrVHJlZTxQT0RJbnRlcnZhbDxULCBVc2VyRGF0YT4gPiB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUE9ESW50ZXJ2YWxUcmVlKTsKIHB1YmxpYzoKICAg
ICAvLyBUeXBlZGVmIHRvIHJlZHVjZSB0eXBpbmcgd2hlbiBkZWNsYXJpbmcgaW50ZXJ2YWxzIHRv
IGJlIHN0b3JlZCBpbgogICAgIC8vIHRoaXMgdHJlZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKaW5kZXggNmQ1OTU0Yy4uYmQwODk4OCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKQEAg
LTE5OCw3ICsxOTgsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gVGhlIGJhc2UgTm9kZSBjbGFzcyB3
aGljaCBpcyBzdG9yZWQgaW4gdGhlIHRyZWUuIE5vZGVzIGFyZSBvbmx5CiAgICAgLy8gYW4gaW50
ZXJuYWwgY29uY2VwdDsgdXNlcnMgb2YgdGhlIHRyZWUgZGVhbCBvbmx5IHdpdGggdGhlIGRhdGEK
ICAgICAvLyB0aGV5IHN0b3JlIGluIGl0LgotICAgIGNsYXNzIE5vZGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIE5vZGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShO
b2RlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIENvbnN0cnVjdG9yLiBOZXdseS1jcmVhdGVk
IG5vZGVzIGFyZSBjb2xvcmVkIHJlZC4KICAgICAgICAgZXhwbGljaXQgTm9kZShjb25zdCBUJiBk
YXRhKQpAQCAtNjU5LDcgKzY2MCw4IEBAIHByaXZhdGU6CiAgICAgLy8gSGVscGVyIGNsYXNzIGZv
ciBzaXplKCkKIAogICAgIC8vIEEgVmlzaXRvciB3aGljaCBzaW1wbHkgY291bnRzIHRoZSBudW1i
ZXIgb2YgdmlzaXRlZCBlbGVtZW50cy4KLSAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0
b3IsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNp
dG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ291bnRlcik7CiAgICAgcHVibGlj
OgogICAgICAgICBDb3VudGVyKCkKICAgICAgICAgICAgIDogbV9jb3VudCgwKSB7IH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmgKaW5kZXggZTViZDhkZS4uNGY2MmNhOSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmgKQEAgLTQwLDcgKzQwLDggQEAgY2xh
c3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBDb2xv
cjsKIAotY2xhc3MgU2hhZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNoYWRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhZGVyKTsKIHByb3RlY3RlZDoKICAgICBTaGFk
ZXIoR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBwcm9ncmFtKTsKICAgICB+U2hhZGVyKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKaW5kZXggMWJkYzUx
YS4uZDExNDBiZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGls
aW5nRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEu
aApAQCAtMzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGbG9hdFJlY3Q7
CiBjbGFzcyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGluZ0Rh
dGEpOwogcHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQgdG90
YWxTaXplWCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBpbnQg
bWF4VGV4dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2Vi
S2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCBlMTBlNjFmLi4zNmI0OWRmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VH
U3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dl
YktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTM2LDcgKzM2LDggQEAKIAogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKLWNsYXNzIFN0cmVhbWluZ0NsaWVudCA6IHB1YmxpYyBOb25jb3B5
YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIFN0cmVhbWluZ0NsaWVu
dCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3RyZWFtaW5nQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIFN0cmVhbWluZ0NsaWVu
dChXZWJLaXRXZWJTcmMqKTsKICAgICAgICAgdmlydHVhbCB+U3RyZWFtaW5nQ2xpZW50KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCmluZGV4IGNjMzQ4ZTMuLjg2Zjk5YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBA
IC0yNCwxNCArMjQsMTQgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRl
ICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNz
IEZvbnRQbGF0Zm9ybURhdGE7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCi0gICAgc3RydWN0
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEoKSB7IH0KICAgICAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aAppbmRleCBjMTE4NThjLi43MDQzZDdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNiw3ICszNiw5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXIsIENHRm9udFJlZiBjZ0ZvbnQp
CiAgICAgICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKQogICAgICAgICAsIG1fY2dGb250
KGNnRm9udCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1Bh
aW50ZXJPcGVuVkcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJP
cGVuVkcuaAppbmRleCAzMmYxZmU1Li4zZjE0OTRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNz
IFRpbGVkSW1hZ2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKIAotY2xh
c3MgUGFpbnRlck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWludGVyT3Bl
blZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVyT3BlblZHKTsKIHB1YmxpYzoK
ICAgICBmcmllbmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBmcmllbmQgc3RydWN0IFBsYXRm
b3JtUGFpbnRlclN0YXRlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVudmcvU3VyZmFjZU9wZW5WRy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcv
U3VyZmFjZU9wZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLjE5ZDk1ZDggMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKQEAgLTQyLDcgKzQyLDgg
QEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5kIHNob3VsZCBtYWtlIGl0IGVhc3kg
dG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAqIGltcGxlbWVudGF0aW9ucyB0aGFu
IEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdXJmYWNlT3Bl
blZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50TW9kZSB7CiAgICAgICAgIEFwcGx5
UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCA2YzQxZDQ3Li41NGZh
Njc5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVkZSAiRm9udE9yaWVu
dGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKKyNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKQEAgLTMyLDcgKzMzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKIAogICAg
IC8vIGZvciB1c2Ugd2l0aCBRRm9udERhdGFiYXNlOjphZGRBcHBsaWNhdGlvbkZvbnQvcmVtb3Zl
QXBwbGljYXRpb25Gb250CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0
L0ZvbnRQbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBs
YXRmb3JtRGF0YS5oCmluZGV4IDFjNTdlMjkuLmYyNjgzNzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0zMiw3ICszMiw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YVByaXZhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFBsYXRmb3JtRGF0YVByaXZhdGUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRQbGF0Zm9ybURhdGFQcml2YXRlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9udFBsYXRmb3JtRGF0YVByaXZhdGUoKQog
ICAgICAgICA6IHJlZkNvdW50KDEpCkBAIC02Miw4ICs2MywxMCBAQCBwdWJsaWM6CiAKIAogCi1j
bGFzcyBGb250UGxhdGZvcm1EYXRhIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Cisg
ICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6
ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3Qg
Rm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFtZSwgaW50IHdvcmRTcGFjaW5n
ID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKaW5kZXggOGVjYjY2Ni4uOGQ3OTE3NCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRR
dC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRR
dC5jcHAKQEAgLTE3NCw3ICsxNzQsOCBAQCBzdGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0
RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQog
Ci1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUoUVBhaW50ZXIqLCBjb25zdCBRQ29sb3ImIGluaXRpYWxTb2xpZENvbG9yKTsKICAgICB+R3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKaW5kZXggNWIyZjhiMi4uZTQ4MjhmNiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaApA
QCAtNDIsNyArNDIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBUcmFuc3Bh
cmVuY3lMYXllciA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBUcmFuc3BhcmVuY3lM
YXllcihjb25zdCBRUGFpbnRlciogcCwgY29uc3QgUVJlY3QgJnJlY3QsIHFyZWFsIG9wYWNpdHks
IFFQaXhtYXAmIGFscGhhTWFzaykKICAgICAgICAgOiBwaXhtYXAocmVjdC53aWR0aCgpLCByZWN0
LmhlaWdodCgpKQogICAgICAgICAsIG9wYWNpdHkob3BhY2l0eSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4
IGU1MWI2YjYuLjQyMjhiNDAzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTQ5LDcgKzQ5LDkgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1
ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7Citz
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAjaWYgT1MoV0lORE9XUykKICAgICBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcm
IG5hbWUpCiAgICAgICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZv
cm1Qcml2YXRlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250
ZXh0UGxhdGZvcm1Qcml2YXRlLmgKaW5kZXggNWUxMmFkNi4uNDQ4MzVhNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIEdyYXBoaWNz
Q29udGV4dFBsYXRmb3JtUHJpdmF0ZV9oCiAjZGVmaW5lIEdyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogY2xhc3MgUGxhdGZv
cm1Db250ZXh0U2tpYTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaGlzIGNsYXNzIGp1
c3QgaG9sZHMgb250byBhIFBsYXRmb3JtQ29udGV4dFNraWEgZm9yIEdyYXBoaWNzQ29udGV4dC4K
LWNsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSk7CiBwdWJsaWM6CiAg
ICAgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKFBsYXRmb3JtQ29udGV4dFNraWEqIHBs
YXRmb3JtQ29udGV4dCkKICAgICAgICAgOiBtX2NvbnRleHQocGxhdGZvcm1Db250ZXh0KSB7IH0K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRl
eHRTa2lhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0
U2tpYS5oCmluZGV4IDExYjMxMWEuLjAzMDQ0ODYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaApAQCAtNjcsNyArNjcsOCBA
QCBjbGFzcyBUZXh0dXJlOwogLy8gcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGlu
ZyBzdGF0ZSB3aGljaCBpcyBzdG9yZSBpbiBzZXBhcmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBU
aGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBhZGFwdG9yIHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwog
Ly8gc3RhdGUgdG8gYmUgcHVzaGVkIGFuZCBwb3BwZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgot
Y2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQ
bGF0Zm9ybUNvbnRleHRTa2lhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNv
bnRleHRTa2lhKTsKIHB1YmxpYzoKICAgICAvLyBGb3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4n
dCBiZSBhbnkgY2FudmFzLiBjYW52YXMgY2FuIGJlIE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBs
eSBhIE5VTEwgY2FudmFzLCB5b3UgY2FuIGFsc28gY2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNm
b3JtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNm
b3JtLmgKaW5kZXggYmFlZTEwMi4uZmFmMTQxNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApAQCAtNTUsNyArNTUs
OCBAQCBjbGFzcyBJbnRQb2ludDsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBUcmFuc2Zvcm1hdGlv
bk1hdHJpeDsKIAotY2xhc3MgQWZmaW5lVHJhbnNmb3JtIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworY2xhc3MgQWZmaW5lVHJhbnNmb3JtIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25z
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0
aW9ucy5oCmluZGV4IGMwZGEzNzcuLjk4MWUxZjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAt
MzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9w
ZXJhdGlvbnMgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRp
b25zIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUcmFuc2Zv
cm1PcGVyYXRpb25zKGJvb2wgbWFrZUlkZW50aXR5ID0gZmFsc2UpOwogICAgIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0
cml4LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRp
b25NYXRyaXguaAppbmRleCBmMTNiY2MxLi5iMDdiYzZkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXgu
aApAQCAtNjUsNyArNjUsOCBAQCBjbGFzcyBGbG9hdFBvaW50M0Q7CiBjbGFzcyBGbG9hdFJlY3Q7
CiBjbGFzcyBGbG9hdFF1YWQ7CiAKLWNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXggeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1hdHJpeDRb
NF1bNF07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAxYmRmMjcwLi5kZTMzYzYzIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CkBAIC0zNCw3ICszNCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgog
ICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0
cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKICAg
ICAgICAgLCBtX25hbWUobmFtZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4u
OWM2NzAzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1
c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTMzLDcgKzMzLDkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZl
cjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YShjYWlyb19mb250X2ZhY2VfdCogZm9udEZhY2UpCiAgICAgICAgIDogbV9mb250RmFjZShmb250
RmFjZSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9M
b2NhbFdpbmRvd3NDb250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2Nh
bFdpbmRvd3NDb250ZXh0LmgKaW5kZXggYzIxNjE0MC4uNTk1MWU0OSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaApAQCAtMzEs
NyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIExvY2FsV2luZG93c0Nv
bnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxXaW5kb3dzQ29udGV4dCk7CiBwdWJsaWM6
CiAgICAgTG9jYWxXaW5kb3dzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4
dCwgY29uc3QgSW50UmVjdCYgcmVjdCwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCA9IHRydWUsIGJv
b2wgbWF5Q3JlYXRlQml0bWFwID0gdHJ1ZSkKICAgICAgICAgOiBtX2dyYXBoaWNzQ29udGV4dChn
cmFwaGljc0NvbnRleHQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9RVE1vdmllLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3Bw
CmluZGV4IGVmYWYyMTguLmRmYTFkMzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1FUTW92aWUuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1FUTW92aWUuY3BwCkBAIC02Myw3ICs2Myw4IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0YXRpYyBW
ZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwogc3RhdGljIFNJbnQzMiBx
dWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgTm9u
Y29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CitjbGFzcyBRVE1vdmllUHJpdmF0
ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQcml2YXRlKCk7CiAgICAgflFU
TW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9RVFRyYWNrLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3Bw
CmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1FUVHJhY2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAK
LWNsYXNzIFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJh
Y2tQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBw
dWJsaWM6CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVz
aGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hl
ci5oCmluZGV4IDE3ZWM0MWQuLjc4ZTg0OGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMzYsNyArMzYsOCBAQCBz
dHJ1Y3QgV0tDQUNGQ29udGV4dDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXS0NB
Q0ZDb250ZXh0Rmx1c2hlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZDb250
ZXh0Rmx1c2hlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tDQUNGQ29udGV4dEZsdXNo
ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciYgc2hhcmVkKCk7
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVy
UmVuZGVyZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVu
ZGVyZXIuaAppbmRleCA3NjNmZmZhLi41NDQzNmY1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCkBAIC01Niw3ICs1Niw4IEBA
IHB1YmxpYzoKIC8vIEZJWE1FOiBDdXJyZW50bHkgdGhlcmUgaXMgYSBXS0NBQ0ZMYXllclJlbmRl
cmVyIGZvciBlYWNoIFdlYlZpZXcgYW5kIGVhY2gKIC8vIGhhcyBpdHMgb3duIENBUmVuZGVyT0dM
Q29udGV4dCBhbmQgRGlyZWN0M0REZXZpY2U5LCB3aGljaCBpcyBpbmVmZmljaWVudC4KIC8vICho
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4NTUpCi1jbGFzcyBXS0NB
Q0ZMYXllclJlbmRlcmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkxheWVy
UmVuZGVyZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdLQ0FDRkxheWVyUmVuZGVyZXIp
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdLQ0FDRkxheWVyUmVuZGVyZXI+IGNy
ZWF0ZShXS0NBQ0ZMYXllclJlbmRlcmVyQ2xpZW50Kik7CiAgICAgfldLQ0FDRkxheWVyUmVuZGVy
ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggYWJkYzBmMi4uMDUwODI0NiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKQEAgLTM3LDcgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIHZvaWQgdW5yZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAg
IH07CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsK
KyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6
IG1fbmFtZShuYW1lKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDJkZWY2YWIuLmM5
OTY3MTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhp
Y3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
R3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00MzgsNyArNDM4LDggQEAgc3RhdGljIHZvaWQg
cm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVkQml0bWFwKiBz
b3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFsc2U+KGRlc3RC
bXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJlbnRMYXllckRD
IDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAgIFRyYW5zcGFy
ZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEsIEludFJlY3Qm
IG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0gMCwgaW50IGFs
cGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5zcGFyZW50TGF5
ZXJEQygpOwpAQCAtNTU4LDcgKzU1OSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXllckRDOjpmaWxs
QWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRlciA6IE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29wZURDUHJvdmlk
ZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAgICA6IG1fZGF0
YShkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAt
MjQsMTQgKzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAi
Rm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBG
b250UGxhdGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhKCkgeyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL0NsaXBib2FyZEd0ay5oCmluZGV4IGUxNGE1ODMuLjBjMDdjMDcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL0NsaXBib2FyZEd0ay5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBk
cm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgLy8gQ3JlYXRlZCBmcm9tIHRoZSBFdmVudEhhbmRsZXJH
dGsgdG8gYmUgdXNlZCBieSB0aGUgZG9tCiAgICAgY2xhc3MgQ2xpcGJvYXJkR3RrIDogcHVibGlj
IENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxDbGlwYm9hcmRHdGs+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBHdGtD
bGlwYm9hcmQqIGNsaXBib2FyZCwgRnJhbWUqIGZyYW1lKQogICAgICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA2ZTI1N2M1Li4w
ODYzZTE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdl
RGVjb2Rlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNv
ZGVyLmgKQEAgLTIyMSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0
TWF4TnVtUGl4ZWxzKCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVjb2RlZCBp
bWFnZXMgY2FuCiAgICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRlIHRob3Nl
IGltYWdlcyB0aGF0IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90
IHN1cHBvcnRlZCBieSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIEltYWdlRGVj
b2RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBJbWFnZURlY29kZXIoSW1hZ2VTb3VyY2U6
OkFscGhhT3B0aW9uIGFscGhhT3B0aW9uLCBJbWFnZVNvdXJjZTo6R2FtbWFBbmRDb2xvclByb2Zp
bGVPcHRpb24gZ2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24pCiAgICAgICAgICAgICA6IG1fc2Nh
bGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFj
LmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRleCA3MTg3ZWNmLi4z
OWVhZGRhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApAQCAtNDQsNiArNDQsNyBA
QCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBDbGlwYm9hcmRNYWMgOiBw
dWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENsaXBi
b2FyZE1hYz4gY3JlYXRlKENsaXBib2FyZFR5cGUgY2xpcGJvYXJkVHlwZSwgTlNQYXN0ZWJvYXJk
ICpwYXN0ZWJvYXJkLCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFtZSogZnJhbWUp
CiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3Jh
cGhpY3NDb250ZXh0LmggYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGlj
c0NvbnRleHQuaAppbmRleCA5MGJlYjQwLi44ZmRlMmNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaApAQCAtMzEsNyArMzEsOCBA
QCBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2Fs
bHkgc2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgog
Ly8gZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBj
dXJyZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRl
eHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4
dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29u
dGV4dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLmMxZjU1MjIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJp
dmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlzdDsKIAog
Y2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEJsb2JEYXRhPiBjcmVhdGUoKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCmluZGV4IDg3ZDBlZjMuLjExMmUzMTUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKQEAgLTIzLDE0ICsy
MywxNCBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgVGV4dEVuY29kaW5nOwogCi1jbGFzcyBGb3Jt
RGF0YUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9ybURhdGFCdWlsZGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb3JtRGF0YUJ1aWxkZXIpOwogcHVibGljOgog
ICAgIHN0YXRpYyBUZXh0RW5jb2RpbmcgZW5jb2RpbmdGcm9tQWNjZXB0Q2hhcnNldChjb25zdCBT
dHJpbmcmIGFjY2VwdENoYXJzZXQsIERvY3VtZW50KiBkb2N1bWVudCk7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKaW5kZXggZDFmMmRiNC4u
MjZmOGQ4YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0
ZU5vdGlmaWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5v
dGlmaWVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgTmV0d29ya1N0YXRlTm90aWZpZXJf
aAogI2RlZmluZSBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFs
bG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaWYgUExBVEZPUk0o
TUFDKQpAQCAtNjEsNyArNjIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBOZXR3b3Jr
U3RhdGVOb3RpZmllclByaXZhdGU7CiAjZW5kaWYKIAotY2xhc3MgTmV0d29ya1N0YXRlTm90aWZp
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmV0d29ya1N0YXRlTm90aWZpZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5ldHdvcmtTdGF0ZU5vdGlmaWVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgTmV0d29ya1N0YXRlTm90aWZpZXIoKTsKICAg
ICB2b2lkIHNldE5ldHdvcmtTdGF0ZUNoYW5nZWRGdW5jdGlvbih2b2lkICgqKSgpKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4
IDljY2NlY2QuLmMyOTljZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZUludGVybmFsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaApAQCAtODAsNyArODAsOCBAQCBjbGFzcyBOU1VSTENvbm5l
Y3Rpb247CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVDbGll
bnQ7CiAKLSAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUludGVybmFsIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUludGVybmFsIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNv
dXJjZUhhbmRsZSogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291
cmNlSGFuZGxlQ2xpZW50KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVu
dFNuaWZmKQogICAgICAgICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggNWNiN2VlMy4uZGNlMzNkYiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCkBAIC00
OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlzIHR5cGUgZGlyZWN0
bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3MgUmVzb3VyY2VSZXF1
ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZXNvdXJjZVJlcXVl
c3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICAvLyBUaGUgdHlwZSBvZiB0aGlzIFJlc291cmNlUmVxdWVzdCwgYmFzZWQgb24gaG93
IHRoZSByZXNvdXJjZSB3aWxsIGJlIHVzZWQuCiAgICAgICAgIGVudW0gVGFyZ2V0VHlwZSB7CkBA
IC0yMDcsNyArMjA4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBpbmxpbmUgYm9vbCBv
cGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBiKSB7IHJldHVybiBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjb21wYXJlKGEsIGIpOyB9CiAgICAg
aW5saW5lIGJvb2wgb3BlcmF0b3IhPShSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgYikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLSAgICBzdHJ1Y3QgQ3Jvc3NUaHJl
YWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1
ZXN0RGF0YUJhc2UoKSB7IH0KICAgICAgICAgS1VSTCBtX3VybDsKIAogICAgICAgICBSZXNvdXJj
ZVJlcXVlc3RDYWNoZVBvbGljeSBtX2NhY2hlUG9saWN5OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRleCA5YzU0YmFiLi5lMDc3NGMyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApA
QCAtNDEsNyArNDEsOCBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXNwb25zZURhdGE7CiAKIC8vIERvIG5vdCB1c2UgdGhpcyBjbGFzcyBkaXJl
Y3RseSwgdXNlIHRoZSBjbGFzcyBSZXNwb25zZVJlc3BvbnNlIGluc3RlYWQKLWNsYXNzIFJlc291
cmNlUmVzcG9uc2VCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZUJhc2UgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jv
c3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEwIEBAIHBy
aXZhdGU6CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9uc2VCYXNl
Ojpjb21wYXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEoYSA9PSBi
KTsgfQogCi1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25j
b3B5YWJsZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFC
YXNlKTsKK3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSgp
IHsgfQogICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgbG9uZyBs
b25nIG1fZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggYTI0NDBkMy4uMDVkMTYz
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhh
bmRsZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2Rl
ZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIp
OwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwg
UmVzb3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2ViQ29yZVN5bmNocm9u
b3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jl
c291cmNlSGFuZGxlV2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3Vy
Y2VIYW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3
Niw4IEBAIHN0YXRpYyBTdHJpbmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFu
ZGxlLCBEV09SRCBpbmZvTGV2ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9h
ZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIp
OwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwg
UmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
KTsKICAgICB+V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2Fy
ZFF0LmgKaW5kZXggNWFjYTFhNi4uZmI1YWJlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9xdC9DbGlwYm9hcmRRdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQu
aApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBTdGF0ZSBh
dmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bh
c3RlCiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2Fj
aGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENsaXBib2FyZFF0PiBjcmVhdGUo
Q2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgY29uc3QgUU1pbWVEYXRhKiByZWFkYWJsZUNs
aXBib2FyZCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKaW5k
ZXggYzMyOTI3My4uZGE1M2FjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlRGF0YWJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5o
CkBAIC01MCw3ICs1MCw4IEBAIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0U2NoZW1hOwogZXh0
ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRGdWxsOwogZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRJ
bnRlcnJ1cHQ7CiAKLWNsYXNzIFNRTGl0ZURhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNRTGl0ZURhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVE
YXRhYmFzZSk7CiAgICAgZnJpZW5kIGNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uOwogcHVibGljOgog
ICAgIFNRTGl0ZURhdGFiYXNlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVTdGF0ZW1lbnQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5o
CmluZGV4IDE0NDRmMGUuLmZkMWFiZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vc3Fs
L1NRTGl0ZVN0YXRlbWVudC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRl
bWVudC5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1FM
VmFsdWU7CiAKLWNsYXNzIFNRTGl0ZVN0YXRlbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTUUxpdGVTdGF0ZW1lbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVN0
YXRlbWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNRTGl0ZVN0
YXRlbWVudChTUUxpdGVEYXRhYmFzZSYsIGNvbnN0IFN0cmluZyYpOwogICAgIH5TUUxpdGVTdGF0
ZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0
aW9uLmggYi9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCmluZGV4IDky
NDI0MWYuLmJhNjg2YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRy
YW5zYWN0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24u
aApAQCAtMjYsMTQgKzI2LDE1IEBACiAjaWZuZGVmIFNRTGl0ZVRyYW5zYWN0aW9uX2gKICNkZWZp
bmUgU1FMaXRlVHJhbnNhY3Rpb25faAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4K
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBTUUxpdGVEYXRhYmFzZTsKIAotY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24gOiBwdWJsaWMg
Tm9uY29weWFibGUKLXsKK2NsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTUUxpdGVUcmFuc2FjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFNRTGl0ZVRyYW5zYWN0aW9uKFNRTGl0ZURhdGFiYXNlJiBkYiwgYm9vbCBy
ZWFkT25seSA9IGZhbHNlKTsKICAgICB+U1FMaXRlVHJhbnNhY3Rpb24oKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9CaWRpUmVzb2x2ZXIuaAppbmRleCAxZjg3MTE1Li45N2I5Mzc0IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L0JpZGlSZXNvbHZlci5oCkBAIC0xMjYsNyArMTI2LDggQEAgc3RydWN0IEJpZGlDaGFy
YWN0ZXJSdW4gewogICAgIEJpZGlDaGFyYWN0ZXJSdW4qIG1fbmV4dDsKIH07CiAKLXRlbXBsYXRl
IDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgewordGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNz
IEJpZGlSZXNvbHZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmlkaVJlc29sdmVyKTsK
IHB1YmxpYyA6CiAgICAgQmlkaVJlc29sdmVyKCkKICAgICAgICAgOiBtX2RpcmVjdGlvbihXVEY6
OlVuaWNvZGU6Ok90aGVyTmV1dHJhbCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9SZWd1bGFyRXhwcmVzc2lvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHBy
ZXNzaW9uLmgKaW5kZXggZjE2MTFlNS4uNTM2ZWQ0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1JlZ3VsYXJFeHByZXNzaW9uLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIFJlZ3VsYXJFeHByZXNzaW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNl
bnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
Q29kZWMuaAppbmRleCBjNmFmMzhhLi4zNTIyOWEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2Rl
Yy5oCkBAIC01Nyw4ICs1NywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVm
IGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAotICAgIGNsYXNzIFRleHRD
b2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVjIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgorICAgICAgICBUZXh0Q29kZWMoKSB7IH0KICAgICAgICAgdmlydHVh
bCB+VGV4dENvZGVjKCk7CiAKICAgICAgICAgU3RyaW5nIGRlY29kZShjb25zdCBjaGFyKiBzdHIs
IHNpemVfdCBsZW5ndGgsIGJvb2wgZmx1c2ggPSBmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmggYi9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCmluZGV4IDY3ZGI5NzcuLjY5OTBh
MTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFu
c2NvZGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5z
Y29kZXIuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250
RGVzY3JpcHRpb247CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvbnRUcmFuc2NvZGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRUcmFuc2NvZGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGb250VHJhbnNjb2Rlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIHZvaWQgY29udmVydChTdHJpbmcmIHRleHQsIGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyogPSAwKSBjb25zdDsKICAgICBib29sIG5lZWRz
VHJhbnNjb2RpbmcoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9
IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2lu
LmggYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAppbmRleCBjZTY0Yjg1Li43
NzlkYTI2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaApAQCAtNDEsNiArNDEsNyBA
QCBjbGFzcyBXQ0RhdGFPYmplY3Q7CiAKIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBl
dmVudHMgZm9yIGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKIGNsYXNzIENsaXBib2FyZFdp
biA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJRGF0YU9i
amVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZy
YW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3Nh
Z2VCcm9hZGNhc3Rlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2Fk
Y2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBXaW5kb3dNZXNzYWdlTGlzdGVuZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRj
YXN0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9h
ZGNhc3RlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9h
ZGNhc3Rlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihI
V05ELCBXaW5kb3dNZXNzYWdlTGlzdGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3Zl
TGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRh
YmFzZS5oCmluZGV4IGIxNDYwNWYuLmM0MTJjMDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5o
CkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgSGFz
aFNldDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVnaW5TZXQ7
CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVn
aW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgUGx1Z2luRGF0YWJhc2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
bk1haW5UaHJlYWRTY2hlZHVsZXIuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFk
U2NoZWR1bGVyLmgKaW5kZXggNjEwZTg5Yy4uMjliYzRlNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCkBAIC0zNiw3ICszNiw4IEBAIHR5cGVkZWYgTlBQ
X3QqIE5QUDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQbHVnaW5NYWluVGhyZWFk
U2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpbk1haW5UaHJlYWRT
Y2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbk1haW5UaHJlYWRTY2hl
ZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIHZv
aWQgTWFpblRocmVhZEZ1bmN0aW9uKHZvaWQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpblZpZXcuaCBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggMDQ0
ZDZlMi4uOGY4ZjEzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAor
KysgYi9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC05NSw3ICs5NSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgUGx1Z2luU3RhdHVzTG9hZGVkU3VjY2Vzc2Z1bGx5CiAg
ICAgfTsKIAotICAgIGNsYXNzIFBsdWdpblJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFBsdWdpblJlcXVlc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
bHVnaW5SZXF1ZXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9hZFJlcXVl
c3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSwgYm9vbCBzaG91bGRB
bGxvd1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1lTG9hZFJl
cXVlc3QpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9XZWJD
b3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYxOS4uZDc3ZDZjYSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL0NvbHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29sdW1u
SW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbHVtbkluZm8oKQogICAgICAgICA6IG1fZGVz
aXJlZENvbHVtbldpZHRoKDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRT
dGF0ZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAppbmRleCAwZDA2Y2IxLi5j
NDk5NDM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKQEAgLTM3LDcgKzM3LDggQEAgY2xhc3Mg
UmVuZGVyQXJlbmE7CiBjbGFzcyBSZW5kZXJCb3g7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNs
YXNzIExheW91dFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMYXlvdXRTdGF0ZSk7CiBwdWJsaWM6CiAgICAg
TGF5b3V0U3RhdGUoKQogICAgICAgICA6IG1fY2xpcHBlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJB
cmVuYS5oCmluZGV4IDMyMTM5ZmIuLmUxZmY1MzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckFyZW5hLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaApA
QCAtMzYsMTMgKzM2LDE1IEBACiAjZGVmaW5lIFJlbmRlckFyZW5hX2gKIAogI2luY2x1ZGUgIkFy
ZW5hLmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3Qgc2l6ZV90
IGdNYXhSZWN5Y2xlZFNpemUgPSA0MDA7CiAKLWNsYXNzIFJlbmRlckFyZW5hIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckFyZW5hIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJBcmVuYSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJl
bmRlckFyZW5hKHVuc2lnbmVkIGFyZW5hU2l6ZSA9IDQwOTYpOwogICAgIH5SZW5kZXJBcmVuYSgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggYmQ4YmUyYy4uMDkwNTZlNCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oCkBAIC0zNTgsNyArMzU4LDkgQEAgcHJpdmF0ZToKICAgICAgICAgYm9v
bCBldmVySGFkTGF5b3V0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3QgOiBO
b25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRmxvYXRpbmdPYmplY3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
KyAgICBwdWJsaWM6CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3Ug
Y2FuIHVzZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJp
Z2h0LgogICAgICAgICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwg
RmxvYXRCb3RoID0gMyB9OwogCkBAIC02NzYsNyArNjc4LDkgQEAgcHJpdmF0ZToKICAgICBQb3Np
dGlvbmVkT2JqZWN0c0xpc3RIYXNoU2V0KiBtX3Bvc2l0aW9uZWRPYmplY3RzOwogCiAgICAgLy8g
QWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0
IHZhbHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFibGUgewor
ICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAg
IHB1YmxpYzoKICAgICAgICAgUmVuZGVyQmxvY2tSYXJlRGF0YShjb25zdCBSZW5kZXJCbG9jayog
YmxvY2spIAogICAgICAgICAgICAgOiBtX21hcmdpbnMocG9zaXRpdmVNYXJnaW5CZWZvcmVEZWZh
dWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5CZWZvcmVEZWZhdWx0KGJsb2NrKSwgcG9zaXRpdmVN
YXJnaW5BZnRlckRlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9j
aykpCiAgICAgICAgICAgICAsIG1fcGFnaW5hdGlvblN0cnV0KDApCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggNTA5ODMwNi4uMmFiZGI5NSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtNjMsNyArNjMsOCBA
QCB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50
U2l6ZU1hcDsKIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCosIFJl
bmRlckJveE1vZGVsT2JqZWN0Kj4gQ29udGludWF0aW9uTWFwOwogc3RhdGljIENvbnRpbnVhdGlv
bk1hcCogY29udGludWF0aW9uTWFwID0gMDsKIAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcigp
OwogICAgIGJvb2wgc2hvdWxkUGFpbnRBdExvd1F1YWxpdHkoR3JhcGhpY3NDb250ZXh0KiwgUmVu
ZGVyQm94TW9kZWxPYmplY3QqLCBJbWFnZSosIGNvbnN0IHZvaWQqIGxheWVyLCBjb25zdCBJbnRT
aXplJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oIGIv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAppbmRleCBkMGFiMzQ2Li4xZTUxMWQy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKQEAgLTczLDcgKzczLDggQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgaW50IG5vU3BsaXQgPSAtMTsKIAotICAgIGNs
YXNzIEdyaWRBeGlzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmlkQXhpcyB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyaWRBeGlzKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEdyaWRBeGlzKCk7CiAgICAgICAgIHZvaWQgcmVzaXplKGludCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmggYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKaW5kZXggMjM0NjcxMi4uYTIwYzU1YSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaApAQCAtMjksMTMgKzI5LDEzIEBACiAj
aW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5o
IgogI2luY2x1ZGUgIlN0eWxlSW1hZ2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFJl
bmRlckltYWdlUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVySW1h
Z2VSZXNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVySW1hZ2VSZXNvdXJj
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRl
ckltYWdlUmVzb3VyY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApp
bmRleCBjNTQ4OWYzLi5jZTJhZjQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuaApAQCAtNTMsNyArNTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8vIAog
Ly8gVGhlcmUgaXMgb25lIFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXllciB0
aGF0IGlzIGNvbXBvc2l0ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBH
cmFwaGljc0xheWVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTGF5
ZXJCYWNraW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5k
ZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1h
cnF1ZWUuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3OTk5OGVk
Li45OGZkZGI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVlLmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNz
IGhhbmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJx
dWVlLgotY2xhc3MgUmVuZGVyTWFycXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBS
ZW5kZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyTWFy
cXVlZShSZW5kZXJMYXllciopOwogICAgIHZpcnR1YWwgflJlbmRlck1hcnF1ZWUoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmggYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPdmVyZmxvdy5oCmluZGV4IDdkYzJiY2IuLjMzZThjZmZhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCisrKyBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck92ZXJmbG93LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUK
IC8vIEV4YW1wbGVzIG9mIHZpc3VhbCBvdmVyZmxvdyBhcmUgc2hhZG93cywgdGV4dCBzdHJva2Ug
KGFuZCBldmVudHVhbGx5IG91dGxpbmUgYW5kIGJvcmRlci1pbWFnZSkuCiAKIC8vIFRoaXMgb2Jq
ZWN0IGlzIGFsbG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMgaGF2ZSBub24t
ZGVmYXVsdCB2YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCi1jbGFzcyBSZW5kZXJPdmVyZmxvdyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJPdmVyZmxvdyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVuZGVyT3ZlcmZsb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBsYXlvdXRSZWN0LCBj
b25zdCBJbnRSZWN0JiB2aXN1YWxSZWN0KSAKICAgICAgICAgOiBtX3RvcExheW91dE92ZXJmbG93
KGxheW91dFJlY3QueSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXIuaAppbmRleCAyMDE1M2U5Li44MWM3OWQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaApAQCAtMzYsNyArMzYsOSBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXN0cnVjdCBDbGlwcGVyRGF0YSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0
IENsaXBwZXJEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAg
ICBPd25QdHI8SW1hZ2VCdWZmZXI+IGNsaXBNYXNrSW1hZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmggYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKaW5kZXggYTA5ZmMxYS4uNDVjYTgxMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCisrKyBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKCkKICAgICAg
ICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDFkZmQ0Y2UuLjdlNWI0
ZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI2NCw3ICsyNjQsOCBAQCB2b2lkIHRvUmVu
ZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8gU3RhY2stYmFzZWQgY2xhc3MgdG8g
YXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNsYXNzIExheW91dFN0YXRlTWFpbnRh
aW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlTWFpbnRhaW5lcik7CiBwdWJs
aWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExheW91dFN0YXRlTWFpbnRhaW5lcihS
ZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIEludFNpemUgb2Zmc2V0LCBib29sIGRp
c2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENo
YW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9IDApCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICszMCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIDogcHJp
dmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJsaWM6CiAgICAg
UmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2JqZWN0KQogICAgICAgICA6IG1f
b2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVm
ZmVyVG9vbHMuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAppbmRl
eCA5YmNjN2E0Li43ZTc4ZTY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFn
ZUJ1ZmZlclRvb2xzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29s
cy5oCkBAIC0zMiw3ICszMiw4IEBAIGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBoaWNzQ29u
dGV4dDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdJbWFnZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgYm9vbCBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlVGFy
Z2V0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjbGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0LCBPd25Q
dHI8SW1hZ2VCdWZmZXI+JiwgQ29sb3JTcGFjZSk7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3Vi
dHJlZVRvSW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXIqLCBSZW5kZXJPYmplY3QqLCBjb25zdCBBZmZp
bmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxh
eW91dEluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dEluZm8uaAppbmRl
eCA4ZjU5NzAzNS4uZTJhYjYzOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFy
a2VyTGF5b3V0SW5mby5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR01hcmtlckxheW91dElu
Zm8uaApAQCAtNDIsNyArNDIsOCBAQCBzdHJ1Y3QgTWFya2VyTGF5b3V0IHsKICAgICBBZmZpbmVU
cmFuc2Zvcm0gbWF0cml4OwogfTsKIAotY2xhc3MgU1ZHTWFya2VyTGF5b3V0SW5mbyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdNYXJrZXJMYXlvdXRJbmZvKTsKIHB1YmxpYzoKICAgICBTVkdNYXJr
ZXJMYXlvdXRJbmZvKCk7CiAgICAgflNWR01hcmtlckxheW91dEluZm8oKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlcy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZH
UmVzb3VyY2VzLmgKaW5kZXggNDk1OTFjZi4uZDNmMjY1NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvU1ZHUmVzb3VyY2VzLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI7CiBj
bGFzcyBTVkdSZW5kZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2YgcmVzb3VyY2VzIGFzc29j
aWF0ZWQgd2l0aCBhIFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3VyY2VzIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHUmVzb3VyY2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
U1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291
cmNlc0NhY2hlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCmluZGV4
IDRhNjE1NzAuLjA4OWI2MjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291
cmNlc0NhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaApA
QCAtMzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRlclNWR1Jlc291
cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXND
YWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDYWNoZSgpOwogICAgIH5TVkdS
ZXNvdXJjZXNDYWNoZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3Vy
Y2VzQ3ljbGVTb2x2ZXIuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29s
dmVyLmgKaW5kZXggZTYzZWU2My4uMzQxMjU4ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdS
ZXNvdXJjZXNDeWNsZVNvbHZlci5oCkBAIC0yOSw3ICsyOSw4IEBAIGNsYXNzIFJlbmRlck9iamVj
dDsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2Vz
OwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIpOwogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyKFJlbmRlck9iamVjdCosIFNWR1Jlc291cmNlcyopOwogICAgIH5TVkdSZXNvdXJj
ZXNDeWNsZVNvbHZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlv
dXQuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKaW5kZXggZTBmYThlZS4uYzVm
NjFmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCkBAIC0yMSwxMyArMjEsMTUgQEAKICNpZm5k
ZWYgVGFibGVMYXlvdXRfaAogI2RlZmluZSBUYWJsZUxheW91dF9oCiAKKyNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91dCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBUYWJsZUxheW91dChSZW5kZXJUYWJsZSogdGFibGUpCiAgICAgICAgIDogbV90YWJs
ZSh0YWJsZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCmluZGV4IDBiNGNhNDYuLjM2ZmM2
ZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKKysrIGIv
V2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAj
aW5jbHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIlRy
YW5zZm9ybWF0aW9uTWF0cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUcmFu
c2Zvcm1TdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc2Zvcm1TdGF0ZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU3RhdGUpOwogcHVibGljOgogICAg
IGVudW0gVHJhbnNmb3JtRGlyZWN0aW9uIHsgQXBwbHlUcmFuc2Zvcm1EaXJlY3Rpb24sIFVuYXBw
bHlJbnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uIH07CiAgICAgZW51bSBUcmFuc2Zvcm1BY2N1bXVs
YXRpb24geyBGbGF0dGVuVHJhbnNmb3JtLCBBY2N1bXVsYXRlVHJhbnNmb3JtIH07CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCmluZGV4IDRkZWFlZjUuLmIyNWIyZjYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCkBAIC0zOCw3ICsz
OCw4IEBAIGNvbnN0IGludCBQb3NpdGlvblRvcCA9IC0weDdmZmZmZmZmOwogY29uc3QgaW50IFBv
c2l0aW9uQm90dG9tID0gMHg3ZmZmZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvblVuZGVmaW5lZCA9
IDB4ODAwMDAwMDA7CiAKLWNsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFZlcnRpY2FsUG9zaXRpb25DYWNoZSk7CiBwdWJsaWM6CiAgICAgVmVydGljYWxQ
b3NpdGlvbkNhY2hlKCkKICAgICB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0NvbnRlbnREYXRhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5o
CmluZGV4IDRmOTY0YTIuLjE1ZjY5MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0NvbnRlbnREYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERh
dGEuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxl
SW1hZ2U7CiAKLXN0cnVjdCBDb250ZW50RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDb250
ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGVudERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb250ZW50RGF0YSgpCiAgICAgICAgIDog
bV90eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L0NvdW50ZXJDb250ZW50LmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVu
dC5oCmluZGV4IDUyNzU3YWQuLjgxNDAzOWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291
bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ291
bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRlbnRpZmllciwgRUxpc3RTdHls
ZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJhdG9yKQogICAgICAgICA6IG1f
aWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvRmlsbExheWVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRl
eCA0OWZiMjk0Li44NDdlOGRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9G
aWxsTGF5ZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAt
NTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07
CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxM
YXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRmlsbExh
eWVyKEVGaWxsTGF5ZXJUeXBlKTsKICAgICB+RmlsbExheWVyKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TaGFkb3dEYXRhLmgKaW5kZXggZmI1OTI2ZC4uMGJlM2ZjMSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1NoYWRvd0RhdGEuaApAQCAtMjYsNyArMjYsNiBAQAogI2RlZmluZSBTaGFkb3dEYXRhX2gK
IAogI2luY2x1ZGUgIkNvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGVudW0gU2hhZG93U3R5bGUg
eyBOb3JtYWwsIEluc2V0IH07CiAKIC8vIFRoaXMgc3RydWN0IGhvbGRzIGluZm9ybWF0aW9uIGFi
b3V0IHNoYWRvd3MgZm9yIHRoZSB0ZXh0LXNoYWRvdyBhbmQgYm94LXNoYWRvdyBwcm9wZXJ0aWVz
LgogCi1jbGFzcyBTaGFkb3dEYXRhIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgU2hh
ZG93RGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2hh
ZG93RGF0YSgpCiAgICAgICAgIDogbV94KDApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRDaHVua0J1aWxkZXIuaAppbmRleCAzNjM0MmU3Li4zMjFmMzkxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgc3RydWN0
IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQgdGhlIGFjdHVhbCBwZXIt
Y2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2gg
Y2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0cyAoU1ZHVGV4
dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBtb2RpZmljYXRpb25zIHRo
YXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0ZXh0IGNodW5rICh0ZXh0
LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1Rl
eHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCmluZGV4IGYyOWFjNjQuLmM2ODE4NWIgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1
aWxkZXIuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0
ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHVGV4dDsKIC8vIHRv
IGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUgYmFzZWQgb24gdGV4dCBjaHVuayBib3VuZGFyaWVz
ICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRoZSBzZWNvbmQgbGF5b3V0IHBoYXNlIGlzIGNhcnJp
ZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRBdHRy
aWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0
QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlv
dXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEF0dHJpYnV0
ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWlsZExheW91dEF0dHJpYnV0ZXNGb3JUZXh0U3VidHJl
ZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEVuZ2luZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmUuaAppbmRleCBhZDA1OGQ4Li42MzFlNGNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgU1ZHUmVuZGVy
U3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVUZXh0IHJlbmRlcmVycyB0byBjb21wdXRlIHRoZSBm
aW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyCiAvLyB3aGljaCBhcmUgc3RvcmVkIGlu
IHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdp
bmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2luZSk7CiBwdWJsaWM6CiAg
ICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwogICAgIFNWR1RleHRDaHVua0J1aWxkZXImIGNodW5r
TGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1fY2h1bmtMYXlvdXRCdWlsZGVyOyB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKaW5k
ZXggZDc1M2IzOS4uNjc5NGJmMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApAQCAtMzMsNyArMzMsOCBAQCBjbGFzcyBTVkdS
ZW5kZXJTdHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNl
ZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAv
ICdkb21pbmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0
TGF5b3V0RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4
dExheW91dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0
TGF5b3V0RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVC
YXNlbGluZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgK
QEAgLTMwLDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50
OwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRs
ZSAna2VybmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNz
IFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2Uv
RGF0YWJhc2VUYXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggYjYx
ZTQ2NS4uZTFkZjU5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5o
CisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJh
c2VUYXNrIGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRh
c2s6OmNyZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFz
ZVRhc2tTeW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VU
YXNrU3luY2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tT
eW5jaHJvbml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNlVGFza1N5bmNocm9uaXplcigpOwog
CkBAIC02Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNl
VGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIHZpcnR1YWwgfkRhdGFiYXNlVGFzaygpOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmggYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJh
c2VUcmFja2VyLmgKaW5kZXggNzE0NWU2Yi4uYTFhNWJkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9z
dG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRy
YWNrZXIuaApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBEYXRhYmFzZVRyYWNrZXJDbGllbnQ7CiBz
dHJ1Y3QgU2VjdXJpdHlPcmlnaW5UcmFpdHM7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKENIUk9NSVVN
KQogCi1jbGFzcyBEYXRhYmFzZVRyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RGF0YWJhc2VUcmFja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRyYWNr
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBp
bml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlUGF0aCk7CiAgICAgc3RhdGlj
IERhdGFiYXNlVHJhY2tlciYgdHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdl
L0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5k
aW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKaW5kZXggNzgzYTczMS4uNWJjNmFjZCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaAorKysgYi9X
ZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCkBAIC00NCw3ICs0
NCw4IEBAIGNsYXNzIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZTsKIC8vIEZJWE1FOiBt
b3ZlIHRoZSB2ZWN0b3Igb2YgdHJhbnNhY3Rpb25zIHRvIFRMUy4gS2VlcGluZyBpdCBzdGF0aWMK
IC8vIHdpbGwgbm90IHdvcmsgb25jZSB3ZSBhZGQgc3VwcG9ydCBmb3Igd29ya2Vycy4gQW5vdGhl
ciBwb3NzaWJsZQogLy8gc29sdXRpb24gaXMgdG8ga2VlcCB0aGUgdmVjdG9yIGluIHRoZSBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LgotY2xhc3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBhZGRQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlUGVuZGlu
Z1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSopOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9M
b2NhbFN0b3JhZ2VUYXNrLmgKaW5kZXggYTJlMzVlYS4uMjdhOGViNSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9j
YWxTdG9yYWdlVGFzay5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQ7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMg
Y2xhc3MgdG8gU3RvcmFnZVRhc2sKLSAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5
bmMsIERlbGV0ZUVtcHR5RGF0YWJhc2UsIFRlcm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmggYi9XZWJDb3JlL3N0b3JhZ2Uv
TG9jYWxTdG9yYWdlVGhyZWFkLmgKaW5kZXggNmYwNTkxMS4uYTJjNzhjNiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCisrKyBiL1dlYkNvcmUvc3RvcmFn
ZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzazsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUg
dGhpcyBjbGFzcyB0byBTdG9yYWdlVGhyZWFkCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFk
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRy
PExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJl
YWQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBi
L1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi44MmQ3
Yzc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmln
aW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgT3JpZ2luUXVvdGFNYW5hZ2VyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Rv
cmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVj
b3JkLmgKaW5kZXggYTgzMGU2OC4uNzU1N2VhYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdl
L09yaWdpblVzYWdlUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVj
b3JkLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBPYmplY3Rz
IG9mIHRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgZnJvbSBtdWx0aXBsZSB0aHJlYWRzIHdpdGggZXh0
ZXJuYWwgc3luY2hyb25pemF0aW9uLgogLy8gU3RyaW5nIGFyZ3VtZW50cyBhcmUgYWxzbyBzdXBw
b3NlZCB0byBiZSBkZWVwbHkgY29waWVkIGJ5IHRoZSBjYWxsZXIgd2hlbiBuZWNlc3NhcnkuCi1j
bGFzcyBPcmlnaW5Vc2FnZVJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBPcmln
aW5Vc2FnZVJlY29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3JpZ2luVXNhZ2VSZWNv
cmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJl
Y29yZCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGll
bnQuaCBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2
NTcuLjNjNWVjMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNs
aWVudC5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0z
Myw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAKKyNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC00MSw4ICs0MiwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogCiAv
LyBBIGNsaWVudCB0byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxUcmFuc2Fj
dGlvbiB0byBub3RpZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4gdGhpbmdz
IGhhdmUgaGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xp
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9
CiAgICAgdm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsK
ICAgICB2b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJv
b2wgZGlkRXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBiL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uZmQ3Njc4MiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAorKysgYi9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0Mywx
MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAot
ICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAgICBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9y
KCkgeyB9CiAgICAgICAgIHZvaWQgYWNxdWlyZUxvY2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICAg
ICAgdm9pZCByZWxlYXNlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHNodXRk
b3duKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaCBi
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCmluZGV4IGEwY2YyYmIuLjBlZDYy
YTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCisrKyBi
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCkBAIC0zOCw3ICszOCw4IEBAIGNs
YXNzIFNWR1N0eWxlZEVsZW1lbnQ7CiBjbGFzcyBTVkdTTUlMRWxlbWVudDsKIGNsYXNzIFNWR1NW
R0VsZW1lbnQ7CiAKLWNsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdEb2N1bWVudEV4dGVuc2lvbnMgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8U1ZHU3R5bGVkRWxlbWVudD4gPiBT
VkdQZW5kaW5nRWxlbWVudHM7CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKERvY3VtZW50Kik7
CkBAIC02OCw5ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFNW
R1BlbmRpbmdFbGVtZW50cyo+IG1fcGVuZGluZ1Jlc291cmNlczsKICAgICBPd25QdHI8U1ZHUmVz
b3VyY2VzQ2FjaGU+IG1fcmVzb3VyY2VzQ2FjaGU7CiAKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lv
bnMoY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0gICAgU1ZHRG9jdW1lbnRFeHRlbnNp
b25zJiBvcGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0KIHB1YmxpYzoK
ICAgICAvLyBUaGlzIEhhc2hNYXAgY29udGFpbnMgYSBsaXN0IG9mIHBlbmRpbmcgcmVzb3VyY2Vz
LiBQZW5kaW5nIHJlc291cmNlcywgYXJlIHN1Y2gKICAgICAvLyB3aGljaCBhcmUgcmVmZXJlbmNl
ZCBieSBhbnkgb2JqZWN0IGluIHRoZSBTVkcgZG9jdW1lbnQsIGJ1dCBkbyBOT1QgZXhpc3QgeWV0
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmggYi9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAppbmRleCA0Mjc2YzRhLi4zMzE4ZGVlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50UmFyZURhdGEuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBTVkdDdXJzb3JFbGVt
ZW50OwogY2xhc3MgU1ZHRWxlbWVudDsKIGNsYXNzIFNWR0VsZW1lbnRJbnN0YW5jZTsKIAotY2xh
c3MgU1ZHRWxlbWVudFJhcmVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0Vs
ZW1lbnRSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRWxlbWVudFJhcmVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHRWxlbWVudFJh
cmVEYXRhKCkKICAgICAgICAgOiBtX2N1cnNvckVsZW1lbnQoMCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3ZnL1NWR0ZvbnREYXRhLmggYi9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCmluZGV4IGU4
OTdhNTkuLmYyMDJkMjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKKysr
IGIvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaApAQCAtMjUsNyArMjUsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR0ZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNWR0ZvbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdGb250RGF0
YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0ZvbnREYXRhKFNW
R0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0
aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi44ZTQzYjk0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2
Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKQEAg
LTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1
bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhCbGVuZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFNWR1BhdGhCbGVuZGVyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Zn
L1NWR1BhdGhCeXRlU3RyZWFtLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCmlu
ZGV4IGI4ODgyYjYuLmE0NDRhYzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRl
U3RyZWFtLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaApAQCAtNDMsNyAr
NDMsOCBAQCB0eXBlZGVmIHVuaW9uIHsKICAgICB1bnNpZ25lZCBjaGFyIGJ5dGVzW3NpemVvZih1
bnNpZ25lZCBzaG9ydCldOwogfSBVbnNpZ25lZFNob3J0Qnl0ZTsKIAotY2xhc3MgU1ZHUGF0aEJ5
dGVTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCeXRlU3RyZWFtKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5
dGVTdHJlYW0+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0
aENvbnN1bWVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTcz
Li5hZjNmNzliIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAorKysg
Yi9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAtMjYsNiArMjYsNyBAQAogCiAjaWYg
RU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNDAsOCArNDEsMTAgQEAgZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVu
YWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgor
ICAgIFNWR1BhdGhDb25zdW1lcigpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBpbmNyZW1lbnRQYXRo
U2VnbWVudENvdW50KCkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBjb250aW51ZUNvbnN1bWluZygp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYW51cCgpID0gMDsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvc3ZnL1NWR1BhdGhQYXJzZXIuaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAppbmRl
eCA3Njc5YTk1Li4wOTYxMzFjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2Vy
LmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCkBAIC0yOSwxMiArMjksMTIgQEAK
ICNpbmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnLmgiCiAj
aW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU1ZHUGF0aFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoUGFy
c2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoUGFyc2VyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aFBhcnNlcigpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoU291
cmNlLmgKaW5kZXggZDFhNjE0OS4uNzdiZjlmYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZH
UGF0aFNvdXJjZS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaApAQCAtMjUsOCAr
MjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoU291cmNlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhTb3VyY2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNWR1BhdGhTb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+U1ZHUGF0aFNvdXJj
ZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29uc3QgPSAwOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaCBiL1dlYkNvcmUvc3ZnL1NWR1ZpZXdT
cGVjLmgKaW5kZXggNjg2Y2VjMy4uY2QxMGNhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZH
Vmlld1NwZWMuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zMiw4ICszMiw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIGNsYXNzIFNWR1Zp
ZXdTcGVjIDogcHVibGljIFNWR0ZpdFRvVmlld0JveCwKLSAgICAgICAgICAgICAgICAgICAgcHVi
bGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdab29tQW5kUGFuIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7CiBwdWJsaWM6CiAgICAgU1ZHVmlld1NwZWMo
U1ZHRWxlbWVudCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFn
ZS5jcHAgYi9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggOTdmODZiZS4u
ZmMyZmQwOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCisr
KyBiL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtNTUsNyArNTUsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDogcHVi
bGljIEVtcHR5Q2hyb21lQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHSW1h
Z2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNWR0ltYWdlQ2hyb21lQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgU1ZHSW1hZ2VDaHJvbWVDbGllbnQoU1ZHSW1hZ2UqIGltYWdlKQog
ICAgICAgICA6IG1faW1hZ2UoaW1hZ2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYmF1ZGlvL1Jl
YWx0aW1lQW5hbHlzZXIuaCBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCmlu
ZGV4IDY4NmMxN2MuLmNjNzkxZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRp
bWVBbmFseXNlci5oCisrKyBiL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCkBA
IC0zOSw3ICszOSw4IEBAIGNsYXNzIEZsb2F0MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7CiAj
ZW5kaWYKIAotY2xhc3MgUmVhbHRpbWVBbmFseXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBSZWFsdGltZUFuYWx5c2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFsdGlt
ZUFuYWx5c2VyKTsKIHB1YmxpYzoKICAgICBSZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmlydHVh
bCB+UmVhbHRpbWVBbmFseXNlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1Ro
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAwNWIzNzY3Li45NTZlMGZlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJD
b3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNDMsOCArNDMs
MTAgQEAgY2xhc3MgS1VSTDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBX
ZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCi1jbGFzcyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwp
OwogcHVibGljOgorICAgIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsKCkgeyB9CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCosIGNvbnN0IEtVUkwmLCBj
b25zdCBTdHJpbmcmIHByb3RvY29sKTsKIAogICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0KCkgPSAw
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaCBiL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggOWM1MjM3Ny4uYTM5Y2Qw
ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysg
Yi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00OSw2ICs0OSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50Owog
CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlNvY2tl
dENoYW5uZWw+LCBwdWJsaWMgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LCBwdWJsaWMgVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVs
Q2xpZW50KiBjbGllbnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkg
eyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1
cmwsIHByb3RvY29sKSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3MWQ4
NTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAor
KysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAgLTM3LDEzICsz
NywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0
SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNl
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFzcyBXZWJTb2Nr
ZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdlYlNvY2tldEhh
bmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tldEhhbmRzaGFr
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAgICAgSW5jb21w
bGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93ZWJz
b2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9XZWJDb3JlL3dlYnNv
Y2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi45
ZjBiMDFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwuaAorKysgYi9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQ
cm94eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4
dCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2Rl
LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpCiAgICAgewpAQCAtNzcs
NyArNzgsOCBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIC8vIEdlbmVyYXRlZCBieSB0aGUg
YnJpZGdlLiAgVGhlIFBlZXIgYW5kIGl0cyBicmlkZ2Ugc2hvdWxkIGhhdmUgaWRlbnRpY2FsCiAg
ICAgLy8gbGlmZXRpbWVzLgotICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5l
bENsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQZWVyIDogcHVibGljIFdl
YlNvY2tldENoYW5uZWxDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZWVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
UGVlciogY3JlYXRlKFJlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbENsaWVudFdyYXBw
ZXI+IGNsaWVudFdyYXBwZXIsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3Qg
S1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQogICAgICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBiL1dlYkNv
cmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCmluZGV4IDIxZTE0YTEu
LjQzNWI2MTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBTaGFyZWRXb3JrZXJQcm94eTsKIAogICAgIC8vIFBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVu
dGF0aW9uIG9mIHRoZSBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5IHN0YXRpYyBpbnRlcmZhY2UuCi0g
ICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEludm9rZWQgb25j
ZSB0aGUgd29ya2VyIHNjcmlwdCBoYXMgYmVlbiBsb2FkZWQgdG8gZmlyZSB1cCB0aGUgd29ya2Vy
IHRocmVhZC4KICAgICAgICAgdm9pZCB3b3JrZXJTY3JpcHRMb2FkZWQoU2hhcmVkV29ya2VyUHJv
eHkmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiB3b3JrZXJTY3JpcHQs
IFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsPik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyQ29udGV4dC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApp
bmRleCA3YjZjOWEyLi5iYWYxYTQxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKQEAgLTE0NSw3
ICsxNDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgaXNDbG9zaW5nKCkg
eyByZXR1cm4gbV9jbG9zaW5nOyB9CiAKICAgICAgICAgLy8gQW4gb2JzZXJ2ZXIgaW50ZXJmYWNl
IHRvIGJlIG5vdGlmaWVkIHdoZW4gdGhlIHdvcmtlciB0aHJlYWQgaXMgZ2V0dGluZyBzdG9wcGVk
LgotICAgICAgICBjbGFzcyBPYnNlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAg
IGNsYXNzIE9ic2VydmVyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9ic2Vy
dmVyKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgT2JzZXJ2ZXIoV29ya2VyQ29udGV4
dCopOwogICAgICAgICAgICAgdmlydHVhbCB+T2JzZXJ2ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggMzM5MzdjZS4uYWI2MTEzYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTQ2LDcgKzQ2LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAgICAgY2xhc3MgV29ya2Vy
OwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4
dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94
eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6
IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVi
bGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29y
a2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFdvcmtlck1lc3NhZ2luZ1Byb3h5KFdvcmtlciopOwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
UnVuTG9vcC5jcHAKaW5kZXggODNmMjQzZi4uN2IzMTQ5YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5M
b29wLmNwcApAQCAtMTA0LDcgKzEwNCw4IEBAIFN0cmluZyBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0
TW9kZSgpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi1jbGFzcyBSdW5Mb29wU2V0dXAgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFNldHVwIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSdW5Mb29wU2V0dXApOwogcHVibGljOgogICAgIFJ1bkxvb3BTZXR1cChXb3Jr
ZXJSdW5Mb29wJiBydW5Mb29wKQogICAgICAgICA6IG1fcnVuTG9vcChydW5Mb29wKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJSdW5Mb29wLmgKaW5kZXggOWQ0ZWRmZC4uM2ZlYjRlOCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVu
TG9vcC5oCkBAIC02NSw3ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBz
dGF0aWMgU3RyaW5nIGRlZmF1bHRNb2RlKCk7CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBw
dWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxUYXNrPiBjcmVhdGUoUGFzc093
blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrLCBjb25zdCBTdHJpbmcmIG1v
ZGUpOwogICAgICAgICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5k
ZXggZjYxMTIwZS4uZTFmMWE2NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTYxLDcg
KzYxLDggQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAg
cmV0dXJuIG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0
YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YT4gY3JlYXRlKGNvbnN0IEtVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVx
dWVzdC5jcHAKaW5kZXggZmM3ZWI5ZS4uMmI3NzIwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcApA
QCAtNjUsNyArNjUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpSZWZDb3Vu
dGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRwUmVxdWVzdCIpOwog
I2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
K3B1YmxpYzoKICAgICBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEoKTsKICAgICBTdHJpbmcgbV9w
cm94eUhlYWRlclByZWZpeDsKICAgICBTdHJpbmcgbV9zZWNIZWFkZXJQcmVmaXg7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuaAppbmRleCBiYzY4MTVkLi5iMTVkMzU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5oCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTQ0
LDYgKzQ0LDcgQEAgY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFRocmVhZGFibGVM
b2FkZXI7CiAKIGNsYXNzIFhNTEh0dHBSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0
cFJlcXVlc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNs
aWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcg
WE1MSHR0cFJlcXVlc3QoY29udGV4dCkpOyB9CiAgICAgflhNTEh0dHBSZXF1ZXN0KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmggYi9XZWJDb3JlL3htbC9Y
UGF0aEV4cHJlc3Npb25Ob2RlLmgKaW5kZXggYzA0ZDQ1Yi4uOTNmYjg1OSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRo
RXhwcmVzc2lvbk5vZGUuaApAQCAtMzksNyArMzksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBuYW1lc3BhY2UgWFBhdGggewogICAgICAgICAKLSAgICAgICAgc3RydWN0IEV2YWx1YXRp
b25Db250ZXh0IDogRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHN0cnVjdCBFdmFsdWF0aW9uQ29u
dGV4dCB7CisgICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlvbjsKQEAgLTUz
LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCB+UGFy
c2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1
YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV4cHJl
c3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGlj
OgogICAgICAgICAgICAgc3RhdGljIEV2YWx1YXRpb25Db250ZXh0JiBldmFsdWF0aW9uQ29udGV4
dCgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaCBiL1dlYkNvcmUv
eG1sL1hQYXRoTm9kZVNldC5oCmluZGV4IGQ1YzQ3YmUuLjYxOWQ5MWMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5o
CkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIG5hbWVzcGFjZSBY
UGF0aCB7CiAKLSAgICAgICAgY2xhc3MgTm9kZVNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICAgICAgY2xhc3MgTm9kZVNldCB7CisgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgTm9kZVNldCgpIDogbV9pc1NvcnRl
ZCh0cnVlKSwgbV9zdWJ0cmVlc0FyZURpc2pvaW50KGZhbHNlKSB7IH0KICAgICAgICAgICAgIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaCBiL1dlYkNvcmUveG1sL1hQYXRo
UGFyc2VyLmgKaW5kZXggMGVlNDQ3YS4uZjQ5YjQ0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwv
WFBhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCkBAIC01OCw3ICs1
OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFRva2VuKGludCB0LCBFcVRl
c3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBlcW9wKHYpIHt9CiAgICAgICAgIH07CiAKLSAgICAg
ICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgUGFy
c2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7CiAgICAgICAg
IHB1YmxpYzoKICAgICAgICAgICAgIFBhcnNlcigpOwogICAgICAgICAgICAgflBhcnNlcigpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaCBiL1dlYkNvcmUveG1sL1hQ
YXRoUHJlZGljYXRlLmgKaW5kZXggNWYyNDgyYS4uMzYwMDE1NCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS94bWwvWFBhdGhQcmVkaWNhdGUuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5o
CkBAIC0xMDUsNyArMTA1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmly
dHVhbCBWYWx1ZTo6VHlwZSByZXN1bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVT
ZXRWYWx1ZTsgfQogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIFByZWRpY2F0ZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFByZWRpY2F0ZSB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQcmVkaWNhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAg
ICAgICAgICAgIH5QcmVkaWNhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hQYXRoU3Rl
cC5oIGIvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uYjAzMWJhZiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhT
dGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGNs
YXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFy
c2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTdGVwIDogcHVibGlj
IFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIGVudW0g
QXhpcyB7CiAgICAgICAgICAgICAgICAgQW5jZXN0b3JBeGlzLCBBbmNlc3Rvck9yU2VsZkF4aXMs
IEF0dHJpYnV0ZUF4aXMsCkBAIC00OSw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgICAgICAgICBTZWxmQXhpcwogICAgICAgICAgICAgfTsKICAgICAgICAgICAgIAotICAg
ICAgICAgICAgY2xhc3MgTm9kZVRlc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAg
ICAgICBjbGFzcyBOb2RlVGVzdCB7CisgICAgICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICAgICAgZW51bSBLaW5kIHsK
ICAgICAgICAgICAgICAgICAgICAgVGV4dE5vZGVUZXN0LCBDb21tZW50Tm9kZVRlc3QsIFByb2Nl
c3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBBbnlOb2RlVGVzdCwgTmFtZVRlc3QKZGlmZiAtLWdp
dCBhL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaCBiL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1
bGUuaAppbmRleCBmM2E5MzE4Li41YzBjYThhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YU0xJ
bXBvcnRSdWxlLmgKKysrIGIvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCkBAIC0zNSw2ICsz
NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENhY2hlZFhTTFN0eWxlU2hlZXQ7CiAK
IGNsYXNzIFhTTEltcG9ydFJ1bGUgOiBwdWJsaWMgU3R5bGVCYXNlLCBwcml2YXRlIENhY2hlZFJl
c291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCog
cGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJL
aXQvQ2hhbmdlTG9nIGIvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhNGJkZWVmLi5mZGUwODAyIDEw
MDY0NAotLS0gYS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMS0wMS0wNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZh
Y3RvcmluZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVy
aXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxh
cmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlvbiByZXBs
YWNlcyBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVzZSBpbmhl
cml0cyB3aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50YXRpb24g
YXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMuCisKIDIwMTAtMTItMzEgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgU1ZOIGlnbm9yZSBwcm9wZXJ0eSB0byBo
aWRlIHR3byBtb3JlIGV4dGVybmFsIGRlcGVuZGVuY2llcy4KZGlmZiAtLWdpdCBhL1dlYktpdC9j
aHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmpl
Y3QuaAppbmRleCA3NjllODNmLi4zOTRmZjdjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
c3JjL0JvdW5kT2JqZWN0LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5o
CkBAIC0zOSw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogLy8gQm91bmRPYmplY3QgaXMg
YSBoZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMK
IC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQg
b25jZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4
OjpDb250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUp
OwogICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEuLmI3NmJjZmUgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCisrKyBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCkBAIC01NSw3ICs1NSw4IEBA
IGJvb2wgRGVidWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhwb3NlVjhEZWJ1Z2dlclByb3RvY29sID0g
ZmFsc2U7CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIENhbGxlcklkV3JhcHBlciA6IHB1YmxpYyB2
ODo6RGVidWc6OkNsaWVudERhdGEsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWxsZXJJ
ZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDYWxsZXJJZFdyYXBwZXIpOwogcHVibGljOgogICAgIENhbGxlcklkV3JhcHBl
cigpIDogbV9jYWxsZXJJc01hbmFuYWdlcih0cnVlKSwgbV9jYWxsZXJJZCgwKSB7IH0KICAgICBl
eHBsaWNpdCBDYWxsZXJJZFdyYXBwZXIoaW50IGNhbGxlcklkKQpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCmluZGV4IDY2YmQ3MTQuLmEzMjMzMTEgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAorKysgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKQEAgLTYzLDcgKzYzLDggQEAg
Y2xhc3MgV2ViVmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qgc29tZSBhY3Rpb25zIGZyb20gdGhl
IGhhbmRsZXIuIElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRlCiAvLyBkZWJ1Z2dlciBhZ2VudCB0
byBoYW5kbGUgc3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3aWxsIHBlcmZvcm0gdGhlIGFjdGlv
bgogLy8gaXRzZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcgd2FpdGluZyBmb3IgdGhlIGFjdGlv
bi4KLWNsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWJ1
Z2dlckFnZW50TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVidWdBdHRhY2go
RGVidWdnZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwogICAgIHN0YXRpYyB2b2lkIGRlYnVn
RGV0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKZGlmZiAtLWdpdCBhL1dl
YktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9XZWJLaXQv
Y2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4IGZjMjFmM2Uu
LjI4Njc5MTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVu
ZENsaWVudEltcGwuaApAQCAtNDQsOCArNDQsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNz
IFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1w
bDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6
Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsKK2NsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKTsKIHB1YmxpYzoK
ICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoV2ViQ29yZTo6UGFnZSosIFdlYkRldlRv
b2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCopOwogICAgIHZpcnR1
YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2NmExY2IuLmRjN2QyZGYgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAgLTU1LDgg
KzU1LDggQEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3Ry
aW5nOwogCi1jbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6Oldl
YkRldlRvb2xzRnJvbnRlbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdl
YktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vi
RGV2VG9vbHNGcm9udGVuZEltcGwpOwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJ
bXBsKAogICAgICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdp
dCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCA4MGQwN2JlLi5hM2Y3N2ZjIDEwMDY0NAotLS0g
YS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yODAsNyArMjgwLDggQEAgV2ViUGx1Z2luQ29u
dGFpbmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUq
IGZyYW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRl
eHQgYmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0
IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFz
cyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoK
ICAgICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29u
dGV4dChmcmFtZSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51
SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggMjIx
YmEwMy4uMWU5MjQ3NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1l
bnVJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAg
LTU2LDYgKzU2LDcgQEAgc3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDog
cHVibGljIFdlYlBvcHVwTWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2Vi
Q29yZTo6RnJhbWVsZXNzU2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICBwdWJsaWMgUmVmQ291bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgLy8gV2ViV2lkZ2V0CiAgICAgdmlydHVhbCB2b2lk
IGNsb3NlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXJFZmwuaCBiL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlckVmbC5oCmluZGV4IDRiYmFlMjUuLjY3YzQ2MDggMTAwNjQ0Ci0t
LSBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVm
bC5oCisrKyBiL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlckVmbC5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5o
IgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
KTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVh
bCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggYi9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCBkNGJiZWEyLi4z
ZmI4YjE2IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXIuaAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxNZWRp
YUVsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwog
ICAgIHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdGRvd25sb2FkLmNwcAppbmRleCA2MWU5MzgwLi5mNDY0OTJmIDEwMDY0NAotLS0gYS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0ZG93bmxvYWQuY3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogICogb3V0IHdoYXQgaXMgdG8gYmUgZG93bmxvYWRlZCwgYW5kIGRvIGl0IGl0c2VsZi4K
ICAqLwogCi1jbGFzcyBEb3dubG9hZENsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGlj
IFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGljIFJl
c291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9hZENs
aWVudCk7CiAgICAgcHVibGljOgogICAgICAgICBEb3dubG9hZENsaWVudChXZWJLaXREb3dubG9h
ZCopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1
Z2luSW5zdGFuY2VQcm94eS5oIGIvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBs
dWdpbkluc3RhbmNlUHJveHkuaAppbmRleCBmNzg0YWRlLi40ZjJjNTY2IDEwMDY0NAotLS0gYS9X
ZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCisr
KyBiL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5
LmgKQEAgLTMxMyw3ICszMTMsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgZGVtYXJzaGFsVmFsdWVG
cm9tQXJyYXkoSlNDOjpFeGVjU3RhdGUqLCBOU0FycmF5ICphcnJheSwgTlNVSW50ZWdlciYgaW5k
ZXgsIEpTQzo6SlNWYWx1ZSYgcmVzdWx0KTsKICAgICB2b2lkIGRlbWFyc2hhbFZhbHVlcyhKU0M6
OkV4ZWNTdGF0ZSosIGRhdGFfdCB2YWx1ZXNEYXRhLCBtYWNoX21zZ190eXBlX251bWJlcl90IHZh
bHVlc0xlbmd0aCwgSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciYgcmVzdWx0KTsKIAotICAgIGNs
YXNzIExvY2FsT2JqZWN0TWFwIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsT2JqZWN0
TWFwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxPYmplY3RNYXApOwogICAg
IHB1YmxpYzoKICAgICAgICAgTG9jYWxPYmplY3RNYXAoKTsKICAgICAgICAgfkxvY2FsT2JqZWN0
TWFwKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50Lm1tIGIvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5t
bQppbmRleCAyOTEzNzM5Li42NWFiYTQzIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1N0b3JhZ2Uv
V2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCisrKyBiL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJE
YXRhYmFzZVRyYWNrZXJDbGllbnQubW0KQEAgLTUyLDcgKzUyLDggQEAgV2ViRGF0YWJhc2VUcmFj
a2VyQ2xpZW50Ojp+V2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KCkKIHsKIH0KIAotY2xhc3MgRGlk
TW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEaWRNb2RpZnlP
cmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEaWRNb2RpZnlPcmlnaW5EYXRh
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFRvTWFpblRocmVhZChXZWJEYXRh
YmFzZVRyYWNrZXJDbGllbnQqIGNsaWVudCwgU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKICAgICB7
CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmggYi9XZWJLaXQvd2luL0NP
TUVudW1WYXJpYW50LmgKaW5kZXggYTkzYTNjMi4uNjcyNTEwNyAxMDA2NDQKLS0tIGEvV2ViS2l0
L3dpbi9DT01FbnVtVmFyaWFudC5oCisrKyBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaApA
QCAtMjksMTIgKzI5LDEyIEBACiAjZGVmaW5lIE5PTUlOTUFYCiAjaW5jbHVkZSA8dW5rbnduLmg+
CiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgIkNPTVZhcmlhbnRT
ZXR0ZXIuaCIKIAogdGVtcGxhdGU8dHlwZW5hbWUgQ29udGFpbmVyVHlwZT4KLWNsYXNzIENPTUVu
dW1WYXJpYW50IDogcHVibGljIElFbnVtVkFSSUFOVCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIENPTUVudW1WYXJpYW50IDogcHVibGljIElFbnVtVkFSSUFOVCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ09NRW51bVZhcmlhbnQpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01FbnVt
VmFyaWFudCogYWRvcHQoQ29udGFpbmVyVHlwZSYpOwogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFu
dCogY3JlYXRlSW5zdGFuY2UoY29uc3QgQ29udGFpbmVyVHlwZSYpOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggYi9XZWJLaXQvd2luL0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCA5YWM4YzY5Li43NTMxODg4IDEwMDY0NAotLS0gYS9X
ZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAorKysgYi9XZWJLaXQvd2luL0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaApAQCAtMTAyLDcgKzEwMiw4IEBAIHByaXZhdGU6CiAg
ICAgaW50IG1fZHJhZ1N0YXJ0T2Zmc2V0OwogfTsKIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUZ1bGxzY3JlZW5DbGllbnQsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAgIHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNw
cCBiL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAppbmRleCBiZGNiNTQ5Li5lMmI4
MWUxIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKKysrIGIv
V2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCkBAIC01Miw3ICs1Miw4IEBAIHN0YXRp
YyBpbmxpbmUgYm9vbCBpc0VxdWFsKExQQ1dTVFIgczEsIExQQ1dTVFIgczIpCiAgICAgcmV0dXJu
ICF3Y3NjbXAoczEsIHMyKTsKIH0KIAotY2xhc3MgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcg
OiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJh
c2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyk7CiBwdWJsaWM6CiAgICAg
c3RhdGljIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKiBjcmVhdGVJbnN0YW5jZShjb25zdCBE
YXRhYmFzZURldGFpbHMmKTsKIApAQCAtMzI4LDcgKzMyOSw4IEBAIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgV2ViRGF0YWJhc2VNYW5hZ2VyOjpkZWxldGVEYXRhYmFzZSgKICAgICByZXR1cm4g
U19PSzsKIH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEaWRNb2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRj
aFRvTWFpblRocmVhZChXZWJEYXRhYmFzZU1hbmFnZXIqIGRhdGFiYXNlTWFuYWdlciwgU2VjdXJp
dHlPcmlnaW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkluc3Bl
Y3Rvci5oIGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaAppbmRleCAwNTNhNTkzLi5jZDMyNGE4
IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCisrKyBiL1dlYktpdC93aW4v
V2ViSW5zcGVjdG9yLmgKQEAgLTMwLDExICszMCwxMSBAQAogI2RlZmluZSBXZWJJbnNwZWN0b3Jf
aAogCiAjaW5jbHVkZSAiV2ViS2l0LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IGNsYXNzIFdlYlZpZXc7CiAKLWNsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVj
dG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMgSVdlYkluc3BlY3RvciwgcHVibGljIElXZWJJbnNw
ZWN0b3JQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJJbnNwZWN0b3IpOwog
cHVibGljOgogICAgIHN0YXRpYyBXZWJJbnNwZWN0b3IqIGNyZWF0ZUluc3RhbmNlKFdlYlZpZXcq
KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwIGIv
V2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCmluZGV4IGRhNmIyMjEuLmU5Yjk5
YWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcAorKysg
Yi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKQEAgLTcyLDcgKzcyLDggQEAg
c3RhdGljIExvY2FsaXplZFN0cmluZ01hcCBmcmFtZXdvcmtMb2NTdHJpbmdzKCkKICAgICByZXR1
cm4gbWFwOwogfQogCi1jbGFzcyBMb2NhbGl6ZWRTdHJpbmcgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTG9jYWxpemVkU3RyaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2Nh
bGl6ZWRTdHJpbmcpOwogcHVibGljOgogICAgIExvY2FsaXplZFN0cmluZyhDRlN0cmluZ1JlZiBz
dHJpbmcpCiAgICAgICAgIDogbV9jZlN0cmluZyhzdHJpbmcpCmRpZmYgLS1naXQgYS9XZWJLaXQv
d2luL1dlYlNjcmlwdFdvcmxkLmggYi9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKaW5kZXgg
ZjA4OGE3Mi4uMDE1MTFkZSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5o
CisrKyBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogfQogCi1jbGFzcyBX
ZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTY3JpcHRXb3Js
ZCB7CitjbGFzcyBXZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBJV2ViU2NyaXB0V29ybGQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNjcmlwdFdvcmxkKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgV2ViU2NyaXB0V29ybGQqIHN0YW5kYXJkV29ybGQoKTsKICAgICBzdGF0aWMgQ09NUHRyPFdl
YlNjcmlwdFdvcmxkPiBjcmVhdGVJbnN0YW5jZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9X
ZWJTZXJpYWxpemVkSlNWYWx1ZS5oIGIvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5o
CmluZGV4IGEyZDZkNTYuLjZlMzc0N2QgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViU2VyaWFs
aXplZEpTVmFsdWUuaAorKysgYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKQEAg
LTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTsKIH0KIAotY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgTm9u
Y29weWFibGUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWUsIHB1YmxpYyBJV2ViU2VyaWFs
aXplZEpTVmFsdWVQcml2YXRlIHsKK2NsYXNzIFdlYlNlcmlhbGl6ZWRKU1ZhbHVlIDogcHVibGlj
IElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZh
dGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNlcmlhbGl6ZWRKU1ZhbHVlKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgQ09NUHRyPFdlYlNlcmlhbGl6ZWRKU1ZhbHVlPiBjcmVhdGVJbnN0
YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVy
bi5oIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAppbmRleCBlOGY2YjY3
Li40Mjg1NGI0IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVy
bi5oCisrKyBiL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKQEAgLTMyLDcg
KzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFVzZXJDb250ZW50VVJMUGF0
dGVybjsKIH0KIAotY2xhc3MgV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIDogcHVibGljIE5vbmNv
cHlhYmxlLCBwdWJsaWMgSVdlYlVzZXJDb250ZW50VVJMUGF0dGVybiB7CitjbGFzcyBXZWJVc2Vy
Q29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgSVdlYlVzZXJDb250ZW50VVJMUGF0dGVybiB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgQ09NUHRyPFdlYlVzZXJDb250ZW50VVJMUGF0dGVybj4gY3JlYXRlSW5z
dGFuY2UoKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCBiYTcwODdhLi40MmJjZTYxIDEwMDY0NAotLS0gYS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAxLTA0ICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxs
b2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAg
ZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4K
KwogMjAxMS0wMS0wNCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluLnBvdWxhaW5Abm9raWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBiL1dlYktpdDIvUGxhdGZvcm0v
TW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWM3NTIzYyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0
Zm9ybS9Nb2R1bGUuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCkBAIC0zOSw3ICsz
OSw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBNb2R1bGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgTW9kdWxlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNb2R1
bGUpOwogcHVibGljOgogICAgIE1vZHVsZShjb25zdCBTdHJpbmcmIHBhdGgpOwogICAgIH5Nb2R1
bGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmggYi9XZWJL
aXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCmluZGV4IDA1ZGMwZGQuLjk4NTQxMzIgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKKysrIGIvV2ViS2l0Mi9QbGF0
Zm9ybS9TaGFyZWRNZW1vcnkuaApAQCAtNTIsNyArNTIsOCBAQCBwdWJsaWM6CiAgICAgICAgIFJl
YWRXcml0ZQogICAgIH07CiAKLSAgICBjbGFzcyBIYW5kbGUgOiBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgSGFuZGxlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGFuZGxlKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEhhbmRsZSgpOwogICAgICAgICB+SGFuZGxlKCk7CmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIGIvV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCBlNjBkNTJkLi45YjVkMGUwIDEwMDY0NAot
LS0gYS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCisrKyBiL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgV2Vi
UHJvY2Vzc0Nvbm5lY3Rpb247CiBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
czsKICAgICAgICAgCiBjbGFzcyBQbHVnaW5Qcm9jZXNzIDogQ2hpbGRQcm9jZXNzIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGx1Z2luUHJvY2VzcyYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL0No
aWxkUHJvY2Vzcy5oIGIvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggNzhmZTFm
NC4uOGM1ZThlMyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKKysr
IGIvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTI3LDEzICsyNywxMSBAQAogI2Rl
ZmluZSBDaGlsZFByb2Nlc3NfaAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQ
cm9jZXNzIDogcHJvdGVjdGVkIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudCB7CiAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2hpbGRQcm9jZXNzKTsKLQogcHJvdGVjdGVkOgogICAgIENoaWxk
UHJvY2VzcygpOwogICAgIH5DaGlsZFByb2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCBiL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaAppbmRleCBjMjY1ZjJlMi4uYTE1MGQ2NyAx
MDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdl
ci5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIu
aApAQCAtNDEsNyArNDEsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFBsdWdpblByb2Nl
c3NQcm94eTsKIGNsYXNzIFdlYlByb2Nlc3NQcm94eTsKIAotY2xhc3MgUGx1Z2luUHJvY2Vzc01h
bmFnZXIgOiBOb25jb3B5YWJsZSAgeworY2xhc3MgUGx1Z2luUHJvY2Vzc01hbmFnZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblByb2Nlc3NNYW5hZ2VyKTsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGx1Z2luUHJvY2Vzc01hbmFnZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwIGIvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAppbmRleCA0
ODVmODkyLi4xZTBjMjUxIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dp
bi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
d2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKQEAgLTI1Myw3ICsyNTMsOCBAQCBWZWN0b3I8U3Ry
aW5nPiBQbHVnaW5JbmZvU3RvcmU6OnBsdWdpbnNEaXJlY3RvcmllcygpCiAgICAgcmV0dXJuIGRp
cmVjdG9yaWVzOwogfQogCi1jbGFzcyBQYXRoV2Fsa2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFBhdGhXYWxrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhdGhXYWxrZXIp
OwogcHVibGljOgogICAgIFBhdGhXYWxrZXIoY29uc3QgU3RyaW5nJiBkaXJlY3RvcnkpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCmluZGV4IDAxNTUxNWMuLmE0
MjhkNWIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIu
aAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKQEAgLTMxLDEz
ICszMSwxMyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTGlua0hhc2guaD4KICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDb250ZXh0OwogICAg
IAotY2xhc3MgVmlzaXRlZExpbmtQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZpc2l0
ZWRMaW5rUHJvdmlkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZpc2l0ZWRMaW5rUHJv
dmlkZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFZpc2l0ZWRMaW5rUHJvdmlkZXIoV2ViQ29u
dGV4dCopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25s
b2FkLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKaW5kZXggMjMx
OWVjNy4uYmFjZGQwMSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9E
b3dubG9hZC5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaApA
QCAtNjMsNyArNjMsNiBAQCBjbGFzcyBXZWJQYWdlOwogCiBjbGFzcyBEb3dubG9hZCA6IHB1Ymxp
YyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyPERvd25sb2FkPiB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRG93bmxvYWQpOwotCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8RG93bmxv
YWQ+IGNyZWF0ZSh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmKTsKICAgICB+RG93bmxvYWQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05QSlNPYmplY3QuaAppbmRleCA2NzM3YmQ0Li4zNTE4MjIxIDEwMDY0NAot
LS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKKysr
IGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCkBAIC00
MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgTlBSdW50aW1lT2JqZWN0TWFw
OwogICAgIAogLy8gTlBKU09iamVjdCBpcyBhbiBOUE9iamVjdCB0aGF0IHdyYXBzIGEgSlNPYmpl
Y3QuCi1jbGFzcyBOUEpTT2JqZWN0IDogcHVibGljIE5QT2JqZWN0LCBOb25jb3B5YWJsZSB7Citj
bGFzcyBOUEpTT2JqZWN0IDogcHVibGljIE5QT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShOUEpTT2JqZWN0KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgTlBKU09iamVjdCogY3JlYXRl
KE5QUnVudGltZU9iamVjdE1hcCogb2JqZWN0TWFwLCBKU0M6OkpTT2JqZWN0KiBqc09iamVjdCk7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlci5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKaW5kZXggZDdiYTg1My4uOGI2MGYxNyAxMDA2NDQKLS0t
IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5h
Z2VyLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5l
Y3Rpb25NYW5hZ2VyLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOwogICAgICAgICAKLWNsYXNzIFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uTWFuYWdlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb25NYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb25NYW5hZ2VyJiBzaGFyZWQoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77993</attachid>
            <date>2011-01-05 06:09:35 -0800</date>
            <delta_ts>2011-01-19 08:08:25 -0800</delta_ts>
            <desc>proposed patch (review candidate)</desc>
            <filename>fab.patch</filename>
            <type>text/plain</type>
            <size>283522</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKaW5kZXggNTA2MjA5My4uMDk3MTcw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKQEAgLTM0LDcgKzM0LDkg
QEAKICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ1B0ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAKLXN0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
U3RhdGljVmFsdWVFbnRyeSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CiAgICAgU3RhdGljVmFsdWVFbnRyeShKU09iamVjdEdldFByb3BlcnR5Q2FsbGJhY2sgX2dldFBy
b3BlcnR5LCBKU09iamVjdFNldFByb3BlcnR5Q2FsbGJhY2sgX3NldFByb3BlcnR5LCBKU1Byb3Bl
cnR5QXR0cmlidXRlcyBfYXR0cmlidXRlcykKICAgICAgICAgOiBnZXRQcm9wZXJ0eShfZ2V0UHJv
cGVydHkpLCBzZXRQcm9wZXJ0eShfc2V0UHJvcGVydHkpLCBhdHRyaWJ1dGVzKF9hdHRyaWJ1dGVz
KQogICAgIHsKQEAgLTQ1LDcgKzQ3LDkgQEAgc3RydWN0IFN0YXRpY1ZhbHVlRW50cnkgOiBGYXN0
QWxsb2NCYXNlIHsKICAgICBKU1Byb3BlcnR5QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwogfTsKIAot
c3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0
aWNGdW5jdGlvbkVudHJ5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBf
Y2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAg
ICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5jdGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0
ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8g
QW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMgY3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwg
c28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29udGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBn
cm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xkcyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFj
cm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoT3BhcXVl
SlNDbGFzcyopOwogICAgIH5PcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4Li5kNmRlNDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtNDgwLDcgKzQ4
MCw5IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVm
IGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
c3RydWN0IE9wYXF1ZUpTUHJvcGVydHlOYW1lQXJyYXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEo
Z2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDExYjMzYTUuLmZiMzE2NmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAxLTA1ICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxs
b2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAg
ZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4K
KworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IFR1cm4gRmFzdEFsbG9jQmFzZSdzIGlt
cGxlbWVudGF0aW9uIGludG8gYSBtYWNyby4KKwogMjAxMS0wMS0wNCAgU3RldmUgRmFsa2VuYnVy
ZyAgPHNmYWxrZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEJ1aWxkIGZpeC4gVXBkYXRlIHBhdGgg
dG8gRmluZFNhZmFyaSBhZnRlciBzb3VyY2UgY29kZSByZW9yZ2FuaXphdGlvbi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKaW5kZXggZTM4YjlkNC4uYzVh
N2Q1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVm
ZmVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgK
QEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhlIGFkZHJlc3Mgb2Yg
YSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZlZC4KIC8vICAgKiBU
aGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0LgogLy8KLWNsYXNz
IExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlua0J1ZmZlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlwZWRlZiBNYWNyb0Fz
c2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1ibGVyQ29kZVB0
ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIExhYmVsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdlY2E3MmEuLjFj
ZDA4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAg
LTI0Miw3ICsyNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9CiAjZW5kaWYKIAotICAgIGNs
YXNzIENvZGVCbG9jayA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBDb2RlQmxv
Y2sgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgZnJpZW5kIGNs
YXNzIEpJVDsKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3JpcHRFeGVjdXRh
YmxlKiBvd25lckV4ZWN1dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCosIFBhc3NSZWZQ
dHI8U291cmNlUHJvdmlkZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJvbFRhYmxlKiBz
eW1ib2xUYWJsZSwgYm9vbCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1NzksOSBAQCBuYW1l
c3BhY2UgSlNDIHsKIAogICAgICAgICBTeW1ib2xUYWJsZSogbV9zeW1ib2xUYWJsZTsKIAotICAg
ICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgc3RydWN0IFJh
cmVEYXRhIHsKKyAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFZlY3RvcjxIYW5kbGVySW5mbz4gbV9leGNlcHRpb25IYW5kbGVy
czsKIAogICAgICAgICAgICAgLy8gUmFyZSBDb25zdGFudHMKQEAgLTU5OSw2ICs2MDIsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIFZlY3RvcjxDYWxsUmV0dXJuT2Zmc2V0VG9CeXRl
Y29kZU9mZnNldD4gbV9jYWxsUmV0dXJuSW5kZXhWZWN0b3I7CiAjZW5kaWYKICAgICAgICAgfTsK
KyNpZiBQTEFURk9STShXSU4pCisgICAgICAgIGZyaWVuZCB2b2lkIFdURjo6ZGVsZXRlT3duZWRQ
dHI8UmFyZURhdGE+KFJhcmVEYXRhKik7CisjZW5kaWYKICAgICAgICAgT3duUHRyPFJhcmVEYXRh
PiBtX3JhcmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0luc3RydWN0aW9uLmgKaW5kZXggYzY0NjhhNS4uZjA3N2NiZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBTdHJ1Y3R1cmUg
dXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRfcHJvdG9fbGlz
dCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBzdHJlYW0uCi0g
ICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RBbGxvY0Jhc2Ug
eworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3QgeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHN0cnVjdCBQb2x5
bW9ycGhpY1N0dWJJbmZvIHsKICAgICAgICAgICAgIGJvb2wgaXNDaGFpbjsKICAgICAgICAgICAg
IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdFN0dWJSb3V0aW5lVHlwZSBzdHViUm91dGlu
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rv
b2wuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAppbmRl
eCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU2FtcGxpbmdUb29sLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L1NhbXBsaW5nVG9vbC5oCkBAIC0xNDIsNyArMTQyLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIGZyaWVuZCBjbGFzcyBIb3N0Q2FsbFJlY29yZDsKICAgICAgICAgCiAjaWYgRU5BQkxFKE9Q
Q09ERV9TQU1QTElORykKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIENh
bGxSZWNvcmQoU2FtcGxpbmdUb29sKiBzYW1wbGluZ1Rvb2wpCiAgICAgICAgICAgICAgICAgOiBt
X3NhbXBsaW5nVG9vbChzYW1wbGluZ1Rvb2wpCkBAIC0xNzIsNyArMTczLDggQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAjZWxzZQotICAgICAgICBjbGFzcyBD
YWxsUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgQ2FsbFJlY29y
ZCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3JkKTsKICAgICAg
ICAgcHVibGljOgogICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wqKQogICAgICAg
ICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDM3NzU2ZmEuLmZlNDhkZDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgK
QEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2luY2x1ZGUgIkRl
YnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFz
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1NlZ21lbnRl
ZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0LDggQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0eVJlZ2lzdGVy
OwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNsYXJhdGlv
blN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25T
dGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4uNzhkNDlkMiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklE
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgK
QEAgLTMwLDEyICszMCwxMiBAQAogI2RlZmluZSBSZWdpc3RlcklEX2gKIAogI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNsYXNzIFJlZ2lz
dGVySUQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVySUQgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlcklEKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIFJlZ2lzdGVySUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50KDApCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBkZmJlNjU4Li43
NDAwMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2Fj
aGVkQ2FsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRD
YWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogCiBuYW1l
c3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2Fj
aGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
Q2FjaGVkQ2FsbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNGdW5jdGlvbiogZnVuY3Rpb24sIGlu
dCBhcmdDb3VudCkKICAgICAgICAgICAgIDogbV92YWxpZChmYWxzZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3OTBjZi4uNzUz
ZDkwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVy
cHJldGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJfaAogCiAjaW5jbHVk
ZSAiQXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlICJKU0Nl
bGwuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmplY3QuaCIKQEAgLTY1
LDcgKzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4TGFyZ2VUaHJlYWRS
ZWVudHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRoID0gMzIgfTsKIAot
ICAgIGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IEludGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAg
IGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRDYWxsOwogICAg
IHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9S
ZWdpc3Rlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgK
aW5kZXggMzhkMTY0Ny4uMzk0NDY0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL1JlZ2lzdGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUgIkpTVmFsdWUu
aCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NC
YXNlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsK
QEAgLTQ3LDcgKzQ2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0eXBlZGVmIEV4ZWNTdGF0
ZSBDYWxsRnJhbWU7CiAKLSAgICBjbGFzcyBSZWdpc3RlciA6IHB1YmxpYyBXVEY6OkZhc3RBbGxv
Y0Jhc2UgeworICAgIGNsYXNzIFJlZ2lzdGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcigpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKaW5kZXggNTFhNWJkZi4u
ZjVjMGY1MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1Jl
Z2lzdGVyRmlsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdp
c3RlckZpbGUuaApAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNsYXNz
IEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJGaWxlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQgY2xhc3MgSklUOwogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRyeSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmgKaW5kZXggNGQyNTEzZC4uNzI1NDdlYiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgIGNsYXNzIFJlZ0V4cDsKIAotICAgIGNsYXNzIExleGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBMZXhlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExleGVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDaGFy
YWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGljIGJvb2wgaXNXaGl0
ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmlu
ZGV4IGI4ZTljZGYuLjM0MmNmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgK
QEAgLTEzNzcsNyArMTM3Nyw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBQYXJhbWV0ZXJO
b2RlKiBtX25leHQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBTY29wZU5vZGVEYXRhIDogRmFzdEFs
bG9jQmFzZSB7CisgICAgc3RydWN0IFNjb3BlTm9kZURhdGEgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVjbGFyYXRpb25T
dGFja3M6OlZhclN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBlZGVmIERlY2xhcmF0aW9uU3Rh
Y2tzOjpGdW5jdGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CiAKQEAgLTE0NzMsNiArMTQ3NSw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBGdW5jdGlvblBhcmFtZXRlcnMg
OiBwdWJsaWMgVmVjdG9yPElkZW50aWZpZXI+LCBwdWJsaWMgUmVmQ291bnRlZDxGdW5jdGlvblBh
cmFtZXRlcnM+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+IGNyZWF0ZShQ
YXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFtZXRlcikgeyByZXR1cm4gYWRvcHRSZWYobmV3IEZ1bmN0
aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFtZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCmluZGV4IDIxMzgyN2IuLjcyMDZkNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaApAQCAtNDUsOCArNDUsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5hRGF0YSA6IFBhcnNlckFy
ZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAg
ICAgIFBhcnNlcigpIHsgfQogICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgUGFyc2VkTm9kZT4KICAg
ICAgICAgUGFzc1JlZlB0cjxQYXJzZWROb2RlPiBwYXJzZShKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRGVidWdnZXIqLCBFeGVjU3RhdGUqLCBjb25zdCBTb3VyY2VDb2RlJiBz
b3VyY2UsIEZ1bmN0aW9uUGFyYW1ldGVycyosIEpTUGFyc2VyU3RyaWN0bmVzcyBzdHJpY3RuZXNz
LCBKU09iamVjdCoqIGV4Y2VwdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi44MmZiODA4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIFBhcnNlckFyZW5hRGVsZXRhYmxlOwogICAgIGNsYXNzIFBhcnNlckFy
ZW5hUmVmQ291bnRlZDsKIAotICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19JTkxJTkUgY29u
c3QgSWRlbnRpZmllciYgbWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29uc3QgVUNoYXIq
IGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBt
YWtlTnVtZXJpY0lkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJlcik7CkBAIC01
OSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVy
cy5sYXN0KCk7CiAgICAgfQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUGFyc2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
YXJzZXJBcmVuYSk7CiAgICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgpOwogICAgICAg
ICB+UGFyc2VyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wY3Jl
L3BjcmVfZXhlYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2V4ZWMuY3Bw
CmluZGV4IGY0ODk5ZjIuLjFiZGE3ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BjcmUvcGNy
ZV9leGVjLmNwcApAQCAtMTEyLDcgKzExMiw5IEBAIHN0cnVjdCBCcmFja2V0Q2hhaW5Ob2RlIHsK
ICAgICBjb25zdCBVQ2hhciogYnJhY2tldFN0YXJ0OwogfTsKIAotc3RydWN0IE1hdGNoRnJhbWUg
OiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBNYXRjaEZyYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBSZXR1cm5Mb2NhdGlvbiByZXR1cm5Mb2NhdGlvbjsK
ICAgICBzdHJ1Y3QgTWF0Y2hGcmFtZSogcHJldmlvdXNGcmFtZTsKICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKaW5kZXggNzZjMTQ3MC4u
YTk4MjdjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJ
ZGVudGlmaWVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVu
dGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRpZmllcl9oCiAK
ICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgi
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElkZW50aWZpZXIg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlmaWVyIHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBVU3Ry
aW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3VybDsKICAgICAgICAgdW5zaWduZWQgbV9s
aW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL1By
b2ZpbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAppbmRl
eCBmOWMyY2NiLi5mODg3NDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvUHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJv
ZmlsZXIuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBVU3Ry
aW5nOwogICAgIHN0cnVjdCBDYWxsSWRlbnRpZmllcjsgICAgCiAKLSAgICBjbGFzcyBQcm9maWxl
ciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQcm9maWxlciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBy
b2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNlKCkKICAgICAgICAgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNjMjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKQEAgLTI1LDE0ICsyNSwxNCBAQAog
I2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgTWFya1N0YWNrOwog
Ci0gICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTWFya2VkQXJndW1lbnRCdWZmZXIpOwogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDg7CiAgICAgICAgIHR5cGVkZWYgVmVj
dG9yPFJlZ2lzdGVyLCBpbmxpbmVDYXBhY2l0eT4gVmVjdG9yVHlwZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uZmU5MDBhMiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcgKzMzLDEwIEBA
CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgOiBOb25jb3B5
YWJsZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVi
bGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0aXZhdGlvbiog
YWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0
aW1pemVyLmgKaW5kZXggNzQwODlhNS4uZGIyZDFkNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCkBA
IC0yNywxMiArMjcsMTIgQEAKICNpZm5kZWYgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXJfaAog
I2RlZmluZSBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlICJKU09iamVjdC5oIgogCiBuYW1lc3BhY2UgSlNDIHsKIAot
ICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKEpTT2JqZWN0KiBvYmplY3QpCiAg
ICAgICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvbGxlY3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29sbGVjdG9yLmgKaW5kZXggYTRlMmZlMS4uMGNjMjVlNyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29sbGVjdG9yLmgKQEAgLTg1LDcgKzg1LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIH0KICAgICB9OwogCi0gICAgY2xhc3MgSGVhcCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgSGVhcCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhl
YXApOwogICAgIHB1YmxpYzoKICAgICAgICAgY2xhc3MgVGhyZWFkOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCAxZTIyYjZh
Li42NTg3YThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25JZGVudGlmaWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
bklkZW50aWZpZXJzLmgKQEAgLTg0LDcgKzg0LDggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAg
ICBjbGFzcyBDb21tb25JZGVudGlmaWVycyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgQ29tbW9uSWRlbnRpZmllcnMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb21t
b25JZGVudGlmaWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAg
ICAgICAgIENvbW1vbklkZW50aWZpZXJzKEpTR2xvYmFsRGF0YSopOwogICAgICAgICBmcmllbmQg
Y2xhc3MgSlNHbG9iYWxEYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKaW5kZXggYTIyYjBhYS4uMjRiYzJmOCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUsNyArNDY1LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJyYXkoZXhlYy0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1ZXMpOwogICAgIH0K
IAotICAgIGNsYXNzIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIER5bmFtaWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNH
bG9iYWxPYmplY3QqIGR5bmFtaWNHbG9iYWxPYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0xvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTTG9jay5oCmluZGV4IDA1YjM4OGMuLjdiMDdiNGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTTG9jay5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0Mgewog
CiAgICAgZW51bSBKU0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRpb25zT25seSwgTG9ja0Zv
clJlYWwgfTsKIAotICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgSlNMb2NrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNMb2NrKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAgICAgICAgSlNMb2NrKEpT
R2xvYmFsRGF0YSopOwpAQCAtODksNyArOTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICBKU0xvY2tCZWhhdmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAgICBjbGFzcyBEcm9wQWxs
TG9ja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3Mg
eworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFsbExvY2tzKTsKICAgICAg
ICAgcHVibGljOgogICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNTdGF0ZSogZXhlYyk7CiAg
ICAgICAgICAgICBEcm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAppbmRleCA5ZTYzMDI3Li5kZjRiZTUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcApAQCAtNzAs
NyArNzAsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1ZSBtX3ZhbHVlOwogfTsKIAot
Y2xhc3MgU3RyaW5naWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5naWZp
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lmaWVyKTsKIHB1YmxpYzoKICAg
ICBTdHJpbmdpZmllcihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxhY2VyLCBKU1ZhbHVlIHNwYWNl
KTsKICAgICB+U3RyaW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0xvb2t1cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3Vw
LmgKaW5kZXggOWJjODFkNC4uMGQ2ZDk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvTG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdHlwZWRlZiBQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYyBHZXRGdW5jdGlvbjsKICAgICB0eXBlZGVmIHZvaWQg
KCpQdXRGdW5jdGlvbikoRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUg
dmFsdWUpOwogCi0gICAgY2xhc3MgSGFzaEVudHJ5IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgIGNsYXNzIEhhc2hFbnRyeSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmluZ0ltcGwqIGtleSwgdW5z
aWduZWQgY2hhciBhdHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRyX3QgdjIKICNpZiBFTkFC
TEUoSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0
YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2suaAppbmRleCA3
YmNjYWRmLi5mNTRjZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9NYXJrU3RhY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3Rh
Y2suaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAKICAgICBlbnVtIE1h
cmtTZXRQcm9wZXJ0aWVzIHsgTWF5Q29udGFpbk51bGxWYWx1ZXMsIE5vTnVsbFZhbHVlcyB9Owog
ICAgIAotICAgIGNsYXNzIE1hcmtTdGFjayA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJr
U3RhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYXJrU3RhY2spOwogICAgIHB1
YmxpYzoKICAgICAgICAgTWFya1N0YWNrKHZvaWQqIGpzQXJyYXlWUHRyKQogICAgICAgICAgICAg
OiBtX2pzQXJyYXlWUHRyKGpzQXJyYXlWUHRyKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggNThhYmRlNS4uMTcxNGJkMyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3Iu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5o
CkBAIC0zMSw3ICszMSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJlZ0V4cFByb3Rv
dHlwZTsKICAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0gICAgc3RydWN0
IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAgIHN0cnVjdCBS
ZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIEdsb2JhbCBzZWFyY2ggY2FjaGUgLyBzZXR0aW5n
cwogICAgICAgICBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUoKQogICAgICAgICAgICAgOiBsYXN0
TnVtU3ViUGF0dGVybnMoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1JlZ0V4cE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
T2JqZWN0LmgKaW5kZXggMTlkZTkyOS4uMjg1Yzk2NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTYwLDcgKzYwLDkgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICAgICAgdmlydHVhbCBDYWxsVHlwZSBnZXRDYWxsRGF0YShDYWxsRGF0YSYpOwog
Ci0gICAgICAgIHN0cnVjdCBSZWdFeHBPYmplY3REYXRhIDogRmFzdEFsbG9jQmFzZSB7CisgICAg
ICAgIHN0cnVjdCBSZWdFeHBPYmplY3REYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBSZWdFeHBPYmplY3REYXRh
KE5vbk51bGxQYXNzUmVmUHRyPFJlZ0V4cD4gcmVnRXhwLCBkb3VibGUgbGFzdEluZGV4KQogICAg
ICAgICAgICAgICAgIDogcmVnRXhwKHJlZ0V4cCkKICAgICAgICAgICAgICAgICAsIGxhc3RJbmRl
eChsYXN0SW5kZXgpCkBAIC03MCw3ICs3Miw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAg
ICAgUmVmUHRyPFJlZ0V4cD4gcmVnRXhwOwogICAgICAgICAgICAgZG91YmxlIGxhc3RJbmRleDsK
ICAgICAgICAgfTsKLQorI2lmIFBMQVRGT1JNKFdJTikKKyAgICAgICAgZnJpZW5kIHZvaWQgV1RG
OjpkZWxldGVPd25lZFB0cjxSZWdFeHBPYmplY3REYXRhPihSZWdFeHBPYmplY3REYXRhKik7Cisj
ZW5kaWYKICAgICAgICAgT3duUHRyPFJlZ0V4cE9iamVjdERhdGE+IGQ7CiAgICAgfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oCmluZGV4IDBiMTViNjcuLmIx
MDRlNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hh
aW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKQEAg
LTIxLDcgKzIxLDcgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAjZGVmaW5lIFNjb3BlQ2hhaW5f
aAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NC
YXNlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIE1hcmtTdGFjazsKICAgICBjbGFzcyBTY29wZUNoYWluSXRlcmF0b3I7
CiAgICAgCi0gICAgY2xhc3MgU2NvcGVDaGFpbk5vZGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7
CisgICAgY2xhc3MgU2NvcGVDaGFpbk5vZGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNjb3BlQ2hhaW5Ob2RlKFNjb3BlQ2hhaW5Ob2Rl
KiBuZXh0LCBKU09iamVjdCogb2JqZWN0LCBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBnbG9iYWxUaGlzKQogICAgICAgICAg
ICAgOiBuZXh0KG5leHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TbWFsbFN0cmluZ3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxT
dHJpbmdzLmNwcAppbmRleCBmMzU4NzI3Li41NjE0OTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTQwLDcgKzQwLDggQEAgc3RhdGlj
IGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0cmlu
ZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJpbmdz
U3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU21hbGxTdHJpbmdzU3RvcmFnZSgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3Mu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4IGQx
ZWJmYjEzLi5hYzg0ZmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TbWFsbFN0cmluZ3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFs
bFN0cmluZ3MuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBN
YXJrU3RhY2s7CiAgICAgY2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZTsKIAotICAgIGNsYXNzIFNt
YWxsU3RyaW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU21hbGxTdHJpbmdz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU21hbGxTdHJpbmdzKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTbWFsbFN0cmluZ3MoKTsKICAg
ICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3ltYm9sVGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5
bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2ZC4uMjYzNTUwMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCkBAIC0xMjIsNiArMTIyLDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgU3ltYm9sVGFi
bGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFN0cmluZ0ltcGw+
ID4sIFN5bWJvbFRhYmxlSW5kZXhIYXNoVHJhaXRzPiBTeW1ib2xUYWJsZTsKIAogICAgIGNsYXNz
IFNoYXJlZFN5bWJvbFRhYmxlIDogcHVibGljIFN5bWJvbFRhYmxlLCBwdWJsaWMgUmVmQ291bnRl
ZDxTaGFyZWRTeW1ib2xUYWJsZT4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZFN5bWJvbFRhYmxl
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU2hhcmVkU3ltYm9sVGFibGUpOyB9CiAg
ICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dl
YWtHQ01hcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgKaW5k
ZXggMzlhOTFjNS4uMjY4M2QxMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvV2Vha0dDTWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vh
a0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlNDZWxsOwogCiAvLyBBIEhhc2hNYXAg
d2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3YWl0
aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUgTWFw
cGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgLyoKICAgICBJ
bnZhcmlhbnRzOgogICAgICAgICAqIEEgdmFsdWUgZW50ZXJzIHRoZSBXZWFrR0NNYXAgbWFya2Vk
LiAoR3VhcmFudGVlZCBieSBzZXQoKS4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrR0NQdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dl
YWtHQ1B0ci5oCmluZGV4IGFjNzdjZjMuLjY3ZjExYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtHQ1B0ci5oCkBAIC0yOCwxMiArMjgsMTIgQEAKIAogI2luY2x1ZGUgIkNv
bGxlY3Rvci5oIgogI2luY2x1ZGUgIkdDSGFuZGxlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAvLyBBIHNtYXJ0IHBvaW50ZXIgd2hvc2UgZ2V0
KCkgZnVuY3Rpb24gcmV0dXJucyAwIGZvciBjZWxscyBhd2FpdGluZyBkZXN0cnVjdGlvbi4KLXRl
bXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgOiBOb25jb3B5YWJsZSB7Cit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXZWFrR0NQdHIpOwogcHVibGljOgogICAgIFdlYWtHQ1B0cigpCiAgICAgICAgIDogbV9w
dHIoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRS
ZWZDb3VudGVkLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291
bnRlZC5oCmluZGV4IDBjMGU5OTcuLjhiNjU5NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApAQCAtNTEsNyArNTEsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFsIGFuZCBhbnkg
b3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkKICAgICAvLyBv
d25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAgICAgdGVtcGxh
dGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291bnRlZCk7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVhZFJlZkNvdW50ZWQ8VD4gPiBjcmVh
dGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9EYXRlTWF0aC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCmlu
ZGV4IDhkMGQ5MzIuLjQxYmQ0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgK
QEAgLTQ0LDYgKzQ0LDcgQEAKICNkZWZpbmUgRGF0ZU1hdGhfaAogCiAjaW5jbHVkZSA8bWF0aC5o
PgorI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHRp
bWUuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KQEAgLTEyMCw3ICsxMjEsOSBAQCBk
b3VibGUgcGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVkQ2hhcmFjdGVycyhFeGVjU3RhdGUqLCBj
b25zdCBjaGFyKiBkYXRlU3RyaW5nKQogCiAvLyBJbnRlbnRpb25hbGx5IG92ZXJyaWRkaW5nIHRo
ZSBkZWZhdWx0IHRtIG9mIHRoZSBzeXN0ZW0uCiAvLyBUaGUgbWVtYmVycyBvZiB0bSBkaWZmZXIg
b24gdmFyaW91cyBvcGVyYXRpbmcgc3lzdGVtcy4KLXN0cnVjdCBHcmVnb3JpYW5EYXRlVGltZSA6
IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBHcmVnb3JpYW5EYXRlVGltZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoR3JlZ29yaWFuRGF0ZVRpbWUpOworcHVibGljOgogICAgIEdyZWdvcmlhbkRh
dGVUaW1lKCkKICAgICAgICAgOiBzZWNvbmQoMCkKICAgICAgICAgLCBtaW51dGUoMCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvRGVxdWUuaAppbmRleCA3NDVlMGI2Li4xYjE2YWZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9EZXF1ZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0b3I7CiAKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworICAgIGNsYXNzIERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERlcXVlSXRlcmF0b3I8VD4gaXRlcmF0
b3I7CiAgICAgICAgIHR5cGVkZWYgRGVxdWVDb25zdEl0ZXJhdG9yPFQ+IGNvbnN0X2l0ZXJhdG9y
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAppbmRleCBiYjE4MjVl
Li5iYjkwMTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxv
Y0Jhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaApA
QCAtMzIsOCArMzIsOCBAQAogLy8gUHJvdmlkZXMgY3VzdG9taXphYmxlIG92ZXJyaWRlcyBvZiBm
YXN0TWFsbG9jL2Zhc3RGcmVlIGFuZCBvcGVyYXRvciBuZXcvZGVsZXRlCiAvLwogLy8gUHJvdmlk
ZWQgZnVuY3Rpb25hbGl0eToKKy8vICAgIE1hY3JvOiBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAog
Ly8gICAgbmFtZXNwYWNlIFdURiB7Ci0vLyAgICAgICAgY2xhc3MgRmFzdEFsbG9jQmFzZTsKIC8v
CiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxUPigpOwogLy8gICAgICAgIFQqICAgIGZhc3ROZXc8
VD4oYXJnKTsKQEAgLTQ4LDcgKzQ4LDEwIEBACiAvLyBGYXN0RGVsZXRlIGFzc3VtZXMgdGhhdCB0
aGUgdW5kZXJseWluZwogLy8KIC8vIEV4YW1wbGUgdXNhZ2U6Ci0vLyAgICBjbGFzcyBXaWRnZXQg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7IC4uLiB9OworLy8gICAgY2xhc3MgV2lkZ2V0IHsKKy8v
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorLy8gICAgLi4uCisvLyAgICB9OwogLy8K
IC8vICAgIGNoYXIqIGNoYXJQdHIgPSBmYXN0TmV3PGNoYXI+KCk7CiAvLyAgICBmYXN0RGVsZXRl
KGNoYXJQdHIpOwpAQCAtODMsOCArODYsNiBAQAogI2luY2x1ZGUgIkZhc3RNYWxsb2MuaCIKICNp
bmNsdWRlICJUeXBlVHJhaXRzLmgiCiAKLW5hbWVzcGFjZSBXVEYgewotCiAjZGVmaW5lIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEIFwKIHB1YmxpYzogXAogICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhz
aXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXApAQCAtMTE1LDExICsxMTYsMTAgQEAgcHVi
bGljOiBcCiAgICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIDo6
V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKICAgICAgICAgIDo6V1RG
OjpmYXN0RnJlZShwKTsgXAogICAgIH0gXAotcHJpdmF0ZToKK3ByaXZhdGU6IFwKK3R5cGVkZWYg
aW50IFRoaXNJc0hlcmVUb0ZvcmNlQVNlbWljb2xvbkFmdGVyVGhpc01hY3JvCiAKLWNsYXNzIEZh
c3RBbGxvY0Jhc2UgewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEICAKLX07CituYW1lc3Bh
Y2UgV1RGIHsKIAogICAgIC8vIGZhc3ROZXcgLyBmYXN0RGVsZXRlCiAKQEAgLTQxMCw3ICs0MTAs
NiBAQCBjbGFzcyBGYXN0QWxsb2NCYXNlIHsKIAogfSAvLyBuYW1lc3BhY2UgV1RGCiAKLXVzaW5n
IFdURjo6RmFzdEFsbG9jQmFzZTsKIHVzaW5nIFdURjo6ZmFzdERlbGV0ZVNraXBwaW5nRGVzdHJ1
Y3RvcjsKIAogI2VuZGlmIC8vIEZhc3RBbGxvY0Jhc2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRlZDc1YzUuLmI5N2Q4YzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmgKQEAgLTIyLDE0ICsyMiwxNCBAQAog
I2RlZmluZSBXVEZfSGFzaENvdW50ZWRTZXRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgot
I2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlICJIYXNoTWFwLmgiCiAjaW5jbHVk
ZSAiVmVjdG9yLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VmFsdWUsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1
ZT46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRyYWl0cyA9IEhhc2hUcmFpdHM8VmFsdWU+ID4g
Y2xhc3MgSGFzaENvdW50ZWRTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHR5
cGVuYW1lIFRyYWl0cyA9IEhhc2hUcmFpdHM8VmFsdWU+ID4gY2xhc3MgSGFzaENvdW50ZWRTZXQg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAg
ICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHM+
IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvSGFzaE1hcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKaW5k
ZXggMDkwOTRkMS4uNzczMTU0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9IYXNoTWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmgKQEAg
LTI5LDcgKzI5LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBL
ZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERl
ZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsCiAgICAgICAgIHR5cGVuYW1lIEtleVRyYWl0c0FyZyA9
IEhhc2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnID0gSGFzaFRyYWl0
czxNYXBwZWRBcmc+ID4KLSAgICBjbGFzcyBIYXNoTWFwIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIEhhc2hNYXAgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAg
ICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoU2V0LmgKaW5kZXggNjY2MzllNC4uYmU2YjkzZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9yOwogCiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZh
dWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRyYWl0c0FyZyA9IEhh
c2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4gPiBj
bGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJp
dmF0ZToKICAgICAgICAgdHlwZWRlZiBIYXNoQXJnIEhhc2hGdW5jdGlvbnM7CiAgICAgICAgIHR5
cGVkZWYgVHJhaXRzQXJnIFZhbHVlVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0
SGFzaFNldC5oCmluZGV4IGUxNGFjNDUuLmU5MTZlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0xpc3RIYXNoU2V0LmgKQEAgLTUyLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4gc3RydWN0
IExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFy
Zywgc2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBIYXNoQXJnPiBzdHJ1Y3QgTGlzdEhh
c2hTZXROb2RlSGFzaEZ1bmN0aW9uczsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJn
LCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFt
ZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3Qg
aW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0
SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0IHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBMaXN0SGFz
aFNldE5vZGU8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAgICB0eXBlZGVm
IExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNpdHk+IE5vZGVB
bGxvY2F0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAppbmRleCA0MTgxM2QzLi5jNDY1
Yjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKQEAgLTMyLDcgKzMyLDggQEAKIAog
bmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2VyKTsKIHB1YmxpYzoKICAgICBMb2NrZXIo
VCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJsZSkgeyBtX2xvY2thYmxlLmxvY2soKTsg
fQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5sb2NrKCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLjdjMThhMGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaApAQCAtNDgsNyArNDgsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3NhZ2VzIGFyZSBmZXRjaGVkIGZyb20gdGhlIHF1
ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNzYWdlUXVldWUgYWN0cyBhcyBhIHF1ZXVlIG9m
IE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5cGU+Ci0gICAg
Y2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNZXNz
YWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNzYWdlUXVldWUpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1ZXVlKCkgOiBtX2tpbGxlZChmYWxzZSkgeyB9
CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvTm9uY29weWFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29w
eWFibGUuaAppbmRleCAyODVlZDJlLi5jYzZiYzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9Ob25jb3B5YWJsZS5oCkBAIC00MSwyMyArNDEsNCBAQAogICAgICAgICAgICAgQ2xhc3NOYW1l
JiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKICNlbmRpZgogCi0vLyBXZSBkb24ndCB3YW50
IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8gcHVsbCBpbiBldmVyeXRoaW5nIGZyb20gdGhl
IFdURgotLy8gbmFtZXNwYWNlIHdoZW4geW91IHVzZSBOb25jb3B5YWJsZSwgc28gcHV0IGl0IGlu
IGl0cyBvd24gbmFtZXNwYWNlLgotCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgotCi1uYW1l
c3BhY2UgV1RGTm9uY29weWFibGUgewotCi0gICAgY2xhc3MgTm9uY29weWFibGUgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7Ci0gICAgICAgIE5vbmNvcHlhYmxlKGNvbnN0IE5vbmNvcHlhYmxlJik7
Ci0gICAgICAgIE5vbmNvcHlhYmxlJiBvcGVyYXRvcj0oY29uc3QgTm9uY29weWFibGUmKTsKLSAg
ICBwcm90ZWN0ZWQ6Ci0gICAgICAgIE5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgICAgIH5Ob25jb3B5
YWJsZSgpIHsgfQotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxlCi0KLXVz
aW5nIFdURk5vbmNvcHlhYmxlOjpOb25jb3B5YWJsZTsKLQogI2VuZGlmIC8vIFdURl9Ob25jb3B5
YWJsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKaW5kZXggNjQzYjkw
Yi4uZGJkMzRhZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJh
eVB0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaApAQCAt
MzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNz
IFBhc3NPd25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25BcnJheVB0cjxU
PiBhZG9wdEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFy
cmF5UHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFz
cyBPd25BcnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBlOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCmluZGV4IDhiNmNiZjQu
LjlkNDg0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1h
bGxvY1B0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0
ci5oCkBAIC0yMywxMSArMjMsMTEgQEAKICNkZWZpbmUgT3duRmFzdE1hbGxvY1B0cl9oCiAKICNp
bmNsdWRlICJGYXN0TWFsbG9jLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNw
YWNlIFdURiB7CiAKLSAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0TWFsbG9jUHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25G
YXN0TWFsbG9jUHRyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3duRmFzdE1hbGxv
Y1B0cik7CiAgICAgcHVibGljOgogICAgICAgICBleHBsaWNpdCBPd25GYXN0TWFsbG9jUHRyKFQq
IHB0cikgOiBtX3B0cihwdHIpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5o
CmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvT3duUHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaApA
QCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBXVEZfT3duUHRyX2gKIAogI2luY2x1ZGUgIkFzc2Vy
dGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51bGxQdHIuaCIK
ICNpbmNsdWRlICJPd25QdHJDb21tb24uaCIKICNpbmNsdWRlICJUeXBlVHJhaXRzLmgiCkBAIC0z
OSw3ICszOCw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIFBhc3NPd25QdHI7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093blB0cjxUPiBh
ZG9wdFB0cihUKik7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0
ciB7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFJlbW92ZVBvaW50ZXI8
VD46OlR5cGUgVmFsdWVUeXBlOwogICAgICAgICB0eXBlZGVmIFZhbHVlVHlwZSogUHRyVHlwZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKaW5kZXggOGQ4YjMwMi4uZGExNzhi
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKQEAgLTIyLDYgKzIyLDcg
QEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCisjaW5j
bHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAKIG5hbWVz
cGFjZSBXVEYgewpAQCAtMTMxLDcgKzEzMiw4IEBAIGlubGluZSB2b2lkIGFkb3B0ZWQoUmVmQ291
bnRlZEJhc2UqIG9iamVjdCkKIAogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNz
IFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UsIHB1YmxpYyBOb25jb3B5YWJsZSB7
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGljIFJlZkNvdW50
ZWRCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWZDb3VudGVkKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBkZXJlZigpCiAgICAgewpAQCAtMTQw
LDYgKzE0Miw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKKyAgICBSZWZDb3VudGVk
KCkgeyB9CiAgICAgflJlZkNvdW50ZWQoKQogICAgIHsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZQdHIuaAppbmRleCBkNTdmODhhLi4yYjZmN2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
UmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9oCiAjZGVmaW5l
IFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgIkZhc3RBbGxv
Y0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxnb3JpdGhtPgog
CiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtMzYsNyArMzYsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAog
ICAgIGVudW0gSGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSB7IEhhc2hUYWJsZURlbGV0ZWRWYWx1
ZSB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQUxX
QVlTX0lOTElORSBSZWZQdHIoKSA6IG1fcHRyKDApIHsgfQogICAgICAgICBBTFdBWVNfSU5MSU5F
IFJlZlB0cihUKiBwdHIpIDogbV9wdHIocHRyKSB7IHJlZklmTm90TnVsbChwdHIpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCmluZGV4IDdmNmViZmUuLjNjMDc2
Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCkBAIC00Miw3
ICs0Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRy
YWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhhc2hNYXA8UmVm
UHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJn
PiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwg
TWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0FyZz4geworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBl
ZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAgICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRz
QXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0
YVB0aHJlYWRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlm
aWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRJZGVu
dGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUgVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFk
c19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAvLyBIb2xkcyBUaHJlYWRJZGVudGlmaWVyIGlu
IHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBhbmQgZW1wbG95cyBwdGhyZWFkcy1zcGVjaWZp
YyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFibHkgcmVtb3ZlCiAvLyBUaHJlYWRJZGVudGlm
aWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVzIHJlZ3VsYXIgVGhyZWFkU3BlY2lmaWMgdHlw
ZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVzdHJ1Y3Rpb24uCi1jbGFzcyBUaHJlYWRJZGVu
dGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRJZGVudGlmaWVy
RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkSWRlbnRpZmllckRhdGEpOwog
cHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVyRGF0YSgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCmluZGV4IDMzYzY2MTIuLmE2YTFjZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCkBAIC02Miwx
MiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21p
Y3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJh
c2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRCYXNlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGhyZWFkU2FmZVNoYXJlZEJhc2Uo
aW50IGluaXRpYWxSZWZDb3VudCA9IDEpCiAgICAgICAgIDogbV9yZWZDb3VudChpbml0aWFsUmVm
Q291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNp
ZmljLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXgg
OTNlZDQ2Ni4uZmE5YTM5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTcGVjaWZpYy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3Bl
Y2lmaWMuaApAQCAtNjEsNyArNjEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgVGhyZWFkU3Bl
Y2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3Mg
VGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVh
ZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBUaHJlYWRTcGVjaWZpYygpOwogICAgIFQqIG9wZXJh
dG9yLT4oKTsKQEAgLTg0LDcgKzg1LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0YXRpYyBkZXN0
cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0UoUFRIUkVBRFMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQ
TEFURk9STShHVEspIHx8IE9TKFdJTkRPV1MpCi0gICAgc3RydWN0IERhdGEgOiBOb25jb3B5YWJs
ZSB7CisgICAgc3RydWN0IERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRh
KTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERhdGEoVCogdmFsdWUsIFRocmVhZFNwZWNpZmljPFQ+
KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93bmVyKG93bmVyKSB7fQogI2lmIFBMQVRGT1JNKFFU
KQogICAgICAgICB+RGF0YSgpIHsgb3duZXItPmRlc3Ryb3kodGhpcyk7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKaW5kZXggZjJjMGNhZC4u
ZDcyOTk2YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVj
aWZpY1dpbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZp
Y1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1
ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNp
ZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQg
YnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGlt
cGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4
IDQ5ZGU1OWUuLmYyZTA1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5j
cHAKQEAgLTMwLDcgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLXN0cnVjdCBOZXdUaHJl
YWRDb250ZXh0IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTmV3VGhyZWFkQ29udGV4
dChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lkKiBkYXRhLCBjb25zdCBjaGFyKiBuYW1l
KQogICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQb2ludCkKICAgICAgICAgLCBkYXRhKGRhdGEp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCmlu
ZGV4IGMxMWE2Y2IuLjgwOWMzZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiUGxhdGZv
cm0uaCIKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKQEAgLTk2LDcgKzk3LDggQEAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVJlYWRX
cml0ZUxvY2s7CiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtQ29uZGl0aW9uOwogI2VuZGlmCiAgICAg
Ci1jbGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNdXRleCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTXV0ZXgpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpAQCAtMTEzLDcgKzExNSw4IEBAIHBy
aXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRleExvY2tlcjsKIAotY2xhc3MgUmVh
ZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFkV3JpdGVMb2NrIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVMb2NrKTsKIHB1YmxpYzoKICAgICBS
ZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2soKTsKQEAgLTEzMCw3ICsxMzMsOCBA
QCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9jayBtX3JlYWRXcml0ZUxvY2s7CiB9
OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRDb25kaXRp
b24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRpdGlvbigpOwogICAgIH5UaHJlYWRDb25kaXRp
b24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCmluZGV4IGY3Mzc5M2YuLjZkOGRkNGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaApAQCAtMjc3LDcgKzI3Nyw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNz
IFZlY3RvckJ1ZmZlckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFZlY3Rv
ckJ1ZmZlckJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZWN0b3JCdWZmZXJC
YXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZvaWQgYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5l
d0NhcGFjaXR5KQogICAgICAgICB7CkBAIC00ODgsNyArNDg5LDggQEAgbmFtZXNwYWNlIFdURiB7
CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0
eSA9IDA+Ci0gICAgY2xhc3MgVmVjdG9yIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNs
YXNzIFZlY3RvciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZh
dGU6CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yQnVmZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCdWZm
ZXI7CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yVHlwZU9wZXJhdGlvbnM8VD4gVHlwZU9wZXJhdGlv
bnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCmluZGV4IDUyYzI2
N2EuLjI0M2FhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhy
ZWFkRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5o
CkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiB0eXBlZGVmIEhhc2hNYXA8Y29u
c3QgY2hhciosIFJlZlB0cjxTdHJpbmdJbXBsPiwgUHRySGFzaDxjb25zdCBjaGFyKj4gPiBMaXRl
cmFsSWRlbnRpZmllclRhYmxlOwogCi1jbGFzcyBJZGVudGlmaWVyVGFibGUgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBJZGVudGlmaWVyVGFibGUgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApAQCAtODUsNyAr
ODYsOCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWlj
U3RyaW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZU
aHJlYWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVhZERhdGEgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGljOgogICAgIFdU
RlRocmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
ZHRvYS5jcHAKaW5kZXggYzg5YzAzNi4uYjViMTI2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0
b2EuY3BwCkBAIC00MTQsNyArNDE0LDEwIEBAIHN0YXRpYyB2b2lkIG11bHQoQmlnSW50JiBhUmVm
LCBjb25zdCBCaWdJbnQmIGJSZWYpCiAgICAgYVJlZiA9IGM7CiB9CiAKLXN0cnVjdCBQNU5vZGUg
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUDVOb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQNU5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBQNU5vZGUo
KSB7IH0KICAgICBCaWdJbnQgdmFsOwogICAgIFA1Tm9kZSogbmV4dDsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaAppbmRleCBjZWMzZTQzLi40MTM2ZjI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTQx
LDcgKzQxLDggQEAgdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R1BhdHRlcm5TcGVjPihH
UGF0dGVyblNwZWMqKTsKIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRHUHRyPEdEaXI+KEdEaXIq
KTsKIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRHUHRyPEdGaWxlPihHRmlsZSopOwogCi10ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093blB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093blB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoR093blB0cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgR093blB0cihUKiBwdHIgPSAw
KSA6IG1fcHRyKHB0cikgeyB9CiAgICAgfkdPd25QdHIoKSB7IGZyZWVPd25lZEdQdHIobV9wdHIp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVm
ZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKaW5k
ZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4
dC9TdHJpbmdCdWZmZXIuaApAQCAtMzAsMTMgKzMwLDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZl
cl9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1p
dHM+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU3RyaW5nQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTdHJpbmdCdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNp
Z25lZCBsZW5ndGgpCiAgICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaAppbmRleCA2NTY3NjcyLi4yNmJj
MWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1w
bEJhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJh
c2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZp
bmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3Mg
U3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJh
c2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgYm9vbCBpc1N0cmluZ0ltcGwoKSB7IHJldHVy
biAobV9yZWZDb3VudEFuZEZsYWdzICYgc19yZWZDb3VudEludmFsaWRGb3JTdHJpbmdJbXBsKSAh
PSBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0ltcGw7IH0KICAgICB1bnNpZ25lZCBsZW5ndGgo
KSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQpAQCAtNDUsOSArNDUsNiBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgIEJ1ZmZlclNoYXJlZCwKICAgICB9OwogCi0gICAgdXNpbmcgTm9uY29weWFibGU6
Om9wZXJhdG9yIG5ldzsKLSAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBpblBs
YWNlKSB7IEFTU0VSVChpblBsYWNlKTsgcmV0dXJuIGluUGxhY2U7IH0KLQogICAgIC8vIEZvciBT
bWFsbFN0cmluZ1N0b3JhZ2UsIHdoaWNoIGFsbG9jYXRlcyBhbiBhcnJheSBhbmQgdXNlcyBhbiBp
bi1wbGFjZSBuZXcuCiAgICAgU3RyaW5nSW1wbEJhc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li4wMGFiMTZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaApAQCAtMjks
NiArMjksNyBAQAogI2lmbmRlZiBXVEZfQ29sbGF0b3JfaAogI2RlZmluZSBXVEZfQ29sbGF0b3Jf
aAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi91bmlj
b2RlL1VuaWNvZGUuaD4KQEAgLTM5LDcgKzQwLDggQEAgc3RydWN0IFVDb2xsYXRvcjsKIAogbmFt
ZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBDb2xsYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgQ29sbGF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb2xs
YXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51
bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNzID0gLTEgfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5oCmluZGV4IDBmZDhhNTcu
LmQ0MDQ1MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50
ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleEludGVycHJl
dGVyLmgKQEAgLTMxNSw3ICszMTUsOCBAQCBzdHJ1Y3QgQnl0ZVRlcm0gewogICAgIH0KIH07CiAK
LWNsYXNzIEJ5dGVEaXNqdW5jdGlvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEJ5
dGVEaXNqdW5jdGlvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgQnl0ZURpc2p1bmN0aW9uKHVuc2lnbmVkIG51bVN1YnBhdHRlcm5zLCB1bnNpZ25lZCBmcmFt
ZVNpemUpCiAgICAgICAgIDogbV9udW1TdWJwYXR0ZXJucyhudW1TdWJwYXR0ZXJucykKQEAgLTMy
OCw3ICszMjksOSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgbV9mcmFtZVNpemU7CiB9OwogCi1z
dHJ1Y3QgQnl0ZWNvZGVQYXR0ZXJuIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQnl0ZWNvZGVQ
YXR0ZXJuIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBCeXRl
Y29kZVBhdHRlcm4oUGFzc093blB0cjxCeXRlRGlzanVuY3Rpb24+IGJvZHksIFZlY3RvcjxCeXRl
RGlzanVuY3Rpb24qPiBhbGxQYXJlbnRoZXNlc0luZm8sIFJlZ2V4UGF0dGVybiYgcGF0dGVybiwg
QnVtcFBvaW50ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcikKICAgICAgICAgOiBtX2JvZHkoYm9keSkK
ICAgICAgICAgLCBtX2lnbm9yZUNhc2UocGF0dGVybi5tX2lnbm9yZUNhc2UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCmluZGV4IDY4MzNkZDYuLmVkZWI2NDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCkBAIC03Miw3ICs3Miw5
IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotc3RydWN0IENoYXJhY3RlckNsYXNzIDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgogICAgIC8vIEFsbCBDaGFyYWN0ZXJDbGFzcyBpbnN0YW5jZXMgaGF2
ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRjaGVzIGFuZCByYW5nZXMsCiAgICAgLy8gdGhl
eSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3IgZmFzdGVyIGxvb2t1cHMgKHdoaWNoIG11
c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVkIG1hdGNoZXMgYW5kIHJhbmdlcykKQEAgLTIx
Myw3ICsyMTUsOSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0gewogICAgIH0KIH07CiAKLXN0cnVjdCBQ
YXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0ZXJuQWx0ZXJu
YXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBhdHRl
cm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0aW9uKQogICAgICAgICA6
IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRocm91Z2goZmFsc2UpCkBA
IC0yNTQsNyArMjU4LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jh
c2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkRp
c2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBQYXR0ZXJuRGlzanVu
Y3Rpb24oUGF0dGVybkFsdGVybmF0aXZlKiBwYXJlbnQgPSAwKQogICAgICAgICA6IG1fcGFyZW50
KHBhcmVudCkKICAgICAgICAgLCBtX2hhc0ZpeGVkU2l6ZShmYWxzZSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwZjhlYzNhLi44MzJmZTUwIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTEtMDEtMDUgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0
b3Jpbmcgb2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0
aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJn
ZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVwbGFj
ZXMgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5oZXJp
dHMgd2l0aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9uIGF0
IHRoZSBuZWNlc3NhcnkgcGxhY2VzLgogMjAxMS0wMS0wNSAgRXJpYyBTZWlkZWwgIDxlcmljQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi9GYXN0QWxsb2NCYXNl
LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvRmFzdEFsbG9j
QmFzZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyMWMwNDAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYv
RmFzdEFsbG9jQmFzZS5oCkBAIC0wLDAgKzEgQEAKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9G
YXN0QWxsb2NCYXNlLmg+CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9DcHBCb3VuZENsYXNzLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3Vu
ZENsYXNzLmgKaW5kZXggNmNiNjM4ZS4uNjE1MWE5YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaApAQCAtNTgsNyArNTgsOCBAQCB0eXBlZGVmIFZl
Y3RvcjxDcHBWYXJpYW50PiBDcHBBcmd1bWVudExpc3Q7CiAKIC8vIENwcEJvdW5kQ2xhc3MgbGV0
cyB5b3UgbWFwIEphdmFzY3JpcHQgbWV0aG9kIGNhbGxzIGFuZCBwcm9wZXJ0eSBhY2Nlc3Nlcwog
Ly8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscyBhbmQgQ3BwVmFyaWFudCogdmFyaWFibGUg
YWNjZXNzLgotY2xhc3MgQ3BwQm91bmRDbGFzcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBDcHBCb3VuZENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcHBCb3VuZENsYXNz
KTsKIHB1YmxpYzoKICAgICBjbGFzcyBQcm9wZXJ0eUNhbGxiYWNrIHsKICAgICBwdWJsaWM6CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50
LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKaW5k
ZXggZTE0NzhkMC4uNjY1NDM1YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVERldlRvb2xzQWdlbnQuaApAQCAtNDksOCArNDksOCBAQCBzdHJ1Y3QgV2ViRGV2VG9v
bHNNZXNzYWdlRGF0YTsKIAogY2xhc3MgRFJURGV2VG9vbHNDbGllbnQ7CiAKLWNsYXNzIERSVERl
dlRvb2xzQWdlbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50Q2xpZW50Ci0gICAg
ICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERSVERldlRv
b2xzQWdlbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50Q2xpZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0FnZW50KTsKIHB1YmxpYzoKICAgICBEUlRE
ZXZUb29sc0FnZW50KCk7CiAgICAgdmlydHVhbCB+RFJURGV2VG9vbHNBZ2VudCgpIHt9CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5o
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaAppbmRl
eCA5Y2ExNDAyLi4wY2JhNTFjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9EUlREZXZUb29sc0NsaWVudC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVERldlRvb2xzQ2xpZW50LmgKQEAgLTQ4LDggKzQ4LDggQEAgY2xhc3MgV2ViVmlldzsK
IAogY2xhc3MgRFJURGV2VG9vbHNBZ2VudDsKIAotY2xhc3MgRFJURGV2VG9vbHNDbGllbnQgOiBw
dWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZUb29sc0NsaWVudCA6
IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERSVERldlRvb2xzQ2xpZW50KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29s
c0NsaWVudChEUlREZXZUb29sc0FnZW50KiwgV2ViS2l0OjpXZWJWaWV3Kik7CiAgICAgdmlydHVh
bCB+RFJURGV2VG9vbHNDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKaW5kZXggYjY3MTQ4OS4uODUw
MmE5NiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmln
YXRpb25Db250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dE5hdmlnYXRpb25Db250cm9sbGVyLmgKQEAgLTExMSw3ICsxMTEsOCBAQCBwdWJsaWM6CiAKIC8v
IFRlc3Qgc2hlbGwncyBOYXZpZ2F0aW9uQ29udHJvbGxlci4gVGhlIGdvYWwgaXMgdG8gYmUgYXMg
Y2xvc2UgdG8gdGhlIENocm9tZQogLy8gdmVyc2lvbiBhcyBwb3NzaWJsZS4KLWNsYXNzIFRlc3RO
YXZpZ2F0aW9uQ29udHJvbGxlcjogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3ROYXZp
Z2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdE5hdmlnYXRp
b25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIoTmF2
aWdhdGlvbkhvc3QqKTsKICAgICB+VGVzdE5hdmlnYXRpb25Db250cm9sbGVyKCk7CmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlRXaW4u
aCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVFdpbi5o
CmluZGV4IDRlMjI0NjEuLmVkZTE0NTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVFdpbi5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVFdpbi5oCkBAIC00Niw3ICs0Niw4IEBACiAv
LyBTa2lhIGZvcndhcmQgZGVjbGFyYXRpb25zCiBzdHJ1Y3QgU2tJUmVjdDsKIAotY2xhc3MgV2Vi
VGhlbWVDb250cm9sRFJUV2luIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYlRoZW1l
Q29udHJvbERSVFdpbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViVGhlbWVDb250cm9s
RFJUV2luKTsKIHB1YmxpYzoKICAgICAvLyBUaGlzIGxpc3Qgb2Ygc3RhdGVzIG1vc3RseSBtaXJy
b3JzIHRoZSBsaXN0IGluIFdlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCiAgICAgLy8gYnV0
IGlzIG1haW50YWluZWQgc2VwYXJhdGVseSBzaW5jZSB0aGF0IGlzbid0IHB1YmxpYyBhbmQgYWxz
byB0byBtaW5pbWl6ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVGhlbWVFbmdpbmVEUlRXaW4uaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlRoZW1lRW5naW5lRFJUV2luLmgKaW5kZXggMmUxNWNmOC4uOWIxZTgxNyAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRXaW4uaAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVFdpbi5oCkBA
IC01MCw3ICs1MCw4IEBACiAjaW5jbHVkZSAid2luL1dlYlRoZW1lRW5naW5lLmgiCiAjaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdlYlRoZW1lRW5naW5lRFJUV2luIDogcHVi
bGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBX
ZWJUaGVtZUVuZ2luZURSVFdpbiA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2luZURSVFdpbik7CiBwdWJsaWM6CiAg
ICAgV2ViVGhlbWVFbmdpbmVEUlRXaW4oKSB7fQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRB
UElUZXN0L0hvc3RXaW5kb3cuaCBiL1Rvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCmlu
ZGV4IGEyNzM0ZWQuLjJhYWE4NWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdEFQSVRlc3QvSG9z
dFdpbmRvdy5oCisrKyBiL1Rvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCkBAIC0zMCw3
ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xhc3MgSG9zdFdpbmRv
dyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShIb3N0V2luZG93KTsKIHB1YmxpYzoKICAgICBIb3N0V2luZG93KCk7CiAg
ICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHND
b250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCmluZGV4
IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHND
b250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaApA
QCAtMjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3MgVGVzdDsKIAotY2xh
c3MgVGVzdHNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RzQ29u
dHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250cm9sbGVyKTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLmVmYzY2MzUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTMxLDcgKzMxLDggQEAKIAog
bmFtZXNwYWNlIFdUUiB7CiAKLWNsYXNzIFRlc3RJbnZvY2F0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRlc3RJbnZvY2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
ZXN0SW52b2NhdGlvbik7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRpb24oY29uc3QgY2hhciop
OwogICAgIH5UZXN0SW52b2NhdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxOGVkYmJmLi41NGY4NzQyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDExLTAxLTA1ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9m
IHRoZSBjdXN0b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9t
IEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcg
IzMzODk2LCAjNDY1ODkpLgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5vbmNv
cHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdpdGgg
dGhlaXIKKyAgICAgICAgZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlvbiBhdCB0aGUgbmVj
ZXNzYXJ5IHBsYWNlcy4KKwogMjAxMS0wMS0wNSAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1v
YmlsZS5jb20uY24+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGlyayBTY2h1bHplLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggNjcwZDZlMC4uMDBlN2ZiYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC02MCw3ICs2MCw4IEBAIHN0cnVjdCBU
ZXh0TWFya2VyRGF0YSB7CiAKIGVudW0gUG9zdFR5cGUgeyBQb3N0U3luY2hyb25vdXNseSwgUG9z
dEFzeW5jaHJvbm91c2x5IH07CiAKLWNsYXNzIEFYT2JqZWN0Q2FjaGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQVhPYmplY3RDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QVhPYmplY3RDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFY
T2JqZWN0Q2FjaGUoY29uc3QgRG9jdW1lbnQqKTsKICAgICB+QVhPYmplY3RDYWNoZSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5o
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCmluZGV4
IDgwOWE0ODguLmI2OTc2YWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVk
U2NyaXB0U291cmNlUHJvdmlkZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNj
cmlwdFNvdXJjZVByb3ZpZGVyLmgKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIGNsYXNzIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyIDogcHVibGljIFNjcmlw
dFNvdXJjZVByb3ZpZGVyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBj
YWNoZWRTY3JpcHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92
aWRlcihjYWNoZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0dDQ29udHJvbGxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xsZXIuaAppbmRl
eCA0YzI1NDA3Li45MWYxZTRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29u
dHJvbGxlci5oCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2
LDEyICsyNiwxMiBAQAogI2lmbmRlZiBHQ0NvbnRyb2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xs
ZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgR0NDb250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHQ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHQ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICAgICAgZnJpZW5kIEdDQ29udHJvbGxlciYgZ2NDb250cm9sbGVyKCk7CiAKICAgICBwdWJsaWM6
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmggYi9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKaW5kZXggOTRiNmY3OC4uZTEx
MzhlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5o
CisrKyBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaApAQCAtMzcsNyAr
MzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBkZWxl
dGVkIHdpdGhvdXQgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoZSBjYWNoZQogLy8gICAgIC0gd3JhcHBl
cnMgYmVpbmcgY2FjaGVkIHR3aWNlCiAKLWNsYXNzIEpTRGVidWdXcmFwcGVyU2V0IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEpTRGVidWdXcmFwcGVyU2V0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShKU0RlYnVnV3JhcHBlclNldCk7CiAgICAgZnJpZW5kIGNsYXNzIFdURjo6VGhy
ZWFkU3BlY2lmaWM8SlNEZWJ1Z1dyYXBwZXJTZXQ+OwogcHVibGljOgogICAgIHN0YXRpYyBKU0Rl
YnVnV3JhcHBlclNldCYgc2hhcmVkKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJl
YWRFeGVjU3RhdGUuaAppbmRleCA4MTkzZDdjLi4zNDlkYzE0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oCisrKyBiL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKQEAgLTMwLDExICszMCwxMSBAQAogI2lmbmRl
ZiBOREVCVUcKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2VuZGlmCi0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSlNNYWlu
VGhyZWFkRXhlY1N0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEpTTWFpblRocmVh
ZEV4ZWNTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNNYWluVGhyZWFkRXhlY1N0
YXRlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpFeGVjU3RhdGUqIGN1cnJlbnRTdGF0ZSgp
CiAgICAgeyAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9u
LmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oCmluZGV4IDZjOWQwYmEu
LjU5YWQ2ZmMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9u
LmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaApAQCAtNDEsNyAr
NDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgKiB0aW1lIGludGVydmFsLCBlaXRoZXIg
b25jZSBvciByZXBlYXRlZGx5LiBVc2VkIGZvciB3aW5kb3cuc2V0VGltZW91dCgpCiAgICAgKiBh
bmQgd2luZG93LnNldEludGVydmFsKCkKICAgICAqLwotICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlv
biA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkQWN0aW9uKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxTY2hl
ZHVsZWRBY3Rpb24+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIERPTVdyYXBwZXJXb3JsZCogaXNv
bGF0ZWRXb3JsZCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0
YS5oCmluZGV4IDE1YzIzYzUuLjVmNjkxZDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDYWNoZWRGcmFtZURhdGEuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgRE9NV2luZG93OwogICAgIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIAotICAg
IGNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNjcmlwdENhY2hlZEZyYW1lRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
ICAgICB0eXBlZGVmIEhhc2hNYXA8IFJlZlB0cjxET01XcmFwcGVyV29ybGQ+LCBKU0M6OlByb3Rl
Y3RlZFB0cjxKU0RPTVdpbmRvdz4gPiBKU0RPTVdpbmRvd1NldDsKIAogICAgIHB1YmxpYzoKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAppbmRleCA4MWNkOWFjLi45MWZjNGMy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKKysr
IGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4
IEBAIGNsYXNzIFBhZ2VHcm91cDsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBK
YXZhU2NyaXB0Q2FsbEZyYW1lOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVi
dWdnZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpT
Qzo6RGVidWdnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERl
YnVnU2VydmVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRQcm9maWxlci5oIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCmlu
ZGV4IDA1ZTdhMjUuLmQ0ZGQ2MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0UHJvZmlsZXIuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgK
QEAgLTMyLDExICszMiwxMSBAQAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRl
ICJTY3JpcHRTdGF0ZS5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNj
cmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0
ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNj
cmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxl
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaCBiL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaAppbmRleCAwYzA4NjExLi5lMTljMGM4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKKysrIGIvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCkBAIC01Miw3ICs1Miw4IEBAIGNsYXNzIFBhZ2U7CiAv
LyBGb3Igbm93LCB0aGUgc2VwYXJhdGlvbiBpcyBwdXJlbHkgYnkgY29udmVudGlvbi4KIHR5cGVk
ZWYgSlNDOjpFeGVjU3RhdGUgU2NyaXB0U3RhdGU7CiAKLWNsYXNzIFNjcmlwdFN0YXRlUHJvdGVj
dGVkUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVk
UHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cik7
CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoU2NyaXB0U3Rh
dGUqKTsKICAgICB+U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNmUyZDdiZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKKysrIGIvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDE3ICsyNCwxOCBAQAog
CiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRE9NT2JqZWN0SGFzaFRh
YmxlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6
Q2xpZW50RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVKU0NsaWVudERh
dGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAgICBmcmll
bmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRhKik7CiAK
IHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVhbCB+V2Vi
Q29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5jb250
YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaCBiL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2Vy
U2NyaXB0Q29udHJvbGxlci5oCmluZGV4IGJlN2RhNGQuLjQ1Nzg5MTMgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUv
YmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBACiAK
ICNpbmNsdWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4K
IAogbmFtZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0gICAg
Y2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgV29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdvcmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2VyQ29udGV4dCop
OwogICAgICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9ET01EYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApp
bmRleCA3OGVkZjkyLi5iMDQyNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGEuaAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaApAQCAtNDMsNyArNDMs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gdGhyZWFkLiAgVGhlIERPTURhdGEgZm9y
IHRoZSBtYWluIHRocmVhZCBhbmQgdGhlIERPTURhdGEgZm9yIGNoaWxkIHRocmVhZHMKICAgICAv
LyB1c2UgZGlmZmVyZW50IHN1YmNsYXNzZXMuCiAgICAgLy8KLSAgICBjbGFzcyBET01EYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRE9NRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBET01EYXRhKCk7
CiAgICAgICAgIHZpcnR1YWwgfkRPTURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGlu
Z3MvdjgvRE9NRGF0YVN0b3JlLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CmluZGV4IGExMDUxZGQuLjI4MjEzYTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YVN0b3JlLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaApA
QCAtMTQ5LDcgKzE0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNz
IGRvZXNuJ3QgbWFuYWdlIHRoZSBsaWZldGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9y
ZQogICAgIC8vIGxpZmV0aW1lIGlzIG1hbmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAg
IGNsYXNzIERPTURhdGFTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9N
RGF0YVN0b3JlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAg
ICAgRE9NTm9kZU1hcCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmggYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0
YS5oCmluZGV4IDFhYTFmNjIuLmY0MmU4MTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3Jp
cHRDYWNoZWRGcmFtZURhdGEuaApAQCAtNjAsMTQgKzYwLDE0IEBAIHB1YmxpYzoKIAogI2luY2x1
ZGUgIk93bkhhbmRsZS5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiBjbGFzcyBET01X
aW5kb3c7CiAKLWNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICk7CiBwdWJsaWM6CiAgICAgU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhKEZyYW1lKik7CiAgICAgflNjcmlwdENhY2hlZEZyYW1lRGF0YSgpIHsgfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4IDQwZGQ1ZmMuLjhmYTcyM2Yg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTQ4LDcgKzQ4LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdERlYnVnTGlz
dGVuZXI7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3Jp
cHREZWJ1Z1NlcnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBz
aGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxl
ci5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCmluZGV4IGI3NWEwNTQu
LmUwOTY5ZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIu
aAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKQEAgLTM2LDEzICsz
NiwxMyBAQAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0
ZS5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHN0
YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0
IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRT
dGF0ZS5oIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCmluZGV4IDExODEzYjAu
LjBmZWNlZTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAor
KysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKQEAgLTQyLDcgKzQyLDggQEAg
Y2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgU2NyaXB0U3Rh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1YmxpYzoKICAgICBib29sIGhhZEV4Y2Vw
dGlvbigpIHsgcmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0VtcHR5KCk7IH0KICAgICB2b2lkIHNldEV4
Y2VwdGlvbih2ODo6TG9jYWw8djg6OlZhbHVlPiBleGNlcHRpb24pCkBAIC03OSw3ICs4MCw4IEBA
IHB1YmxpYzoKICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgpIHsgfQogfTsKIAotY2xhc3MgU2NyaXB0
U3RhdGVQcm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3Rh
dGVQcm90ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJv
dGVjdGVkUHRyKTsKIHB1YmxpYzoKICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpIDogbV9z
Y3JpcHRTdGF0ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0
ZSogc2NyaXB0U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShzY3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCA1YTg5ZTFiLi40M2Qz
NzQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
CkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAogLy8gV3JpdGVyIGlzIHJlc3BvbnNpYmxl
IGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMgYW5kIHN0b3JpbmcKIC8vIGluZm9ybWF0
aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRlIHR5cGVzLgotY2xhc3MgV3JpdGVyIDog
Tm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
cml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAgICAgICAgIDogbV9wb3NpdGlvbigwKQpA
QCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgY2xhc3Mg
U3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTdGF0ZUJhc2Ugewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0ZUJhc2UpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJp
ZGdlL0JyaWRnZS5oIGIvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKaW5kZXggNTBlZmM2NC4uMDBk
NmYzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvV2ViQ29yZS9i
cmlkZ2UvQnJpZGdlLmgKQEAgLTI4LDE0ICsyOCwxNSBAQAogI2RlZmluZSBCcmlkZ2VfaAogCiAj
aW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBKU0MgIHsKIAogbmFtZXNwYWNlIEJpbmRpbmdzIHsKIAotY2xhc3MgTWV0aG9kIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1ldGhvZCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgTWV0
aG9kKCkgeyB9CiAgICAgdmlydHVhbCBpbnQgbnVtUGFyYW1ldGVycygpIGNvbnN0ID0gMDsKIAog
ICAgIHZpcnR1YWwgfk1ldGhvZCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9icmlkZ2UvSWRl
bnRpZmllclJlcC5oIGIvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCmluZGV4IDk5YmFl
MGIuLjg2NDZlOTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaAor
KysgYi9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKQEAgLTMzLDcgKzMzLDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRpZmllclJlcCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoaW50KTsK
ICAgICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGNvbnN0IGNoYXIqKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBiL1dlYkNvcmUvYnJpZGdlL2pzYy9Ccmlk
Z2VKU0MuaAppbmRleCA5Njk3NGQ5Li5lYmNmYWFkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2JyaWRn
ZS9qc2MvQnJpZGdlSlNDLmgKKysrIGIvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBA
IC01OSw4ICs1OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAK
LWNsYXNzIENsYXNzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDbGFzcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgorICAgIENsYXNzKCkgeyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1l
ZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBG
aWVsZCogZmllbGROYW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7
CiAgICAgdmlydHVhbCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNl
KiwgY29uc3QgSWRlbnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3
ICsxMjcsOCBAQCBwcml2YXRlOgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRp
bWVPYmplY3Q7CiB9OwogCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBBcnJheSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAg
IEFycmF5KFBhc3NSZWZQdHI8Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmggYi9XZWJDb3JlL2Nzcy9DU1NJ
bWFnZVZhbHVlLmgKaW5kZXggODMzZDdmZS4uMTc0ZjFlZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VWYWx1ZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApAQCAt
MzIsNiArMzIsNyBAQCBjbGFzcyBTdHlsZUNhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVJbWFnZTsK
IAogY2xhc3MgQ1NTSW1hZ2VWYWx1ZSA6IHB1YmxpYyBDU1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0
ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
Q1NTSW1wb3J0UnVsZS5oIGIvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMw
MjYuLmFkNGU5N2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2Fj
aGVkQ1NTU3R5bGVTaGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVs
ZSA6IHB1YmxpYyBDU1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
U1NJbXBvcnRSdWxlPiBjcmVhdGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcm
IGhyZWYsIFBhc3NSZWZQdHI8TWVkaWFMaXN0PiBtZWRpYSkKICAgICB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaCBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCmlu
ZGV4IDYyMjVjMzYuLjkyNjM4ZjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFj
ZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCkBAIC0yNiw3ICsyNiw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIHN0cnVjdCBDU1NOYW1lc3BhY2UgOiBOb25jb3B5
YWJsZSB7CisgICAgc3RydWN0IENTU05hbWVzcGFjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENTU05hbWVzcGFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1Ymxp
YzoKICAgICAgICAgQXRvbWljU3RyaW5nIHByZWZpeDsKICAgICAgICAgQXRvbWljU3RyaW5nIHVy
aTsKICAgICAgICAgT3duUHRyPENTU05hbWVzcGFjZT4gcGFyZW50OwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmggYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA2NjMz
MDcyLi44N2RjNjFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMzM4LDcgKzMzOCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBpbnQgY3NzUHJvcGVydHlJRChjb25zdCBTdHJpbmcmKTsKICAgICBpbnQgY3Nz
VmFsdWVLZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJik7CiAKLSAgICBjbGFzcyBTaG9y
dGhhbmRTY29wZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTaG9ydGhhbmRT
Y29wZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgU2hvcnRoYW5kU2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9w
YXJzZXIocGFyc2VyKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXJWYWx1ZXMuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjgu
Ljk5NmU3ODMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBi
L1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVjdCBD
U1NQYXJzZXJWYWx1ZSB7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUo
KTsKIH07CiAKLWNsYXNzIENTU1BhcnNlclZhbHVlTGlzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNl
IHsKK2NsYXNzIENTU1BhcnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KCkKICAgICAgICAgOiBtX2N1cnJl
bnQoMCkKQEAgLTgzLDcgKzg0LDkgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8Q1NTUGFyc2VyVmFs
dWUsIDQ+IG1fdmFsdWVzOwogfTsKIAotc3RydWN0IENTU1BhcnNlckZ1bmN0aW9uIDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgogICAgIENTU1BhcnNlclN0cmluZyBuYW1lOwogICAgIE93blB0
cjxDU1NQYXJzZXJWYWx1ZUxpc3Q+IGFyZ3M7CiB9OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHkuaCBiL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKaW5kZXggMTA2MTcxZC4u
MTBlNTkzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgQ1NTUHJvcGVydHkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFz
cyBDU1NQcm9wZXJ0eSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgQ1NTUHJvcGVydHkoaW50IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJv
b2wgaW1wb3J0YW50ID0gZmFsc2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQg
PSBmYWxzZSkKICAgICAgICAgOiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCBjMTM5
ZGJmLi42OGE1MGM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKKysr
IGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1Nl
bGVjdG9yQmFnIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAg
Q1NTU2VsZWN0b3JCYWcoKSB7IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAg
ICAgQVNTRVJUKGlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rv
ci5oIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCAzNTNmYjVlLi42MjliYTAzIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1NlbGVjdG9yLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIENTU1NlbGVjdG9yQmFnOwogCiAgICAgLy8gdGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2Vs
ZWN0b3IgZm9yIGEgU3R5bGVSdWxlCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIENTU1NlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ1NTU2VsZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIENTU1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNj
ZW5kYW50KQpAQCAtMzA0LDcgKzMwNSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dW5zaWduZWQgc3BlY2lmaWNpdHlGb3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFj
dFBzZXVkb1R5cGUoKSBjb25zdDsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5
YWJsZSB7CisgICAgICAgIHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBw
dWJsaWM6CiAgICAgICAgICAgICBSYXJlRGF0YShQYXNzT3duUHRyPENTU1NlbGVjdG9yPiB0YWdI
aXN0b3J5KQogICAgICAgICAgICAgICAgIDogbV9hKDApCiAgICAgICAgICAgICAgICAgLCBtX2Io
MCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3JMaXN0LmgKaW5kZXggOWU0MGVmOC4uNzFjZWE2ZiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0
b3JMaXN0LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBDU1NTZWxlY3Rvckxpc3RfaAog
CiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJyYXkoMCkgeyB9CiAg
ICAgfkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCBlZGIy
MTZmLi40ZjE3OWFiIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzQ4LDcgKzM0OCw4
IEBAIGlmIChpZCA9PSBwcm9wSUQpIHsgXAogICAgIHJldHVybjsgXAogfQogCi1jbGFzcyBDU1NS
dWxlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxlRGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGEpOwogcHVibGljOgogICAgIENTU1J1bGVE
YXRhKHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiByLCBDU1NTZWxlY3Rvciogc2VsLCBDU1NS
dWxlRGF0YSogcHJldiA9IDApCiAgICAgICAgIDogbV9wb3NpdGlvbihwb3MpCkBAIC0zNzYsNyAr
Mzc3LDggQEAgcHJpdmF0ZToKICAgICBDU1NSdWxlRGF0YSogbV9uZXh0OwogfTsKIAotY2xhc3Mg
Q1NTUnVsZURhdGFMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVEYXRh
TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGFMaXN0KTsKIHB1Ymxp
YzoKICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQgcG9zLCBDU1NTdHlsZVJ1bGUqIHJ1bGUs
IENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgIDogbV9maXJzdChuZXcgQ1NTUnVsZURhdGEocG9z
LCBydWxlLCBzZWwpKQpAQCAtNDA2LDcgKzQwOCw4IEBAIHByaXZhdGU6CiAgICAgQ1NTUnVsZURh
dGEqIG1fbGFzdDsKIH07CiAKLWNsYXNzIENTU1J1bGVTZXQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgQ1NTUnVsZVNldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZVNl
dCk7CiBwdWJsaWM6CiAgICAgQ1NTUnVsZVNldCgpOwogICAgIH5DU1NSdWxlU2V0KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmgKaW5kZXggYjU3YmExMy4uNmI0ZjU0YiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0
b3IuaApAQCAtNjksNyArNjksOCBAQCBjbGFzcyBTdHlsZWRFbGVtZW50OwogY2xhc3MgV2ViS2l0
Q1NTS2V5ZnJhbWVSdWxlOwogY2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTsKIAotY2xhc3Mg
TWVkaWFRdWVyeVJlc3VsdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5
UmVzdWx0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5UmVzdWx0KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgTWVkaWFRdWVyeVJlc3VsdChjb25z
dCBNZWRpYVF1ZXJ5RXhwJiBleHByLCBib29sIHJlc3VsdCkKICAgICAgICAgOiBtX2V4cHJlc3Np
b24oZXhwcikKQEAgLTgyLDcgKzgzLDggQEAgcHVibGljOgogfTsKIAogICAgIC8vIFRoaXMgY2xh
c3Mgc2VsZWN0cyBhIFJlbmRlclN0eWxlIGZvciBhIGdpdmVuIGVsZW1lbnQgYmFzZWQgb24gYSBj
b2xsZWN0aW9uIG9mIHN0eWxlc2hlZXRzLgotICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3IgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0b3IgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTdHlsZVNlbGVjdG9yKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVjdG9yKERvY3VtZW50
KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVldCogbWFwcGVkRWxl
bWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBhZ2VV
c2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdyb3Vw
VXNlclNoZWV0cywKQEAgLTIwOSw3ICsyMTEsOCBAQCBwdWJsaWM6CiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxlKCkgeyByZXR1cm4g
c19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVjdG9yQ2hlY2tlciB7
CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNoZWNrZXIpOwogICAg
ICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9jdW1lbnQqLCBib29s
IHN0cmljdFBhcnNpbmcpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5Lmgg
Yi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKaW5kZXggMjgxMDA5Yi4uYTYzOGFjOSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVl
cnkuaApAQCAtMzcsNyArMzcsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFR
dWVyeUV4cDsKIAotY2xhc3MgTWVkaWFRdWVyeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBNZWRpYVF1ZXJ5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9yIHsKICAg
ICAgICAgT25seSwgTm90LCBOb25lCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
RXZhbHVhdG9yLmggYi9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXggMDBh
YzM5NC4uMDdjNGQwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRv
ci5oCisrKyBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNDksNyArNDks
OCBAQCBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogICogdGhlIGRldmljZSBjaGFyYWN0ZXJpc3RpY3Mg
YXJlIG5vdCBrbm93bi4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGluZwogICog
b2Ygc3R5bGVzaGVldHMgdG8gb25seSB0aG9zZSB3aGljaCBhcmUgcHJvYmFibGUgdG8gbWF0Y2gu
CiAgKi8KLWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUXVlcnlFdmFsdWF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICAvKiogQ3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlh
IHF1ZXJpZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3IgImFsbCIsIGFuZCBy
ZXR1cm5zIHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlFeHAuaCBiL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAppbmRleCA3
MmQzZmZmLi43ZTRkNDc3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmgK
KysrIGIvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICszOCw4IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAKLWNsYXNzIE1lZGlh
UXVlcnlFeHAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXhwIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxNZWRpYVF1ZXJ5RXhwPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBtZWRpYUZlYXR1
cmUsIENTU1BhcnNlclZhbHVlTGlzdCogdmFsdWVzKTsKICAgICB+TWVkaWFRdWVyeUV4cCgpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaCBiL1dlYkNvcmUvZG9t
L0FzeW5jU2NyaXB0UnVubmVyLmgKaW5kZXggMjMyNmY2Ny4uNmE3NTMyMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaAorKysgYi9XZWJDb3JlL2RvbS9Bc3luY1Nj
cmlwdFJ1bm5lci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIERvY3VtZW50OwogY2xhc3MgUGVu
ZGluZ1NjcmlwdDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiAgICAgCi1jbGFzcyBBc3luY1Njcmlw
dFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY1NjcmlwdFJ1bm5lciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNTY3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxBc3luY1Njcmlw
dFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkgeyByZXR1cm4gbmV3IEFzeW5jU2Ny
aXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1NjcmlwdFJ1bm5lcigpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmggYi9XZWJDb3JlL2RvbS9ET01TdHJpbmdN
YXAuaAppbmRleCA4NmEyMmIwLi43NzJhNzAwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9ET01T
dHJpbmdNYXAuaAorKysgYi9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaApAQCAtMzUsNyArMzUs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50OwogdHlwZWRlZiBpbnQgRXhj
ZXB0aW9uQ29kZTsKIAotY2xhc3MgRE9NU3RyaW5nTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIERPTVN0cmluZ01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NU3RyaW5n
TWFwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RE9N
U3RyaW5nTWFwKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA1YmZlZTAzLi42MTQ1OGEwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC00NjYwLDcgKzQ2NjAsOSBAQCB2b2lkIERvY3VtZW50OjphZGRNZXNzYWdlKE1lc3NhZ2VT
b3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAogICAgICAgICB3
aW5kb3ctPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdl
LCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRhc2tDb250ZXh0
IDogTm9uY29weWFibGUgeworc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUGVyZm9ybVRhc2tDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8RG9jdW1lbnRX
ZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJlbmNlKGRvY3Vt
ZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
ZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIGIvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJr
ZXJDb250cm9sbGVyLmgKaW5kZXggODMxNzdmYy4uMmRjMmI5ZSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9kb20vRG9jdW1l
bnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIEludFJlY3Q7CiBj
bGFzcyBOb2RlOwogY2xhc3MgUmFuZ2U7CiAKLWNsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50TWFya2VyQ29udHJvbGxlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIERvY3VtZW50TWFya2VyQ29udHJv
bGxlcigpIHsgfQogICAgIH5Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7IGRldGFjaCgpOyB9
CiAKICAgICB2b2lkIGRldGFjaCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnQuaCBi
L1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5kZXggZjA1ZDM2Yy4uY2Q0OWRlOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0yNCw2ICsy
NCw3IEBACiAjaWZuZGVmIEV2ZW50X2gKICNkZWZpbmUgRXZlbnRfaAogCisjaW5jbHVkZSAiQ2xp
cGJvYXJkLmgiCiAjaW5jbHVkZSAiRE9NVGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJn
ZXQuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzEsOCArMzIsNiBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBDbGlwYm9hcmQ7Ci0KICAgICBjbGFzcyBF
dmVudCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50PiB7CiAgICAgcHVibGljOgogICAgICAgICBl
bnVtIFBoYXNlVHlwZSB7IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDQ5NjgwNGUuLjY4NmQ5YjMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmgKQEAgLTE3OCw3ICsxNzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogLy8gZW5k
IG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCi0gICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZlbnROYW1lcyB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEV2ZW50TmFtZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICAgICAgaW50IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3
b3JrLgogICAgICAgICAvLyBQcml2YXRlIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2
ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5hbWVzKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaAppbmRleCBkZGNiNjYzLi44MWVlYjdmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oCisrKyBiL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTgzLDcg
KzgzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVy
ZWRFdmVudExpc3RlbmVyLCAxPiBFdmVudExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVkZWYgSGFz
aE1hcDxBdG9taWNTdHJpbmcsIEV2ZW50TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3RlbmVyTWFw
OwogCi0gICAgc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1
Y3QgRXZlbnRUYXJnZXREYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRU
YXJnZXREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAg
ICBFdmVudFRhcmdldERhdGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRl
ci5oIGIvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9JZ25vcmVE
ZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmgKQEAgLTI3LDExICsyNywxMSBAQAog
I2RlZmluZSBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcl9oCiAKICNpbmNs
dWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJZ25vcmVEZXN0cnVj
dGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSWdub3Jl
RGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIoRG9jdW1lbnQqIGRvY3VtZW50KQogICAg
ICAgICA6IG1fY291bnQoZG9jdW1lbnQgPyAmZG9jdW1lbnQtPm1faWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50IDogMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oIGIvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMDc2
NjhhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKKysrIGIv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0t
aW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hh
bm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRl
cGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBl
bnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZv
a2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hh
bm5lbChQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwog
CkBAIC03OCw3ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJu
cyB0cnVlIGlmIHRoZSBwcm94eSBjdXJyZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMg
cG9ydC4KICAgICAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFz
cyBFdmVudERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERh
dGEgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEV2ZW50RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5o
CmluZGV4IGFiMjA4ZDIuLjczNTBmODAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVSYXJl
RGF0YS5oCisrKyBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0zNCw3ICszNCw5IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIDogTm9u
Y29weWFibGUgeworc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShOb2RlTGlzdHNOb2RlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVi
bGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBOb2RlTGlzdFNldDsK
ICAgICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAgLTY3LDcgKzY5LDgg
QEAgcHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVEYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6ICAg
IAogICAgIE5vZGVSYXJlRGF0YSgpCiAgICAgICAgIDogbV90YWJJbmRleCgwKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oIGIvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFt
ZS5oCmluZGV4IDM0ZmMwNjkuLmNiOTVmMjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1F1YWxp
ZmllZE5hbWUuaAorKysgYi9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTMyLDcgKzMy
LDggQEAgc3RydWN0IFF1YWxpZmllZE5hbWVDb21wb25lbnRzIHsKICAgICBTdHJpbmdJbXBsKiBt
X25hbWVzcGFjZTsKIH07CiAKLWNsYXNzIFF1YWxpZmllZE5hbWUgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CitjbGFzcyBRdWFsaWZpZWROYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBjbGFzcyBRdWFsaWZpZWROYW1lSW1wbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFF1YWxpZmllZE5hbWVJbXBsPiB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4
IDA3YzU5ZGIuLjUyNTBmM2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQu
aAorKysgYi9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xh
c3MgU2NyaXB0RWxlbWVudDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlw
dEVsZW1lbnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29s
IGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0
RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oIGIvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IDEyZWI3NzYu
LmU4YmY5YTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aAorKysgYi9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExNiw4ICsx
MTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJs
aWM6CisgICAgICAgICAgICBUYXNrKCkgeyB9CiAgICAgICAgICAgICB2aXJ0dWFsIH5UYXNrKCk7
CiAgICAgICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopID0gMDsKICAgICAgICAgICAgIC8vIENlcnRhaW4gdGFza3MgZ2V0IG1hcmtlZCBzcGVj
aWFsbHkgc28gdGhhdCB0aGV5IGFyZW4ndCBkaXNjYXJkZWQsIGFuZCBhcmUgZXhlY3V0ZWQsIHdo
ZW4gdGhlIGNvbnRleHQgaXMgc2h1dHRpbmcgZG93biBpdHMgbWVzc2FnZSBxdWV1ZS4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaCBiL1dlYkNvcmUvZG9tL1NwYWNl
U3BsaXRTdHJpbmcuaAppbmRleCA4MjZlNmJkLi42ZWI4OTNjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKKysrIGIvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmlu
Zy5oCkBAIC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNz
IFNwYWNlU3BsaXRTdHJpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBT
cGFjZVNwbGl0U3RyaW5nRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwYWNl
U3BsaXRTdHJpbmdEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBTcGFjZVNwbGl0U3RyaW5nRGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBz
aG91bGRGb2xkQ2FzZSkKICAgICAgICAgICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRG
b2xkQ2FzZShzaG91bGRGb2xkQ2FzZSksIG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oIGIvV2ViQ29yZS9kb20vVHJhbnNmb3Jt
U291cmNlLmgKaW5kZXggZjk3YWZjZi4uNjNkYzc4YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
VHJhbnNmb3JtU291cmNlLmgKKysrIGIvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAg
LTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxh
dGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJj
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBUcmFuc2Zvcm1Tb3VyY2UoY29uc3Qg
UGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2UmIHNvdXJjZSk7CiAgICAgICAgIH5UcmFuc2Zvcm1Tb3Vy
Y2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmggYi9X
ZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCmluZGV4IDE3ZWEzMTkuLmIxZWQ5NmIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvV2Vi
Q29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaApAQCAtMzYsNyArMzYsOCBAQCBlbnVtIFBy
b2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29s
IHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJl
ID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vz
c2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvci5oIGIvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0
b3IuaAppbmRleCA2YzcxMDc5Li4yMWY0YzdlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Vc2Vy
VHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0
dXJlSW5kaWNhdG9yLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRv
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRv
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3Ip
OwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgp
OwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxlbWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oIGIvV2ViQ29yZS9kb20vWE1M
RG9jdW1lbnRQYXJzZXIuaAppbmRleCAxMTM3MGZhLi5iMGNiYTY3IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50
UGFyc2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAK
ICAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQ
YXJzZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8WE1M
RG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZyYW1lVmlldyogdmll
dykKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJM
aWJ4bWwyLmNwcCBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKaW5k
ZXggMjNmOTg4My4uYmNiYTMyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQ
YXJzZXJMaWJ4bWwyLmNwcAorKysgYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnht
bDIuY3BwCkBAIC03NSw4ICs3NSwxMCBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBlbmRpbmdDYWxsYmFja3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGVuZGluZ0NhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAgUGVuZGluZ0NhbGxiYWNrcygpIHsgfQog
ICAgIH5QZW5kaW5nQ2FsbGJhY2tzKCkKICAgICB7CiAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcyht
X2NhbGxiYWNrcyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNj
b3BlLmggYi9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKaW5kZXggNThlOGE2
Yi4uZjYwNDcxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZS5oCisrKyBiL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaApAQCAtMzYsNyAr
MzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxv
YWRlcjsKIAotICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShYTUxEb2N1bWVudFBhcnNlclNjb3BlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFhNTERvY3VtZW50UGFyc2VyU2NvcGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hl
ZFJlc291cmNlTG9hZGVyKTsKICAgICAgICAgflhNTERvY3VtZW50UGFyc2VyU2NvcGUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmggYi9XZWJD
b3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCmluZGV4IDEyODZjMDcuLjRkOTI4
YzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgK
KysrIGIvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaApAQCAtMzYsNyAr
MzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFZp
c2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9uQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIoRnJhbWUqKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBi
L1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggMDQ0Y2U2
My4uY2NjNmQwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25D
b21tYW5kLmNwcAorKysgYi9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQu
Y3BwCkBAIC02Miw3ICs2Miw4IEBAIGVudW0gRUZyYWdtZW50VHlwZSB7IEVtcHR5RnJhZ21lbnQs
IFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9OwogCiAvLyAtLS0gUmVwbGFj
ZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50KTsKIHB1YmxpYzoKICAgICBS
ZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRGcmFnbWVudCosIGJvb2wgbWF0
Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlv
bkNvbnRyb2xsZXIuaAppbmRleCBlZTUyMTg3Li4zZjgwNWQzIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvZWRpdGluZy9TZWxl
Y3Rpb25Db250cm9sbGVyLmgKQEAgLTQ4LDcgKzQ4LDggQEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9u
OwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0
aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3MgU2VsZWN0aW9uQ29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9sbGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBFQWx0ZXJhdGlvbiB7IEFsdGVyYXRp
b25Nb3ZlLCBBbHRlcmF0aW9uRXh0ZW5kIH07CiAgICAgZW51bSBDdXJzb3JBbGlnbk9uU2Nyb2xs
IHsgQWxpZ25DdXJzb3JPblNjcm9sbElmTmVlZGVkLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0
aW5nL1NwZWxsQ2hlY2tlci5oIGIvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCmluZGV4
IGY2MjE1ZDIuLjgxYmI1MTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNr
ZXIuaAorKysgYi9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKQEAgLTU0LDcgKzU0LDgg
QEAgcHJpdmF0ZToKICAgICBpbnQgbV9sZW5ndGg7CiB9OwogCi1jbGFzcyBTcGVsbENoZWNrZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3BlbGxDaGVja2VyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTcGVsbENoZWNrZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNwZWxs
Q2hlY2tlcihGcmFtZSosIEVkaXRvckNsaWVudCopOwogICAgIH5TcGVsbENoZWNrZXIoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBiL1dlYkNvcmUv
ZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCAyMjc1MzBmLi44YjVjNjkxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysrIGIvV2ViQ29y
ZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC03Miw3ICs3Miw4IEBAIHByaXZhdGU6
CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0aDsKIH07CiAKLWNsYXNzIFRleHRDaGVj
a2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hlY2tpbmdIZWxw
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDaGVja2luZ0hlbHBlcik7CiBwdWJs
aWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRvckNsaWVudCosIFBhc3NSZWZQdHI8UmFu
Z2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Vk
aXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3Bw
CmluZGV4IDdlNDE0MjAuLmY4YTFiOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9UZXh0
SXRlcmF0b3IuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC02
MSw3ICs2MSw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBDYXNlIGZvbGRpbmcg
aXMgYWxzbyBkb25lIGlmIHRoZSBDYXNlSW5zZW5zaXRpdmUgb3B0aW9uIGlzIHNwZWNpZmllZC4K
IC8vIE1hdGNoZXMgYXJlIGZ1cnRoZXIgZmlsdGVyZWQgaWYgdGhlIEF0V29yZFN0YXJ0cyBvcHRp
b24gaXMgc3BlY2lmaWVkLCBhbHRob3VnaCBzb21lCiAvLyBtYXRjaGVzIGluc2lkZSBhIHdvcmQg
YXJlIHBlcm1pdHRlZCBpZiBUcmVhdE1lZGlhbENhcGl0YWxBc1dvcmRTdGFydCBpcyBzcGVjaWZp
ZWQgYXMgd2VsbC4KLWNsYXNzIFNlYXJjaEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTZWFyY2hCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlYXJjaEJ1ZmZl
cik7CiBwdWJsaWM6CiAgICAgU2VhcmNoQnVmZmVyKGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBGaW5k
T3B0aW9ucyk7CiAgICAgflNlYXJjaEJ1ZmZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9maWxl
YXBpL0ZpbGVUaHJlYWQuaCBiL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKaW5kZXggZDdh
YWJmNy4uNDUyMDVjNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaAor
KysgYi9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCkBAIC01NCw3ICs1NCw4IEBAIHB1Ymxp
YzoKICAgICBib29sIHN0YXJ0KCk7CiAgICAgdm9pZCBzdG9wKCk7CiAKLSAgICBjbGFzcyBUYXNr
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGFzayk7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5UYXNr
KCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzaygpID0gMDsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCBiL1dlYkNvcmUvZmlsZWFwaS9M
b2NhbEZpbGVTeXN0ZW0uaAppbmRleCBiNzc5YTVmLi4xMmE3MDEyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL0xvY2Fs
RmlsZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIEZpbGVTeXN0ZW1DYWxsYmFjazsK
IGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIEtlZXBzIHBlci1wcm9jZXNzIGlu
Zm9ybWF0aW9uIGFuZCBwcm92aWRlcyBhbiBlbnRyeSBwb2ludCB0byBvcGVuIGEgZmlsZSBzeXN0
ZW0uCi1jbGFzcyBMb2NhbEZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TG9jYWxGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbEZpbGVTeXN0
ZW0pOwogcHVibGljOgogICAgIC8vIFJldHVybnMgYSBwZXItcHJvY2VzcyBpbnN0YW5jZSBvZiBM
b2NhbEZpbGVTeXN0ZW0uCiAgICAgLy8gTm90ZSB0aGF0IExvY2FsRmlsZVN5c3RlbTo6aW5pdGlh
bGl6ZUxvY2FsRmlsZVN5c3RlbSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaCBiL1dlYkNvcmUvZmlsZWFwaS9TeW5j
Q2FsbGJhY2tIZWxwZXIuaAppbmRleCAyNWU2NzM5Li4wMjBhYzQ5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKKysrIGIvV2ViQ29yZS9maWxlYXBpL1N5
bmNDYWxsYmFja0hlbHBlci5oCkBAIC01OCw3ICs1OCw4IEBAIGNsYXNzIEZpbGVFbnRyeVN5bmM7
CiAKIC8vIEEgaGVscGVyIHRlbXBsYXRlIGZvciBGaWxlU3lzdGVtU3luYyBpbXBsZW1lbnRhdGlv
bi4KIHRlbXBsYXRlIDx0eXBlbmFtZSBTdWNjZXNzQ2FsbGJhY2ssIHR5cGVuYW1lIE9ic2VydmVy
VHlwZSwgdHlwZW5hbWUgQ2FsbGJhY2tBcmcsIHR5cGVuYW1lIFJlc3VsdFR5cGU+Ci1jbGFzcyBT
eW5jQ2FsbGJhY2tIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3luY0NhbGxi
YWNrSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTeW5jQ2FsbGJhY2tIZWxwZXIp
OwogcHVibGljOgogICAgIHR5cGVkZWYgU3luY0NhbGxiYWNrSGVscGVyPFN1Y2Nlc3NDYWxsYmFj
aywgT2JzZXJ2ZXJUeXBlLCBDYWxsYmFja0FyZywgUmVzdWx0VHlwZT4gSGVscGVyVHlwZTsKICAg
ICBTeW5jQ2FsbGJhY2tIZWxwZXIoT2JzZXJ2ZXJUeXBlKiBvYnNlcnZlciA9IDApCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmggYi9XZWJDb3JlL2hp
c3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKaW5kZXggZTg5ZTMyYi4uMTI4ODRlYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBj
bGFzcyBCYWNrRm9yd2FyZExpc3Q7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFBhZ2U7CiAK
LWNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBCYWNrRm9yd2FyZENvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJhY2tG
b3J3YXJkQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IEJhY2tGb3J3YXJkQ29udHJvbGxlcihQYWdlKiwgUGFzc1JlZlB0cjxCYWNrRm9yd2FyZExpc3Q+
KTsKICAgICB+QmFja0ZvcndhcmRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmggYi9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKaW5kZXggNzFh
ZTVhZC4uOTEyYmQ2NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCisr
KyBiL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07CiAgICAgY2xhc3MgUGFnZTsKICAg
ICAKLSAgICBjbGFzcyBQYWdlQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFBhZ2VDYWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VDYWNoZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VD
YWNoZSogcGFnZUNhY2hlKCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0Nv
bGxlY3Rpb25DYWNoZS5oIGIvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRm
MWQxZmEuLjhlNGEwNjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUu
aAorKysgYi9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlv
bkNhY2hlIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsK
ICAgICBDb2xsZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVj
dGlvbkNhY2hlJiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvV2ViQ29yZS9odG1s
L0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uOGY2ZmQ0ZSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvV2ViQ29yZS9odG1s
L0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMgRE9NVG9rZW5MaXN0
LCBwdWJsaWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4geworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERPTVNldHRh
YmxlVG9rZW5MaXN0PiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9E
T01Ub2tlbkxpc3QuaCBiL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAppbmRleCA1ZGYyZWRl
Li4wYjc1YjY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKKysrIGIv
V2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0yNywxNSArMjcsMTYgQEAKIAogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgRE9NVG9rZW5M
aXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVRva2VuTGlzdCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRE9NVG9rZW5MaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CisgICAgRE9NVG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5M
aXN0KCkge307CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaCBiL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVp
cmtzLmgKaW5kZXggNTBkZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hU
TUxQYXJzZXJRdWlya3MuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCkBA
IC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJRdWlya3MgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAgSFRNTFBhcnNl
clF1aXJrcygpIHsgfQogICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7IH0KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUu
aAppbmRleCA0ZDI1YTk3Li4zZTQ2YzU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSW5wdXRU
eXBlLmgKKysrIGIvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw2ICszMyw3IEBACiAj
ZGVmaW5lIElucHV0VHlwZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTYwLDEzICs2
MSwxNCBAQCBzdHJ1Y3QgQ2xpY2tIYW5kbGluZ1N0YXRlIHsKICAgICBib29sIGluZGV0ZXJtaW5h
dGU7CiAgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IGNoZWNrZWRSYWRpb0J1dHRvbjsKIAot
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiB9OwogCiAvLyBBbiBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIHR5cGUtc3BlY2lm
aWMgcGFydCBvZiBhbiBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90IGV4cG9zZSBpbnN0YW5j
ZXMgb2YgSW5wdXRUeXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBpdCB0byBjbGFzc2VzCiAv
LyBvdGhlciB0aGFuIEhUTUxJbnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1dFR5cGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJbnB1dFR5cGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50KiwgY29uc3Qg
U3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGVUZXh0KEhU
TUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaCBi
L1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBjZTA0NGVhLi4yZmExMzkzIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvV2ViQ29yZS9odG1sL1N0ZXBSYW5n
ZS5oCkBAIC0yOCw3ICsyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElu
cHV0RWxlbWVudDsKIAotY2xhc3MgU3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFN0ZXBSYW5nZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1
YmxpYzoKICAgICBib29sIGhhc1N0ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaCBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9u
TWVzc2FnZS5oCmluZGV4IGQ3OGUzZjMuLmY1ZDQ4MzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2Fn
ZS5oCkBAIC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRm9ybUFz
c29jaWF0ZWRFbGVtZW50OwogCi1jbGFzcyBWYWxpZGF0aW9uTWVzc2FnZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBWYWxpZGF0aW9uTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVmFsaWRhdGlvbk1lc3NhZ2UpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRy
PFZhbGlkYXRpb25NZXNzYWdlPiBjcmVhdGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50Kik7CiAgICAg
flZhbGlkYXRpb25NZXNzYWdlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlT
dGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAppbmRleCBlMTQwYzQ5Li40YTk2
NDg4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNv
cmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBWYWxpZGl0eVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFZhbGlkaXR5U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3Rh
dGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093
blB0cjxWYWxpZGl0eVN0YXRlPiBjcmVhdGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBjb250cm9s
KQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5oIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgK
aW5kZXggYTI1ZThhMS4uYTE0MzU5NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0LmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgSFRNTFZpZGVvRWxlbWVu
dDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9iamVjdDsKIAotY2xhc3MgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYW52YXNSZW5kZXJpbmdD
b250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYW52YXNSZW5kZXJpbmdDb250ZXh0
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAgIHZpcnR1YWwgfkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9h
ZFNjYW5uZXIuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRl
eCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1By
ZWxvYWRTY2FubmVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5l
ci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50
OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGljOgogICAgIENTU1ByZWxvYWRTY2Fu
bmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENv
bnN0cnVjdGlvblNpdGUuaCBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNp
dGUuaAppbmRleCA4YjA5YmY1Li41YTRhNjVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
Q29uc3RydWN0aW9uU2l0ZS5oCkBAIC00MCw3ICs0MCw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tl
bjsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVj
dGlvblNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNp
dGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1
YmxpYzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0
aW5nUGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1
Y3Rpb25TaXRlKCk7CkBAIC04OSw3ICs5MCw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1l
bnQqIGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRy
PEhUTUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJl
Y3RUb0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9G
b3N0ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAg
IDogbV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1
bWVudFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaApp
bmRleCBmY2EyNjlhLi45Zjk4MzU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50
UGFyc2VyLmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNz
IFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMg
U2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVz
b3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1bWVu
dCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRWxlbWVudFN0YWNrLmgKaW5kZXggOGE4ZTE2MC4uYWQ4Yjk0MSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MRWxlbWVudFN0YWNrLmgKQEAgLTM5LDEyICszOSwxNCBAQCBjbGFzcyBRdWFsaWZp
ZWROYW1lOwogCiAvLyBOT1RFOiBUaGUgSFRNTDUgc3BlYyB1c2VzIGEgYmFja3dhcmRzIChncm93
cyBkb3dud2FyZCkgc3RhY2suICBXZSdyZSB1c2luZwogLy8gbW9yZSBzdGFuZGFyZCAoZ3Jvd3Mg
dXB3YXJkcykgc3RhY2sgdGVybWlub2xvZ3kgaGVyZS4KLWNsYXNzIEhUTUxFbGVtZW50U3RhY2sg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTEVsZW1lbnRTdGFjayB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSFRNTEVsZW1lbnRTdGFjayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIEhUTUxFbGVtZW50U3RhY2soKTsKICAgICB+SFRNTEVsZW1lbnRT
dGFjaygpOwogCi0gICAgY2xhc3MgRWxlbWVudFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgRWxlbWVudFJlY29yZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEVsZW1lbnRSZWNvcmQpOwogICAgIHB1YmxpYzoKICAgICAgICAgfkVsZW1lbnRSZWNvcmQoKTsg
Ly8gUHVibGljIGZvciB+UGFzc093blB0cigpCiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCmluZGV4IGFjYTA1YmIuLmY3NWZhNTAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5o
CisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCkBA
IC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiAKIC8v
IFRoaXMgbWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNrLgotY2xhc3MgSFRN
TEZvcm1hdHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
Rm9ybWF0dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRm9y
bWF0dGluZ0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0dGluZ0VsZW1lbnRM
aXN0KCk7CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxJbnB1dFN0cmVhbS5oCmluZGV4IDFiZmJhZjkuLmQ5NWVjMzEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBsYXN0IG9mIHRoZSBhZnRlckluc2Vy
dGlvblBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBhZGRzIGRhdGEgYXQgdGhlIGVuZCBv
ZiB0aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8vIHRoZW0gdG8gdGhlICJsYXN0IiBz
dHJpbmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MSW5wdXRT
dHJlYW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVhbSgpCiAgICAgICAgIDogbV9sYXN0
KCZtX2ZpcnN0KQpAQCAtMTI5LDcgKzEzMCw4IEBAIHByaXZhdGU6CiAgICAgU2VnbWVudGVkU3Ry
aW5nKiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJlY29yZCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwogcHVibGljOgogICAgIGV4cGxpY2l0
IEluc2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVhbSYgaW5wdXRTdHJlYW0pCiAgICAg
ICAgIDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MTWV0YUNoYXJzZXRQYXJzZXIuaAppbmRleCBjMzEzNmY1Li40NWZiYWY3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCisrKyBiL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmgKQEAgLTM2LDcgKzM2LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSFRNTFRva2VuaXplcjsKIGNsYXNzIFRleHRDb2Rl
YzsKIAotY2xhc3MgSFRNTE1ldGFDaGFyc2V0UGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhUTUxNZXRhQ2hhcnNldFBhcnNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTE1ldGFDaGFyc2V0UGFyc2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxI
VE1MTWV0YUNoYXJzZXRQYXJzZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBIVE1M
TWV0YUNoYXJzZXRQYXJzZXIoKSk7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJT
Y2hlZHVsZXIuaAppbmRleCA1YmUzM2IwLi42NDc2MDIyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBACiAKICNpbmNsdWRlICJU
aW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFzcyBIVE1MUGFyc2VyU2No
ZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2VyU2NoZWR1bGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2NoZWR1bGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFBh
cnNlclNjaGVkdWxlcj4gY3JlYXRlKEhUTUxEb2N1bWVudFBhcnNlciogcGFyc2VyKQogICAgIHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmggYi9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCmluZGV4IDk0YTkwZTYuLmJl
ZDc3ZmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVy
LmgKKysrIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaApAQCAtMzAs
NyArMzAsNiBAQAogI2luY2x1ZGUgIkNTU1ByZWxvYWRTY2FubmVyLmgiCiAjaW5jbHVkZSAiSFRN
TFRva2VuLmgiCiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzksNyArMzgsOCBAQCBj
bGFzcyBIVE1MVG9rZW47CiBjbGFzcyBIVE1MVG9rZW5pemVyOwogY2xhc3MgU2VnbWVudGVkU3Ry
aW5nOwogCi1jbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1M
UHJlbG9hZFNjYW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBI
VE1MUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3Jp
cHRSdW5uZXIuaAppbmRleCA2Y2Y3NGQ4Li45ODZmN2JkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxTY3JpcHRSdW5uZXIuaApAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIlBlbmRpbmdTY3Jp
cHQuaCIKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9z
aXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNsYXNz
IEZyYW1lOwogY2xhc3MgSFRNTFNjcmlwdFJ1bm5lckhvc3Q7CiBjbGFzcyBTY3JpcHRTb3VyY2VD
b2RlOwogCi1jbGFzcyBIVE1MU2NyaXB0UnVubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhUTUxTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxTY3Jp
cHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBI
VE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaApp
bmRleCA0MmNkZGI4Li4xY2JjMTUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUb2tlbi5oCisrKyBiL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKQEAgLTI3LDEz
ICsyNywxMyBAQAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAiTmFtZWROb2RlTWFw
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUb2tlbiB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgVW5pbml0aWFsaXplZCwK
QEAgLTMxMyw3ICszMTMsOCBAQCBwcml2YXRlOgogICAgIC8vIHdhbnQgdG8gZW5kIHVwIHdpdGgg
YSBjbGVhbmVyIGludGVyZmFjZSBiZXR3ZWVuIHRoZSB0d28gY2xhc3Nlcy4KICAgICBmcmllbmQg
Y2xhc3MgQXRvbWljSFRNTFRva2VuOwogCi0gICAgY2xhc3MgRG9jdHlwZURhdGEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIERvY3R5cGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRG9jdHlwZURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRG9jdHlwZURh
dGEoKQogICAgICAgICAgICAgOiBtX2hhc1B1YmxpY0lkZW50aWZpZXIoZmFsc2UpCkBAIC0zNTIs
NyArMzUzLDggQEAgcHJpdmF0ZToKIAogLy8gRklYTUU6IFRoaXMgY2xhc3Mgc2hvdWxkIGV2ZW50
dWFsbHkgYmUgbmFtZWQgSFRNTFRva2VuIG9uY2Ugd2UgbW92ZSB0aGUKIC8vIGV4aXRpbmcgSFRN
TFRva2VuIHRvIGJlIGludGVybmFsIHRvIHRoZSBIVE1MVG9rZW5pemVyLgotY2xhc3MgQXRvbWlj
SFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF0b21pY0hUTUxUb2tlbiB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXRvbWljSFRNTFRva2VuKTsKIHB1YmxpYzoKICAg
ICBBdG9taWNIVE1MVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX3R5cGUodG9r
ZW4udHlwZSgpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVy
LmggYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaAppbmRleCBmMTZiMDQ5Li5m
YTQ1Y2IyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaAor
KysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaApAQCAtMzksNyArMzksOCBA
QCBjbGFzcyBFbGVtZW50OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNz
IEhUTUxUb2tlbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRva2VuaXpl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuaXplcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGVudW0gU3RhdGUgewogICAgICAgICBEYXRhU3Rh
dGUsCkBAIC0xNzIsNyArMTczLDggQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIGh0dHA6
Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3ByZXByb2Nlc3Np
bmctdGhlLWlucHV0LXN0cmVhbQotICAgIGNsYXNzIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElucHV0U3RyZWFtUHJlcHJvY2Vzc29yKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yKEhUTUxUb2tlbml6
ZXIqIHRva2VuaXplcikKICAgICAgICAgICAgIDogbV90b2tlbml6ZXIodG9rZW5pemVyKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IGMzN2Q2ZjEuLjgzN2RiZjEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysg
Yi9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTI0MSw3ICsyNDEs
OCBAQCBIVE1MRm9ybUVsZW1lbnQqIGNsb3Nlc3RGb3JtQW5jZXN0b3IoRWxlbWVudCogZWxlbWVu
dCkKIAogfSAvLyBuYW1lc3BhY2UKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENo
YXJhY3RlclRva2VuQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVl
QnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlcik7CiBwdWJsaWM6CiAgICAgZXhw
bGljaXQgRXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlcihBdG9taWNIVE1MVG9rZW4mIHRva2Vu
KQogICAgICAgICA6IG1fY3VycmVudCh0b2tlbi5jaGFyYWN0ZXJzKCkuZGF0YSgpKQpAQCAtMjMz
NSw3ICsyMzM2LDggQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnJlcHJvY2Vzc0VuZFRhZyhBdG9t
aWNIVE1MVG9rZW4mIHRva2VuKQogICAgIHByb2Nlc3NFbmRUYWcodG9rZW4pOwogfQogCi1jbGFz
cyBIVE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNlcnRpb25Nb2RlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZha2VJbnNlcnRpb25Nb2RlKTsKIHB1YmxpYzoKICAgICBGYWtlSW5z
ZXJ0aW9uTW9kZShIVE1MVHJlZUJ1aWxkZXIqIHRyZWVCdWlsZGVyLCBJbnNlcnRpb25Nb2RlIG1v
ZGUpCiAgICAgICAgIDogbV90cmVlQnVpbGRlcih0cmVlQnVpbGRlcikKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmggYi9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUcmVlQnVpbGRlci5oCmluZGV4IDE3Yjc3YjcuLjMwOWFjNmYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuaApAQCAtNTEsNyArNTEsOCBAQCBjbGFzcyBIVE1MRG9jdW1l
bnQ7CiBjbGFzcyBOb2RlOwogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFzcyBIVE1M
VHJlZUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVHJlZUJ1aWxkZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVHJlZUJ1
aWxkZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNlciwgSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMsIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3Mp
CiAgICAgewpAQCAtMjA0LDcgKzIwNSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcm9jZXNzRm9y
ZWlnbkNvbnRlbnRVc2luZ0luQm9keU1vZGVBbmRSZXNldE1vZGUoQXRvbWljSFRNTFRva2VuJiB0
b2tlbik7CiAgICAgdm9pZCByZXNldEZvcmVpZ25JbnNlcnRpb25Nb2RlKCk7CiAKLSAgICBjbGFz
cyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RnJhZ21lbnRQYXJzaW5nQ29udGV4dCk7CiAgICAgcHVibGljOgogICAgICAgICBGcmFnbWVudFBh
cnNpbmdDb250ZXh0KCk7CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoRG9jdW1lbnRG
cmFnbWVudCosIEVsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBGcmFnbWVudFNjcmlwdGluZ1Blcm1p
c3Npb24pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNy
ZW1lbnRlci5oIGIvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5o
CmluZGV4IGM1OTc4NzYuLjgxNTU2MzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9wYXJzZXIv
TmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAorKysgYi9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3Rp
bmdMZXZlbEluY3JlbWVudGVyLmgKQEAgLTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IE5l
c3RpbmdMZXZlbEluY3JlbWVudGVyKHVuc2lnbmVkJiBuZXN0aW5nTGV2ZWwpCiAgICAgICAgIDog
bV9uZXN0aW5nTGV2ZWwoJm5lc3RpbmdMZXZlbCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVj
dG9yL0NvbnNvbGVNZXNzYWdlLmggYi9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5o
CmluZGV4IDA2YTE3ZDQuLmYyZTkxZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaApA
QCAtNDYsNyArNDYsOCBAQCBjbGFzcyBTY3JpcHRDYWxsRnJhbWU7CiBjbGFzcyBTY3JpcHRDYWxs
U3RhY2s7CiBjbGFzcyBTY3JpcHRWYWx1ZTsKIAotY2xhc3MgQ29uc29sZU1lc3NhZ2UgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQ29uc29sZU1lc3NhZ2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3Nh
Z2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCB1bnNpZ25lZCBsaSwgY29uc3QgU3RyaW5nJiB1KTsK
ICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxl
dmVsLCBjb25zdCBTdHJpbmcmIG0sIFBhc3NSZWZQdHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKaW5kZXggMTFmMTBjZS4uNGNjMDRiMyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgK
QEAgLTQwLDcgKzQwLDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9y
VmFsdWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBJbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JB
cHBsaWNhdGlvbkNhY2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciog
aW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAgICB+
SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNDgxMzQ0ZC4uY2UyYzcyYSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMTAxLDcgKzEwMSw4IEBAIGNsYXNzIFdlYlNv
Y2tldEhhbmRzaGFrZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZTsK
ICNlbmRpZgogCi1jbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEluc3BlY3RvckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgQ29uc29sZVBhbmVsOwogICAgIHN0YXRpYyBj
b25zdCBjaGFyKiBjb25zdCBFbGVtZW50c1BhbmVsOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGVidWdnZXJBZ2VudC5oCmluZGV4IDZlNDVlNTkuLmJlOTdlMDggMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTUyLDcgKzUyLDggQEAgZW51bSBE
ZWJ1Z2dlckV2ZW50VHlwZSB7CiAgICAgTmF0aXZlQnJlYWtwb2ludERlYnVnZ2VyRXZlbnRUeXBl
CiB9OwogCi1jbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVn
TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFn
ZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVh
dGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3BlY3RvckZyb250ZW5kKik7CiAgICAgdmlydHVh
bCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCmluZGV4IDlkY2FhNWEuLjE5ZjZhZDEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAg
LTQxLDcgKzQxLDggQEAgY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3Rv
ckZyb250ZW5kSG9zdDsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwgOiBwdWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFn
ZSopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBlNjc4NDhkLi4xNjA4
ZGEyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50
LmgKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCkBAIC00
Nyw3ICs0Nyw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIFNjcmlwdEhlYXBTbmFw
c2hvdDsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiAKLWNsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdl
bnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKik7CiAgICAgdmly
dHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGJjMWUwMjcuLjgxYWQ0OTEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcgKzcwLDggQEAgZW51bSBU
aW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0VGltZWxpbmVS
ZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBTY3Jp
cHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JU
aW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnNwZWN0b3JGcm9udGVuZCog
ZnJvbnRlbmQpOwogICAgIH5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmggYi9XZWJDb3Jl
L2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKaW5kZXggMTAxNmFlZC4u
ZGRkNTA3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRS
ZXN1bHRDYWNoZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xh
c3MgSFRUUEhlYWRlck1hcDsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xh
c3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZUl0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAg
ICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAot
ICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
Q3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZWJmM2EyNS4uM2EzY2M2NCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTQ3LDYgKzQ3LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXJDbGllbnQ7
CiAKICAgICBjbGFzcyBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciwgcHJp
dmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCAgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkoRG9jdW1lbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9jdW1l
bnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50V3JpdGVyLmggYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCmluZGV4
IDVmYjNkYzEuLmZiOTM2MDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3Jp
dGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaApAQCAtMzksNyArMzks
OCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgVGV4dFJlc291
cmNlRGVjb2RlcjsKIAotY2xhc3MgRG9jdW1lbnRXcml0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRG9jdW1lbnRXcml0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3Vt
ZW50V3JpdGVyKTsKIHB1YmxpYzoKICAgICBEb2N1bWVudFdyaXRlcihGcmFtZSopOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oCmluZGV4IDVjNDgxMGUuLmIxNTQ3NGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CkBAIC0yMTQsOCArMjE0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgRW1wdHlG
cmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVudCwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2Fk
ZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RnJhbWVMb2FkZXJDbGll
bnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1lTG9h
ZGVyQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsg
IH0KICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAtMzg3
LDggKzM4OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29y
a2luZ0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1JlZlB0
cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRvckNs
aWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBF
bXB0eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CisgICAgRW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUVk
aXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGVzdHJveWVkKCkgeyB9CiAK
QEAgLTQ5OSw4ICs1MDMsMTAgQEAgcHVibGljOgogfTsKIAogI2lmIEVOQUJMRShDT05URVhUX01F
TlVTKQotY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBDb250ZXh0TWVudUNs
aWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQg
OiBwdWJsaWMgQ29udGV4dE1lbnVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVt
cHR5Q29udGV4dE1lbnVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
KyAgICBFbXB0eUNvbnRleHRNZW51Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlDb250
ZXh0TWVudUNsaWVudCgpIHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVEZXN0cm95
ZWQoKSB7IH0KIApAQCAtNTI2LDggKzUzMiwxMCBAQCBwdWJsaWM6CiAjZW5kaWYgLy8gRU5BQkxF
KENPTlRFWFRfTUVOVVMpCiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotY2xhc3MgRW1wdHlE
cmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBFbXB0eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRW1wdHlEcmFnQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CisgICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xp
ZW50KCkge30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rp
b24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCB3aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50
UG9pbnQmLCBDbGlwYm9hcmQqKSB7IH0KQEAgLTUzOSw4ICs1NDcsMTAgQEAgcHVibGljOgogfTsK
ICNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3RvckNs
aWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBFbXB0eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KICAgICB2
aXJ0dWFsIH5FbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGlu
c3BlY3RvckRlc3Ryb3llZCgpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRm9ybVN1
Ym1pc3Npb24uaCBiL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKaW5kZXggZDcyNDgz
NS4uN2Y1OGY5MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAor
KysgYi9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNs
YXNzIEZvcm1TdWJtaXNzaW9uIDogcHVibGljIFJlZkNvdW50ZWQ8Rm9ybVN1Ym1pc3Npb24+IHsK
IHB1YmxpYzoKICAgICBlbnVtIE1ldGhvZCB7IEdldE1ldGhvZCwgUG9zdE1ldGhvZCB9OwogCi0g
ICAgY2xhc3MgQXR0cmlidXRlcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXR0
cmlidXRlcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0dHJpYnV0ZXMpOwogICAg
IHB1YmxpYzoKICAgICAgICAgQXR0cmlidXRlcygpCiAgICAgICAgICAgICA6IG1fbWV0aG9kKEdl
dE1ldGhvZCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4IGYxYzIxODkuLjQ0ZWRhY2MgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuaApAQCAtODYsNyArODYsOCBAQCBzdHJ1Y3QgV2luZG93RmVhdHVyZXM7CiAKIGJv
b2wgaXNCYWNrRm9yd2FyZExvYWRUeXBlKEZyYW1lTG9hZFR5cGUpOwogCi1jbGFzcyBGcmFtZUxv
YWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGcmFtZUxvYWRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIEZyYW1lTG9hZGVy
KEZyYW1lKiwgRnJhbWVMb2FkZXJDbGllbnQqKTsKICAgICB+RnJhbWVMb2FkZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmggYi9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCmluZGV4IGMzNDA4YzIuLmZlMzdlY2Ug
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaApAQCAtMzUsNyArMzUs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRlIG1hY2hp
bmUgZm9yIEZyYW1lTG9hZGVyLiBOb3RlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBGcmFt
ZVN0YXRlLAogLy8gd2hpY2ggc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBsb2FkIHRo
YXQgRnJhbWVMb2FkZXIgaXMgZXhlY3V0aW5nLgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hp
bmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lKTsKIHB1
YmxpYzoKICAgICBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSgpOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oIGIvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaAppbmRleCAxYmY1MDcyLi5lYzYyYjg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9IaXN0b3J5Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250
cm9sbGVyLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRl
bTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3RvcnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBl
bnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBkYXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9y
d2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3Bw
IGIvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IGE3N2U4YzAuLjA2OWI0MGUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAorKysgYi9XZWJDb3Jl
L2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1
Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFnZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2VuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZl
bnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbWFnZUV2
ZW50U2VuZGVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9O
YXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCBkMmQwZjdmLi4zZmQxNTk2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9XZWJDb3JlL2xv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtNTEsNyArNTEsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjaGVkdWxlZE5hdmlnYXRpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NoZWR1bGVkTmF2aWdhdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIFNjaGVkdWxlZE5hdmlnYXRpb24oZG91YmxlIGRlbGF5LCBib29sIGxvY2tIaXN0
b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExpc3QsIGJvb2wgd2FzRHVyaW5nTG9hZCwgYm9vbCBp
c0xvY2F0aW9uQ2hhbmdlKQogICAgICAgICA6IG1fZGVsYXkoZGVsYXkpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9OYXZp
Z2F0aW9uU2NoZWR1bGVyLmgKaW5kZXggNGYzYmViYy4uOWM2YmI0YyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL05h
dmlnYXRpb25TY2hlZHVsZXIuaApAQCAtNDgsNyArNDgsOCBAQCBjbGFzcyBTZWN1cml0eU9yaWdp
bjsKIAogc3RydWN0IEZyYW1lTG9hZFJlcXVlc3Q7CiAKLWNsYXNzIE5hdmlnYXRpb25TY2hlZHVs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmF2aWdhdGlvblNjaGVkdWxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmF2aWdhdGlvblNjaGVkdWxlcik7CiBwdWJsaWM6CiAg
ICAgTmF2aWdhdGlvblNjaGVkdWxlcihGcmFtZSopOwogICAgIH5OYXZpZ2F0aW9uU2NoZWR1bGVy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9XZWJDb3JlL2xv
YWRlci9QaW5nTG9hZGVyLmgKaW5kZXggZWI0MzE2Ni4uNzA3YzQ0MCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIu
aApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cg
dGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFj
dHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFzIHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNl
aXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwgdGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2Vs
IHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgotY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUg
UmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9h
ZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGxvYWRJbWFnZShGcmFtZSosIGNvbnN0IEtVUkwmIHVybCk7CiAgICAgc3Rh
dGljIHZvaWQgc2VuZFBpbmcoRnJhbWUqLCBjb25zdCBLVVJMJiBwaW5nVVJMLCBjb25zdCBLVVJM
JiBkZXN0aW5hdGlvblVSTCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVj
a2VyLmggYi9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKaW5kZXggNTQxNzI5Yy4uMzEx
OGRhZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBOYXZp
Z2F0aW9uQWN0aW9uOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlUmVzcG9u
c2U7CiAKLWNsYXNzIFBvbGljeUNoZWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UG9saWN5Q2hlY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUG9saWN5Q2hlY2tlcik7
CiBwdWJsaWM6CiAgICAgUG9saWN5Q2hlY2tlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NU
cmFja2VyLmNwcAppbmRleCBjZDE1NDMzLi42NWRkMWM1IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJh
Y2tlci5jcHAKQEAgLTUwLDcgKzUwLDkgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dy
ZXNzVmFsdWUgPSAwLjk7IC8vIDEuMCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiAKIHN0YXRpYyBj
b25zdCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsK
IAotc3RydWN0IFByb2dyZXNzSXRlbSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQcm9ncmVzc0l0
ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzSXRlbSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFByb2dyZXNzSXRlbShsb25nIGxvbmcgbGVuZ3Ro
KSAKICAgICAgICAgOiBieXRlc1JlY2VpdmVkKDApCiAgICAgICAgICwgZXN0aW1hdGVkTGVuZ3Ro
KGxlbmd0aCkgeyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIu
aCBiL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCmluZGV4IDVkNWI2YjIuLmVhNWY3
ZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCisrKyBiL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCkBAIC0zNiw3ICszNiw4IEBAIGNsYXNzIEZy
YW1lOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBQcm9ncmVzc0l0ZW07CiAKLWNs
YXNzIFByb2dyZXNzVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9ncmVz
c1RyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJhY2tlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFByb2dyZXNzVHJhY2tlcigpOwog
ICAgIH5Qcm9ncmVzc1RyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZE5vdGlmaWVyLmggYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5o
CmluZGV4IDJmMTA4NTYuLmE2ZDkyZmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZE5vdGlmaWVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZp
ZXIuaApAQCAtNDMsNyArNDMsOCBAQCBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiAKLWNsYXNzIFJlc291cmNlTG9h
ZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZE5vdGlm
aWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWROb3RpZmllcik7CiBw
dWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRleCAxNjNiNjdlLi5mMmU2MjdmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBSZXNv
dXJjZVJlcXVlc3Q7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFN1YnJlc291cmNl
TG9hZGVyQ2xpZW50OwogCi1jbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZXNvdXJjZUxvYWRTY2hlZHVsZXIpOwogcHVibGljOgogICAgIGZyaWVuZCBS
ZXNvdXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogCkBAIC02OSw3
ICs3MCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3Rz
KCk7CiAgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVs
ZXI+Kik7CiAKLSAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhvc3RJbmZvcm1hdGlvbik7CiAgICAgcHVibGljOgogICAgICAgICBIb3N0SW5mb3JtYXRp
b24oY29uc3QgU3RyaW5nJiwgdW5zaWduZWQpOwogICAgICAgICB+SG9zdEluZm9ybWF0aW9uKCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oIGIvV2ViQ29yZS9s
b2FkZXIvU3ViZnJhbWVMb2FkZXIuaAppbmRleCBhNTczMDQ1Li5iYTYzYTVjIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1N1
YmZyYW1lTG9hZGVyLmgKQEAgLTU0LDcgKzU0LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFdpZGdl
dDsKIAogLy8gVGhpcyBpcyBhIHNsaWdodCBtaXNub21lci4gSXQgaGFuZGxlcyB0aGUgaGlnaGVy
IGxldmVsIGxvZ2ljIG9mIGxvYWRpbmcgYm90aCBzdWJmcmFtZXMgYW5kIHBsdWdpbnMuCi1jbGFz
cyBTdWJmcmFtZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdWJmcmFtZUxv
YWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3ViZnJhbWVMb2FkZXIpOwogcHVibGlj
OgogICAgIFN1YmZyYW1lTG9hZGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
aAppbmRleCBmNDFhNzc0Li5mNTc0Yzk0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9UaHJl
YWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBA
IC02NSw3ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFVzZWZ1bCBmb3Ig
ZG9pbmcgbG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2FmZSwg
CiAgICAgLy8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1haW4g
dGhyZWFkKS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9p
ZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFk
YWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJs
ZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmKTsKQEAgLTc1LDYgKzc2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
b2lkIGRlcmVmKCkgeyBkZXJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQogCiAgICAgcHJvdGVjdGVk
OgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVh
ZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVMb2Fk
ZXIoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVMb2FkZXIoKSA9
IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50Lmgg
Yi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKaW5kZXggYmNmNjhiZS4u
Y2VhOGIwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAtMzEs
MTQgKzMxLDE0IEBACiAjaWZuZGVmIFRocmVhZGFibGVMb2FkZXJDbGllbnRfaAogI2RlZmluZSBU
aHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwogICAgIGNs
YXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlckNsaWVudCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2
b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyAvKmJ5dGVzU2VudCovLCB1bnNpZ25l
ZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQqLykgeyB9CiAKQEAgLTUxLDYgKzUxLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1
dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSB7IH0KIAog
ICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAg
ICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgfTsKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29y
ZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLjY1Y2M2Mzcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVx
dWVzdERhdGE7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJl
ZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVy
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdvcmtlckNvbnRleHQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhy
ZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2Vy
VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFRo
cmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYgb3B0aW9ucykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5oIGIvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUdyb3VwLmgKaW5kZXggMjlkMDc0OS4uNmYwNGYxZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBB
cHBsaWNhdGlvbkNhY2hlVXBkYXRlT3B0aW9uIHsKICAgICBBcHBsaWNhdGlvbkNhY2hlVXBkYXRl
V2l0aG91dEJyb3dzaW5nQ29udGV4dAogfTsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3Vw
IDogcHVibGljIE5vbmNvcHlhYmxlLCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBBcHBs
aWNhdGlvbkNhY2hlR3JvdXAgOiBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNoZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgQXBwbGljYXRpb25DYWNoZUdyb3VwKGNvbnN0IEtVUkwmIG1hbmlm
ZXN0VVJMLCBib29sIGlzQ29weSA9IGZhbHNlKTsgICAgCiAgICAgfkFwcGxpY2F0aW9uQ2FjaGVH
cm91cCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUhvc3QuaCBiL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0
LmgKaW5kZXggOGFjNTM1Ny4uYTFmMjg0MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCkBAIC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKICNlbmRpZgogCi0gICAg
Y2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QXBwbGljYXRpb25DYWNoZUhvc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIC8vIFRoZSBTdGF0dXMgbnVtZXJpYyB2YWx1ZXMgYXJlIHNwZWNpZmllZCBp
biB0aGUgSFRNTDUgc3BlYy4KICAgICAgICAgZW51bSBTdGF0dXMgewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCBiL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKaW5kZXggN2RiMzRlNi4u
OGJmZGYxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZVN0b3JhZ2UuaAorKysgYi9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlU3RvcmFnZS5oCkBAIC00NCw3ICs0NCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUPgogY2xhc3Mg
U3RvcmFnZUlESm91cm5hbDsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogCi1jbGFzcyBBcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcHBsaWNhdGlv
bkNhY2hlU3RvcmFnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIEZh
aWx1cmVSZWFzb24gewogICAgICAgICBPcmlnaW5RdW90YVJlYWNoZWQsCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCBiL1dlYkNv
cmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oCmluZGV4IDlkNjMw
ZDEuLmZkMmRkYmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbi5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbi5oCkBAIC0zOSw3ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCAzNjAwYTAyLi41YzhiMzhmIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgUHVy
Z2VhYmxlQnVmZmVyOwogLy8gQSByZXNvdXJjZSB0aGF0IGlzIGhlbGQgaW4gdGhlIGNhY2hlLiBD
bGFzc2VzIHdobyB3YW50IHRvIHVzZSB0aGlzIG9iamVjdCBzaG91bGQgZGVyaXZlCiAvLyBmcm9t
IENhY2hlZFJlc291cmNlQ2xpZW50LCB0byBnZXQgdGhlIGZ1bmN0aW9uIGNhbGxzIGluIGNhc2Ug
dGhlIHJlcXVlc3RlZCBkYXRhIGhhcyBhcnJpdmVkLgogLy8gVGhpcyBjbGFzcyBhbHNvIGRvZXMg
dGhlIGFjdHVhbCBjb21tdW5pY2F0aW9uIHdpdGggdGhlIGxvYWRlciB0byBvYnRhaW4gdGhlIHJl
c291cmNlIGZyb20gdGhlIG5ldHdvcmsuCi1jbGFzcyBDYWNoZWRSZXNvdXJjZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBmcmll
bmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJpZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNl
OwogICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VD
bGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5k
ZXggMjc1ZDMzMS4uMWM1NmYxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUNsaWVudC5oCkBAIC00NSw4ICs0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
KiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3ZlcmxvYWQgb25lIG9mIHRoZSAzIGZ1bmN0
aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGllbnQgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgdmlydHVhbCB+Q2FjaGVkUmVzb3VyY2VDbGllbnQoKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggMmI5MDYxMS4uYzdmNTkxMyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAorKysg
Yi9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCkBAIC00OSw3ICs0
OSw4IEBAIGNsYXNzIEltYWdlTG9hZGVyOwogY2xhc3MgS1VSTDsKIAogLy8gVGhlIENhY2hlZFJl
c291cmNlTG9hZGVyIG1hbmFnZXMgdGhlIGxvYWRpbmcgb2Ygc2NyaXB0cy9pbWFnZXMvc3R5bGVz
aGVldHMgZm9yIGEgc2luZ2xlIGRvY3VtZW50LgotY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlTG9hZGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiBmcmllbmQgY2xhc3MgSW1h
Z2VMb2FkZXI7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmggYi9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmluZGV4IDI3OThmYmEuLjJl
YTgxZTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKKysr
IGIvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaApAQCAtNzAsNyArNzAsOCBAQCBj
bGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9u
LXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1vcnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAv
LyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRoaXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lbW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIGZyaWVuZCBNZW1vcnlDYWNoZSogY2FjaGUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFi
YXNlLmgKaW5kZXggNjE0NmFhNi4uZTA4ZGNkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFz
ZS5oCkBAIC02Miw4ICs2Miw4IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxv
YWRVbmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
ewotCitjbGFzcyBJY29uRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25E
YXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogLy8gKioqIE1haW4gVGhyZWFkIE9u
bHkgKioqCiBwdWJsaWM6CiAgICAgdm9pZCBzZXRDbGllbnQoSWNvbkRhdGFiYXNlQ2xpZW50Kik7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oIGIv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaAppbmRleCBjMjEwZDdkLi5m
OTdhMmE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVu
dC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKQEAgLTI5
LDYgKzI5LDcgQEAKICNpZm5kZWYgSWNvbkRhdGFiYXNlQ2xpZW50X2gKICNkZWZpbmUgSWNvbkRh
dGFiYXNlQ2xpZW50X2gKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIApAQCAtMzcs
OCArMzgsMTAgQEAKICAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWNvbkRhdGFiYXNl
Q2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25EYXRhYmFzZUNsaWVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkRhdGFiYXNlQ2xpZW50KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgSWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAg
ICAgdmlydHVhbCB+SWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCBib29sIHBl
cmZvcm1JbXBvcnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
RGlkUmVtb3ZlQWxsSWNvbnMoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24v
SWNvbkxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKaW5kZXggMWVi
YWM0OC4uMjk4NTM5MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVy
LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKQEAgLTM3LDcgKzM3LDgg
QEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBLVVJMOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1jbGFz
cyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVy
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uTG9hZGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNvbkxvYWRl
cj4gY3JlYXRlKEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdl
VVJMUmVjb3JkLmgKaW5kZXggZjdjY2I4Zi4uNzkzNWRjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdl
VVJMUmVjb3JkLmgKQEAgLTUxLDcgKzUxLDggQEAgcHVibGljOgogICAgIFN0cmluZyBpY29uVVJM
OwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJMUmVjb3Jk
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUGFnZVVSTFJlY29yZChj
b25zdCBTdHJpbmcmIHBhZ2VVUkwpOwogICAgIH5QYWdlVVJMUmVjb3JkKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmggYi9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXggZjE0YTMwMi4uNzMxMzFlNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCisrKyBiL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaApAQCAtNTksNiArNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAogICAgIGNsYXNzIE5vdGlmaWNhdGlvbiA6
IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlvbj4sIHB1YmxpYyBBY3RpdmVET01PYmplY3Qs
IHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgRXZlbnRUYXJnZXQgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQdHI8
Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRy
PE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250ZW50
cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBh
c3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmgKaW5kZXggYWI5Mjc5Ni4uZTZhMGEwMCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaApAQCAtNDEsNyArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgRXZlbnQ7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51
Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVD
b250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250
cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBD
b250ZXh0TWVudUNvbnRyb2xsZXIoUGFnZSosIENvbnRleHRNZW51Q2xpZW50Kik7CiAgICAgICAg
IH5Db250ZXh0TWVudUNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9EcmFn
Q29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKaW5kZXggMGU5MGE1
Mi4uMzYwZTQ2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKKysr
IGIvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJhbmdlOwogICAgIGNsYXNzIFNlbGVjdGlvbkNvbnRy
b2xsZXI7CiAgICAgCi0gICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIERyYWdDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRHJhZ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIERyYWdDb250cm9sbGVyKFBhZ2UqLCBEcmFnQ2xpZW50Kik7CiAgICAgICAg
IH5EcmFnQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5oIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDY1Njk1YzIuLjFhYjM4Yzcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmgKQEAgLTgwLDcgKzgwLDggQEAgZXh0ZXJuIGNvbnN0IGludCBHZW5l
cmFsRHJhZ0h5c3RlcmVzaXM7CiAKIGVudW0gSGl0VGVzdFNjcm9sbGJhcnMgeyBTaG91bGRIaXRU
ZXN0U2Nyb2xsYmFycywgRG9udEhpdFRlc3RTY3JvbGxiYXJzIH07CiAKLWNsYXNzIEV2ZW50SGFu
ZGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFdmVudEhhbmRsZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlcik7CiBwdWJsaWM6CiAgICAgRXZlbnRIYW5k
bGVyKEZyYW1lKik7CiAgICAgfkV2ZW50SGFuZGxlcigpOwpAQCAtMjI0LDcgKzIyNSwxMCBAQCBw
cml2YXRlOgogICAgICAgICBQZXJmb3JtRHJhZ0FuZERyb3AKICAgICB9OwogCi0gICAgc3RydWN0
IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRI
YW5kbGVyRHJhZ1N0YXRlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRIYW5k
bGVyRHJhZ1N0YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgorICAg
ICAgICBFdmVudEhhbmRsZXJEcmFnU3RhdGUoKSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1f
ZHJhZ1NyYzsgLy8gZWxlbWVudCB0aGF0IG1heSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1
cnJlbnQgbW91c2UgZ2VzdHVyZQogICAgICAgICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAg
ICAgYm9vbCBtX2RyYWdTcmNJc0ltYWdlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50
U291cmNlLmggYi9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi4xMGFk
NmJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9XZWJDb3Jl
L3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNlIDog
cHVibGljIFJlZkNvdW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHByaXZh
dGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8RXZlbnRTb3VyY2U+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVybCwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgdmlydHVhbCB+RXZl
bnRTb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaCBi
L1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAppbmRleCBiZTUxYzc3Li41MGZhMmVhIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKKysrIGIvV2ViQ29yZS9w
YWdlL0ZvY3VzQ29udHJvbGxlci5oCkBAIC00MCw3ICs0MCw4IEBAIGNsYXNzIEtleWJvYXJkRXZl
bnQ7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgRm9jdXNDb250cm9sbGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvY3VzQ29udHJvbGxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9jdXNDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgRm9jdXNDb250cm9sbGVyKFBhZ2UqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL0ZyYW1lVHJlZS5oIGIvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCmluZGV4IDk0
YjhkMTYuLmJhYzU0NzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAorKysg
Yi9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKQEAgLTI2LDcgKzI2LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgRnJhbWU7CiAKLSAgICBjbGFzcyBGcmFtZVRyZWUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYW1lVHJlZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZyYW1lVHJlZSk7CiAgICAgcHVibGljOgogICAgICAgICBGcmFtZVRyZWUo
RnJhbWUqIHRoaXNGcmFtZSwgRnJhbWUqIHBhcmVudEZyYW1lKSAKICAgICAgICAgICAgIDogbV90
aGlzRnJhbWUodGhpc0ZyYW1lKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAgYi9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA0MjZlYmIzLi4xMTU5MGNkIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmNwcApAQCAtMTA3LDcgKzEwNywxMCBAQCBkb3VibGUgRnJhbWVWaWV3OjpzX2Rl
ZmVycmVkUmVwYWludERlbGF5SW5jcmVtZW50RHVyaW5nTG9hZGluZyA9IDA7CiAvLyBUaGUgbWF4
aW11bSBudW1iZXIgb2YgdXBkYXRlV2lkZ2V0cyBpdGVyYXRpb25zIHRoYXQgc2hvdWxkIGJlIGRv
bmUgYmVmb3JlIHJldHVybmluZy4KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhVcGRhdGVXaWRn
ZXRzSXRlcmF0aW9ucyA9IDI7CiAKLXN0cnVjdCBTY2hlZHVsZWRFdmVudCA6IE5vbmNvcHlhYmxl
IHsKK3N0cnVjdCBTY2hlZHVsZWRFdmVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2No
ZWR1bGVkRXZlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBTY2hl
ZHVsZWRFdmVudCgpIHsgfQogICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8
Tm9kZT4gbV9ldmVudFRhcmdldDsKIH07CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvR2VvbG9j
YXRpb25Db250cm9sbGVyLmggYi9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgK
aW5kZXggN2RiMTk1MS4uMWEyY2U2OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0dlb2xvY2F0
aW9uQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIu
aApAQCAtNDAsNyArNDAsOCBAQCBjbGFzcyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9j
YXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6
CiAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwog
ICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9H
cm91cFNldHRpbmdzLmggYi9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2
YjUuLjFiYmFkMmIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysr
IGIvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBhZ2VHcm91cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHcm91cFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8R3JvdXBTZXR0aW5ncz4gY3JlYXRlKCkKICAg
ICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAppbmRleCA3NDEzYmI2Li4wNzFiMTQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5o
CisrKyBiL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTkwLDEyICs5MCwxNSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBlbnVtIEZpbmREaXJlY3Rpb24geyBGaW5kRGlyZWN0aW9uRm9yd2Fy
ZCwgRmluZERpcmVjdGlvbkJhY2t3YXJkIH07CiAKLSAgICBjbGFzcyBQYWdlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGFnZSk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBzY2hlZHVsZUZvcmNl
ZFN0eWxlUmVjYWxjRm9yQWxsUGFnZXMoKTsKIAogICAgICAgICAvLyBJdCBpcyB1cCB0byB0aGUg
cGxhdGZvcm0gdG8gZW5zdXJlIHRoYXQgbm9uLW51bGwgY2xpZW50cyBhcmUgcHJvdmlkZWQgd2hl
cmUgcmVxdWlyZWQuCi0gICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50cyA6IE5vbmNvcHlhYmxlIHsK
KyAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBhZ2VDbGllbnRzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFBhZ2VDbGllbnRzKCk7CiAgICAgICAgICAgICB+UGFnZUNsaWVu
dHMoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oIGIvV2ViQ29yZS9w
YWdlL1BhZ2VHcm91cC5oCmluZGV4IGNjNDdmYmEuLjY0M2M1ZTYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXAuaAorKysgYi9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKQEAgLTQx
LDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xh
c3MgU3RvcmFnZU5hbWVzcGFjZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3VwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFnZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBQYWdlR3JvdXAoY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3Vw
KFBhZ2UqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIu
aCBiL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5m
Nzk1NmM0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgK
KysrIGIvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdl
OwogCi0gICAgY2xhc3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlR3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAg
UGFnZUdyb3VwTG9hZERlZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5Q
YWdlR3JvdXBMb2FkRGVmZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9QbHVnaW5I
YWx0ZXIuaCBiL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhiMzFlLi41Yjk2
ZDE5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKKysrIGIvV2ViQ29y
ZS9wYWdlL1BsdWdpbkhhbHRlci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgSGFsdGFibGVQbHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBsdWdpbkhhbHRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFBsdWdpbkhhbHRlcihQbHVnaW5IYWx0ZXJDbGllbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmggYi9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBmNDYz
MGRlLi40MjBkYWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtNTAsNyArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51QWx3YXlzSW5jbHVkZWQKICAgICB9Owog
Ci0gICAgY2xhc3MgU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNl
dHRpbmdzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0dGluZ3MpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsK
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmggYi9XZWJDb3JlL3BhZ2Uv
U3BlZWNoSW5wdXQuaAppbmRleCA0NTMyZDQ5Li44NTNjMGFhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BhZ2UvU3BlZWNoSW5wdXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaApAQCAt
MzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIlNwZWVjaElucHV0TGlzdGVuZXIuaCIKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDcsNyArNDYsOCBA
QCBjbGFzcyBTcGVlY2hJbnB1dExpc3RlbmVyOwogLy8gVGhpcyBjbGFzcyBjb25uZWN0cyB0aGUg
aW5wdXQgZWxlbWVudHMgcmVxdWlyaW5nIHNwZWVjaCBpbnB1dCB3aXRoIHRoZSBwbGF0Zm9ybSBz
cGVjaWZpYwogLy8gc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZS4gSXQgcHJvdmlkZXMgbWV0aG9k
cyBmb3IgdGhlIGlucHV0IGVsZW1lbnRzIHRvIGFjdGl2YXRlIHNwZWVjaAogLy8gcmVjb2duaXRp
b24gYW5kIG1ldGhvZHMgZm9yIHRoZSBzcGVlY2ggcmVjb2duaXRpb24gZW5naW5lIHRvIHJldHVy
biBiYWNrIHRoZSByZXN1bHRzLgotY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgTm9uY29weWFi
bGUsIHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsKK2NsYXNzIFNwZWVjaElucHV0IDogcHVi
bGljIFNwZWVjaElucHV0TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwZWVj
aElucHV0KTsKIHB1YmxpYzoKICAgICBTcGVlY2hJbnB1dChTcGVlY2hJbnB1dENsaWVudCopOwog
ICAgIHZpcnR1YWwgflNwZWVjaElucHV0KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvVXNl
clNjcmlwdC5oIGIvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAppbmRleCAwNjUyNDM5Li4wNTE0
MDkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCisrKyBiL1dlYkNvcmUv
cGFnZS9Vc2VyU2NyaXB0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBVc2VyU2NyaXB0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJT
Y3JpcHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTY3JpcHQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291
cmNlLCBjb25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxT
dHJpbmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0
LApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9XZWJDb3JlL3Bh
Z2UvVXNlclN0eWxlU2hlZXQuaAppbmRleCBmYTQyZTJjLi4wNjhkZjFlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAorKysgYi9XZWJDb3JlL3BhZ2UvVXNlclN0eWxl
U2hlZXQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFVzZXJTdHlsZVNoZWV0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNo
ZWV0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFVzZXJTdHlsZVNoZWV0KGNvbnN0IFN0cmlu
ZyYgc291cmNlLCBjb25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAgICAgICAgUGFzc093blB0
cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+
IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmggYi9XZWJD
b3JlL3BhZ2UvWFNTQXVkaXRvci5oCmluZGV4IDJiNzgxZjEuLjViZWVkNjEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKKysrIGIvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3Iu
aApAQCAtNjksNyArNjksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gKiBIVE1MRG9j
dW1lbnRQYXJzZXI6OnNob3VsZExvYWRFeHRlcm5hbFNjcmlwdEZyb21TcmMgLSB1c2VkIHRvIGxv
YWQgZXh0ZXJuYWwgSmF2YVNjcmlwdCBzY3JpcHRzLgogICAgIC8vICogU3ViZnJhbWVMb2FkZXI6
OnJlcXVlc3RPYmplY3QgLSB1c2VkIHRvIGxvYWQgPG9iamVjdD4vPGVtYmVkPiBlbGVtZW50cy4K
ICAgICAvLwotICAgIGNsYXNzIFhTU0F1ZGl0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFhTU0F1ZGl0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYU1NBdWRp
dG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBYU1NB
dWRpdG9yKEZyYW1lKik7CiAgICAgICAgIH5YU1NBdWRpdG9yKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcAppbmRleCBhYjU1MWJiLi43NTM0MTJlIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCisrKyBiL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKQEAgLTIyMyw3ICsyMjMsOCBAQCBjbGFz
cyBQcm9wZXJ0eVdyYXBwZXJCYXNlOwogc3RhdGljIHZvaWQgYWRkU2hvcnRoYW5kUHJvcGVydGll
cygpOwogc3RhdGljIFByb3BlcnR5V3JhcHBlckJhc2UqIHdyYXBwZXJGb3JQcm9wZXJ0eShpbnQg
cHJvcGVydHlJRCk7CiAKLWNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUHJvcGVydHlXcmFwcGVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIFByb3BlcnR5V3JhcHBlckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9wcm9w
KHByb3ApCkBAIC00NDYsNyArNDQ3LDggQEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+Ci1jbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmls
bExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZp
bGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdy
YXBwZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdy
YXBwZXJHZXR0ZXIpOwogcHVibGljOgogICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRl
cihUIChGaWxsTGF5ZXI6OipnZXR0ZXIpKCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0
dGVyKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZS5oIGIvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVy
UHJpdmF0ZS5oCmluZGV4IDY4MTJlMDkuLjE4NmRkN2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDgg
QEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwog
Ci1jbGFzcyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSopOwogICAg
IH5BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdl
L21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1h
Yy5tbQppbmRleCAyZDRkODZiLi42MDExODU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvbWFj
L0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1h
Yy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVudEhhbmRsZXI6OmN1cnJlbnROU0V2
ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90KCkuZ2V0KCk7CiB9CiAKLWNsYXNz
IEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEN1cnJlbnRF
dmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3VycmVudEV2ZW50U2NvcGUp
OwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5TRXZlbnQgKik7CiAgICAgfkN1cnJl
bnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5
c3RlbS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRleCBkOTZjMWFk
Li5jMzRhNjQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0LDcgKzQ0LDgg
QEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVy
Q2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFjZSBmb3IgcGxh
dGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3RlIHRoYXQgYWxs
IHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW0g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIHZpcnR1YWwg
fkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0
ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDExIEBAIGNsYXNzIEFz
eW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBGaWxlTWV0YWRh
dGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6CisgICAgQXN5bmNGaWxl
U3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdoZW4gYSByZXF1ZXN0
ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAgdmlydHVhbCB2b2lk
IGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2Ry
YWluZWRQb29sLmggYi9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCmluZGV4IGQ0
NGVlMWUuLmYwM2VjODEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQ
b29sLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApAQCAtMzksNyAr
MzksOCBAQCBjbGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBBdXRvZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0
b2RyYWluZWRQb29sIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wp
OwogcHVibGljOgogICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsK
ICAgICB+QXV0b2RyYWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51LmggYi9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTc1Yzg2
ZC4uMjk3Nzc0OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaApAQCAtNDEsOCArNDEsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXI7CiAKLSAg
ICBjbGFzcyBDb250ZXh0TWVudSA6IHB1YmxpYyBOb25jb3B5YWJsZQotICAgIHsKKyAgICBjbGFz
cyBDb250ZXh0TWVudSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0
TWVudSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAppbmRleCA0NDE4MjlmLi4wYWU1
NWQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKQEAgLTIyNCw3ICsyMjQsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybU1lbnVJdGVtRGVz
Y3JpcHRpb247CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUl0ZW0geworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51SXRl
bShDb250ZXh0TWVudUl0ZW1UeXBlLCBDb250ZXh0TWVudUFjdGlvbiwgY29uc3QgU3RyaW5nJiwg
Q29udGV4dE1lbnUqIHN1Yk1lbnUgPSAwKTsKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKENvbnRl
eHRNZW51SXRlbVR5cGUsIENvbnRleHRNZW51QWN0aW9uLCBjb25zdCBTdHJpbmcmLCBib29sIGVu
YWJsZWQsIGJvb2wgY2hlY2tlZCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJl
Y2F0ZWRQdHJMaXN0LmggYi9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKaW5k
ZXggNDdjZDUzOC4uYzA3ZDE3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNh
dGVkUHRyTGlzdC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaApA
QCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlIDxjbGFzcyBU
PiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yOwogCi10ZW1wbGF0ZSA8Y2xhc3MgVD4g
Y2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cit0ZW1wbGF0
ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJMaXN0KCkgOiBpbXBsKGRlbGV0
ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJlY2F0ZWRQdHJMaXN0KCkgeyBp
bXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlz
dEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLmM2MzM3NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0Rl
cHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMyBAQAogI2luY2x1ZGUgPGNz
dGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUg
OiBwdWJsaWMgTm9uY29weWFibGUKLXsKK2NsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRGVwcmVjYXRlZExpc3ROb2RlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0
YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9FdmVudExvb3AuaCBiL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1MDdm
Ny4uMTI4ZTkyYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEV2ZW50TG9vcCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRXZlbnRMb29wIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RXZlbnRMb29wKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEV2ZW50TG9vcCgpCiAgICAgICAgICAg
ICA6IG1fZW5kZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0
aW9uU2VydmljZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAppbmRl
eCAxNTg1ZjY1Li45MjExZjhkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0
aW9uU2VydmljZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgK
QEAgLTQyLDcgKzQyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZW9sb2NhdGlvblNl
cnZpY2VFcnJvck9jY3VycmVkKEdlb2xvY2F0aW9uU2VydmljZSopID0gMDsKIH07CiAKLWNsYXNz
IEdlb2xvY2F0aW9uU2VydmljZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2Nh
dGlvblNlcnZpY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uU2Vydmlj
ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIEdlb2xvY2F0aW9uU2VydmljZSogY3JlYXRlKEdlb2xv
Y2F0aW9uU2VydmljZUNsaWVudCopOwogICAgIHZpcnR1YWwgfkdlb2xvY2F0aW9uU2VydmljZSgp
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmggYi9XZWJDb3Jl
L3BsYXRmb3JtL0hvc3RXaW5kb3cuaAppbmRleCA3ODgyZDQ4Li4yMjU4ODRiIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0hv
c3RXaW5kb3cuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZuZGVmIEhvc3RXaW5kb3dfaAogI2Rl
ZmluZSBIb3N0V2luZG93X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgIldpZGdldC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEN1cnNvcjsKIAot
Y2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0V2luZG93KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CisgICAgSG9zdFdpbmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhv
c3RXaW5kb3coKSB7IH0KIAogICAgIC8vIFJlcXVlc3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhl
IHdpbmRvdywgbm90IHRoZSBjb250ZW50cy4gIElmIGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5
bmNocm9ub3VzbHksIG90aGVyd2lzZSBhc3luYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vS2lsbFJpbmcuaCBiL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUw
Li5iNjg3Mjc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICB2b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHBy
ZXBlbmQoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0
aC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAppbmRleCA3ZGQ4NzVlLi45ZGE3MWM3IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vTGVuZ3RoLmgKQEAgLTM1LDcgKzM1LDkgQEAgY29uc3QgaW50IGludE1pbkZvckxlbmd0aCA9
ICgtMHg3ZmZmZmZmIC0gMSk7IC8vIG1pbiB2YWx1ZSBmb3IgYSAyOC1iaXQgaW50CiAKIGVudW0g
TGVuZ3RoVHlwZSB7IEF1dG8sIFJlbGF0aXZlLCBQZXJjZW50LCBGaXhlZCwgU3RhdGljLCBJbnRy
aW5zaWMsIE1pbkludHJpbnNpYyB9OwogCi1zdHJ1Y3QgTGVuZ3RoIDogRmFzdEFsbG9jQmFzZSB7
CitzdHJ1Y3QgTGVuZ3RoIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBMZW5ndGgoKQogICAgICAgICA6IG1fdmFsdWUoMCkKICAgICB7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2Fy
ZC5oCmluZGV4IDdjNTA3MzcuLmUwMWI5ZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
UGFzdGVib2FyZC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC04MSw3
ICs4MSw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIGNsYXNzIEFyY2hpdmVSZXNvdXJj
ZTsKICAgICAKLWNsYXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UGFzdGVib2FyZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFzdGVib2FyZCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICAvL0hl
bHBlciBmdW5jdGlvbnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNoYXJlIGNvZGUKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmggYi9XZWJDb3JlL3Bs
YXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCmluZGV4IGJjMjhlODQuLmFlZTk1YjQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaApAQCAtNzUsNyArNzUsOCBA
QCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHVpbnQzMjsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi0gICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsKICAgICAg
ICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwg
Z3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNz
ZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9QdXJnZWFibGVCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgK
aW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9QdXJn
ZWFibGVCdWZmZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBA
IC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUg
IlB1cmdlUHJpb3JpdHkuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUHVyZ2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPFB1cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNp
emVfdCk7CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGlt
ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhj
NTI5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSArMzAsMTYgQEAKICNkZWZp
bmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFpci5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxsIGluIHNlY29uZHMuCiAK
LWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUnVu
TG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVuTG9vcFRpbWVyQmFz
ZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1
bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29uc3QgU2NoZWR1bGVQYWly
Kik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKaW5kZXggMGVmYWY3YS4uZjEwNjkxMSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZv
cm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xh
c3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFy
VGhlbWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU2Nyb2xsYmFyVGhlbWUoKSB7IH0KICAg
ICB2aXJ0dWFsIH5TY3JvbGxiYXJUaGVtZSgpIHt9OwogCiAgICAgdmlydHVhbCBib29sIHBhaW50
KFNjcm9sbGJhciosIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmIC8qZGFtYWdlUmVj
dCovKSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9TaGFy
ZWRUaW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCmluZGV4IDViNWNkMTQu
LjE2ZTBkMGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5k
ZWYgU2hhcmVkVGltZXJfaAogI2RlZmluZSBTaGFyZWRUaW1lcl9oCiAKKyNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0zMyw4ICszNCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Ly8gRWFjaCB0aHJlYWQgaGFzIGl0cyBvd24gc2luZ2xlIGluc3RhbmNlIG9mIHNoYXJlZCB0aW1l
ciwgd2hpY2ggaW1wbGVtZW50cyB0aGlzIGludGVyZmFjZS4KICAgICAvLyBUaGlzIGluc3RhbmNl
IGlzIHNoYXJlZCBieSBhbGwgdGltZXJzIGluIHRoZSB0aHJlYWQuCiAgICAgLy8gTm90IGludGVu
ZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHk7IHVzZSB0aGUgVGltZXIgY2xhc3MgaW5zdGVhZC4KLSAg
ICBjbGFzcyBTaGFyZWRUaW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2hh
cmVkVGltZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTaGFyZWRUaW1lcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAgU2hhcmVkVGltZXIo
KSB7IH0KICAgICAgICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAgICAgICB2aXJ0dWFs
IHZvaWQgc2V0RmlyZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJl
YWRHbG9iYWxEYXRhLmgKaW5kZXggOWY1N2YwMC4uNzYzNzdiNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9UaHJl
YWRHbG9iYWxEYXRhLmgKQEAgLTQ1LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IHN0cnVjdCBURUNDb252ZXJ0ZXJXcmFwcGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAot
ICAgIGNsYXNzIFRocmVhZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFRocmVhZEdsb2JhbERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJl
YWRHbG9iYWxEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsK
ICAgICAgICAgflRocmVhZEdsb2JhbERhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vVGhyZWFkVGltZXJzLmggYi9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4
IGFiNDI1OTguLjNkN2I1ZjkwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRp
bWVycy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKQEAgLTM3LDcgKzM3
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFzZTsKIAogICAgIC8v
IEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBUaHJlYWRHbG9iYWxE
YXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFk
VGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBU
aHJlYWRUaW1lcnMoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IGM0NDQzZGEuLmMzMzFlM2QgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBUaW1lckhl
YXBFbGVtZW50OwogCi1jbGFzcyBUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVGltZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaW1lckJhc2UpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUaW1lckJhc2UoKTsKICAgICB2aXJ0
dWFsIH5UaW1lckJhc2UoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJl
ZC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKaW5kZXggOWQ5YWMxZi4uOWUyN2M1
ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKQEAgLTMyLDcgKzMyLDggQEAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgYWRvcHRl
ZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3Mg
VHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBj
bGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmVlU2hhcmVkKTsK
IHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNvdW50KDEpCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmggYi9XZWJD
b3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKaW5kZXggOWEzMzRjYS4uYmY4
ZmY5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlz
dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAt
MzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxp
c3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25MaXN0IHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25MaXN0KCkgeyB9
CiAgICAgQW5pbWF0aW9uTGlzdChjb25zdCBBbmltYXRpb25MaXN0Jik7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L0F1ZGlvQnVzLmgKaW5kZXggNDMxOGI4MS4uODg4ZjZiZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVk
aW9CdXMuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBBbiBBdWRp
b0J1cyByZXByZXNlbnRzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSBBdWRpb0NoYW5uZWxz
LgogLy8gVGhlIGRhdGEgbGF5b3V0IGlzICJwbGFuYXIiIGFzIG9wcG9zZWQgdG8gImludGVybGVh
dmVkIi4KIC8vIEFuIEF1ZGlvQnVzIHdpdGggb25lIGNoYW5uZWwgaXMgbW9ubywgYW4gQXVkaW9C
dXMgd2l0aCB0d28gY2hhbm5lbHMgaXMgc3RlcmVvLCBldGMuCi1jbGFzcyBBdWRpb0J1cyAgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9CdXMgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEF1ZGlvQnVzKTsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAgICAgQ2hhbm5lbExl
ZnQgPSAwLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggNjgxNjgzMC4u
NzMyNWU5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCkBAIC0zMCwxNCAr
MzAsMTQgQEAKICNkZWZpbmUgQXVkaW9DaGFubmVsX2gKIAogI2luY2x1ZGUgIkF1ZGlvQXJyYXku
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuIEF1ZGlvQ2hhbm5lbCByZXByZXNl
bnRzIGEgYnVmZmVyIG9mIG5vbi1pbnRlcmxlYXZlZCBmbG9hdGluZy1wb2ludCBhdWRpbyBzYW1w
bGVzLgogLy8gVGhlIFBDTSBzYW1wbGVzIGFyZSBub3JtYWxseSBhc3N1bWVkIHRvIGJlIGluIGEg
bm9taW5hbCByYW5nZSAtMS4wIC0+ICsxLjAKLWNsYXNzIEF1ZGlvQ2hhbm5lbCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0NoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEF1ZGlvQ2hhbm5lbCk7CiBwdWJsaWM6CiAgICAgLy8gTWVtb3J5IGNhbiBiZSBleHRlcm5h
bGx5IHJlZmVyZW5jZWQsIG9yIGNhbiBiZSBpbnRlcm5hbGx5IGFsbG9jYXRlZCB3aXRoIGFuIEF1
ZGlvRmxvYXRBcnJheS4KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RGF0YWJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKaW5kZXgg
YzMzYjM4Zi4uYmYxM2EzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RGF0YWJhc2UuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCkBA
IC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFJURktlcm5lbDsK
IAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZE
YXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFJURkRhdGFiYXNlKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIUlRGRGF0YWJhc2U+IGNyZWF0ZShkb3VibGUgc2Ft
cGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZh
dGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKaW5kZXggYjM4
OGIzNC4uMjRiNzgyMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxl
dmF0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKQEAg
LTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBIUlRGRWxldmF0aW9uIGNv
bnRhaW5zIGFsbCBvZiB0aGUgSFJURktlcm5lbHMgKG9uZSBsZWZ0IGVhciBhbmQgb25lIHJpZ2h0
IGVhciBwZXIgYXppbXV0aCBhbmdsZSkgZm9yIGEgcGFydGljdWxhciBlbGV2YXRpb24uCiAKLWNs
YXNzIEhSVEZFbGV2YXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFJURkVsZXZh
dGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFJURkVsZXZhdGlvbik7CiBwdWJsaWM6
CiAgICAgLy8gTG9hZHMgYW5kIHJldHVybnMgYW4gSFJURkVsZXZhdGlvbiB3aXRoIHRoZSBnaXZl
biBIUlRGIGRhdGFiYXNlIHN1YmplY3QgbmFtZSBhbmQgZWxldmF0aW9uIGZyb20gYnJvd3NlciAo
b3IgV2ViS2l0LmZyYW1ld29yaykgcmVzb3VyY2VzLgogICAgIC8vIE5vcm1hbGx5LCB0aGVyZSB3
aWxsIG9ubHkgYmUgYSBzaW5nbGUgSFJURiBkYXRhYmFzZSBzZXQsIGJ1dCB0aGlzIEFQSSBzdXBw
b3J0cyB0aGUgcG9zc2liaWxpdHkgb2YgbXVsdGlwbGUgb25lcyB3aXRoIGRpZmZlcmVudCBuYW1l
cy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21p
dW0uaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAppbmRl
eCAxZDY5OTIxLi5kNWFkYTE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0NsaXBib2FyZENocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlw
Ym9hcmRDaHJvbWl1bS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBJbnRQb2ludDsKIAogICAgIGNsYXNzIENsaXBib2FyZENocm9taXVtIDogcHVibGlj
IENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB+Q2xpcGJvYXJkQ2hyb21p
dW0oKSB7fQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcElt
YWdlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNWE1
NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApA
QCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBG
cmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZy
YW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoK
ICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVN
ZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29s
b3IuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCBlZjBkMzFjLi5k
YTk4ZGQyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC03OCw3ICs3OCw4IEBAIGlu
bGluZSBpbnQgZ3JlZW5DaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDgp
ICYgMHhGRjsgfQogaW5saW5lIGludCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJu
IGNvbG9yICYgMHhGRjsgfQogaW5saW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7
IHJldHVybiAoY29sb3IgPj4gMjQpICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxzZSkgeyB9
CiAgICAgQ29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1ZSkgeyB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKaW5kZXggMTQ5ZWE3OS4uY2Zj
YTk4MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcApAQCAtNTMsNyAr
NTMsOSBAQCBGb250Q2FjaGU6OkZvbnRDYWNoZSgpCiB7CiB9CiAKLXN0cnVjdCBGb250UGxhdGZv
cm1EYXRhQ2FjaGVLZXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBGb250UGxhdGZvcm1EYXRh
Q2FjaGVLZXkgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIEZv
bnRQbGF0Zm9ybURhdGFDYWNoZUtleShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21p
Y1N0cmluZygpLCB1bnNpZ25lZCBzaXplID0gMCwgdW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBp
dGFsaWMgPSBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50
ZXJGb250ID0gZmFsc2UsIEZvbnRSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxS
ZW5kZXJpbmdNb2RlLCBGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQog
ICAgICAgICA6IG1fc2l6ZShzaXplKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FjaGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgK
aW5kZXggZTY4NDVkOS4uODZmOGM2NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FjaGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRT
ZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBm
cmllbmQgRm9udENhY2hlKiBmb250Q2FjaGUoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
RGF0YS5oCmluZGV4IGVlOTRhOTguLjNkMzVkMmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udERhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnREYXRhLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgRm9udERhdGFfaAogI2RlZmluZSBG
b250RGF0YV9oCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L3VuaWNvZGUvVW5pY29kZS5oPgpAQCAtMzQsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250RGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9u
dERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250RGF0YSgp
CiAgICAgICAgIDogbV9tYXhHbHlwaFBhZ2VUcmVlTGV2ZWwoMCkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCmluZGV4IGZhODViY2MuLjNlMTNmYmIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaApAQCAtNDAsNyArNDAs
OCBAQCB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IEdseXBoOwogCiBjb25zdCBmbG9hdCBjR2x5cGhT
aXplVW5rbm93biA9IC0xOwogCi10ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NN
YXAgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgR2x5cGhN
ZXRyaWNzTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHbHlwaE1ldHJpY3NNYXApOwog
cHVibGljOgogICAgIEdseXBoTWV0cmljc01hcCgpIDogbV9maWxsZWRQcmltYXJ5UGFnZShmYWxz
ZSkgeyB9CiAgICAgfkdseXBoTWV0cmljc01hcCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuaAppbmRleCBhNGEyNjk1Li4zYzJkNzZhIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKQEAgLTIwNiw3ICsyMDYsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgc2hhZG93c0lnbm9yZVRyYW5zZm9ybXMg
OiAxOwogICAgIH07CiAKLSAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgR3JhcGhpY3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0
Kik7CiAgICAgICAgIH5HcmFwaGljc0NvbnRleHQoKTsKQEAgLTQyMiw3ICs0MjMsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93
cyhib29sKTsKICAgICAgICAgYm9vbCBzaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7
CiAKLSAgICAgICAgY2xhc3MgV2luZG93c0JpdG1hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV2luZG93c0JpdG1hcCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFdpbmRv
d3NCaXRtYXAoSERDLCBJbnRTaXplKTsKICAgICAgICAgICAgIH5XaW5kb3dzQml0bWFwKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDYwNjM4ZTcuLjMx
M2UwZjkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC05
Nyw3ICs5Nyw4IEBAIGNsYXNzIFRpbWluZ0Z1bmN0aW9uOwogLy8gQmFzZSBjbGFzcyBmb3IgYW5p
bWF0aW9uIHZhbHVlcyAoYWxzbyB1c2VkIGZvciB0cmFuc2l0aW9ucykuIEhlcmUgdG8KIC8vIHJl
cHJlc2VudCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgYmVpbmcgYW5pbWF0ZWQgdmlhIHRoZSBHcmFw
aGljc0xheWVyLAogLy8gd2l0aG91dCBwdWxsaW5nIGluIHN0eWxlLXJlbGF0ZWQgZGF0YSBmcm9t
IG91dHNpZGUgb2YgdGhlIHBsYXRmb3JtIGRpcmVjdG9yeS4KLWNsYXNzIEFuaW1hdGlvblZhbHVl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlvblZhbHVlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25WYWx1ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUsIFBhc3NSZWZQdHI8
VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAgOiBtX2tleVRpbWUo
a2V5VGltZSkKQEAgLTE0OSw3ICsxNTAsOCBAQCBwcml2YXRlOgogCiAvLyBVc2VkIHRvIHN0b3Jl
IGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3aWxsIGFsbCBi
ZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVkIGZyb20gdGhlIHBy
b3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEtleWZy
YW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVMaXN0KEFuaW1hdGVk
UHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSW1hZ2VCdWZmZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIu
aAppbmRleCAzMzhlM2Y4Li5jZGZlMThjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5oCkBAIC02MSw3ICs2MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
QWNjZWxlcmF0ZWQKICAgICB9OwogCi0gICAgY2xhc3MgSW1hZ2VCdWZmZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEltYWdlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSW1hZ2VCdWZmZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFsbG9jYXRpb24g
ZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZShj
b25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBDb2xvclNwYWNlRGV2
aWNlUkdCLCBSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUgPSBVbmFjY2VsZXJhdGVkKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCmluZGV4IDcwMThhNWMuLjNmMTZkMDcg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKQEAgLTExNyw3ICsxMTcs
OCBAQCBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5pbWF0
aW9uTG9vcEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsKIAot
Y2xhc3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VTb3Vy
Y2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoKICAg
ICBlbnVtIEFscGhhT3B0aW9uIHsKICAgICAgICAgQWxwaGFQcmVtdWx0aXBsaWVkLApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBhYmY1MTA1Li5iYTE5ZWM1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcg
KzE0Nyw5IEBAIHN0YXRpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxN
ZWRpYVBsYXllcihNZWRpYVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1z
dHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxh
eWVyRmFjdG9yeSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTWVkaWFQbGF5ZXJGYWN0
b3J5KENyZWF0ZU1lZGlhRW5naW5lUGxheWVyIGNvbnN0cnVjdG9yLCBNZWRpYUVuZ2luZVN1cHBv
cnRlZFR5cGVzIGdldFN1cHBvcnRlZFR5cGVzLCBNZWRpYUVuZ2luZVN1cHBvcnRzVHlwZSBzdXBw
b3J0c1R5cGVBbmRDb2RlY3MpIAogICAgICAgICA6IGNvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKQog
ICAgICAgICAsIGdldFN1cHBvcnRlZFR5cGVzKGdldFN1cHBvcnRlZFR5cGVzKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGM3ZDdlZjMuLjFjYmJlMTUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTE0OSw3ICsxNDksOCBAQCBw
dWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRp
YVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogCiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8TWVkaWFQbGF5ZXI+IGNyZWF0ZShNZWRpYVBsYXllckNsaWVudCogY2xpZW50
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZh
dGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5k
ZXggZDk1NjI4Ni4uNmFiZTI1OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgSW50U2l6ZTsKIAotY2xhc3MgTWVkaWFQbGF5ZXJQcml2
YXRlSW50ZXJmYWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyUHJp
dmF0ZUludGVyZmFjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJQcml2
YXRlSW50ZXJmYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgTWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAgICAgdmlydHVhbCB+TWVkaWFQbGF5ZXJQ
cml2YXRlSW50ZXJmYWNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJp
bmcmIHVybCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRo
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRleCA0MjNhNzkyLi44NTJk
ODhlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMTAwLDcgKzEwMCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgdm9pZCAoKlBhdGhBcHBsaWVyRnVuY3Rpb24p
KHZvaWQqIGluZm8sIGNvbnN0IFBhdGhFbGVtZW50Kik7CiAKLSAgICBjbGFzcyBQYXRoIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBhdGggeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhdGgoKTsKICAgICAgICAgflBh
dGgoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5n
U3RvcmUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaApp
bmRleCA1ODQ3N2RiLi4wNmM3ZmUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9U
aWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50Owog
Ci1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBU
aWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsZWRCYWNraW5n
U3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUaWxlZEJhY2tp
bmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCopOwogICAgIH5UaWxlZEJhY2tpbmdTdG9y
ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBkYWMzMWY4Li41MGVhMDBmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxh
dGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKIHB1Ymxp
YzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwog
ICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5kZXggNmZjMWEwZS4uODlhNzliMiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5o
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaApA
QCAtNTAsNyArNTAsOCBAQCBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQz
RDsKIGNsYXNzIFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEOwogCi1jbGFzcyBHTEVTMkNhbnZhcyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHTEVTMkNhbnZhcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoR0xFUzJDYW52YXMpOwogcHVibGljOgogICAgIEdMRVMyQ2FudmFzKFNoYXJl
ZEdyYXBoaWNzQ29udGV4dDNEKiwgRHJhd2luZ0J1ZmZlciosIGNvbnN0IEludFNpemUmKTsKICAg
ICB+R0xFUzJDYW52YXMoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vTGF5ZXJUZXh0dXJlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyVGV4dHVyZS5oCmluZGV4IDMxMmFkZmEuLmQyNjFhNTIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUuaApAQCAtMjgsNiAr
MjgsNyBAQAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFuYWdlci5o
IgogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KQEAgLTM3LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhp
Y3NDb250ZXh0M0Q7CiBjbGFzcyBUZXh0dXJlTWFuYWdlcjsKIAotY2xhc3MgTGF5ZXJUZXh0dXJl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheWVyVGV4dHVyZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTGF5ZXJUZXh0dXJlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TGF5ZXJUZXh0dXJlPiBjcmVhdGUoR3JhcGhp
Y3NDb250ZXh0M0QqIGNvbnRleHQsIFRleHR1cmVNYW5hZ2VyKiBtYW5hZ2VyKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUaWxlckNo
cm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGlsZXJD
aHJvbWl1bS5oCmluZGV4IGMwNjZmZGYuLmQ0ZjlmNTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUaWxlckNocm9taXVtLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRpbGVyQ2hyb21pdW0uaApAQCAtNDIs
NyArNDIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4
dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QpID0gMDsKIH07CiAKLWNsYXNz
IExheWVyVGlsZXJDaHJvbWl1bSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXllclRp
bGVyQ2hyb21pdW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheWVyVGlsZXJDaHJvbWl1
bSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TGF5ZXJUaWxlckNocm9taXVtPiBj
cmVhdGUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBsYXllclJlbmRlcmVyLCBjb25zdCBJbnRTaXpl
JiB0aWxlU2l6ZSk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCmluZGV4IGE5MzIxOGYuLjY4OWE2ZWIg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3Vy
ZmFjZUNocm9taXVtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9S
ZW5kZXJTdXJmYWNlQ2hyb21pdW0uaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBMYXllckNocm9t
aXVtOwogY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogY2xhc3MgTGF5ZXJUZXh0dXJlOwog
Ci1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5k
ZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21p
dW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVtKExheWVyQ2hy
b21pdW0qKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
VGV4dHVyZU1hbmFnZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4
dHVyZU1hbmFnZXIuaAppbmRleCAxZTg1MGNkLi5jNzc1ZTI1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oCkBAIC0yOSw2ICsy
OSw3IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAorI2lu
Y2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KIApAQCAtMzYsNyArMzcsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHR5cGVkZWYgaW50IFRleHR1cmVUb2tlbjsKIAotY2xhc3MgVGV4dHVyZU1h
bmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGV4dHVyZU1hbmFnZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHR1cmVNYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxUZXh0dXJlTWFuYWdlcj4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBj
b250ZXh0LCBzaXplX3QgbWVtb3J5TGltaXRCeXRlcywgaW50IG1heFRleHR1cmVTaXplKQogICAg
IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNw
YXJlbmN5V2luLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFy
ZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjUzNWNiYWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaApAQCAtNTQsNyArNTQs
OCBAQCBjbGFzcyBUcmFuc3BhcmVuY3lXaW5fT3BhcXVlQ29tcG9zaXRlTGF5ZXJfVGVzdDsKIC8v
IHRoYXQgaXMgY29tcG9zaXRlZCBsYXRlciBtYW51YWxseS4gVGhpcyBpcyB0byBnZXQgYXJvdW5k
IFdpbmRvd3MnIGluYWJpbGl0eQogLy8gdG8gaGFuZGxlIHRoZSBhbHBoYSBjaGFubmVsLCBzZW1p
dHJhbnNwYXJlbnQgdGV4dCwgYW5kIHRyYW5zZm9ybWVkIGZvcm0KIC8vIGNvbnRyb2xzLgotY2xh
c3MgVHJhbnNwYXJlbmN5V2luIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFy
ZW5jeVdpbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbmN5V2luKTsKIHB1
YmxpYzoKICAgICBlbnVtIExheWVyTW9kZSB7CiAgICAgICAgIC8vIE5vIGV4dHJhIGxheWVyIGlz
IGNyZWF0ZWQuIERyYXdpbmcgd2lsbCBoYXBwZW4gdG8gdGhlIHNvdXJjZS4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAppbmRleCA5Zjc5ODg5Li5lYmYx
ZTE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVm
ZmVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5o
CkBAIC03Nyw4ICs3NywxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9N
SVVNKQotICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShXaWxsUHVibGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CisgICAgICAgIFdpbGxQ
dWJsaXNoQ2FsbGJhY2soKSB7IH0KICAgICAgICAgdmlydHVhbCB+V2lsbFB1Ymxpc2hDYWxsYmFj
aygpIHsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxQdWJsaXNoKCkgPSAw
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xh
c3NpZmllci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3Np
Zmllci5oCmluZGV4IGM2NjU4NDQuLjFiZDY3YjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKQEAgLTMwLDE0ICszMCwxNCBA
QAogI2lmbmRlZiBMb29wQmxpbm5DbGFzc2lmaWVyX2gKICNkZWZpbmUgTG9vcEJsaW5uQ2xhc3Np
Zmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBGbG9hdFBvaW50OwogCiAvLyBDbGFzc2lmaWVzIGN1YmljIGN1cnZlcyBp
bnRvIHNwZWNpZmljIHR5cGVzLgotY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMb29wQmxpbm5DbGFzc2lmaWVyKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdHlw
ZXMgb2YgY3ViaWMgY3VydmVzLgogICAgIGVudW0gQ3VydmVUeXBlIHsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRv
ci5oCmluZGV4IGVhM2Q3ZTMuLmQwMWU2YzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaApAQCAtMzAs
MTkgKzMwLDIwIEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludDNELmgiCiAjaW5jbHVkZSAiTG9vcEJs
aW5uQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBQZXJmb3JtcyBh
IGxvY2FsaXplZCB0cmlhbmd1bGF0aW9uIG9mIHRoZSB0cmlhbmdsZSBtZXNoCiAvLyBjb3JyZXNw
b25kaW5nIHRvIHRoZSBmb3VyIGNvbnRyb2wgcG9pbnQgdmVydGljZXMgb2YgYSBjdWJpYyBjdXJ2
ZQogLy8gc2VnbWVudC4KLWNsYXNzIExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvcik7CiBwdWJsaWM6
CiAgICAgLy8gVGhlIHZlcnRpY2VzIHRoYXQgdGhlIHRyaWFuZ3VsYXRvciBvcGVyYXRlcyB1cG9u
LCBjb250YWluaW5nIGJvdGgKICAgICAvLyB0aGUgcG9zaXRpb24gaW5mb3JtYXRpb24gYXMgd2Vs
bCBhcyB0aGUgY3ViaWMgdGV4dHVyZQogICAgIC8vIGNvb3JkaW5hdGVzLgotICAgIGNsYXNzIFZl
cnRleCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVydGV4IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVmVydGV4KTsKICAgICBwdWJsaWM6CiAgICAgICAgIFZlcnRl
eCgpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPREFyZW5hLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCmlu
ZGV4IGY2OGJhZWYuLjZlZGMxZGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L1BPREFyZW5hLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9E
QXJlbmEuaApAQCAtMTU4LDcgKzE1OCw4IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAgLy8gTWFu
YWdlcyBhIGNodW5rIG9mIG1lbW9yeSBhbmQgaW5kaXZpZHVhbCBhbGxvY2F0aW9ucyBvdXQgb2Yg
aXQuCi0gICAgY2xhc3MgQ2h1bmsgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENo
dW5rIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2h1bmspOwogICAgIHB1YmxpYzoK
ICAgICAgICAgLy8gQWxsb2NhdGVzIGEgYmxvY2sgb2YgbWVtb3J5IG9mIHRoZSBnaXZlbiBzaXpl
IGZyb20gdGhlIHBhc3NlZAogICAgICAgICAvLyBBbGxvY2F0b3IuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCmluZGV4IDMyMGNlNjAuLjViZjNk
ZTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFs
VHJlZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJl
ZS5oCkBAIC00NCw4ICs0NCw4IEBAIHN0cnVjdCBWYWx1ZVRvU3RyaW5nOwogLy8gc3VwcG9ydHMg
ZWZmaWNpZW50IChPKGxnIG4pKSBpbnNlcnRpb24sIHJlbW92YWwgYW5kIHF1ZXJ5aW5nIG9mCiAv
LyBpbnRlcnZhbHMgaW4gdGhlIHRyZWUuCiB0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBVc2VyRGF0
YSA9IHZvaWQqPgotY2xhc3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIE5vbmNvcHlhYmxlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFBPRFJlZEJsYWNrVHJlZTxQT0RJbnRlcnZh
bDxULCBVc2VyRGF0YT4gPiB7CitjbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgUE9EUmVk
QmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQT0RJbnRlcnZhbFRyZWUpOwogcHVibGljOgogICAgIC8vIFR5cGVkZWYgdG8gcmVk
dWNlIHR5cGluZyB3aGVuIGRlY2xhcmluZyBpbnRlcnZhbHMgdG8gYmUgc3RvcmVkIGluCiAgICAg
Ly8gdGhpcyB0cmVlLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
UE9EUmVkQmxhY2tUcmVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRC
bGFja1RyZWUuaAppbmRleCA2ZDU5NTRjLi5iZDA4OTg4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaApAQCAtMTk4LDcgKzE5OCw4IEBAIHBy
b3RlY3RlZDoKICAgICAvLyBUaGUgYmFzZSBOb2RlIGNsYXNzIHdoaWNoIGlzIHN0b3JlZCBpbiB0
aGUgdHJlZS4gTm9kZXMgYXJlIG9ubHkKICAgICAvLyBhbiBpbnRlcm5hbCBjb25jZXB0OyB1c2Vy
cyBvZiB0aGUgdHJlZSBkZWFsIG9ubHkgd2l0aCB0aGUgZGF0YQogICAgIC8vIHRoZXkgc3RvcmUg
aW4gaXQuCi0gICAgY2xhc3MgTm9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
Tm9kZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGUpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgLy8gQ29uc3RydWN0b3IuIE5ld2x5LWNyZWF0ZWQgbm9kZXMgYXJlIGNvbG9yZWQg
cmVkLgogICAgICAgICBleHBsaWNpdCBOb2RlKGNvbnN0IFQmIGRhdGEpCkBAIC02NTksNyArNjYw
LDggQEAgcHJpdmF0ZToKICAgICAvLyBIZWxwZXIgY2xhc3MgZm9yIHNpemUoKQogCiAgICAgLy8g
QSBWaXNpdG9yIHdoaWNoIHNpbXBseSBjb3VudHMgdGhlIG51bWJlciBvZiB2aXNpdGVkIGVsZW1l
bnRzLgotICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciwgcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDb3VudGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIENvdW50ZXIo
KQogICAgICAgICAgICAgOiBtX2NvdW50KDApIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9TaGFkZXIuaAppbmRleCBlNWJkOGRlLi40ZjYyY2E5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9TaGFkZXIuaApAQCAtNDAsNyArNDAsOCBAQCBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07
CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIGNsYXNzIENvbG9yOwogCi1jbGFzcyBTaGFkZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2hhZGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTaGFkZXIpOwogcHJvdGVjdGVkOgogICAgIFNoYWRlcihHcmFwaGljc0NvbnRleHQz
RCosIHVuc2lnbmVkIHByb2dyYW0pOwogICAgIH5TaGFkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAppbmRleCAxYmRjNTFhLi5kMTE0MGJkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCkBAIC0zOCw3ICszOCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEludFJlY3Q7CiAK
LWNsYXNzIFRpbGluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGlsaW5nRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsaW5nRGF0YSk7CiBwdWJsaWM6CiAgICAg
VGlsaW5nRGF0YShpbnQgbWF4VGV4dHVyZVNpemUsIGludCB0b3RhbFNpemVYLCBpbnQgdG90YWxT
aXplWSwgYm9vbCBoYXNCb3JkZXJUZXhlbHMpOwogICAgIGludCBtYXhUZXh0dXJlU2l6ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbWF4VGV4dHVyZVNpemU7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFt
ZXIuY3BwCmluZGV4IGUxMGU2MWYuLjM2YjQ5ZGYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVh
bWVyLmNwcApAQCAtMzYsNyArMzYsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAot
Y2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNl
SGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQp
OwogICAgIHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwog
ICAgICAgICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXgg
Y2MzNDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9o
YWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAog
I2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2Rl
LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsK
ICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAg
ICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGMxMTg1OGMuLjcw
NDNkN2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM2LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250Q29u
dGFpbmVyUmVmIGNvbnRhaW5lciwgQ0dGb250UmVmIGNnRm9udCkKICAgICAgICAgOiBtX2F0c0Nv
bnRhaW5lcihjb250YWluZXIpCiAgICAgICAgICwgbV9jZ0ZvbnQoY2dGb250KQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCmluZGV4IDMyZjFm
ZTUuLjNmMTQ5NGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZn
L1BhaW50ZXJPcGVuVkcuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9Q
YWludGVyT3BlblZHLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgVGlsZWRJbWFnZU9wZW5WRzsK
IAogc3RydWN0IFBsYXRmb3JtUGFpbnRlclN0YXRlOwogCi1jbGFzcyBQYWludGVyT3BlblZHIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhaW50ZXJPcGVuVkcgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBhaW50ZXJPcGVuVkcpOwogcHVibGljOgogICAgIGZyaWVuZCBjbGFzcyBT
dXJmYWNlT3BlblZHOwogICAgIGZyaWVuZCBzdHJ1Y3QgUGxhdGZvcm1QYWludGVyU3RhdGU7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZH
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKaW5k
ZXggNDZkMTY0Ni4uMTlkOTVkOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnZnL1N1cmZhY2VPcGVuVkcuaApAQCAtNDIsNyArNDIsOCBAQCBjbGFzcyBJbnRTaXplOwog
ICogb2YgI2lmZGVmcyBhbmQgc2hvdWxkIG1ha2UgaXQgZWFzeSB0byBhZGQgZGlmZmVyZW50IHN1
cmZhY2UvY29udGV4dAogICogaW1wbGVtZW50YXRpb25zIHRoYW4gRUdMLgogICovCi1jbGFzcyBT
dXJmYWNlT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN1cmZhY2VPcGVuVkcg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN1cmZhY2VPcGVuVkcpOwogcHVibGljOgogICAg
IGVudW0gTWFrZUN1cnJlbnRNb2RlIHsKICAgICAgICAgQXBwbHlQYWludGVyU3RhdGVPblN1cmZh
Y2VTd2l0Y2gsCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcuLjU0ZmE2NzkgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBA
IC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRl
ICJGb250UmVuZGVyaW5nTW9kZS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIApA
QCAtMzIsNyArMzMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3Jt
RGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0K
ICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRoIFFG
b250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXgg
MWM1N2UyOS4uZjI2ODM3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9G
b250UGxhdGZvcm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRm9udFBsYXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSgpCiAgICAgICAgIDogcmVmQ291bnQo
MSkKQEAgLTYyLDggKzYzLDEwIEBAIHB1YmxpYzoKIAogCiAKLWNsYXNzIEZvbnRQbGF0Zm9ybURh
dGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBGb250UGxhdGZvcm1EYXRh
KCkgeyB9CiAgICAgRm9udFBsYXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wg
b2JsaXF1ZSk7CiAgICAgRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhICYp
OwogICAgIEZvbnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRv
bWljU3RyaW5nJiBmYW1pbHlOYW1lLCBpbnQgd29yZFNwYWNpbmcgPSAwLCBpbnQgbGV0dGVyU3Bh
Y2luZyA9IDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFw
aGljc0NvbnRleHRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
Q29udGV4dFF0LmNwcAppbmRleCA4ZWNiNjY2Li44ZDc5MTc0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcApAQCAtMTc0LDcgKzE3
NCw4IEBAIHN0YXRpYyBpbmxpbmUgUXQ6OkZpbGxSdWxlIHRvUXRGaWxsUnVsZShXaW5kUnVsZSBy
dWxlKQogICAgIHJldHVybiBRdDo6T2RkRXZlbkZpbGw7CiB9CiAKLWNsYXNzIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBo
aWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0
IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJh
bnNwYXJlbmN5TGF5ZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJl
bmN5TGF5ZXIuaAppbmRleCA1YjJmOGIyLi5lNDgyOGY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgogICAgIFRyYW5zcGFyZW5jeUxheWVyKGNvbnN0IFFQYWludGVy
KiBwLCBjb25zdCBRUmVjdCAmcmVjdCwgcXJlYWwgb3BhY2l0eSwgUVBpeG1hcCYgYWxwaGFNYXNr
KQogICAgICAgICA6IHBpeG1hcChyZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpCiAgICAgICAg
ICwgb3BhY2l0eShvcGFjaXR5KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZTUxYjZiNi4uNDIyOGI0MDMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaApAQCAtNDksNyArNDksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1E
YXRhKTsKK3B1YmxpYzoKICNpZiBPUyhXSU5ET1dTKQogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgOiBt
X2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUu
aAppbmRleCA1ZTEyYWQ2Li40NDgzNWE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5o
CkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlX2gKICNkZWZpbmUgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhOwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRoaXMgY2xhc3MganVzdCBob2xkcyBvbnRvIGEgUGxh
dGZvcm1Db250ZXh0U2tpYSBmb3IgR3JhcGhpY3NDb250ZXh0LgotY2xhc3MgR3JhcGhpY3NDb250
ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdyYXBoaWNz
Q29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhp
Y3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTsKIHB1YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUoUGxhdGZvcm1Db250ZXh0U2tpYSogcGxhdGZvcm1Db250ZXh0KQogICAg
ICAgICA6IG1fY29udGV4dChwbGF0Zm9ybUNvbnRleHQpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKaW5kZXggMTFiMzEx
YS4uMDMwNDQ4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1Bs
YXRmb3JtQ29udGV4dFNraWEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
UGxhdGZvcm1Db250ZXh0U2tpYS5oCkBAIC02Nyw3ICs2Nyw4IEBAIGNsYXNzIFRleHR1cmU7CiAv
LyByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgdGhlIHBhaW50aW5nIHN0YXRlIHdoaWNoIGlzIHN0
b3JlIGluIHNlcGFyYXRlCiAvLyBTa1BhaW50IG9iamVjdHMuIFRoaXMgY2xhc3MgcHJvdmlkZXMg
dGhlIGFkYXB0b3IgdGhhdCBhbGxvd3MgdGhlIHBhaW50aW5nCiAvLyBzdGF0ZSB0byBiZSBwdXNo
ZWQgYW5kIHBvcHBlZCBhbG9uZyB3aXRoIHRoZSBiaXRtYXAuCi1jbGFzcyBQbGF0Zm9ybUNvbnRl
eHRTa2lhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsYXRmb3JtQ29udGV4dFNraWEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsYXRmb3JtQ29udGV4dFNraWEpOwogcHVibGlj
OgogICAgIC8vIEZvciBwcmludGluZywgdGhlcmUgc2hvdWxkbid0IGJlIGFueSBjYW52YXMuIGNh
bnZhcyBjYW4gYmUgTlVMTC4gSWYgeW91CiAgICAgLy8gc3VwcGx5IGEgTlVMTCBjYW52YXMsIHlv
dSBjYW4gYWxzbyBjYWxsIHNldENhbnZhcyBsYXRlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaAppbmRleCBiYWVlMTAy
Li5mYWYxNDE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvQWZmaW5lVHJhbnNmb3JtLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCkBAIC01NSw3ICs1NSw4IEBAIGNsYXNzIEludFBvaW50
OwogY2xhc3MgSW50UmVjdDsKIGNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4OwogCi1jbGFzcyBB
ZmZpbmVUcmFuc2Zvcm0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBZmZpbmVUcmFu
c2Zvcm0geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVk
ZWYgZG91YmxlIFRyYW5zZm9ybVs2XTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3
Ny4uOTgxZTFmNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBt
YWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IGYx
M2JjYzEuLmIwN2JjNmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC02NSw3ICs2NSw4IEBA
IGNsYXNzIEZsb2F0UG9pbnQzRDsKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEZsb2F0UXVhZDsK
IAotY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXggOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Citj
bGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBkb3VibGUgTWF0cml4NFs0XVs0XTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CmluZGV4IDFiZGYyNzAuLmRlMzNjNjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM0LDcgKzM0LDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJl
ZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAg
ICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQogICAgICAgICAsIG1fbmFtZShuYW1l
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBs
YXRmb3JtRGF0YUNhaXJvLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaAppbmRleCAzYWI1MmI4Li45YzY3MDM3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fp
cm8uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhQ2Fpcm8uaApAQCAtMzMsNyArMzMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KTsKK3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKGNhaXJvX2ZvbnRfZmFjZV90
KiBmb250RmFjZSkKICAgICAgICAgOiBtX2ZvbnRGYWNlKGZvbnRGYWNlKQogICAgIHsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaApp
bmRleCBjMjE2MTQwLi41OTUxZTQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb2NhbFdpbmRvd3NDb250ZXh0KTsKIHB1YmxpYzoKICAgICBMb2NhbFdpbmRvd3ND
b250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBJbnRSZWN0JiBy
ZWN0LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSwgYm9vbCBtYXlDcmVhdGVCaXRtYXAg
PSB0cnVlKQogICAgICAgICA6IG1fZ3JhcGhpY3NDb250ZXh0KGdyYXBoaWNzQ29udGV4dCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKaW5kZXggZWZhZjIxOC4uZGZh
MWQzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5j
cHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKQEAgLTYz
LDcgKzYzLDggQEAgdW5pb24gVXBwUGFyYW0gewogc3RhdGljIFZlY3RvcjxDRlN0cmluZ1JlZj4q
IGdTdXBwb3J0ZWRUeXBlcyA9IDA7CiBzdGF0aWMgU0ludDMyIHF1aWNrVGltZVZlcnNpb24gPSAw
OwogCi1jbGFzcyBRVE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFFU
TW92aWVUYXNrQ2xpZW50IHsKK2NsYXNzIFFUTW92aWVQcml2YXRlIDogcHVibGljIFFUTW92aWVU
YXNrQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVE1vdmllUHJpdmF0ZSk7CiBw
dWJsaWM6CiAgICAgUVRNb3ZpZVByaXZhdGUoKTsKICAgICB+UVRNb3ZpZVByaXZhdGUoKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKaW5kZXggMDkxNDJiYy4uYmY4
MGE4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5j
cHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKQEAgLTMx
LDcgKzMxLDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAotY2xhc3MgUVRUcmFja1ByaXZh
dGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUVRUcmFja1ByaXZhdGUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFFUVHJhY2tQcml2YXRlKTsKIHB1YmxpYzoKICAgICBRVFRyYWNr
UHJpdmF0ZSgpOwogICAgIH5RVFRyYWNrUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKaW5kZXggMTdlYzQxZC4u
NzhlODQ4YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNG
Q29udGV4dEZsdXNoZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NB
Q0ZDb250ZXh0Rmx1c2hlci5oCkBAIC0zNiw3ICszNiw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDc2M2Zm
ZmEuLjU0NDM2ZjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dL
Q0FDRkxheWVyUmVuZGVyZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9X
S0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAgLTU2LDcgKzU2LDggQEAgcHVibGljOgogLy8gRklYTUU6
IEN1cnJlbnRseSB0aGVyZSBpcyBhIFdLQ0FDRkxheWVyUmVuZGVyZXIgZm9yIGVhY2ggV2ViVmll
dyBhbmQgZWFjaAogLy8gaGFzIGl0cyBvd24gQ0FSZW5kZXJPR0xDb250ZXh0IGFuZCBEaXJlY3Qz
RERldmljZTksIHdoaWNoIGlzIGluZWZmaWNpZW50LgogLy8gKGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMTg1NSkKLWNsYXNzIFdLQ0FDRkxheWVyUmVuZGVyZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoV0tDQUNGTGF5ZXJSZW5kZXJlcik7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8V0tDQUNGTGF5ZXJSZW5kZXJlcj4gY3JlYXRlKFdLQ0FDRkxheWVyUmVu
ZGVyZXJDbGllbnQqKTsKICAgICB+V0tDQUNGTGF5ZXJSZW5kZXJlcigpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aAppbmRleCBhYmRjMGYyLi4wNTA4MjQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMzcsNyArMzcs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVy
Rm9udChjb25zdCBTdHJpbmcmIGZvbnROYW1lKSA9IDA7CiAgICAgfTsKIAotICAgIHN0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgICAgIDogbV9uYW1lKG5hbWUpCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhp
Y3NDb250ZXh0V2luQ0UuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFw
aGljc0NvbnRleHRXaW5DRS5jcHAKaW5kZXggMmRlZjZhYi4uYzk5NjcxOCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5D
RS5jcHAKQEAgLTQzOCw3ICs0MzgsOCBAQCBzdGF0aWMgdm9pZCByb3RhdGVCaXRtYXAoU2hhcmVk
Qml0bWFwKiBkZXN0Qm1wLCBjb25zdCBTaGFyZWRCaXRtYXAqIHNvdXJjZUJtcCwgYwogICAgICAg
ICBfcm90YXRlQml0bWFwPHVuc2lnbmVkLCBmYWxzZT4oZGVzdEJtcCwgc291cmNlQm1wLCB0cmFu
c2Zvcm0pOwogfQogCi1jbGFzcyBUcmFuc3BhcmVudExheWVyREMgOiBOb25jb3B5YWJsZSB7Citj
bGFzcyBUcmFuc3BhcmVudExheWVyREMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5z
cGFyZW50TGF5ZXJEQyk7CiBwdWJsaWM6CiAgICAgVHJhbnNwYXJlbnRMYXllckRDKEdyYXBoaWNz
Q29udGV4dFBsYXRmb3JtUHJpdmF0ZSogZGF0YSwgSW50UmVjdCYgb3JpZ1JlY3QsIGNvbnN0IElu
dFJlY3QqIHJlY3RCZWZvcmVUcmFuc2Zvcm0gPSAwLCBpbnQgYWxwaGEgPSAyNTUsIGJvb2wgcGFp
bnRJbWFnZSA9IGZhbHNlKTsKICAgICB+VHJhbnNwYXJlbnRMYXllckRDKCk7CkBAIC01NTgsNyAr
NTU5LDggQEAgdm9pZCBUcmFuc3BhcmVudExheWVyREM6OmZpbGxBbHBoYUNoYW5uZWwoKQogICAg
IH0KIH0KIAotY2xhc3MgU2NvcGVEQ1Byb3ZpZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgU2Nv
cGVEQ1Byb3ZpZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY29wZURDUHJvdmlkZXIp
OwogcHVibGljOgogICAgIGV4cGxpY2l0IFNjb3BlRENQcm92aWRlcihHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUqIGRhdGEpCiAgICAgICAgIDogbV9kYXRhKGRhdGEpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IGNjMzQ4ZTMuLjg2Zjk5YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCwxNCArMjQsMTQgQEAKICNp
bmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5o
IgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiAg
ICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCi0gICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICAgICAg
fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL0NsaXBib2FyZEd0ay5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgK
aW5kZXggZTE0YTU4My4uMGMwN2MwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
Q2xpcGJvYXJkR3RrLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgK
QEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFN0YXRlIGF2YWls
YWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUK
ICAgICAvLyBDcmVhdGVkIGZyb20gdGhlIEV2ZW50SGFuZGxlckd0ayB0byBiZSB1c2VkIGJ5IHRo
ZSBkb20KICAgICBjbGFzcyBDbGlwYm9hcmRHdGsgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMg
Q2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENsaXBib2FyZEd0az4gY3Jl
YXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEd0a0NsaXBib2FyZCogY2xpcGJvYXJk
LCBGcmFtZSogZnJhbWUpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL0ltYWdlRGVjb2Rlci5oCmluZGV4IDZlMjU3YzUuLjA4NjNlMTkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaApAQCAtMjIxLDcgKzIy
MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBzZXRNYXhOdW1QaXhlbHMoKSB0byBz
cGVjaWZ5IHRoZSBiaWdnZXN0IHNpemUgdGhhdCBkZWNvZGVkIGltYWdlcyBjYW4KICAgICAvLyBo
YXZlLiBJbWFnZSBkZWNvZGVycyB3aWxsIGRlZmxhdGUgdGhvc2UgaW1hZ2VzIHRoYXQgYXJlIGJp
Z2dlciB0aGFuCiAgICAgLy8gbV9tYXhOdW1QaXhlbHMuIChOb3Qgc3VwcG9ydGVkIGJ5IGFsbCBp
bWFnZSBkZWNvZGVycyB5ZXQpCi0gICAgY2xhc3MgSW1hZ2VEZWNvZGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZURlY29kZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbWFnZURlY29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIEltYWdlRGVjb2RlcihJbWFnZVNvdXJjZTo6QWxwaGFPcHRpb24gYWxwaGFP
cHRpb24sIEltYWdlU291cmNlOjpHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbiBnYW1tYUFuZENv
bG9yUHJvZmlsZU9wdGlvbikKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBiL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0NsaXBib2FyZE1hYy5oCmluZGV4IDcxODdlY2YuLjM5ZWFkZGEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0NsaXBib2FyZE1hYy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1lOwogY2xh
c3MgRmlsZUxpc3Q7CiAKIGNsYXNzIENsaXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1
YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xp
cGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBi
b2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkw
YmViNDAuLjhmZGUyY2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3Vy
cmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3Vy
cmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0zMSw3ICszMSw4IEBAIGNsYXNzIEdyYXBoaWNzQ29u
dGV4dDsKICAgICAKIC8vIFRoaXMgY2xhc3MgYXV0b21hdGljYWxseSBzYXZlcyBhbmQgcmVzdG9y
ZXMgdGhlIGN1cnJlbnQgTlNHcmFwaGljc0NvbnRleHQgZm9yCiAvLyBmdW5jdGlvbnMgd2hpY2gg
Y2FsbCBvdXQgaW50byBBcHBLaXQgYW5kIHJlbHkgb24gdGhlIGN1cnJlbnRDb250ZXh0IGJlaW5n
IHNldAotY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KTsKIHB1YmxpYzoKICAgICBM
b2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRl
eHQpOwogICAgIH5Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0Jsb2JEYXRhLmgKaW5kZXggMWZmNjM0NC4uYzFmNTUyMiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0Jsb2JEYXRhLmgKQEAgLTE0NSw2ICsxNDUsNyBAQCBwcml2YXRlOgogdHlwZWRlZiBWZWN0
b3I8QmxvYkRhdGFJdGVtPiBCbG9iRGF0YUl0ZW1MaXN0OwogCiBjbGFzcyBCbG9iRGF0YSB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvRm9ybURhdGFCdWlsZGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGFCdWlsZGVyLmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1l
bnQ7CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRleHRFbmNv
ZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0Q2hhcnNl
dCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
TmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4yNmY4ZDhhIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtMjYsNiAr
MjYsNyBAQAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAjZGVmaW5lIE5ldHdvcmtT
dGF0ZU5vdGlmaWVyX2gKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFURk9STShNQUMpCkBAIC02MSw3ICs2Miw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0
ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTmV0d29ya1N0YXRlTm90aWZpZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBOZXR3b3JrU3RhdGVOb3RpZmllcigpOwogICAgIHZvaWQgc2V0TmV0d29ya1N0
YXRlQ2hhbmdlZEZ1bmN0aW9uKHZvaWQgKCopKCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKaW5kZXggZDgzM2UzMi4uZWQ2Njk0NCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJu
YWwuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5h
bC5oCkBAIC04MCw3ICs4MCw4IEBAIGNsYXNzIE5TVVJMQ29ubmVjdGlvbjsKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUNsaWVudDsKIAotICAgIGNsYXNzIFJl
c291cmNlSGFuZGxlSW50ZXJuYWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJl
c291cmNlSGFuZGxlSW50ZXJuYWwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNv
dXJjZUhhbmRsZUludGVybmFsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2FkZXIs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGMs
IGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAgICAg
ICA6IG1fY2xpZW50KGMpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVx
dWVzdEJhc2UuaAppbmRleCA1Y2I3ZWUzLi5kY2UzM2RiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7
CiAKICAgICAvLyBEbyBub3QgdXNlIHRoaXMgdHlwZSBkaXJlY3RseS4gIFVzZSBSZXNvdXJjZVJl
cXVlc3QgaW5zdGVhZC4KLSAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBl
IG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0LCBiYXNlZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwg
YmUgdXNlZC4KICAgICAgICAgZW51bSBUYXJnZXRUeXBlIHsKQEAgLTIwNyw3ICsyMDgsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291
cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUoYSwgYik7IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRv
ciE9KFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVy
biAhKGEgPT0gYik7IH0KIAotICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERh
dGFCYXNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVx
dWVzdERhdGFCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRS
ZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1
YmxpYzoKKyAgICAgICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSgpIHsgfQog
ICAgICAgICBLVVJMIG1fdXJsOwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5
IG1fY2FjaGVQb2xpY3k7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXNwb25zZUJhc2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJl
c3BvbnNlQmFzZS5oCmluZGV4IDljNTRiYWIuLmUwNzc0YzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCkBAIC00MSw3ICs0MSw4IEBAIGNs
YXNzIFJlc291cmNlUmVzcG9uc2U7CiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNl
RGF0YTsKIAogLy8gRG8gbm90IHVzZSB0aGlzIGNsYXNzIGRpcmVjdGx5LCB1c2UgdGhlIGNsYXNz
IFJlc3BvbnNlUmVzcG9uc2UgaW5zdGVhZAotY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2UgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
UmVzb3VyY2VSZXNwb25zZT4gYWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVz
cG9uc2VEYXRhPik7CiAKQEAgLTE3NSw3ICsxNzYsMTAgQEAgcHJpdmF0ZToKIGlubGluZSBib29s
IG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbXBhcmUoYSwgYik7IH0K
IGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgYikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLXN0cnVjdCBDcm9z
c1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBD
cm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UpOworcHVibGljOgorICAg
IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKCkgeyB9CiAgICAgS1VSTCBtX3Vy
bDsKICAgICBTdHJpbmcgbV9taW1lVHlwZTsKICAgICBsb25nIGxvbmcgbV9leHBlY3RlZENvbnRl
bnRMZW5ndGg7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUhhbmRsZVNvdXAuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcAppbmRleCA4OTAwYjE4Li43MjQ0ODY4IDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTYw
LDcgKzYwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJ
WkUgODE5MgogCi1jbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlICYs
IFZlY3RvcjxjaGFyPiYpOwogICAgIH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKaW5k
ZXggMzhkOWNkMS4uZjUwNTQwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKQEAgLTc2LDcgKzc2LDggQEAgc3RhdGljIFN0cmlu
ZyBxdWVyeUhUVFBIZWFkZXIoSElOVEVSTkVUIHJlcXVlc3RIYW5kbGUsIERXT1JEIGluZm9MZXZl
bCkKIH0KIAogCi1jbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwg
VmVjdG9yPGNoYXI+JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAgIH5XZWJDb3JlU3lu
Y2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJv
YXJkUXQuaCBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAppbmRleCA1YWNhMWE2
Li5mYjVhYmVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCkBAIC0zOSw2ICszOSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUn
cyBldmVudHMgZm9yIGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICBjbGFzcyBDbGlw
Ym9hcmRRdCA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkUXQ+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xp
Y3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEqIHJlYWRhYmxlQ2xpcGJvYXJkKQogICAgICAgICB7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5MjczLi5kYTUzYWNj
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUwLDggQEAg
ZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3QgaW50IFNRTFJl
c3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsKIAotY2xhc3Mg
U1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlRGF0YWJh
c2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsKICAgICBmcmll
bmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0YWJhc2Uo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5oIGIv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5kZXggMTQ0NGYwZS4uZmQx
YWJmYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FM
aXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVtZW50KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1FMaXRlU3RhdGVtZW50KFNRTGl0ZURhdGFi
YXNlJiwgY29uc3QgU3RyaW5nJik7CiAgICAgflNRTGl0ZVN0YXRlbWVudCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaCBiL1dlYkNvcmUvcGxh
dGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKaW5kZXggOTI0MjQxZi4uYmE2ODZiYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCkBAIC0yNiwxNCArMjYsMTUg
QEAKICNpZm5kZWYgU1FMaXRlVHJhbnNhY3Rpb25faAogI2RlZmluZSBTUUxpdGVUcmFuc2FjdGlv
bl9oCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNl
OwogCi1jbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xh
c3MgU1FMaXRlVHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRy
YW5zYWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1FMaXRl
VHJhbnNhY3Rpb24oU1FMaXRlRGF0YWJhc2UmIGRiLCBib29sIHJlYWRPbmx5ID0gZmFsc2UpOwog
ICAgIH5TUUxpdGVUcmFuc2FjdGlvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L0JpZGlSZXNvbHZlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5o
CmluZGV4IDFmODcxMTUuLjk3YjkzNzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9CaWRpUmVzb2x2ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVy
LmgKQEAgLTEyNiw3ICsxMjYsOCBAQCBzdHJ1Y3QgQmlkaUNoYXJhY3RlclJ1biB7CiAgICAgQmlk
aUNoYXJhY3RlclJ1biogbV9uZXh0OwogfTsKIAotdGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBj
bGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1w
bGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShCaWRpUmVzb2x2ZXIpOwogcHVibGljIDoKICAgICBCaWRp
UmVzb2x2ZXIoKQogICAgICAgICA6IG1fZGlyZWN0aW9uKFdURjo6VW5pY29kZTo6T3RoZXJOZXV0
cmFsKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9u
LmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaAppbmRleCBmMTYx
MWU1Li41MzZlZDQ4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4
cHJlc3Npb24uaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24u
aApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlZ3Vs
YXJFeHByZXNzaW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUmVndWxhckV4cHJl
c3Npb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlZ3Vs
YXJFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkpOwogICAgIH5S
ZWd1bGFyRXhwcmVzc2lvbigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRDb2RlYy5oIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCmluZGV4IGM2YWYz
OGEuLjM1MjI5YTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKQEAgLTU3LDggKzU3LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgY2hhciBVbmVuY29kYWJsZVJl
cGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAgY2xhc3MgVGV4dENvZGVjIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29kZWMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6Cisg
ICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAog
ICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9v
bCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5z
Y29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVy
L0ZvbnRUcmFuc2NvZGVyLmgKaW5kZXggNjdkYjk3Ny4uNjk5MGExMCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC00MCw3ICs0
MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNz
IFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZv
bnRUcmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9p
ZCBjb252ZXJ0KFN0cmluZyYgdGV4dCwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgVGV4
dEVuY29kaW5nKiA9IDApIGNvbnN0OwogICAgIGJvb2wgbmVlZHNUcmFuc2NvZGluZyhjb25zdCBG
b250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaCBiL1dlYkNvcmUvcGxhdGZv
cm0vd2luL0NsaXBib2FyZFdpbi5oCmluZGV4IGNlNjRiODUuLjc3OWRhMjYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vd2luL0NsaXBib2FyZFdpbi5oCkBAIC00MSw2ICs0MSw3IEBAIGNsYXNzIFdDRGF0YU9iamVj
dDsKIAogLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQg
ZHJvcCBhbmQgY29weS9wYXN0ZQogY2xhc3MgQ2xpcGJvYXJkV2luIDogcHVibGljIENsaXBib2Fy
ZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0
ZShDbGlwYm9hcmRUeXBlIGNsaXBib2FyZFR5cGUsIElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBD
bGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1
NmU3Li5kMzZjMjMzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNz
YWdlQnJvYWRjYXN0ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdl
QnJvYWRjYXN0ZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0
ZW5lcjsKIAotICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGFkZExpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VM
aXN0ZW5lciopOwogICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5k
b3dNZXNzYWdlTGlzdGVuZXIqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5E
YXRhYmFzZS5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKaW5kZXggYjE0NjA1
Zi4uYzQxMmMwOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgK
KysrIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5Q
YWNrYWdlPiwgUGx1Z2luUGFja2FnZUhhc2g+IFBsdWdpblNldDsKIAotICAgIGNsYXNzIFBsdWdp
bkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQbHVnaW5EYXRhYmFz
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkRhdGFiYXNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBQbHVnaW5EYXRhYmFzZSgp
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxl
ci5oIGIvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2
MTBlODljLi4yOWJjNGU2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRo
cmVhZFNjaGVkdWxlci5oCisrKyBiL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2No
ZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgdm9pZCBNYWluVGhyZWFkRnVuY3Rp
b24odm9pZCopOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oIGIv
V2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCAwNDRkNmUyLi44ZjhmMTNmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCisrKyBiL1dlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5WaWV3LmgKQEAgLTk1LDcgKzk1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBQbHVnaW5TdGF0dXNMb2FkZWRTdWNjZXNzZnVsbHkKICAgICB9OwogCi0gICAgY2xhc3Mg
UGx1Z2luUmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGx1Z2luUmVx
dWVzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblJlcXVlc3QpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBsdWdpblJlcXVlc3Qo
Y29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwgYm9vbCBzZW5kTm90aWZp
Y2F0aW9uLCB2b2lkKiBub3RpZnlEYXRhLCBib29sIHNob3VsZEFsbG93UG9wdXBzKQogICAgICAg
ICAgICAgOiBtX2ZyYW1lTG9hZFJlcXVlc3QoZnJhbWVMb2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVt
bkluZm8uaAppbmRleCA1ZTZmNjE5Li5kNzdkNmNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9Db2x1bW5JbmZvLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBA
IC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5m
byA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDb2x1bW5JbmZvKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9XZWJDb3JlL3Jl
bmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IDBkMDZjYjEuLmM0OTk0MzUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
TGF5b3V0U3RhdGUuaApAQCAtMzcsNyArMzcsOCBAQCBjbGFzcyBSZW5kZXJBcmVuYTsKIGNsYXNz
IFJlbmRlckJveDsKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgTGF5b3V0U3RhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5b3V0U3RhdGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExheW91dFN0YXRlKTsKIHB1YmxpYzoKICAgICBMYXlvdXRTdGF0ZSgpCiAgICAg
ICAgIDogbV9jbGlwcGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQXJlbmEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKaW5kZXggMzIxMzlm
Yi4uZTFmZjUzNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCkBAIC0zNiwxMyArMzYsMTUgQEAK
ICNkZWZpbmUgUmVuZGVyQXJlbmFfaAogCiAjaW5jbHVkZSAiQXJlbmEuaCIKKyNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9
IDQwMDsKIAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UmVuZGVyQXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyQXJlbmEodW5zaWduZWQg
YXJlbmFTaXplID0gNDA5Nik7CiAgICAgflJlbmRlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaAppbmRleCBiZDhiZTJjLi4wOTA1NmU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAg
LTM1OCw3ICszNTgsOSBAQCBwcml2YXRlOgogICAgICAgICBib29sIGV2ZXJIYWRMYXlvdXQ7CiAg
ICAgfTsKIAotICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCA6IE5vbmNvcHlhYmxlIHsKKyAgICBz
dHJ1Y3QgRmxvYXRpbmdPYmplY3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGbG9h
dGluZ09iamVjdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAg
ICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBiaXRzIHNvIHlvdSBjYW4gdXNlIEZsb2F0Qm90aCBh
cyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGggbGVmdCBhbmQgcmlnaHQuCiAgICAgICAgIGVudW0g
VHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0UmlnaHQgPSAyLCBGbG9hdEJvdGggPSAzIH07CiAK
QEAgLTY3Niw3ICs2NzgsOSBAQCBwcml2YXRlOgogICAgIFBvc2l0aW9uZWRPYmplY3RzTGlzdEhh
c2hTZXQqIG1fcG9zaXRpb25lZE9iamVjdHM7CiAKICAgICAvLyBBbGxvY2F0ZWQgb25seSB3aGVu
IHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzCi0gICAgc3RydWN0
IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IFJlbmRlckJs
b2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJCbG9ja1Jh
cmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBS
ZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaykgCiAgICAgICAgICAg
ICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBuZWdhdGl2
ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChi
bG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkKICAgICAgICAgICAgICwg
bV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveE1vZGVsT2JqZWN0LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmNwcAppbmRleCA1MDk4MzA2Li4yYWJkYjk1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC02Myw3ICs2Myw4IEBAIHR5cGVkZWYgSGFzaE1hcDxM
YXN0UGFpbnRTaXplTWFwS2V5LCBJbnRTaXplPiBMYXN0UGFpbnRTaXplTWFwOwogdHlwZWRlZiBI
YXNoTWFwPGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiwgUmVuZGVyQm94TW9kZWxPYmplY3Qq
PiBDb250aW51YXRpb25NYXA7CiBzdGF0aWMgQ29udGludWF0aW9uTWFwKiBjb250aW51YXRpb25N
YXAgPSAwOwogCi1jbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEltYWdlUXVhbGl0eUNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91bGRQ
YWludEF0TG93UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCos
IEltYWdlKiwgY29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhbWVTZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHN0
YXRpYyBjb25zdCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3JpZEF4aXMgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JpZEF4aXMoKTsK
ICAgICAgICAgdm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVz
b3VyY2UuaAppbmRleCAyMzQ2NzEyLi5hMjBjNTVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2VSZXNvdXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFn
ZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJ
bWFnZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+UmVuZGVySW1hZ2VSZXNvdXJjZSgpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCmluZGV4IGM1NDg5ZjMuLmNlMmFm
NDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCisr
KyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCkBAIC01Myw3ICs1Myw4
IEBAIGVudW0gQ29tcG9zaXRpbmdMYXllclR5cGUgewogLy8gCiAvLyBUaGVyZSBpcyBvbmUgUmVu
ZGVyTGF5ZXJCYWNraW5nIGZvciBlYWNoIFJlbmRlckxheWVyIHRoYXQgaXMgY29tcG9zaXRlZC4K
IAotY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQs
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMg
R3JhcGhpY3NMYXllckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyTGF5
ZXJCYWNraW5nKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVy
TGF5ZXJCYWNraW5nKFJlbmRlckxheWVyKik7CiAgICAgflJlbmRlckxheWVyQmFja2luZygpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oIGIvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCmluZGV4IDc5OTk4ZWQuLjk4ZmRkYjkgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgUmVuZGVyTGF5ZXI7CiAKIC8vIFRoaXMgY2xhc3MgaGFuZGxlcyB0aGUgYXV0by1z
Y3JvbGxpbmcgb2YgbGF5ZXJzIHdpdGggb3ZlcmZsb3c6IG1hcnF1ZWUuCi1jbGFzcyBSZW5kZXJN
YXJxdWVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck1hcnF1ZWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck1hcnF1ZWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7
CiAgICAgdmlydHVhbCB+UmVuZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93
LmgKaW5kZXggN2RjMmJjYi4uMzNlOGNmZmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck92ZXJmbG93LmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cu
aApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZQogLy8gRXhhbXBsZXMgb2Ygdmlz
dWFsIG92ZXJmbG93IGFyZSBzaGFkb3dzLCB0ZXh0IHN0cm9rZSAoYW5kIGV2ZW50dWFsbHkgb3V0
bGluZSBhbmQgYm9yZGVyLWltYWdlKS4KIAogLy8gVGhpcyBvYmplY3QgaXMgYWxsb2NhdGVkIG9u
bHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVlcyBpbiB0
aGUgb3duaW5nIGJveC4KLWNsYXNzIFJlbmRlck92ZXJmbG93IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFJlbmRlck92ZXJmbG93IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5k
ZXJPdmVyZmxvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbmRl
ck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGxheW91dFJlY3QsIGNvbnN0IEludFJlY3QmIHZpc3Vh
bFJlY3QpIAogICAgICAgICA6IG1fdG9wTGF5b3V0T3ZlcmZsb3cobGF5b3V0UmVjdC55KCkpCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCmluZGV4IDIwMTUz
ZTkuLjgxYzc5ZDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291
cmNlQ2xpcHBlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5oCkBAIC0zNiw3ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0
IENsaXBwZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE93blB0cjxJbWFnZUJ1ZmZl
cj4gY2xpcE1hc2tJbWFnZTsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNlbGVjdGlvbkluZm8uaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbklu
Zm8uaAppbmRleCBhMDlmYzFhLi40NWNhODEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Vs
ZWN0aW9uSW5mby5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
bmRlclNlbGVjdGlvbkluZm9CYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQogICAgICAgICA6IG1fb2JqZWN0KDApCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWV3LmgKaW5kZXggMWRmZDRjZS4uN2U1YjRlMSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuaApAQCAtMjY0LDcgKzI2NCw4IEBAIHZvaWQgdG9SZW5kZXJWaWV3KGNvbnN0IFJlbmRl
clZpZXcqKTsKIAogCiAvLyBTdGFjay1iYXNlZCBjbGFzcyB0byBhc3Npc3Qgd2l0aCBMYXlvdXRT
dGF0ZSBwdXNoL3BvcAotY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTGF5b3V0U3RhdGVNYWludGFpbmVyKTsKIHB1YmxpYzoKICAgICAvLyBjdG9yIHRv
IHB1c2ggbm93CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcqIHZpZXcsIFJl
bmRlckJveCogcm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFsc2Us
IGludCBwYWdlSGVpZ2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBDb2x1
bW5JbmZvKiBjb2xJbmZvID0gMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cldpZGdldFByb3RlY3Rvci5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVj
dG9yLmgKaW5kZXggNzg4MzA0Yy4uOGJmNmFjOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
V2lkZ2V0UHJvdGVjdG9yLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgOiBwcml2YXRlIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UmVuZGVyV2lkZ2V0UHJvdGVjdG9yKTsKIHB1YmxpYzoKICAgICBSZW5kZXJXaWRnZXRQcm90ZWN0
b3IoUmVuZGVyV2lkZ2V0KiBvYmplY3QpCiAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCmluZGV4IDliY2M3YTQuLjdlNzhlNjYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAorKysg
Yi9XZWJDb3JlL3JlbmRlcmluZy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKQEAgLTMyLDcgKzMyLDgg
QEAgY2xhc3MgRmxvYXRTaXplOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3MgUmVuZGVy
T2JqZWN0OwogCi1jbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR0ltYWdlQnVmZmVyVG9vbHMpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIGNyZWF0ZUlt
YWdlQnVmZmVyKGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVUYXJnZXRSZWN0LCBjb25zdCBGbG9h
dFJlY3QmIGNsYW1wZWRBYnNvbHV0ZVRhcmdldFJlY3QsIE93blB0cjxJbWFnZUJ1ZmZlcj4mLCBD
b2xvclNwYWNlKTsKICAgICBzdGF0aWMgdm9pZCByZW5kZXJTdWJ0cmVlVG9JbWFnZUJ1ZmZlcihJ
bWFnZUJ1ZmZlciosIFJlbmRlck9iamVjdCosIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCmluZGV4IDhmNTk3MDM1Li5lMmFiNjM5
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKKysr
IGIvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCkBAIC00Miw3ICs0Miw4
IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQgewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7CiB9
OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlvdXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFNWR01hcmtlckxheW91dEluZm8geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR01h
cmtlckxheW91dEluZm8pOwogcHVibGljOgogICAgIFNWR01hcmtlckxheW91dEluZm8oKTsKICAg
ICB+U1ZHTWFya2VyTGF5b3V0SW5mbygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcv
U1ZHUmVzb3VyY2VzLmggYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaAppbmRleCA0
OTU5MWNmLi5kM2YyNjU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJj
ZXMuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXMuaApAQCAtMzgsNyArMzgs
OCBAQCBjbGFzcyBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjsKIGNsYXNzIFNWR1JlbmRlclN0eWxl
OwogCiAvLyBIb2xkcyBhIHNldCBvZiByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIGEgUmVuZGVy
T2JqZWN0Ci1jbGFzcyBTVkdSZXNvdXJjZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U1ZHUmVzb3VyY2VzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXMpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXMoKTsKIApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaCBiL1dlYkNv
cmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0NhY2hlLmgKaW5kZXggNGE2MTU3MC4uMDg5YjYyOCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0zMSw3ICszMSw4IEBAIGNs
YXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFz
cyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0NhY2hlKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIv
V2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCBlNjNlZTYz
Li4zNDEyNThlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9TVkdSZXNvdXJjZXNDeWNs
ZVNvbHZlci5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVy
LmgKQEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZH
UmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291
cmNlc0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNl
c0N5Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNs
ZVNvbHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2Jq
ZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvVGFibGVMYXlvdXQuaAppbmRleCBlMGZhOGVlLi5jNWY2MWY2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1Rh
YmxlTGF5b3V0LmgKQEAgLTIxLDEzICsyMSwxNSBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAj
ZGVmaW5lIFRhYmxlTGF5b3V0X2gKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgUmVuZGVyVGFibGU7CiAKLWNsYXNzIFRhYmxlTGF5b3V0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFRhYmxlTGF5b3V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYWJsZUxh
eW91dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRhYmxlTGF5b3V0
KFJlbmRlclRhYmxlKiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1RyYW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9U
cmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQu
aCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXgu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybVN0YXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAgICAgZW51bSBUcmFuc2Zvcm1EaXJl
Y3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5hcHBseUludmVyc2VUcmFuc2Zvcm1E
aXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3VtdWxhdGlvbiB7IEZsYXR0ZW5UcmFu
c2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQ
b3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJp
bmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3QgaW50IFBv
c2l0aW9uVG9wID0gLTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdm
ZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAotY2xh
c3MgVmVydGljYWxQb3NpdGlvbkNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZl
cnRpY2FsUG9zaXRpb25DYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVydGljYWxQ
b3NpdGlvbkNhY2hlKTsKIHB1YmxpYzoKICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUoKQogICAg
IHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5kZXggNGY5NjRhMi4uMTVm
NjkxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAor
KysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCkBAIC0zMyw3ICszMyw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFnZTsKIAotc3RydWN0IENv
bnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIENvbnRlbnREYXRhKCkKICAgICAgICAgOiBtX3R5cGUoQ09OVEVOVF9OT05F
KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaCBi
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKaW5kZXggNTI3NTdhZC4u
ODE0MDM5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRl
bnQuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oCkBAIC0z
MCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ291bnRlckNvbnRl
bnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb3VudGVyQ29udGVudCB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ291bnRlckNvbnRlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiBpZGVudGlmaWVyLCBFTGlzdFN0eWxlVHlwZSBzdHlsZSwgY29uc3Qg
QXRvbWljU3RyaW5nJiBzZXBhcmF0b3IpCiAgICAgICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZp
ZXIpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaCBiL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCmluZGV4IDQ5ZmIyOTQuLjg0N2U4ZGYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCkBAIC01OSw3ICs1OSw4IEBAIHN0cnVj
dCBGaWxsU2l6ZSB7CiAgICAgTGVuZ3RoU2l6ZSBzaXplOwogfTsKIAotY2xhc3MgRmlsbExheWVy
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgRmlsbExheWVyIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIoRUZpbGxMYXllclR5cGUp
OwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1NoYWRvd0RhdGEuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRl
eCBmYjU5MjZkLi4wYmUzZmMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
aGFkb3dEYXRhLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBA
IC0yNiw3ICsyNiw2IEBACiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3Iu
aCIKLSNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTM3LDcgKzM2LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQgfTsK
IAogLy8gVGhpcyBzdHJ1Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhl
IHRleHQtc2hhZG93IGFuZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRvd0Rh
dGEgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTaGFkb3dEYXRhKCkKICAgICAgICAg
OiBtX3goMCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtC
dWlsZGVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCmlu
ZGV4IDM2MzQyZTcuLjMyMWYzOTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0Q2h1bmtCdWlsZGVyLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRD
aHVua0J1aWxkZXIuaApAQCAtMzUsNyArMzUsOCBAQCBzdHJ1Y3QgU1ZHVGV4dEZyYWdtZW50Owog
Ly8gUGhhc2UgdHdvIHBlcmZvcm1lZCB0aGUgYWN0dWFsIHBlci1jaGFyYWN0ZXIgbGF5b3V0LCBj
b21wdXRpbmcgdGhlIGZpbmFsIHBvc2l0aW9ucyBmb3IgZWFjaCBjaGFyYWN0ZXIsIHN0b3JlZCBp
biB0aGUgU1ZHSW5saW5lVGV4dEJveCBvYmplY3RzIChTVkdUZXh0RnJhZ21lbnQpLgogLy8gUGhh
c2UgdGhyZWUgcGVyZm9ybXMgYWxsIG1vZGlmaWNhdGlvbnMgdGhhdCBoYXZlIHRvIGJlIGFwcGxp
ZWQgdG8gZWFjaCBpbmRpdmlkdWFsIHRleHQgY2h1bmsgKHRleHQtYW5jaG9yICYgdGV4dExlbmd0
aCkuCiAKLWNsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZH
VGV4dENodW5rQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dENodW5rQnVpbGRlcigpOwog
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0
ZXNCdWlsZGVyLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0
ZXNCdWlsZGVyLmgKaW5kZXggZjI5YWM2NC4uYzY4MTg1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCisrKyBiL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaApAQCAtMzgs
NyArMzgsOCBAQCBjbGFzcyBSZW5kZXJTVkdUZXh0OwogLy8gdG8gY3JlYXRlIHRoZSBJbmxpbmVC
b3ggdHJlZSBiYXNlZCBvbiB0ZXh0IGNodW5rIGJvdW5kYXJpZXMgJiBCaURpIGluZm9ybWF0aW9u
LgogLy8gVGhlIHNlY29uZCBsYXlvdXQgcGhhc2UgaXMgY2FycmllZCBvdXQgYnkgU1ZHVGV4dExh
eW91dEVuZ2luZS4KIAotY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVy
KTsKIHB1YmxpYzoKICAgICBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIoKTsKICAgICB2
b2lkIGJ1aWxkTGF5b3V0QXR0cmlidXRlc0ZvclRleHRTdWJ0cmVlKFJlbmRlclNWR1RleHQqKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgg
Yi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCmluZGV4IGFkMDU4
ZDguLjYzMWU0Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0RW5naW5lLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdp
bmUuaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIC8vIFJlbmRlclNW
R0lubGluZVRleHQgcmVuZGVyZXJzIHRvIGNvbXB1dGUgdGhlIGZpbmFsIHBvc2l0aW9ucyBmb3Ig
ZWFjaCBjaGFyYWN0ZXIKIC8vIHdoaWNoIGFyZSBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRC
b3ggb2JqZWN0cy4KIAotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTVkdUZXh0TGF5b3V0RW5naW5lKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0TGF5b3V0RW5n
aW5lKCk7CiAgICAgU1ZHVGV4dENodW5rQnVpbGRlciYgY2h1bmtMYXlvdXRCdWlsZGVyKCkgeyBy
ZXR1cm4gbV9jaHVua0xheW91dEJ1aWxkZXI7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaCBiL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaAppbmRleCBkNzUzYjM5Li42Nzk0YmYz
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJh
c2VsaW5lLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVC
YXNlbGluZS5oCkBAIC0zMyw3ICszMyw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3Mg
U1ZHVGV4dE1ldHJpY3M7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRF
bmdpbmUgdG8gaGFuZGxlICdhbGlnbm1lbnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2VsaW5l
JyBhbmQgJ2Jhc2VsaW5lLXNoaWZ0Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGlu
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGlu
ZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZvbnQm
KTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdp
bmVTcGFjaW5nLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNw
YWNpbmcuaAppbmRleCAwYTZkNzM2Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAorKysgYi9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaApAQCAtMzAsNyArMzAsOCBAQCBj
bGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhlbHBlciBjbGFz
cyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdrZXJuaW5nJyAvICdsZXR0
ZXItc3BhY2luZycgYW5kICd3b3JkLXNwYWNpbmcnLgotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2lu
ZVNwYWNpbmcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2lu
ZVNwYWNpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVT
cGFjaW5nKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyhjb25zdCBG
b250Jik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaCBiL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaAppbmRleCBiNjFlNDY1Li5lMWRmNTkxIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlVGFzay5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogLy8gQ2FuIGJlIHVzZWQgdG8gd2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVk
LgogLy8gSGFzIHRvIGJlIHBhc3NlZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFz
c29jaWF0ZWQgd2l0aCB0aGUgdGFzay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJs
aWM6CiAgICAgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAg
cHJpdmF0ZToKICNlbmRpZgogfTsKIAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGF0YWJhc2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+RGF0YWJhc2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRh
YmFzZVRyYWNrZXIuaCBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRleCA3
MTQ1ZTZiLi5hMWE1YmRmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFj
a2VyLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCkBAIC01Niw3ICs1
Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsKIHN0cnVjdCBTZWN1cml0eU9yaWdp
blRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01JVU0pCiAKLWNsYXNzIERhdGFiYXNl
VHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJhY2tlcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemVUcmFja2VyKGNv
bnN0IFN0cmluZyYgZGF0YWJhc2VQYXRoKTsKICAgICBzdGF0aWMgRGF0YWJhc2VUcmFja2VyJiB0
cmFja2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0
aW9uTW9uaXRvci5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0
b3IuaAppbmRleCA3ODNhNzMxLi41YmM2YWNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
SURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJQ
ZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlOwogLy8gRklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0
cmFuc2FjdGlvbnMgdG8gVExTLiBLZWVwaW5nIGl0IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBv
bmNlIHdlIGFkZCBzdXBwb3J0IGZvciB3b3JrZXJzLiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1
dGlvbiBpcyB0byBrZWVwIHRoZSB2ZWN0b3IgaW4gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
Ci1jbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IpOwogcHVibGljOgogICAgIHN0
YXRpYyB2b2lkIGFkZFBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2UqKTsKICAgICBzdGF0aWMgdm9pZCByZW1vdmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2Uv
TG9jYWxTdG9yYWdlVGFzay5oIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaApp
bmRleCBhMmUzNWVhLi4yN2E4ZWI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxT
dG9yYWdlVGFzay5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKQEAg
LTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFn
ZVRocmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGFz
awotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShM
b2NhbFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBlbnVtIFR5cGUgeyBBcmVhSW1wb3J0LCBBcmVhU3luYywgRGVsZXRlRW1wdHlEYXRh
YmFzZSwgVGVybWluYXRlVGhyZWFkIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9M
b2NhbFN0b3JhZ2VUaHJlYWQuaCBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQu
aAppbmRleCA2ZjA1OTExLi5hMmM3OGM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9j
YWxTdG9yYWdlVGhyZWFkLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVh
ZC5oCkBAIC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBMb2Nh
bFN0b3JhZ2VUYXNrOwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIGNsYXNzIHRvIFN0b3Jh
Z2VUaHJlYWQKLSAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExvY2FsU3RvcmFnZVRocmVhZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGhyZWFk
PiBjcmVhdGUoKTsKICAgICAgICAgfkxvY2FsU3RvcmFnZVRocmVhZCgpOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oIGIvV2ViQ29yZS9zdG9yYWdlL09y
aWdpblF1b3RhTWFuYWdlci5oCmluZGV4IGVjOTYyMGMuLjgyZDdjNzQgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
T3JpZ2luUXVvdGFNYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIGNsYXNzIE9yaWdpblVzYWdlUmVjb3JkOwogCi1j
bGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgT3Jp
Z2luUXVvdGFNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5RdW90YU1h
bmFnZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBPcmlnaW5RdW90
YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVj
b3JkLmggYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAppbmRleCBhODMwZTY4
Li43NTU3ZWFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQu
aAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaApAQCAtMzksNyArMzks
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIE9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW4g
YmUgdXNlZCBmcm9tIG11bHRpcGxlIHRocmVhZHMgd2l0aCBleHRlcm5hbCBzeW5jaHJvbml6YXRp
b24uCiAvLyBTdHJpbmcgYXJndW1lbnRzIGFyZSBhbHNvIHN1cHBvc2VkIHRvIGJlIGRlZXBseSBj
b3BpZWQgYnkgdGhlIGNhbGxlciB3aGVuIG5lY2Vzc2FyeS4KLWNsYXNzIE9yaWdpblVzYWdlUmVj
b3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblVzYWdlUmVjb3JkIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5Vc2FnZVJlY29yZCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIE9yaWdpblVzYWdlUmVjb3JkKCk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oIGIvV2ViQ29yZS9zdG9y
YWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmgKaW5kZXggZmVkMDY1Ny4uM2M1ZWMyZCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmgKKysrIGIvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2lm
IEVOQUJMRShEQVRBQkFTRSkKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQxLDgg
KzQyLDEwIEBAIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiAKIC8vIEEgY2xpZW50IHRvIHRoZSBT
UUxUcmFuc2FjdGlvbiBjbGFzcy4gQWxsb3dzIFNRTFRyYW5zYWN0aW9uIHRvIG5vdGlmeSBpbnRl
cmVzdGVkCiAvLyBwYXJ0aWVzIHRoYXQgY2VydGFpbiB0aGluZ3MgaGF2ZSBoYXBwZW5lZCBpbiBh
IHRyYW5zYWN0aW9uLgotY2xhc3MgU1FMVHJhbnNhY3Rpb25DbGllbnQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1FMVHJhbnNhY3Rpb25DbGllbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNRTFRyYW5zYWN0aW9uQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CisgICAgU1FMVHJhbnNhY3Rpb25DbGllbnQoKSB7IH0KICAgICB2b2lkIGRpZENvbW1p
dFdyaXRlVHJhbnNhY3Rpb24oQWJzdHJhY3REYXRhYmFzZSopOwogICAgIHZvaWQgZGlkRXhlY3V0
ZVN0YXRlbWVudChBYnN0cmFjdERhdGFiYXNlKik7CiAgICAgYm9vbCBkaWRFeGNlZWRRdW90YShB
YnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25Db29yZGluYXRvci5oIGIvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IuaAppbmRleCA5NDM2MGMwLi5mZDc2NzgyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9TUUxU
cmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKQEAgLTQzLDggKzQzLDEwIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uOwogCi0gICAgY2xhc3MgU1FMVHJhbnNh
Y3Rpb25Db29yZGluYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU1FMVHJh
bnNhY3Rpb25Db29yZGluYXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CisgICAgICAgIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9p
ZCBhY3F1aXJlTG9jayhTUUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2Nr
KFNRTFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMGVkNjJhOSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVkRWxlbWVu
dDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAotY2xhc3Mg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9jdW1lbnRF
eHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRl
ZiBIYXNoU2V0PFJlZlB0cjxTVkdTdHlsZWRFbGVtZW50PiA+IFNWR1BlbmRpbmdFbGVtZW50czsK
ICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoRG9jdW1lbnQqKTsKQEAgLTY4LDkgKzY5LDYgQEAg
cHJpdmF0ZToKICAgICBIYXNoTWFwPEF0b21pY1N0cmluZywgU1ZHUGVuZGluZ0VsZW1lbnRzKj4g
bV9wZW5kaW5nUmVzb3VyY2VzOwogICAgIE93blB0cjxTVkdSZXNvdXJjZXNDYWNoZT4gbV9yZXNv
dXJjZXNDYWNoZTsKIAotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhjb25zdCBTVkdEb2N1bWVu
dEV4dGVuc2lvbnMmKTsKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMmIG9wZXJhdG9yPShjb25z
dCBTVkdEb2N1bWVudEV4dGVuc2lvbnMmKTsKLQogcHVibGljOgogICAgIC8vIFRoaXMgSGFzaE1h
cCBjb250YWlucyBhIGxpc3Qgb2YgcGVuZGluZyByZXNvdXJjZXMuIFBlbmRpbmcgcmVzb3VyY2Vz
LCBhcmUgc3VjaAogICAgIC8vIHdoaWNoIGFyZSByZWZlcmVuY2VkIGJ5IGFueSBvYmplY3QgaW4g
dGhlIFNWRyBkb2N1bWVudCwgYnV0IGRvIE5PVCBleGlzdCB5ZXQuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaCBiL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJl
RGF0YS5oCmluZGV4IDQyNzZjNGEuLjMzMThkZWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5o
CkBAIC0zMSw3ICszMSw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVt
ZW50OwogY2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdFbGVtZW50UmFyZURhdGEoKQogICAgICAgICA6
IG1fY3Vyc29yRWxlbWVudCgwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEu
aCBiL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKaW5kZXggZTg5N2E1OS4uZjIwMmQyNiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAorKysgYi9XZWJDb3JlL3N2Zy9TVkdG
b250RGF0YS5oCkBAIC0yNSw3ICsyNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU1ZHRm9udERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRm9udERhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0ZvbnREYXRhKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHRm9udERhdGEoU1ZHRm9udEZhY2VFbGVtZW50Kik7
CiAgICAgdmlydHVhbCB+U1ZHRm9udERhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3Zn
L1NWR1BhdGhCbGVuZGVyLmggYi9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCmluZGV4IGMw
YWU3ZjMuLjhlNDNiOTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgK
KysrIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAj
aWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJT
VkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aEJsZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHUGF0aEJsZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Bh
dGhCbGVuZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0
aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0u
aCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uYTQ0NGFj
MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9XZWJD
b3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC00Myw3ICs0Myw4IEBAIHR5cGVkZWYgdW5p
b24gewogICAgIHVuc2lnbmVkIGNoYXIgYnl0ZXNbc2l6ZW9mKHVuc2lnbmVkIHNob3J0KV07CiB9
IFVuc2lnbmVkU2hvcnRCeXRlOwogCi1jbGFzcyBTVkdQYXRoQnl0ZVN0cmVhbSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQnl0ZVN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU1ZHUGF0aEJ5dGVTdHJlYW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxTVkdQYXRoQnl0ZVN0cmVhbT4gY3JlYXRlKCkK
ICAgICB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaCBiL1dlYkNv
cmUvc3ZnL1NWR1BhdGhDb25zdW1lci5oCmluZGV4IGI3YzVlNzMuLmFmM2Y3OWIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1lci5oCisrKyBiL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhDb25zdW1lci5oCkBAIC0yNiw2ICsyNiw3IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1
ZGUgIkZsb2F0UG9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw4ICs0
MSwxMCBAQCBlbnVtIFBhdGhQYXJzaW5nTW9kZSB7CiAgICAgVW5hbHRlcmVkUGFyc2luZwogfTsK
IAotY2xhc3MgU1ZHUGF0aENvbnN1bWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNW
R1BhdGhDb25zdW1lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aENvbnN1bWVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVy
KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGluY3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7
CiAgICAgdmlydHVhbCBib29sIGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBjbGVhbnVwKCkgPSAwOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNl
ci5oIGIvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLjA5NjEzMWMg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9XZWJDb3JlL3N2
Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1BhdGhD
b25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRoU291
cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2VyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBTVkdQYXRoUGFyc2VyKCk7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL1NW
R1BhdGhTb3VyY2UuaCBiL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAppbmRleCBkMWE2MTQ5
Li43N2JmOWZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKKysrIGIv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCkBAIC0yNSw4ICsyNSwxMCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1BhdGhTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHUGF0aFNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0
aFNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNWR1BhdGhT
b3VyY2UoKSB7IH0KICAgICB2aXJ0dWFsIH5TVkdQYXRoU291cmNlKCkgeyB9CiAKICAgICB2aXJ0
dWFsIGJvb2wgaGFzTW9yZURhdGEoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N2
Zy9TVkdWaWV3U3BlYy5oIGIvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAppbmRleCA2ODZjZWMz
Li5jZDEwY2E0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCisrKyBiL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKQEAgLTMyLDggKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgU1ZHRWxlbWVudDsKIAogY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZH
Rml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiwK
LSAgICAgICAgICAgICAgICAgICAgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgICAgICAg
ICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1ZpZXdTcGVjKTsKIHB1YmxpYzoKICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1dlYkNvcmUvc3Zn
L2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCA5N2Y4NmJlLi5mYzJmZDA4IDEwMDY0NAotLS0g
YS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGll
bnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1
YmxpYyBFbXB0eUNocm9tZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1h
Z2VDaHJvbWVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBT
VkdJbWFnZUNocm9tZUNsaWVudChTVkdJbWFnZSogaW1hZ2UpCiAgICAgICAgIDogbV9pbWFnZShp
bWFnZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oIGIv
V2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgKaW5kZXggNjg2YzE3Yy4uY2M3OTFm
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgKKysrIGIv
V2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xh
c3MgRmxvYXQzMkFycmF5OwogY2xhc3MgVWludDhBcnJheTsKICNlbmRpZgogCi1jbGFzcyBSZWFs
dGltZUFuYWx5c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlYWx0aW1lQW5hbHlz
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlYWx0aW1lQW5hbHlzZXIpOwogcHVibGlj
OgogICAgIFJlYWx0aW1lQW5hbHlzZXIoKTsKICAgICB2aXJ0dWFsIH5SZWFsdGltZUFuYWx5c2Vy
KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5o
CmluZGV4IDA1YjM3NjcuLjk1NmUwZmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd2Vic29ja2V0cy9U
aHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00Myw4ICs0MywxMCBAQCBjbGFzcyBLVVJMOwog
Y2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIFdlYlNvY2tldENoYW5uZWxDbGll
bnQ7CiAKLWNsYXNzIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCk7CiBwdWJsaWM6CisgICAgVGhy
ZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSB7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBX
ZWJTb2NrZXRDaGFubmVsQ2xpZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgcHJvdG9j
b2wpOwogCiAgICAgdmlydHVhbCB2b2lkIGNvbm5lY3QoKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oIGIvV2ViQ29yZS93ZWJzb2NrZXRzL1dl
YlNvY2tldENoYW5uZWwuaAppbmRleCA5YzUyMzc3Li5hMzljZDBlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWxDbGllbnQ7CiAKICAgICBjbGFzcyBXZWJTb2Nr
ZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViU29ja2V0Q2hhbm5lbD4sIHB1YmxpYyBT
b2NrZXRTdHJlYW1IYW5kbGVDbGllbnQsIHB1YmxpYyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVudCwgY29u
c3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgV2ViU29ja2V0Q2hhbm5lbChjb250ZXh0LCBjbGllbnQsIHVybCwgcHJvdG9jb2wpKTsgfQog
ICAgICAgICB2aXJ0dWFsIH5XZWJTb2NrZXRDaGFubmVsKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmggYi9XZWJDb3JlL3dlYnNvY2tldHMvV2Vi
U29ja2V0SGFuZHNoYWtlLmgKaW5kZXggYTViNDI2MC4uMzcxZDg1MiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCisrKyBiL1dlYkNvcmUvd2Vic29j
a2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaApAQCAtMzcsMTMgKzM3LDEzIEBACiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0Lmgi
CiAjaW5jbHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKIAotICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU29ja2V0SGFuZHNoYWtlKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGVudW0gTW9kZSB7CiAgICAgICAgICAgICBJbmNvbXBsZXRlLCBOb3JtYWwsIEZhaWxl
ZCwgQ29ubmVjdGVkCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuaCBiL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDM2NmU0ZmEuLjlmMGIwMWEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCisr
KyBiL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5o
CkBAIC01Miw2ICs1Miw3IEBAIGNsYXNzIFdvcmtlckxvYWRlclByb3h5OwogY2xhc3MgV29ya2Vy
UnVuTG9vcDsKIAogY2xhc3MgV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgOiBwdWJs
aWMgUmVmQ291bnRlZDxXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4sIHB1YmxpYyBU
aHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWw+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRDaGFubmVs
Q2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwg
Y29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3OCw4IEBAIHByb3RlY3Rl
ZDoKIHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUgUGVlciBh
bmQgaXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAvLyBsaWZldGltZXMuCi0g
ICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQZWVyKiBjcmVhdGUoUmVmUHRy
PFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsQ2xpZW50V3JhcHBlcj4gY2xpZW50V3JhcHBlciwg
V29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgcHJvdG9jb2wpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9E
ZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oIGIvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKaW5kZXggMjFlMTRhMS4uNDM1YjYxMyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKKysrIGIv
V2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKQEAgLTUzLDcg
KzUzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5
OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hh
cmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVm
YXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gSW52b2tlZCBvbmNlIHRoZSB3b3JrZXIgc2NyaXB0
IGhhcyBiZWVuIGxvYWRlZCB0byBmaXJlIHVwIHRoZSB3b3JrZXIgdGhyZWFkLgogICAgICAgICB2
b2lkIHdvcmtlclNjcmlwdExvYWRlZChTaGFyZWRXb3JrZXJQcm94eSYsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHdvcmtlclNjcmlwdCwgUGFzc093blB0cjxNZXNzYWdl
UG9ydENoYW5uZWw+KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCmluZGV4IDdiNmM5YTIuLmJhZjFh
NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKKysrIGIvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTQ1LDcgKzE0NSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpc0Nsb3NpbmcoKSB7IHJldHVybiBtX2Nsb3Npbmc7
IH0KIAogICAgICAgICAvLyBBbiBvYnNlcnZlciBpbnRlcmZhY2UgdG8gYmUgbm90aWZpZWQgd2hl
biB0aGUgd29ya2VyIHRocmVhZCBpcyBnZXR0aW5nIHN0b3BwZWQuCi0gICAgICAgIGNsYXNzIE9i
c2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgT2JzZXJ2ZXIgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT2JzZXJ2ZXIpOwogICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBPYnNlcnZlcihXb3JrZXJDb250ZXh0Kik7CiAgICAgICAgICAgICB2
aXJ0dWFsIH5PYnNlcnZlcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5LmggYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApp
bmRleCAzMzkzN2NlLi5hYjYxMTNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaAorKysgYi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuaApAQCAtNDYsNyArNDYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dDsKICAgICBjbGFzcyBXb3JrZXI7CiAKLSAgICBjbGFzcyBXb3Jr
ZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3Jr
ZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5LCBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5IDogcHVibGljIFdvcmtlckNvbnRl
eHRQcm94eSwgcHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJv
eHkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJNZXNzYWdpbmdQcm94eSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVz
c2FnaW5nUHJveHkoV29ya2VyKik7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJSdW5Mb29wLmNwcCBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4
M2YyNDNmLi43YjMxNDljIDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9v
cC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQsNyAr
MTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4g
U3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BT
ZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3Ap
CiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyUnVuTG9vcC5oIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAppbmRl
eCA5ZDRlZGZkLi4zZmViNGU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVu
TG9vcC5oCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVs
dE1vZGUoKTsKIAotICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICAgICAgY2xhc3MgVGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNr
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAg
IHN0YXRpYyBQYXNzT3duUHRyPFRhc2s+IGNyZWF0ZShQYXNzT3duUHRyPFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OlRhc2s+IHRhc2ssIGNvbnN0IFN0cmluZyYgbW9kZSk7CiAgICAgICAgICAgICB+
VGFzaygpIHsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAg
Yi9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCBmNjExMjBlLi5lMWYxYTY2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysgYi9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtNjEsNyArNjEsOCBAQCB1bnNpZ25lZCBX
b3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkKICAgICByZXR1cm4gbV90aHJlYWRDb3Vu
dDsKIH0KIAotc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIDogTm9uY29weWFibGUgewor
c3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVh
dGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0
dHBSZXF1ZXN0LmNwcCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCBmYzdl
YjllLi4yYjc3MjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAK
KysrIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC02NSw3ICs2NSw5IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBXVEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciB4bWxI
dHRwUmVxdWVzdENvdW50ZXIoIlhNTEh0dHBSZXF1ZXN0Iik7CiAjZW5kaWYKIAotc3RydWN0IFhN
TEh0dHBSZXF1ZXN0U3RhdGljRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBYTUxIdHRwUmVx
dWVzdFN0YXRpY0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhNTEh0dHBSZXF1ZXN0
U3RhdGljRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFhNTEh0
dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4Owog
ICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmggYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IGJjNjgx
NWQuLmIxNWQzNTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysr
IGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFzcyBU
ZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3MgWE1M
SHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1YmxpYyBF
dmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxYTUxIdHRwUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBYTUxIdHRwUmVxdWVzdChjb250
ZXh0KSk7IH0KICAgICB+WE1MSHR0cFJlcXVlc3QoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1s
L1hQYXRoRXhwcmVzc2lvbk5vZGUuaCBiL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUu
aAppbmRleCBjMDRkNDViLi45M2ZiODU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aEV4
cHJlc3Npb25Ob2RlLmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCkBA
IC0zOSw3ICszOSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIG5hbWVzcGFjZSBYUGF0
aCB7CiAgICAgICAgIAotICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlvbkNvbnRleHQgOiBGYXN0QWxs
b2NCYXNlIHsKKyAgICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250ZXh0IHsKKyAgICAgICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAg
UmVmUHRyPE5vZGU+IG5vZGU7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemU7CiAgICAg
ICAgICAgICB1bnNpZ25lZCBsb25nIHBvc2l0aW9uOwpAQCAtNTMsNyArNTUsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIH5QYXJzZU5vZGUoKSB7IH0KICAgICAg
ICAgfTsKIAotICAgICAgICBjbGFzcyBFeHByZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJz
ZU5vZGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXhwcmVzc2lvbik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0
aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgK
aW5kZXggZDVjNDdiZS4uNjE5ZDkxYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS94bWwvWFBhdGhOb2Rl
U2V0LmgKKysrIGIvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBj
bGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2Rl
U2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBOb2RlU2V0KCkgOiBtX2lzU29ydGVkKHRydWUpLCBtX3N1YnRyZWVz
QXJlRGlzam9pbnQoZmFsc2UpIHsgfQogICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3htbC9YUGF0aFBhcnNlci5oIGIvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAppbmRleCAwZWU0
NDdhLi5mNDliNDRiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCisrKyBi
L1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAgICAgVG9rZW4oaW50IHQsIEVxVGVzdE9wOjpPcGNvZGUgdik6IHR5
cGUodCksIGVxb3Aodikge30KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBQYXJzZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGFyc2VyKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgUGFyc2VyKCk7CiAgICAgICAgICAgICB+UGFyc2VyKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3htbC9YUGF0aFByZWRpY2F0ZS5oIGIvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAppbmRl
eCA1ZjI0ODJhLi4zNjAwMTU0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0
ZS5oCisrKyBiL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKQEAgLTEwNSw3ICsxMDUsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJl
c3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiAgICAgICAg
IH07CiAKLSAgICAgICAgY2xhc3MgUHJlZGljYXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICAgICAgY2xhc3MgUHJlZGljYXRlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFByZWRpY2F0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICBQcmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAgICAgICAgICAgflByZWRpY2F0
ZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmggYi9XZWJDb3JlL3htbC9Y
UGF0aFN0ZXAuaAppbmRleCBlYzAyMmIzLi5iMDMxYmFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3ht
bC9YUGF0aFN0ZXAuaAorKysgYi9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaApAQCAtMzksNyArMzks
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgY2xhc3MgUHJlZGljYXRlOwogICAg
ICAgICAKLSAgICAgICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBBeGlzIHsKICAgICAgICAgICAg
ICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAg
LTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgIFNlbGZB
eGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAgICAgICAgICBjbGFzcyBOb2Rl
VGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0
IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgICAg
IHB1YmxpYzoKICAgICAgICAgICAgICAgICBlbnVtIEtpbmQgewogICAgICAgICAgICAgICAgICAg
ICBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2RlVGVzdCwgUHJvY2Vzc2luZ0luc3RydWN0aW9uTm9k
ZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVzdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWFNM
SW1wb3J0UnVsZS5oIGIvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCmluZGV4IGYzYTkzMTgu
LjVjMGNhOGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9X
ZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgQ2FjaGVkWFNMU3R5bGVTaGVldDsKIAogY2xhc3MgWFNMSW1wb3J0UnVs
ZSA6IHB1YmxpYyBTdHlsZUJhc2UsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFhTTEltcG9ydFJ1bGU+IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgY29uc3Qg
U3RyaW5nJiBocmVmKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IGE0YmRlZWYuLmMyZjA5OTEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAx
LTA1ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0
b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxv
Y0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAj
NDY1ODkpLgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFu
ZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdpdGggdGhlaXIKKyAg
ICAgICAgZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBs
YWNlcy4KKwogMjAxMC0xMi0zMSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFVwZGF0ZSBTVk4gaWdub3JlIHByb3BlcnR5IHRvIGhpZGUgdHdvIG1vcmUgZXh0ZXJu
YWwgZGVwZW5kZW5jaWVzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9i
amVjdC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4M2Yu
LjM5NGZmN2MgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAor
KysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAgLTM5LDcgKzM5LDggQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiAvLyBCb3VuZE9iamVjdCBpcyBhIGhlbHBlciBjbGFzcyB0aGF0
IGxldHMgeW91IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxscwogLy8gZGlyZWN0bHkgdG8gQysr
IG1ldGhvZCBjYWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3llZCBvbmNlIEpTIG9iamVjdCBpcwog
Ly8gYnVpbHQuCi1jbGFzcyBCb3VuZE9iamVjdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBCb3VuZE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQm91bmRPYmplY3QpOwog
cHVibGljOgogICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQs
IHZvaWQqIHY4VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFtZSk7CiAgICAgdmlydHVhbCB+Qm91
bmRPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2Vu
dE1hbmFnZXIuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5j
cHAKaW5kZXggMDg2MGNiMS4uYjc2YmNmZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1
Z2dlckFnZW50TWFuYWdlci5jcHAKQEAgLTU1LDcgKzU1LDggQEAgYm9vbCBEZWJ1Z2dlckFnZW50
TWFuYWdlcjo6c19leHBvc2VWOERlYnVnZ2VyUHJvdG9jb2wgPSBmYWxzZTsKIAogbmFtZXNwYWNl
IHsKIAotY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0
YSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhbGxlcklkV3JhcHBlciA6IHB1YmxpYyB2
ODo6RGVidWc6OkNsaWVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxlcklk
V3JhcHBlcik7CiBwdWJsaWM6CiAgICAgQ2FsbGVySWRXcmFwcGVyKCkgOiBtX2NhbGxlcklzTWFu
YW5hZ2VyKHRydWUpLCBtX2NhbGxlcklkKDApIHsgfQogICAgIGV4cGxpY2l0IENhbGxlcklkV3Jh
cHBlcihpbnQgY2FsbGVySWQpCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVn
Z2VyQWdlbnRNYW5hZ2VyLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmgKaW5kZXggNjZiZDcxNC4uYTMyMzMxMSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVi
dWdnZXJBZ2VudE1hbmFnZXIuaApAQCAtNjMsNyArNjMsOCBAQCBjbGFzcyBXZWJWaWV3SW1wbDsK
IC8vIHdvdWxkIGV4cGVjdCBzb21lIGFjdGlvbnMgZnJvbSB0aGUgaGFuZGxlci4gSWYgdGhlcmUg
aXMgbm8gYXBwcm9wcmlhdGUKIC8vIGRlYnVnZ2VyIGFnZW50IHRvIGhhbmRsZSBzdWNoIG1lc3Nh
Z2VzIHRoZSBtYW5hZ2VyIHdpbGwgcGVyZm9ybSB0aGUgYWN0aW9uCiAvLyBpdHNlbGYsIG90aGVy
d2lzZSB2OCBtYXkgaGFuZyB3YWl0aW5nIGZvciB0aGUgYWN0aW9uLgotY2xhc3MgRGVidWdnZXJB
Z2VudE1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVidWdnZXJBZ2VudE1h
bmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlYnVnZ2VyQWdlbnRNYW5hZ2VyKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0F0dGFjaChEZWJ1Z2dlckFnZW50SW1wbCog
ZGVidWdnZXJBZ2VudCk7CiAgICAgc3RhdGljIHZvaWQgZGVidWdEZXRhY2goRGVidWdnZXJBZ2Vu
dEltcGwqIGRlYnVnZ2VyQWdlbnQpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9J
bnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKaW5kZXggZmMyMWYzZS4uMjg2NzkxNyAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAorKysg
Yi9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCkBAIC00
NCw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVu
ZENsaWVudDsKIGNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsOwogCi1jbGFzcyBJbnNwZWN0
b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5
YWJsZSAgeworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNv
cmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwpOwogcHVibGljOgogICAgIEluc3BlY3RvckZyb250
ZW5kQ2xpZW50SW1wbChXZWJDb3JlOjpQYWdlKiwgV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudCos
IFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRJbXBsKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRv
b2xzRnJvbnRlbmRJbXBsLmggYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRl
bmRJbXBsLmgKaW5kZXggODY2YTFjYi4uZGM3ZDJkZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaApAQCAtNTUsOCArNTUsOCBAQCBzdHJ1Y3QgV2Vi
RGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogdXNpbmcgV1RGOjpTdHJpbmc7CiAKLWNsYXNzIFdlYkRl
dlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zy
b250ZW5kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJEZXZUb29sc0Zyb250ZW5kSW1w
bCk7CiBwdWJsaWM6CiAgICAgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwoCiAgICAgICAgIFdlYktp
dDo6V2ViVmlld0ltcGwqIHdlYlZpZXdJbXBsLApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwu
Y3BwCmluZGV4IDE1MTlkMzUuLjE2NDdmYWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5jcHAKQEAgLTI4MSw3ICsyODEsOCBAQCBXZWJQbHVnaW5Db250YWluZXJJbXBsKiBXZWJGcmFt
ZUltcGw6OnBsdWdpbkNvbnRhaW5lckZyb21GcmFtZShGcmFtZSogZnJhbWUpCiAKIC8vIFNpbXBs
ZSBjbGFzcyB0byBvdmVycmlkZSBzb21lIG9mIFByaW50Q29udGV4dCBiZWhhdmlvci4gU29tZSBv
ZiB0aGUgbWV0aG9kcwogLy8gbWFkZSB2aXJ0dWFsIHNvIHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJp
ZGVuIGJ5IENocm9tZVBsdWdpblByaW50Q29udGV4dC4KLWNsYXNzIENocm9tZVByaW50Q29udGV4
dCA6IHB1YmxpYyBQcmludENvbnRleHQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDaHJv
bWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJpbnRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDaHJvbWVQcmludENvbnRleHQpOwogcHVibGljOgogICAgIENocm9tZVByaW50Q29u
dGV4dChGcmFtZSogZnJhbWUpCiAgICAgICAgIDogUHJpbnRDb250ZXh0KGZyYW1lKQpkaWZmIC0t
Z2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmggYi9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAppbmRleCBiOGVmN2JhLi40MWE5NTJlIDEwMDY0
NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAorKysgYi9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaApAQCAtNTYsNiArNTYsNyBAQCBzdHJ1
Y3QgV2ViUmVjdDsKIGNsYXNzIFdlYlBvcHVwTWVudUltcGwgOiBwdWJsaWMgV2ViUG9wdXBNZW51
LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBXZWJDb3JlOjpGcmFtZWxlc3NTY3Jv
bGxWaWV3Q2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBSZWZDb3VudGVk
PFdlYlBvcHVwTWVudUltcGw+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdp
dCBhL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVm
bC5oIGIvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
RWZsLmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKKysrIGIvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcg
KzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisr
KyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5o
CkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1Ymxp
YzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0ZG93bmxvYWQuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmlu
ZGV4IDYwYjhlNmQuLmE3ODkwYzEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dGRvd25sb2FkLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAK
QEAgLTU3LDcgKzU3LDggQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBp
cyB0byBiZSBkb3dubG9hZGVkLCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAKLWNsYXNzIERvd25s
b2FkQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGll
bnQgeworY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsKICAgICBwdWJsaWM6
CiAgICAgICAgIERvd25sb2FkQ2xpZW50KFdlYktpdERvd25sb2FkKik7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lmgg
Yi9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5o
CmluZGV4IGY3ODRhZGUuLjRmMmM1NjYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvUGx1Z2lucy9I
b3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKKysrIGIvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaApAQCAtMzEzLDcgKzMxMyw4
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBkZW1hcnNoYWxWYWx1ZUZyb21BcnJheShKU0M6OkV4ZWNT
dGF0ZSosIE5TQXJyYXkgKmFycmF5LCBOU1VJbnRlZ2VyJiBpbmRleCwgSlNDOjpKU1ZhbHVlJiBy
ZXN1bHQpOwogICAgIHZvaWQgZGVtYXJzaGFsVmFsdWVzKEpTQzo6RXhlY1N0YXRlKiwgZGF0YV90
IHZhbHVlc0RhdGEsIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgdmFsdWVzTGVuZ3RoLCBKU0M6Ok1h
cmtlZEFyZ3VtZW50QnVmZmVyJiByZXN1bHQpOwogCi0gICAgY2xhc3MgTG9jYWxPYmplY3RNYXAg
OiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxPYmplY3RNYXAgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMb2NhbE9iamVjdE1hcCk7CiAgICAgcHVibGljOgogICAgICAgICBM
b2NhbE9iamVjdE1hcCgpOwogICAgICAgICB+TG9jYWxPYmplY3RNYXAoKTsKZGlmZiAtLWdpdCBh
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0gYi9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCmluZGV4IDI5MTM3MzkuLjY1
YWJhNDMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJD
bGllbnQubW0KKysrIGIvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVu
dC5tbQpAQCAtNTIsNyArNTIsOCBAQCBXZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQ6On5XZWJEYXRh
YmFzZVRyYWNrZXJDbGllbnQoKQogewogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0
YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudCog
Y2xpZW50LCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vQ09NRW51bVZhcmlhbnQuaCBiL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRl
eCBhOTNhM2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50
LmgKKysrIGIvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiArMjksMTIgQEAK
ICNkZWZpbmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQgOiBwdWJsaWMg
SUVudW1WQVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51bVZhcmlhbnQg
OiBwdWJsaWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01FbnVt
VmFyaWFudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBhZG9wdChDb250
YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJbnN0YW5jZShj
b25zdCBDb250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NPTVByb3BlcnR5
QmFnLmggYi9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXggNjEwYzM2Ny4uNjIwNDU4
ZSAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCisrKyBiL1dlYktpdC93
aW4vQ09NUHJvcGVydHlCYWcuaApAQCAtMzUsNyArMzUsOCBAQAogI2luY2x1ZGUgIkNPTVZhcmlh
bnRTZXR0ZXIuaCINCiANCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtl
eVR5cGUgPSB0eXBlbmFtZSBXVEY6OlN0cmluZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFt
ZSBXVEY6OlN0cmluZ0hhc2g+DQotY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3Bl
cnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiwgTm9uY29weWFibGUgew0KK2NsYXNzIENPTVBy
b3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIElQcm9wZXJ0eUJhZzIgew0K
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDT01Qcm9wZXJ0eUJhZyk7DQogcHVibGljOg0KICAg
ICB0eXBlZGVmIEhhc2hNYXA8S2V5VHlwZSwgVmFsdWVUeXBlLCBIYXNoVHlwZT4gSGFzaE1hcFR5
cGU7DQogDQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmggYi9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCA5YWM4YzY5
Li43NTMxODg4IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuaAorKysgYi9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaApAQCAtMTAy
LDcgKzEwMiw4IEBAIHByaXZhdGU6CiAgICAgaW50IG1fZHJhZ1N0YXJ0T2Zmc2V0OwogfTsKIAot
Y2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJp
dmF0ZUZ1bGxzY3JlZW5DbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVl
bkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAgIHZp
cnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC93
aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcCBiL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2Vy
LmNwcAppbmRleCBiZGNiNTQ5Li5lMmI4MWUxIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkRh
dGFiYXNlTWFuYWdlci5jcHAKKysrIGIvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
CkBAIC01Miw3ICs1Miw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0VxdWFsKExQQ1dTVFIgczEs
IExQQ1dTVFIgczIpCiAgICAgcmV0dXJuICF3Y3NjbXAoczEsIHMyKTsKIH0KIAotY2xhc3MgRGF0
YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVBy
b3BlcnR5QmFnIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZURldGFpbHNQcm9w
ZXJ0eUJhZyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFn
KiBjcmVhdGVJbnN0YW5jZShjb25zdCBEYXRhYmFzZURldGFpbHMmKTsKIApAQCAtMzI4LDcgKzMy
OSw4IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRGF0YWJhc2VNYW5hZ2VyOjpkZWxl
dGVEYXRhYmFzZSgKICAgICByZXR1cm4gU19PSzsKIH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2lu
RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEaWRNb2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFRvTWFpblRocmVhZChXZWJEYXRhYmFzZU1hbmFnZXIq
IGRhdGFiYXNlTWFuYWdlciwgU2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oIGIvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3Iu
aAppbmRleCAwNTNhNTkzLi5lMmQyZmNkIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkluc3Bl
Y3Rvci5oCisrKyBiL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKQEAgLTM0LDcgKzM0LDggQEAK
IAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNw
ZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYklu
c3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkluc3BlY3Rvcik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFuY2UoV2ViVmll
dyopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAg
Yi9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKaW5kZXggZGE2YjIyMS4uZTli
OTlhZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisr
KyBiL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBA
QCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJl
dHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExv
Y2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVm
IHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1dlYktp
dC93aW4vV2ViU2NyaXB0V29ybGQuaCBiL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRl
eCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxk
LmgKKysrIGIvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAKLWNsYXNz
IFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNjcmlwdFdv
cmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3JsZCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgogICAgIHN0
YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBDT01QdHI8
V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2lu
L1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVl
LmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9XZWJTZXJp
YWxpemVkSlNWYWx1ZS5oCisrKyBiL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApA
QCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlOwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJp
YWxpemVkSlNWYWx1ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJs
aWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJp
dmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwog
cHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUlu
c3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0
ZXJuLmggYi9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZi
NjcuLjQyODU0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0
ZXJuLmgKKysrIGIvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIs
NyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9u
Y29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVz
ZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVi
bGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJ
bnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDMwYzlmNDIuLjYxZjdiNDIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEtMDUg
IFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3Jpbmcgb2YgdGhlIGN1c3RvbSBh
bGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFz
ZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4
OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVwbGFjZXMgTm9uY29weWFibGUgYW5kIEZh
c3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5oZXJpdHMgd2l0aCB0aGVpcgorICAgICAg
ICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9uIGF0IHRoZSBuZWNlc3NhcnkgcGxhY2Vz
LgorCiAyMDExLTAxLTA1ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRm
b3JtL01vZHVsZS5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAppbmRleCAwODI1YmY2Li5l
Yzc1MjNjIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCisrKyBiL1dlYktp
dDIvUGxhdGZvcm0vTW9kdWxlLmgKQEAgLTM5LDcgKzM5LDggQEAKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNb2R1bGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6CiAgICAgTW9kdWxl
KGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5
LmgKaW5kZXggMDVkYzBkZC4uOTg1NDEzMiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9T
aGFyZWRNZW1vcnkuaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBAIC01
Miw3ICs1Miw4IEBAIHB1YmxpYzoKICAgICAgICAgUmVhZFdyaXRlCiAgICAgfTsKIAotICAgIGNs
YXNzIEhhbmRsZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIYW5kbGUgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIYW5kbGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgSGFuZGxl
KCk7CiAgICAgICAgIH5IYW5kbGUoKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmggYi9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5o
CmluZGV4IGU2MGQ1MmQuLjliNWQwZTAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nl
c3MuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVj
dCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNsYXNzIFBsdWdp
blByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdp
blByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmggYi9XZWJLaXQyL1No
YXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44YzVlOGUzIDEwMDY0NAotLS0gYS9X
ZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9XZWJLaXQyL1NoYXJlZC9DaGlsZFBy
b2Nlc3MuaApAQCAtMjcsMTMgKzI3LDExIEBACiAjZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAKICNp
bmNsdWRlICJDb25uZWN0aW9uLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQ
Qzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFBy
b2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAgICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAgfkNoaWxkUHJv
Y2VzcygpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzTWFuYWdlci5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFu
YWdlci5oCmluZGV4IGMyNjVmMmUyLi5hMTUwZDY3IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogY2xhc3MgUGx1Z2luUHJvY2Vzc1Byb3h5OwogY2xhc3MgV2ViUHJvY2Vz
c1Byb3h5OwogCi1jbGFzcyBQbHVnaW5Qcm9jZXNzTWFuYWdlciA6IE5vbmNvcHlhYmxlICB7Citj
bGFzcyBQbHVnaW5Qcm9jZXNzTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1
Z2luUHJvY2Vzc01hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzTWFu
YWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
d2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dp
bi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCmluZGV4IDQ4NWY4OTIuLjFlMGMyNTEgMTAwNjQ0Ci0t
LSBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAK
KysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNw
cApAQCAtMjUzLDcgKzI1Myw4IEBAIFZlY3RvcjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6cGx1
Z2luc0RpcmVjdG9yaWVzKCkKICAgICByZXR1cm4gZGlyZWN0b3JpZXM7CiB9CiAKLWNsYXNzIFBh
dGhXYWxrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGF0aFdhbGtlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGF0aFdhbGtlcik7CiBwdWJsaWM6CiAgICAgUGF0aFdhbGtl
cihjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVk
TGlua1Byb3ZpZGVyLmgKaW5kZXggMDE1NTE1Yy4uYTQyOGQ1YiAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNz
L1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9MaW5rSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAKIGNsYXNzIFdlYkNvbnRleHQ7CiAgICAgCi1jbGFzcyBWaXNpdGVkTGlua1Byb3Zp
ZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgVmlzaXRlZExpbmtQcm92aWRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVmlzaXRlZExpbmtQcm92aWRlcik7CiBwdWJsaWM6CiAgICAgZXhw
bGljaXQgVmlzaXRlZExpbmtQcm92aWRlcihXZWJDb250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1dl
YktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaCBiL1dlYktpdDIvV2ViUHJvY2Vz
cy9Eb3dubG9hZHMvRG93bmxvYWQuaAppbmRleCAyMzE5ZWM3Li5iYWNkZDAxIDEwMDY0NAotLS0g
YS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKKysrIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCkBAIC02Myw3ICs2Myw2IEBAIGNsYXNzIFdl
YlBhZ2U7CiAKIGNsYXNzIERvd25sb2FkIDogcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8
RG93bmxvYWQ+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEb3dubG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRvd25s
b2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIH5Eb3dubG9hZCgp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09i
amVjdC5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5o
CmluZGV4IDY3MzdiZDQuLjM1MTgyMjEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiBjbGFzcyBOUFJ1bnRpbWVPYmplY3RNYXA7CiAgICAgCiAvLyBOUEpTT2JqZWN0IGlz
IGFuIE5QT2JqZWN0IHRoYXQgd3JhcHMgYSBKU09iamVjdC4KLWNsYXNzIE5QSlNPYmplY3QgOiBw
dWJsaWMgTlBPYmplY3QsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMg
TlBPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5QSlNPYmplY3QpOwogcHVibGlj
OgogICAgIHN0YXRpYyBOUEpTT2JqZWN0KiBjcmVhdGUoTlBSdW50aW1lT2JqZWN0TWFwKiBvYmpl
Y3RNYXAsIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0KTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmggYi9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaApp
bmRleCBkN2JhODUzLi44YjYwZjE3IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaAorKysgYi9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaApAQCAtMzgsNyAr
MzgsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b247CiAgICAgICAgIAotY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyIDogTm9u
Y29weWFibGUgeworY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIpOwogcHVi
bGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXImIHNoYXJlZCgp
OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79429</attachid>
            <date>2011-01-19 08:08:25 -0800</date>
            <delta_ts>2011-01-20 01:55:50 -0800</delta_ts>
            <desc>updated to latest, playing with ews-s</desc>
            <filename>fab1.patch</filename>
            <type>text/plain</type>
            <size>295201</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKaW5kZXggNTA2MjA5My4uMDk3MTcw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKQEAgLTM0LDcgKzM0LDkg
QEAKICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ1B0ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAKLXN0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
U3RhdGljVmFsdWVFbnRyeSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CiAgICAgU3RhdGljVmFsdWVFbnRyeShKU09iamVjdEdldFByb3BlcnR5Q2FsbGJhY2sgX2dldFBy
b3BlcnR5LCBKU09iamVjdFNldFByb3BlcnR5Q2FsbGJhY2sgX3NldFByb3BlcnR5LCBKU1Byb3Bl
cnR5QXR0cmlidXRlcyBfYXR0cmlidXRlcykKICAgICAgICAgOiBnZXRQcm9wZXJ0eShfZ2V0UHJv
cGVydHkpLCBzZXRQcm9wZXJ0eShfc2V0UHJvcGVydHkpLCBhdHRyaWJ1dGVzKF9hdHRyaWJ1dGVz
KQogICAgIHsKQEAgLTQ1LDcgKzQ3LDkgQEAgc3RydWN0IFN0YXRpY1ZhbHVlRW50cnkgOiBGYXN0
QWxsb2NCYXNlIHsKICAgICBKU1Byb3BlcnR5QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwogfTsKIAot
c3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0
aWNGdW5jdGlvbkVudHJ5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBf
Y2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAg
ICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5jdGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0
ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8g
QW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMgY3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwg
c28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29udGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBn
cm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xkcyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFj
cm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoT3BhcXVl
SlNDbGFzcyopOwogICAgIH5PcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4Li5kNmRlNDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtNDgwLDcgKzQ4
MCw5IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVm
IGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
c3RydWN0IE9wYXF1ZUpTUHJvcGVydHlOYW1lQXJyYXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEo
Z2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDRjYjlkMGYuLmMyMjg3NTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAxLTE5ICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxs
b2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAg
ZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4K
KworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IFR1cm4gRmFzdEFsbG9jQmFzZSdzIGlt
cGxlbWVudGF0aW9uIGludG8gYSBtYWNyby4KKwogMjAxMS0wMS0xOCAgS2VubmV0aCBSdXNzZWxs
ICA8a2JyQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjc2
MDc4LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVm
ZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAppbmRl
eCBlMzhiOWQ0Li5jNWE3ZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL0xpbmtCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0xpbmtCdWZmZXIuaApAQCAtNTAsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIC8vICAgKiBU
aGUgYWRkcmVzcyBvZiBhIExhYmVsIHBvaW50aW5nIGludG8gdGhlIGNvZGUgbWF5IGJlIHJlc29s
dmVkLgogLy8gICAqIFRoZSB2YWx1ZSByZWZlcmVuY2VkIGJ5IGEgRGF0YUxhYmVsIG1heSBiZSBz
ZXQuCiAvLwotY2xhc3MgTGlua0J1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBM
aW5rQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMaW5rQnVmZmVyKTsKICAgICB0
eXBlZGVmIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBDb2RlUmVmOwogICAgIHR5cGVkZWYgTWFjcm9B
c3NlbWJsZXJDb2RlUHRyIENvZGVQdHI7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlcjo6TGFi
ZWwgTGFiZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5k
ZXggN2VjYTcyYS4uMWNkMDg2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suaApAQCAtMjQyLDcgKzI0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH0KICNl
bmRpZgogCi0gICAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAg
IGNsYXNzIENvZGVCbG9jayB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
ICAgICBmcmllbmQgY2xhc3MgSklUOwogICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2Nr
KFNjcmlwdEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2Jq
ZWN0KiwgUGFzc1JlZlB0cjxTb3VyY2VQcm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwg
U3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlLCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc4LDcg
KzU3OSw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFN5bWJvbFRhYmxlKiBtX3N5bWJv
bFRhYmxlOwogCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
ICAgICBzdHJ1Y3QgUmFyZURhdGEgeworICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4
Y2VwdGlvbkhhbmRsZXJzOwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5
LDYgKzYwMiw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1
cm5PZmZzZXRUb0J5dGVjb2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRp
ZgogICAgICAgICB9OworI2lmIFBMQVRGT1JNKFdJTikKKyAgICAgICAgZnJpZW5kIHZvaWQgV1RG
OjpkZWxldGVPd25lZFB0cjxSYXJlRGF0YT4oUmFyZURhdGEqKTsKKyNlbmRpZgogICAgICAgICBP
d25QdHI8UmFyZURhdGE+IG1fcmFyZURhdGE7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li5mMDc3Y2JmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApAQCAtNTQsNyAr
NTQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBTdHJ1Y3R1cmVDaGFpbjsKIAogICAg
IC8vIFN0cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9pZF9zZWxmX2xpc3QgYW5kIG9wX2dldF9i
eV9pZF9wcm90b19saXN0IGluc3RydWN0aW9uIHRvIGhvbGQgZGF0YSBvZmYgdGhlIG1haW4gb3Bj
b2RlIHN0cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0IDog
RmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlz
dCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAg
ICAgc3RydWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWlu
OwogICAgICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVU
eXBlIHN0dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1NhbXBsaW5nVG9vbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBs
aW5nVG9vbC5oCmluZGV4IDhlM2VkOWUuLjljYTU0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKQEAgLTE0Miw3ICsxNDIsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgZnJpZW5kIGNsYXNzIEhvc3RDYWxsUmVjb3JkOwogICAgICAgICAK
ICNpZiBFTkFCTEUoT1BDT0RFX1NBTVBMSU5HKQotICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3JkKTsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wqIHNhbXBsaW5nVG9vbCkKICAgICAg
ICAgICAgICAgICA6IG1fc2FtcGxpbmdUb29sKHNhbXBsaW5nVG9vbCkKQEAgLTE3Miw3ICsxNzMs
OCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICNlbHNlCi0g
ICAgICAgIGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBj
bGFzcyBDYWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxS
ZWNvcmQpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5n
VG9vbCopCiAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggOGIwY2M0MC4uZGUxNmY4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuaApAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUgIlN5bWJvbFRhYmxlLmgi
CiAjaW5jbHVkZSAiRGVidWdnZXIuaCIKICNpbmNsdWRlICJOb2Rlcy5oIgotI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvU2VnbWVudGVkVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtODUs
NyArODQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHBy
b3BlcnR5UmVnaXN0ZXI7CiAgICAgfTsKIAotICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9yIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9yIHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB0eXBl
ZGVmIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRl
ZiBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAppbmRleCAzNTMy
YWQ4Li43OGQ0OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL1JlZ2lzdGVySUQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L1JlZ2lzdGVySUQuaApAQCAtMzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAog
CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0g
ICAgY2xhc3MgUmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVn
aXN0ZXJJRCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAg
IHB1YmxpYzoKICAgICAgICAgUmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQo
MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRD
YWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCmlu
ZGV4IGRmYmU2NTguLjc0MDAwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9DYWNoZWRDYWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0NhY2hlZENhbGwuaApAQCAtMzIsNyArMzIsOCBAQAogI2luY2x1ZGUgIkludGVycHJl
dGVyLmgiCiAKIG5hbWVzcGFjZSBKU0MgewotICAgIGNsYXNzIENhY2hlZENhbGwgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIENhY2hlZENhbGwgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDYWNoZWRDYWxsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9u
KiBmdW5jdGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRl
eCA0Nzc5MGNmLi43NTNkOTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBJbnRlcnByZXRl
cl9oCiAKICNpbmNsdWRlICJBcmdMaXN0LmgiCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgog
I2luY2x1ZGUgIkpTQ2VsbC5oIgogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJKU09i
amVjdC5oIgpAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0geyBN
YXhMYXJnZVRocmVhZFJlZW50cnlEZXB0aCA9IDI1NiwgTWF4U21hbGxUaHJlYWRSZWVudHJ5RGVw
dGggPSAzMiB9OwogCi0gICAgY2xhc3MgSW50ZXJwcmV0ZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgSW50ZXJwcmV0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICAgICAgZnJpZW5kIGNsYXNzIENh
Y2hlZENhbGw7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1JlZ2lzdGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvUmVnaXN0ZXIuaAppbmRleCAzOGQxNjQ3Li4zOTQ0NjQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5j
bHVkZSAiSlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5
cGVkZWYgRXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGlj
IFdURjo6RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZ2lzdGVyKCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZp
bGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaApp
bmRleCBmMmU2NTUzLi5mOGI2NGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL1JlZ2lzdGVyRmlsZS5oCkBAIC04OSw3ICs4OSw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVyRmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFz
cyBKSVQ7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCA3OTk4N2FmLi4xZGQ1MjdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgY2xhc3MgUmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIExleGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTGV4ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIC8vIENoYXJhY3RlciBtYW5pcHVsYXRpb24gZnVuY3Rpb25zLgogICAgICAgICBzdGF0
aWMgYm9vbCBpc1doaXRlU3BhY2UoaW50IGNoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVzLmgKaW5kZXggNTRiNzIzMS4uNmU3M2MwMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZXMuaApAQCAtMTM3Niw3ICsxMzc2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIFBhcmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9OwogCi0gICAgc3RydWN0IFNjb3BlTm9k
ZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgU2NvcGVOb2RlRGF0YSB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRl
ZiBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYg
RGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKIApAQCAtMTQ3
Miw2ICsxNDc0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNsYXNzIEZ1bmN0
aW9uUGFyYW1ldGVycyA6IHB1YmxpYyBWZWN0b3I8SWRlbnRpZmllcj4sIHB1YmxpYyBSZWZDb3Vu
dGVkPEZ1bmN0aW9uUGFyYW1ldGVycz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZ1bmN0aW9uUGFyYW1l
dGVycz4gY3JlYXRlKFBhcmFtZXRlck5vZGUqIGZpcnN0UGFyYW1ldGVyKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgRnVuY3Rpb25QYXJhbWV0ZXJzKGZpcnN0UGFyYW1ldGVyKSk7IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggMjEzODI3Yi4uNzIwNmQ2MSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC00NSw4ICs0NSwxMCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFyc2VyQXJlbmFE
YXRhIDogUGFyc2VyQXJlbmFEZWxldGFibGUgeyBUIGRhdGE7IH07CiAKLSAgICBjbGFzcyBQYXJz
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQ
YXJzZWROb2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3Ru
ZXNzIHN0cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oCmluZGV4IDdjMTgwOWUuLjgyZmI4MDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKQEAgLTM0LDcgKzM0LDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUGFyc2VyQXJlbmFEZWxldGFibGU7CiAgICAg
Y2xhc3MgUGFyc2VyQXJlbmFSZWZDb3VudGVkOwogCi0gICAgY2xhc3MgSWRlbnRpZmllckFyZW5h
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQUxX
QVlTX0lOTElORSBjb25zdCBJZGVudGlmaWVyJiBtYWtlSWRlbnRpZmllcihKU0dsb2JhbERhdGEq
LCBjb25zdCBVQ2hhciogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCk7CiAgICAgICAgIGNvbnN0
IElkZW50aWZpZXImIG1ha2VOdW1lcmljSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBkb3VibGUg
bnVtYmVyKTsKQEAgLTU5LDcgKzYwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVy
biBtX2lkZW50aWZpZXJzLmxhc3QoKTsKICAgICB9CiAKLSAgICBjbGFzcyBQYXJzZXJBcmVuYSA6
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXJBcmVuYSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBhcnNlckFyZW5hKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhcnNlckFy
ZW5hKCk7CiAgICAgICAgIH5QYXJzZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wY3Jl
L3BjcmVfZXhlYy5jcHAKaW5kZXggNzg5ZjgwYS4uYjcwMThhYSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC0xMTIsNyArMTEyLDkgQEAgc3RydWN0IEJyYWNr
ZXRDaGFpbk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7CiB9OwogCi1zdHJ1
Y3QgTWF0Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNoRnJhbWUgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFJldHVybkxvY2F0aW9uIHJl
dHVybkxvY2F0aW9uOwogICAgIHN0cnVjdCBNYXRjaEZyYW1lKiBwcmV2aW91c0ZyYW1lOwogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlm
aWVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaApp
bmRleCA3NmMxNDcwLi5hOTgyN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvQ2FsbElkZW50aWZpZXIuaApAQCAtMjgsMTMgKzI4LDE0IEBACiAjZGVmaW5lIENhbGxJ
ZGVudGlmaWVyX2gKIAogI2luY2x1ZGUgPHJ1bnRpbWUvVVN0cmluZy5oPgotI2luY2x1ZGUgIkZh
c3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBD
YWxsSWRlbnRpZmllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgQ2FsbElk
ZW50aWZpZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6
CiAgICAgICAgIFVTdHJpbmcgbV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAg
ICB1bnNpZ25lZCBtX2xpbmVOdW1iZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcHJvZmlsZXIvUHJvZmlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Q
cm9maWxlci5oCmluZGV4IGY5YzJjY2IuLmY4ODc0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wcm9maWxlci9Qcm9maWxlci5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgIGNsYXNzIFVTdHJpbmc7CiAgICAgc3RydWN0IENhbGxJZGVudGlmaWVyOyAgICAKIAotICAg
IGNsYXNzIFByb2ZpbGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFByb2Zp
bGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBzdGF0aWMgUHJvZmlsZXIqKiBlbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKaW5kZXggY2Q1NjNhMi4u
NTdlM2MyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlz
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUs
MTQgKzI1LDE0IEBACiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFz
cyBNYXJrU3RhY2s7CiAKLSAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToK
ICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAg
ICAgdHlwZWRlZiBWZWN0b3I8UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi5m
ZTkwMGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVu
dHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaApAQCAt
MzMsNyArMzMsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQXJndW1lbnRz
RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEFyZ3VtZW50c0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIEFyZ3VtZW50c0RhdGEoKSB7IH0KICAgICAgICAg
SlNBY3RpdmF0aW9uKiBhY3RpdmF0aW9uOwogCiAgICAgICAgIHVuc2lnbmVkIG51bVBhcmFtZXRl
cnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJh
bnNpdGlvbk9wdGltaXplci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hl
ZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAppbmRleCA3NDA4OWE1Li5kYjJkMWQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXpl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9u
T3B0aW1pemVyLmgKQEAgLTI3LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlv
bk9wdGltaXplcl9oCiAjZGVmaW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVz
cGFjZSBKU0MgewogCi0gICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIp
OwogICAgIHB1YmxpYzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmpl
Y3QqIG9iamVjdCkKICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggMWUyMmI2
YS4uNjU4N2E4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29t
bW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21t
b25JZGVudGlmaWVycy5oCkBAIC04NCw3ICs4NCw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0g
ICAgY2xhc3MgQ29tbW9uSWRlbnRpZmllcnMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIENvbW1vbklkZW50aWZpZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29t
bW9uSWRlbnRpZmllcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgog
ICAgICAgICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0hlYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuaAppbmRl
eCAyNDNiYmEzLi4zZTFkODg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9IZWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5oCkBA
IC00NSw3ICs0NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBPcGVyYXRpb25JblBy
b2dyZXNzIHsgTm9PcGVyYXRpb24sIEFsbG9jYXRpb24sIENvbGxlY3Rpb24gfTsKIAotICAgIGNs
YXNzIEhlYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhlYXAgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShIZWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZvaWQg
ZGVzdHJveSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaAppbmRleCBhMjJiMGFhLi4yNGJjMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTQ2NSw3ICs0NjUsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgcmV0dXJuIG5ldyAoZXhlYykgSlNBcnJheShleGVjLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJlKCksIHZhbHVlcyk7CiAgICAgfQogCi0gICAg
Y2xhc3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUpOwogICAgIHB1YmxpYzoKICAgICAgICAg
RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbE9i
amVjdCogZHluYW1pY0dsb2JhbE9iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTTG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNMb2NrLmgKaW5kZXggMDViMzg4Yy4uN2IwN2I0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNMb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNMb2NrLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBl
bnVtIEpTTG9ja0JlaGF2aW9yIHsgU2lsZW5jZUFzc2VydGlvbnNPbmx5LCBMb2NrRm9yUmVhbCB9
OwogCi0gICAgY2xhc3MgSlNMb2NrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBK
U0xvY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU0xvY2spOwogICAgIHB1Ymxp
YzoKICAgICAgICAgSlNMb2NrKEV4ZWNTdGF0ZSopOwogICAgICAgICBKU0xvY2soSlNHbG9iYWxE
YXRhKik7CkBAIC04OSw3ICs5MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIEpTTG9j
a0JlaGF2aW9yIG1fbG9ja0JlaGF2aW9yOwogCi0gICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyB7CisgICAg
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcm9wQWxsTG9ja3MpOwogICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBEcm9wQWxsTG9ja3MoRXhlY1N0YXRlKiBleGVjKTsKICAgICAgICAg
ICAgIERyb3BBbGxMb2NrcyhKU0xvY2tCZWhhdmlvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCmluZGV4IDllNjMwMjcuLmRmNGJlNTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4
IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBT
dHJpbmdpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmlu
Z2lmaWVyKEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAg
IH5TdHJpbmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTG9va3VwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAppbmRl
eCA5YmM4MWQ0Li4wZDZkOThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Mb29rdXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAu
aApAQCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jIEdldEZ1bmN0aW9uOwogICAgIHR5cGVkZWYgdm9pZCAoKlB1dEZ1
bmN0aW9uKShFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSB2YWx1ZSk7
CiAKLSAgICBjbGFzcyBIYXNoRW50cnkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xh
c3MgSGFzaEVudHJ5IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBj
aGFyIGF0dHJpYnV0ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lU3RhY2tN
YXJrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVTdGFja01hcmtl
ci5oCmluZGV4IGU4MGZlMDUuLmIxODY4MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hY2hpbmVTdGFja01hcmtlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL01hY2hpbmVTdGFja01hcmtlci5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgIGNsYXNzIEhlYXA7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogCi0gICAg
Y2xhc3MgTWFjaGluZVN0YWNrTWFya2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBNYWNoaW5lU3RhY2tNYXJrZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYWNo
aW5lU3RhY2tNYXJrZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWFjaGluZVN0YWNrTWFya2Vy
KEhlYXAqKTsKICAgICAgICAgfk1hY2hpbmVTdGFja01hcmtlcigpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9NYXJrU3RhY2suaAppbmRleCA3YmNjYWRmLi5mNTRjZmE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2suaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2suaApAQCAtMzcsNyArMzcsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAKICAgICBlbnVtIE1hcmtTZXRQcm9wZXJ0aWVzIHsgTWF5Q29u
dGFpbk51bGxWYWx1ZXMsIE5vTnVsbFZhbHVlcyB9OwogICAgIAotICAgIGNsYXNzIE1hcmtTdGFj
ayA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrU3RhY2sgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShNYXJrU3RhY2spOwogICAgIHB1YmxpYzoKICAgICAgICAgTWFya1N0YWNr
KHZvaWQqIGpzQXJyYXlWUHRyKQogICAgICAgICAgICAgOiBtX2pzQXJyYXlWUHRyKGpzQXJyYXlW
UHRyKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3Bh
Y2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZFNwYWNlLmgKaW5kZXgg
NzhmOTE4Yy4uM2IwYzVlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvTWFya2VkU3BhY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJr
ZWRTcGFjZS5oCkBAIC02Myw3ICs2Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAg
ICAgfTsKIAotICAgIGNsYXNzIE1hcmtlZFNwYWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBNYXJrZWRTcGFjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtl
ZFNwYWNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtlZFNwYWNlKEpTR2xvYmFsRGF0YSop
OwogICAgICAgICB2b2lkIGRlc3Ryb3koUHJvdGVjdENvdW50U2V0Jik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1
Li4xNzE0YmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cENvbnN0cnVjdG9yLmgKQEAgLTMxLDcgKzMxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xh
c3MgUmVnRXhwUHJvdG90eXBlOwogICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGU7
CiAKLSAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlIDogRmFzdEFsbG9jQmFzZSB7
CisgICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgLy8gR2xvYmFsIHNlYXJjaCBj
YWNoZSAvIHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAg
ICAgICAgICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9SZWdFeHBPYmplY3QuaAppbmRleCAxOWRlOTI5Li4yODVjOTY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaApAQCAtNjAsNyArNjAsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRh
KENhbGxEYXRhJik7CiAKLSAgICAgICAgc3RydWN0IFJlZ0V4cE9iamVjdERhdGEgOiBGYXN0QWxs
b2NCYXNlIHsKKyAgICAgICAgc3RydWN0IFJlZ0V4cE9iamVjdERhdGEgeworICAgICAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJl
Z0V4cE9iamVjdERhdGEoTm9uTnVsbFBhc3NSZWZQdHI8UmVnRXhwPiByZWdFeHAsIGRvdWJsZSBs
YXN0SW5kZXgpCiAgICAgICAgICAgICAgICAgOiByZWdFeHAocmVnRXhwKQogICAgICAgICAgICAg
ICAgICwgbGFzdEluZGV4KGxhc3RJbmRleCkKQEAgLTcwLDcgKzcyLDkgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgICAgICBSZWZQdHI8UmVnRXhwPiByZWdFeHA7CiAgICAgICAgICAgICBkb3Vi
bGUgbGFzdEluZGV4OwogICAgICAgICB9OwotCisjaWYgUExBVEZPUk0oV0lOKQorICAgICAgICBm
cmllbmQgdm9pZCBXVEY6OmRlbGV0ZU93bmVkUHRyPFJlZ0V4cE9iamVjdERhdGE+KFJlZ0V4cE9i
amVjdERhdGEqKTsKKyNlbmRpZgogICAgICAgICBPd25QdHI8UmVnRXhwT2JqZWN0RGF0YT4gZDsK
ICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29w
ZUNoYWluLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgKaW5k
ZXggMGIxNWI2Ny4uYjEwNGU3NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU2NvcGVDaGFpbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nj
b3BlQ2hhaW4uaApAQCAtMjEsNyArMjEsNyBAQAogI2lmbmRlZiBTY29wZUNoYWluX2gKICNkZWZp
bmUgU2NvcGVDaGFpbl9oCiAKLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCisjaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKQEAgLTMxLDcgKzMxLDgg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNjb3Bl
Q2hhaW5JdGVyYXRvcjsKICAgICAKLSAgICBjbGFzcyBTY29wZUNoYWluTm9kZSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBTY29wZUNoYWluTm9kZSB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2NvcGVDaGFpbk5vZGUo
U2NvcGVDaGFpbk5vZGUqIG5leHQsIEpTT2JqZWN0KiBvYmplY3QsIEpTR2xvYmFsRGF0YSogZ2xv
YmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGdsb2JhbFRo
aXMpCiAgICAgICAgICAgICA6IG5leHQobmV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCmluZGV4IGYzNTg3MjcuLjU2MTQ5MzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcApAQCAtNDAsNyAr
NDAsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNNYXJrZWQoSlNTdHJpbmcqIHN0cmluZykKICAg
ICByZXR1cm4gc3RyaW5nICYmIEhlYXA6OmlzQ2VsbE1hcmtlZChzdHJpbmcpOwogfQogCi1jbGFz
cyBTbWFsbFN0cmluZ3NTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNtYWxs
U3RyaW5nc1N0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5nc1N0
b3JhZ2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTbWFsbFN0cmlu
Z3NTdG9yYWdlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1NtYWxsU3RyaW5ncy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJp
bmdzLmgKaW5kZXggZDFlYmZiMTMuLmFjODRmZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgIGNsYXNzIE1hcmtTdGFjazsKICAgICBjbGFzcyBTbWFsbFN0cmluZ3NTdG9yYWdlOwog
Ci0gICAgY2xhc3MgU21hbGxTdHJpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBTbWFsbFN0cmluZ3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmlu
Z3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNtYWxs
U3RyaW5ncygpOwogICAgICAgICB+U21hbGxTdHJpbmdzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAppbmRleCAxYjE2MzZkLi4yNjM1NTAxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKQEAgLTEyMiw2ICsxMjIs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0lt
cGw+LCBTeW1ib2xUYWJsZUVudHJ5LCBJZGVudGlmaWVyUmVwSGFzaCwgSGFzaFRyYWl0czxSZWZQ
dHI8U3RyaW5nSW1wbD4gPiwgU3ltYm9sVGFibGVJbmRleEhhc2hUcmFpdHM+IFN5bWJvbFRhYmxl
OwogCiAgICAgY2xhc3MgU2hhcmVkU3ltYm9sVGFibGUgOiBwdWJsaWMgU3ltYm9sVGFibGUsIHB1
YmxpYyBSZWZDb3VudGVkPFNoYXJlZFN5bWJvbFRhYmxlPiB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hh
cmVkU3ltYm9sVGFibGU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTaGFyZWRTeW1i
b2xUYWJsZSk7IH0KICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDTWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9X
ZWFrR0NNYXAuaAppbmRleCAyZDRlNTlkLi4zMTY3OTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NNYXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9XZWFrR0NNYXAuaApAQCAtMzUsNyArMzUsOCBAQCBjbGFzcyBKU0NlbGw7CiAK
IC8vIEEgSGFzaE1hcCB3aG9zZSBnZXQoKSBmdW5jdGlvbiByZXR1cm5zIGVtcHR5VmFsdWUoKSBm
b3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCiB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBl
LCB0eXBlbmFtZSBNYXBwZWRUeXBlPgotY2xhc3MgV2Vha0dDTWFwIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgV2Vha0dDTWFwIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICAvKgogICAgIEludmFyaWFudHM6CiAgICAgICAgICogQSB2YWx1ZSBlbnRlcnMgdGhlIFdl
YWtHQ01hcCBtYXJrZWQuIChHdWFyYW50ZWVkIGJ5IHNldCgpLikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKaW5kZXggNmNjNzVhNS4uNDk0NmVlNyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmgKQEAgLTI4LDEyICsyOCwxMiBAQAog
CiAjaW5jbHVkZSAiSGVhcC5oIgogI2luY2x1ZGUgIkdDSGFuZGxlLmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAvLyBBIHNtYXJ0IHBvaW50ZXIg
d2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyAwIGZvciBjZWxscyBhd2FpdGluZyBkZXN0cnVj
dGlvbi4KLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgOiBOb25jb3B5YWJs
ZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXZWFrR0NQdHIpOwogcHVibGljOgogICAgIFdlYWtHQ1B0cigpCiAgICAg
ICAgIDogbV9wdHIoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jv
c3NUaHJlYWRSZWZDb3VudGVkLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhy
ZWFkUmVmQ291bnRlZC5oCmluZGV4IDBjMGU5OTcuLjhiNjU5NzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaApAQCAtNTEsNyArNTEs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aXRoIHJlc3BlY3QgdG8gdGhlIG9yaWdpbmFs
IGFuZCBhbnkgb3RoZXIgY29waWVzLiAgVGhlIHVuZGVybHlpbmcgbV9kYXRhIGlzIGpvaW50bHkK
ICAgICAvLyBvd25lZCBieSB0aGUgb3JpZ2luYWwgaW5zdGFuY2UgYW5kIGFsbCBjb3BpZXMuCiAg
ICAgdGVtcGxhdGU8Y2xhc3MgVD4KLSAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVmQ291bnRlZCk7CiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDcm9zc1RocmVhZFJlZkNvdW50ZWQ8
VD4gPiBjcmVhdGUoVCogZGF0YSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRl
TWF0aC5oCmluZGV4IDhkMGQ5MzIuLjQxYmQ0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvRGF0ZU1hdGguaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Rh
dGVNYXRoLmgKQEAgLTQ0LDYgKzQ0LDcgQEAKICNkZWZpbmUgRGF0ZU1hdGhfaAogCiAjaW5jbHVk
ZSA8bWF0aC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogI2lu
Y2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KQEAgLTEyMCw3ICsx
MjEsOSBAQCBkb3VibGUgcGFyc2VEYXRlRnJvbU51bGxUZXJtaW5hdGVkQ2hhcmFjdGVycyhFeGVj
U3RhdGUqLCBjb25zdCBjaGFyKiBkYXRlU3RyaW5nKQogCiAvLyBJbnRlbnRpb25hbGx5IG92ZXJy
aWRkaW5nIHRoZSBkZWZhdWx0IHRtIG9mIHRoZSBzeXN0ZW0uCiAvLyBUaGUgbWVtYmVycyBvZiB0
bSBkaWZmZXIgb24gdmFyaW91cyBvcGVyYXRpbmcgc3lzdGVtcy4KLXN0cnVjdCBHcmVnb3JpYW5E
YXRlVGltZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBHcmVnb3JpYW5EYXRlVGltZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoR3JlZ29yaWFuRGF0ZVRpbWUpOworcHVibGljOgogICAgIEdy
ZWdvcmlhbkRhdGVUaW1lKCkKICAgICAgICAgOiBzZWNvbmQoMCkKICAgICAgICAgLCBtaW51dGUo
MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAppbmRleCA3NDVlMGI2Li4xYjE2YWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXVEYg
ewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIERlcXVlQ29uc3RSZXZlcnNlSXRlcmF0
b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIERlcXVlIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIERlcXVlIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERlcXVlSXRlcmF0b3I8
VD4gaXRlcmF0b3I7CiAgICAgICAgIHR5cGVkZWYgRGVxdWVDb25zdEl0ZXJhdG9yPFQ+IGNvbnN0
X2l0ZXJhdG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxs
b2NCYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAppbmRl
eCBiYjE4MjVlLi5iYjkwMTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0Zhc3RBbGxvY0Jhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxv
Y0Jhc2UuaApAQCAtMzIsOCArMzIsOCBAQAogLy8gUHJvdmlkZXMgY3VzdG9taXphYmxlIG92ZXJy
aWRlcyBvZiBmYXN0TWFsbG9jL2Zhc3RGcmVlIGFuZCBvcGVyYXRvciBuZXcvZGVsZXRlCiAvLwog
Ly8gUHJvdmlkZWQgZnVuY3Rpb25hbGl0eToKKy8vICAgIE1hY3JvOiBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRAogLy8gICAgbmFtZXNwYWNlIFdURiB7Ci0vLyAgICAgICAgY2xhc3MgRmFzdEFsbG9j
QmFzZTsKIC8vCiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxUPigpOwogLy8gICAgICAgIFQqICAg
IGZhc3ROZXc8VD4oYXJnKTsKQEAgLTQ4LDcgKzQ4LDEwIEBACiAvLyBGYXN0RGVsZXRlIGFzc3Vt
ZXMgdGhhdCB0aGUgdW5kZXJseWluZwogLy8KIC8vIEV4YW1wbGUgdXNhZ2U6Ci0vLyAgICBjbGFz
cyBXaWRnZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7IC4uLiB9OworLy8gICAgY2xhc3MgV2lk
Z2V0IHsKKy8vICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRAorLy8gICAgLi4uCisvLyAg
ICB9OwogLy8KIC8vICAgIGNoYXIqIGNoYXJQdHIgPSBmYXN0TmV3PGNoYXI+KCk7CiAvLyAgICBm
YXN0RGVsZXRlKGNoYXJQdHIpOwpAQCAtODMsOCArODYsNiBAQAogI2luY2x1ZGUgIkZhc3RNYWxs
b2MuaCIKICNpbmNsdWRlICJUeXBlVHJhaXRzLmgiCiAKLW5hbWVzcGFjZSBXVEYgewotCiAjZGVm
aW5lIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEIFwKIHB1YmxpYzogXAogICAgIHZvaWQqIG9wZXJh
dG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXApAQCAtMTE1LDExICsxMTYs
MTAgQEAgcHVibGljOiBcCiAgICAgICAgICA6OldURjo6ZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVG
cmVlKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKICAgICAg
ICAgIDo6V1RGOjpmYXN0RnJlZShwKTsgXAogICAgIH0gXAotcHJpdmF0ZToKK3ByaXZhdGU6IFwK
K3R5cGVkZWYgaW50IFRoaXNJc0hlcmVUb0ZvcmNlQVNlbWljb2xvbkFmdGVyVGhpc01hY3JvCiAK
LWNsYXNzIEZhc3RBbGxvY0Jhc2UgewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEICAKLX07
CituYW1lc3BhY2UgV1RGIHsKIAogICAgIC8vIGZhc3ROZXcgLyBmYXN0RGVsZXRlCiAKQEAgLTQx
MCw3ICs0MTAsNiBAQCBjbGFzcyBGYXN0QWxsb2NCYXNlIHsKIAogfSAvLyBuYW1lc3BhY2UgV1RG
CiAKLXVzaW5nIFdURjo6RmFzdEFsbG9jQmFzZTsKIHVzaW5nIFdURjo6ZmFzdERlbGV0ZVNraXBw
aW5nRGVzdHJ1Y3RvcjsKIAogI2VuZGlmIC8vIEZhc3RBbGxvY0Jhc2VfaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCmluZGV4IDRlZDc1YzUuLmI5N2Q4YzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0LmgKQEAgLTIyLDE0ICsy
MiwxNCBAQAogI2RlZmluZSBXVEZfSGFzaENvdW50ZWRTZXRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0
aW9ucy5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlICJIYXNoTWFwLmgi
CiAjaW5jbHVkZSAiVmVjdG9yLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMgPSB0eXBlbmFtZSBEZWZhdWx0
SGFzaDxWYWx1ZT46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRyYWl0cyA9IEhhc2hUcmFpdHM8
VmFsdWU+ID4gY2xhc3MgSGFzaENvdW50ZWRTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgICAgIHR5cGVuYW1lIFRyYWl0cyA9IEhhc2hUcmFpdHM8VmFsdWU+ID4gY2xhc3MgSGFzaENv
dW50ZWRTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRl
OgogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8VmFsdWUsIHVuc2lnbmVkLCBIYXNoRnVuY3Rpb25z
LCBUcmFpdHM+IEltcGxUeXBlOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNo
TWFwLmgKaW5kZXggMDkwOTRkMS4uNzczMTU0NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9IYXNoTWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNo
TWFwLmgKQEAgLTI5LDcgKzI5LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBLZXlBcmcsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5
cGVuYW1lIERlZmF1bHRIYXNoPEtleUFyZz46Okhhc2gsCiAgICAgICAgIHR5cGVuYW1lIEtleVRy
YWl0c0FyZyA9IEhhc2hUcmFpdHM8S2V5QXJnPiwgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnID0g
SGFzaFRyYWl0czxNYXBwZWRBcmc+ID4KLSAgICBjbGFzcyBIYXNoTWFwIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworICAgIGNsYXNzIEhhc2hNYXAgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlU
cmFpdHM7CiAgICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKaW5kZXggNjY2MzllNC4uYmU2YjkzZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9IYXNoU2V0LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IElkZW50aXR5RXh0cmFjdG9yOwog
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBl
bmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2gsCi0gICAgICAgIHR5cGVuYW1lIFRyYWl0
c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1
ZUFyZz4gPiBjbGFzcyBIYXNoU2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBIYXNoQXJnIEhhc2hGdW5jdGlvbnM7CiAg
ICAgICAgIHR5cGVkZWYgVHJhaXRzQXJnIFZhbHVlVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9MaXN0SGFzaFNldC5oCmluZGV4IGUxNGFjNDUuLmU5MTZlZjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKQEAgLTUyLDcgKzUyLDggQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0
eT4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBIYXNoQXJnPiBzdHJ1
Y3QgTGlzdEhhc2hTZXROb2RlSGFzaEZ1bmN0aW9uczsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcg
PSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJn
LCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAyNTYsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFt
ZSBEZWZhdWx0SGFzaDxWYWx1ZUFyZz46Okhhc2g+IGNsYXNzIExpc3RIYXNoU2V0IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRl
ZiBMaXN0SGFzaFNldE5vZGU8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2RlOwogICAgICAg
ICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxWYWx1ZUFyZywgaW5saW5lQ2FwYWNp
dHk+IE5vZGVBbGxvY2F0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0xvY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAppbmRleCA0MTgx
M2QzLi5jNDY1Yjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xvY2tl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKQEAgLTMyLDcgKzMy
LDggQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBM
b2NrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNz
IExvY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9ja2VyKTsKIHB1YmxpYzoKICAg
ICBMb2NrZXIoVCYgbG9ja2FibGUpIDogbV9sb2NrYWJsZShsb2NrYWJsZSkgeyBtX2xvY2thYmxl
LmxvY2soKTsgfQogICAgIH5Mb2NrZXIoKSB7IG1fbG9ja2FibGUudW5sb2NrKCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCmluZGV4IDE0MTAwYzkuLjdjMThhMGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1ZXVlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaApAQCAtNDgsNyArNDgs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyB3aGVuIG1lc3NhZ2VzIGFyZSBmZXRjaGVkIGZy
b20gdGhlIHF1ZXVlLgogICAgIC8vIEVzc2VudGlhbGx5LCBNZXNzYWdlUXVldWUgYWN0cyBhcyBh
IHF1ZXVlIG9mIE93blB0cjxEYXRhVHlwZT4uCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRGF0YVR5
cGU+Ci0gICAgY2xhc3MgTWVzc2FnZVF1ZXVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBNZXNzYWdlUXVldWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXNzYWdl
UXVldWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWVzc2FnZVF1ZXVlKCkgOiBtX2tpbGxlZChm
YWxzZSkgeyB9CiAgICAgICAgIH5NZXNzYWdlUXVldWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvTm9uY29weWFibGUuaAppbmRleCAyODVlZDJlLi5jYzZiYzU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCkBAIC00MSwyMyArNDEsNCBAQAogICAgICAgICAgICAg
Q2xhc3NOYW1lJiBvcGVyYXRvcj0oY29uc3QgQ2xhc3NOYW1lJikKICNlbmRpZgogCi0vLyBXZSBk
b24ndCB3YW50IGFyZ3VtZW50LWRlcGVuZGVudCBsb29rdXAgdG8gcHVsbCBpbiBldmVyeXRoaW5n
IGZyb20gdGhlIFdURgotLy8gbmFtZXNwYWNlIHdoZW4geW91IHVzZSBOb25jb3B5YWJsZSwgc28g
cHV0IGl0IGluIGl0cyBvd24gbmFtZXNwYWNlLgotCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5o
IgotCi1uYW1lc3BhY2UgV1RGTm9uY29weWFibGUgewotCi0gICAgY2xhc3MgTm9uY29weWFibGUg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Ci0gICAgICAgIE5vbmNvcHlhYmxlKGNvbnN0IE5vbmNv
cHlhYmxlJik7Ci0gICAgICAgIE5vbmNvcHlhYmxlJiBvcGVyYXRvcj0oY29uc3QgTm9uY29weWFi
bGUmKTsKLSAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIE5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgICAg
IH5Ob25jb3B5YWJsZSgpIHsgfQotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURk5vbmNvcHlh
YmxlCi0KLXVzaW5nIFdURk5vbmNvcHlhYmxlOjpOb25jb3B5YWJsZTsKLQogI2VuZGlmIC8vIFdU
Rl9Ob25jb3B5YWJsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093
bkFycmF5UHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKaW5k
ZXggNjQzYjkwYi4uZGJkMzRhZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9Pd25BcnJheVB0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQ
dHIuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIFBhc3NPd25BcnJheVB0cjsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25B
cnJheVB0cjxUPiBhZG9wdEFycmF5UHRyKFQqKTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNs
YXNzIE93bkFycmF5UHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBUPiBjbGFzcyBPd25BcnJheVB0ciB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBUKiBQdHJUeXBl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQ
dHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oCmluZGV4
IDhiNmNiZjQuLjlkNDg0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
T3duRmFzdE1hbGxvY1B0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duRmFz
dE1hbGxvY1B0ci5oCkBAIC0yMywxMSArMjMsMTEgQEAKICNkZWZpbmUgT3duRmFzdE1hbGxvY1B0
cl9oCiAKICNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCi0jaW5jbHVkZSAiTm9uY29weWFibGUuaCIK
IAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBPd25GYXN0
TWFsbG9jUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBj
bGFzcyBPd25GYXN0TWFsbG9jUHRyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT3du
RmFzdE1hbGxvY1B0cik7CiAgICAgcHVibGljOgogICAgICAgICBleHBsaWNpdCBPd25GYXN0TWFs
bG9jUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L093blB0ci5oCmluZGV4IGNkYzI3N2MuLmZiNTk0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvT3duUHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9P
d25QdHIuaApAQCAtMjIsNyArMjIsNiBAQAogI2RlZmluZSBXVEZfT3duUHRyX2gKIAogI2luY2x1
ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogI2luY2x1ZGUgIk51
bGxQdHIuaCIKICNpbmNsdWRlICJPd25QdHJDb21tb24uaCIKICNpbmNsdWRlICJUeXBlVHJhaXRz
LmgiCkBAIC0zOSw3ICszOCw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IGNsYXNzIFBhc3NPd25QdHI7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093
blB0cjxUPiBhZG9wdFB0cihUKik7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBP
d25QdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNs
YXNzIE93blB0ciB7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIHR5cGVuYW1lIFJlbW92
ZVBvaW50ZXI8VD46OlR5cGUgVmFsdWVUeXBlOwogICAgICAgICB0eXBlZGVmIFZhbHVlVHlwZSog
UHRyVHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRl
ZC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKaW5kZXggOGQ4YjMw
Mi4uZGExNzhiMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3Vu
dGVkLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmgKQEAgLTIy
LDYgKzIyLDcgQEAKICNkZWZpbmUgUmVmQ291bnRlZF9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25z
LmgiCisjaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgi
CiAKIG5hbWVzcGFjZSBXVEYgewpAQCAtMTMxLDcgKzEzMiw4IEBAIGlubGluZSB2b2lkIGFkb3B0
ZWQoUmVmQ291bnRlZEJhc2UqIG9iamVjdCkKIAogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UsIHB1YmxpYyBOb25j
b3B5YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGlj
IFJlZkNvdW50ZWRCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWZDb3VudGVkKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBkZXJlZigpCiAgICAg
ewpAQCAtMTQwLDYgKzE0Miw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByb3RlY3RlZDoKKyAgICBS
ZWZDb3VudGVkKCkgeyB9CiAgICAgflJlZkNvdW50ZWQoKQogICAgIHsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZWZQdHIuaAppbmRleCBkNTdmODhhLi4yYjZmN2VlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvUmVmUHRyLmgKQEAgLTIzLDkgKzIzLDkgQEAKICNpZm5kZWYgV1RGX1JlZlB0cl9o
CiAjZGVmaW5lIFdURl9SZWZQdHJfaAogCi0jaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUg
IkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNsdWRlICJQYXNzUmVmUHRyLmgiCisjaW5jbHVkZSA8YWxn
b3JpdGhtPgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtMzYsNyArMzYsOCBAQCBuYW1lc3BhY2Ug
V1RGIHsKIAogICAgIGVudW0gSGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSB7IEhhc2hUYWJsZURl
bGV0ZWRWYWx1ZSB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmUHRyIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJl
ZlB0ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoKSA6IG1fcHRyKDApIHsgfQogICAgICAgICBBTFdB
WVNfSU5MSU5FIFJlZlB0cihUKiBwdHIpIDogbV9wdHIocHRyKSB7IHJlZklmTm90TnVsbChwdHIp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ckhhc2hNYXAu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCmluZGV4IGI5ZTdl
ZWEuLmRiZWFiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRy
SGFzaE1hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5o
CkBAIC00NSw3ICs0NSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcsIHR5cGVu
YW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRzQXJnPgotICAgIGNsYXNzIEhh
c2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0FyZywgTWFwcGVk
VHJhaXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFwPFJl
ZlB0cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNBcmcsIE1hcHBlZFRyYWl0c0Fy
Zz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAg
ICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAgICAgICAgIHR5cGVkZWYgTWFw
cGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKaW5kZXggM2FmODdhOC4u
ZWQxYmEyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVu
dGlmaWVyRGF0YVB0aHJlYWRzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBU
aHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUgVGhyZWFkSWRlbnRpZmllckRh
dGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAvLyBIb2xkcyBUaHJlYWRJZGVu
dGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBhbmQgZW1wbG95cyBwdGhyZWFk
cy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFibHkgcmVtb3ZlCiAvLyBUaHJl
YWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVzIHJlZ3VsYXIgVGhyZWFkU3Bl
Y2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVzdHJ1Y3Rpb24uCi1jbGFzcyBU
aHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRJ
ZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkSWRlbnRpZmll
ckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVyRGF0YSgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNhZmVTaGFyZWQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCmluZGV4IDMzYzY2MTIuLmE2
YTFjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNo
YXJlZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5o
CkBAIC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8
d3RmL0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3
dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgVGhy
ZWFkU2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkU2Fm
ZVNoYXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNhZmVTaGFyZWRC
YXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGhyZWFkU2FmZVNo
YXJlZEJhc2UoaW50IGluaXRpYWxSZWZDb3VudCA9IDEpCiAgICAgICAgIDogbV9yZWZDb3VudChp
bml0aWFsUmVmQ291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZFNwZWNpZmljLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmlj
LmgKaW5kZXggOTNlZDQ2Ni4uZmE5YTM5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU3BlY2lmaWMuaApAQCAtNjEsNyArNjEsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQg
VGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8
dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBUaHJlYWRTcGVjaWZpYygpOwogICAg
IFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg1LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHN0
YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0UoUFRIUkVBRFMpIHx8IFBMQVRGT1JN
KFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1MpCi0gICAgc3RydWN0IERhdGEgOiBO
b25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERhdGEoVCogdmFsdWUsIFRocmVhZFNw
ZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93bmVyKG93bmVyKSB7fQogI2lmIFBM
QVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXItPmRlc3Ryb3kodGhpcyk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWNXaW4uY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKaW5kZXgg
ZjJjMGNhZC4uZDcyOTk2YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTcGVjaWZpY1dpbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
IAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBmaWxlIHNob3VsZCBub3QgYmUg
Y29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRvd3MgbmF0aXZlIFRocmVhZFNw
ZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcu
Y3BwCmluZGV4IDQ5ZGU1OWUuLmYyZTA1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Ro
cmVhZGluZy5jcHAKQEAgLTMwLDcgKzMwLDkgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAKLXN0cnVj
dCBOZXdUaHJlYWRDb250ZXh0IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgTmV3VGhyZWFkQ29u
dGV4dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTmV3VGhy
ZWFkQ29udGV4dChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2b2lkKiBkYXRhLCBjb25zdCBj
aGFyKiBuYW1lKQogICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQb2ludCkKICAgICAgICAgLCBk
YXRhKGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGlu
Z1ByaW1pdGl2ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0
aXZlcy5oCmluZGV4IGMxMWE2Y2IuLjgwOWMzZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm0uaCIKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTG9ja2VyLmg+CiAjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTk2LDcgKzk3LDggQEAgdHlwZWRlZiB2b2lkKiBQbGF0
Zm9ybVJlYWRXcml0ZUxvY2s7CiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtQ29uZGl0aW9uOwogI2Vu
ZGlmCiAgICAgCi1jbGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNdXRl
eCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTXV0ZXgpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRleCgpOwpAQCAtMTEzLDcgKzEx
NSw4IEBAIHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4PiBNdXRleExvY2tlcjsKIAot
Y2xhc3MgUmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFkV3Jp
dGVMb2NrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFkV3JpdGVMb2NrKTsKIHB1Ymxp
YzoKICAgICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0ZUxvY2soKTsKQEAgLTEzMCw3
ICsxMzMsOCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdyaXRlTG9jayBtX3JlYWRXcml0
ZUxvY2s7CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJl
YWRDb25kaXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRpdGlvbigpOwogICAgIH5UaHJl
YWRDb25kaXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVmVj
dG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5oCmluZGV4IGY3Mzc5M2Yu
LjZkOGRkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9yLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3IuaApAQCAtMjc3LDcgKzI3Nyw4
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgot
ICAgIGNsYXNzIFZlY3RvckJ1ZmZlckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFZlY3RvckJ1ZmZlckJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZWN0
b3JCdWZmZXJCYXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZvaWQgYWxsb2NhdGVCdWZmZXIo
c2l6ZV90IG5ld0NhcGFjaXR5KQogICAgICAgICB7CkBAIC00ODgsNyArNDg5LDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxp
bmVDYXBhY2l0eSA9IDA+Ci0gICAgY2xhc3MgVmVjdG9yIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworICAgIGNsYXNzIFZlY3RvciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yQnVmZmVyPFQsIGlubGluZUNhcGFj
aXR5PiBCdWZmZXI7CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yVHlwZU9wZXJhdGlvbnM8VD4gVHlw
ZU9wZXJhdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1dURlRo
cmVhZERhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCmlu
ZGV4IDUyYzI2N2EuLjI0M2FhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvV1RGVGhyZWFkRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhy
ZWFkRGF0YS5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiB0eXBlZGVmIEhh
c2hNYXA8Y29uc3QgY2hhciosIFJlZlB0cjxTdHJpbmdJbXBsPiwgUHRySGFzaDxjb25zdCBjaGFy
Kj4gPiBMaXRlcmFsSWRlbnRpZmllclRhYmxlOwogCi1jbGFzcyBJZGVudGlmaWVyVGFibGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBJZGVudGlmaWVyVGFibGUgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIH5JZGVudGlmaWVyVGFibGUoKTsKIApA
QCAtODUsNyArODYsOCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJsZTsKIAogdHlwZWRlZiB2b2lk
ICgqQXRvbWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNTdHJpbmdUYWJsZSopOwogCi1j
bGFzcyBXVEZUaHJlYWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdURlRocmVh
ZERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRocmVhZERhdGEpOwogcHVibGlj
OgogICAgIFdURlRocmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFkRGF0YSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvZHRvYS5jcHAKaW5kZXggYzg5YzAzNi4uYjViMTI2MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL2R0b2EuY3BwCkBAIC00MTQsNyArNDE0LDEwIEBAIHN0YXRpYyB2b2lkIG11bHQoQmln
SW50JiBhUmVmLCBjb25zdCBCaWdJbnQmIGJSZWYpCiAgICAgYVJlZiA9IGM7CiB9CiAKLXN0cnVj
dCBQNU5vZGUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUDVOb2RlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQNU5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAg
ICBQNU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwogICAgIFA1Tm9kZSogbmV4dDsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25QdHIuaAppbmRleCBjZWMzZTQz
Li40MTM2ZjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3Qv
R093blB0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29iamVjdC9HT3duUHRy
LmgKQEAgLTQxLDcgKzQxLDggQEAgdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQdHI8R1BhdHRl
cm5TcGVjPihHUGF0dGVyblNwZWMqKTsKIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRHUHRyPEdE
aXI+KEdEaXIqKTsKIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRHUHRyPEdGaWxlPihHRmlsZSop
OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093blB0ciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093blB0ciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoR093blB0cik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgR093blB0cihU
KiBwdHIgPSAwKSA6IG1fcHRyKHB0cikgeyB9CiAgICAgfkdPd25QdHIoKSB7IGZyZWVPd25lZEdQ
dHIobV9wdHIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQv
U3RyaW5nQnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVm
ZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaApAQCAtMzAsMTMgKzMwLDEzIEBACiAjZGVmaW5lIFN0
cmluZ0J1ZmZlcl9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KICNpbmNs
dWRlIDxsaW1pdHM+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBTdHJpbmdCdWZmZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTdHJpbmdCdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFN0cmluZ0J1
ZmZlcih1bnNpZ25lZCBsZW5ndGgpCiAgICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGxCYXNlLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaAppbmRleCA2NTY3
NjcyLi4yNmJjMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQv
U3RyaW5nSW1wbEJhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3Ry
aW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZuZGVmIFN0cmluZ0ltcGxCYXNl
X2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV1RGIHsK
IAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3Ry
aW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ0ltcGxCYXNlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgYm9vbCBpc1N0cmluZ0ltcGwo
KSB7IHJldHVybiAobV9yZWZDb3VudEFuZEZsYWdzICYgc19yZWZDb3VudEludmFsaWRGb3JTdHJp
bmdJbXBsKSAhPSBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0ltcGw7IH0KICAgICB1bnNpZ25l
ZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQpAQCAtNDUsOSArNDUsNiBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIEJ1ZmZlclNoYXJlZCwKICAgICB9OwogCi0gICAgdXNpbmcgTm9u
Y29weWFibGU6Om9wZXJhdG9yIG5ldzsKLSAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2
b2lkKiBpblBsYWNlKSB7IEFTU0VSVChpblBsYWNlKTsgcmV0dXJuIGluUGxhY2U7IH0KLQogICAg
IC8vIEZvciBTbWFsbFN0cmluZ1N0b3JhZ2UsIHdoaWNoIGFsbG9jYXRlcyBhbiBhcnJheSBhbmQg
dXNlcyBhbiBpbi1wbGFjZSBuZXcuCiAgICAgU3RyaW5nSW1wbEJhc2UoKSB7IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAppbmRleCBmZTZhODA5Li4w
MGFiMTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29s
bGF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3Iu
aApAQCAtMjksNiArMjksNyBAQAogI2lmbmRlZiBXVEZfQ29sbGF0b3JfaAogI2RlZmluZSBXVEZf
Q29sbGF0b3JfaAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTM5LDcgKzQwLDggQEAgc3RydWN0IFVDb2xsYXRv
cjsKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBDb2xsYXRvciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgQ29sbGF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDb2xsYXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIgPSAxLCBMZXNzID0gLTEgfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyckludGVycHJldGVy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuaAppbmRleCBi
ZTcwM2E5Li5lZWE1MjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9Z
YXJySW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySW50
ZXJwcmV0ZXIuaApAQCAtMjk5LDcgKzI5OSw4IEBAIHN0cnVjdCBCeXRlVGVybSB7CiAgICAgfQog
fTsKIAotY2xhc3MgQnl0ZURpc2p1bmN0aW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xh
c3MgQnl0ZURpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBCeXRlRGlzanVuY3Rpb24odW5zaWduZWQgbnVtU3VicGF0dGVybnMsIHVuc2lnbmVk
IGZyYW1lU2l6ZSkKICAgICAgICAgOiBtX251bVN1YnBhdHRlcm5zKG51bVN1YnBhdHRlcm5zKQpA
QCAtMzEyLDcgKzMxMyw5IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBtX2ZyYW1lU2l6ZTsKIH07
CiAKLXN0cnVjdCBCeXRlY29kZVBhdHRlcm4gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBCeXRl
Y29kZVBhdHRlcm4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAg
IEJ5dGVjb2RlUGF0dGVybihQYXNzT3duUHRyPEJ5dGVEaXNqdW5jdGlvbj4gYm9keSwgVmVjdG9y
PEJ5dGVEaXNqdW5jdGlvbio+IGFsbFBhcmVudGhlc2VzSW5mbywgWWFyclBhdHRlcm4mIHBhdHRl
cm4sIEJ1bXBQb2ludGVyQWxsb2NhdG9yKiBhbGxvY2F0b3IpCiAgICAgICAgIDogbV9ib2R5KGJv
ZHkpCiAgICAgICAgICwgbV9pZ25vcmVDYXNlKHBhdHRlcm4ubV9pZ25vcmVDYXNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRlcm4uaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmgKaW5kZXggMjE3MmRkYS4uZDgwZjY5MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRlcm4uaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0dGVybi5oCkBAIC02Myw3ICs2Myw5
IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotc3RydWN0IENoYXJhY3RlckNsYXNzIDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgogICAgIC8vIEFsbCBDaGFyYWN0ZXJDbGFzcyBpbnN0YW5jZXMgaGF2
ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRjaGVzIGFuZCByYW5nZXMsCiAgICAgLy8gdGhl
eSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3IgZmFzdGVyIGxvb2t1cHMgKHdoaWNoIG11
c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVkIG1hdGNoZXMgYW5kIHJhbmdlcykKQEAgLTIw
NCw3ICsyMDYsOSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0gewogICAgIH0KIH07CiAKLXN0cnVjdCBQ
YXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0ZXJuQWx0ZXJu
YXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBhdHRl
cm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1bmN0aW9uKQogICAgICAgICA6
IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25jZVRocm91Z2goZmFsc2UpCkBA
IC0yNDUsNyArMjQ5LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jh
c2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9OwogCi1zdHJ1Y3QgUGF0dGVybkRp
c2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBQYXR0ZXJuRGlzanVu
Y3Rpb24oUGF0dGVybkFsdGVybmF0aXZlKiBwYXJlbnQgPSAwKQogICAgICAgICA6IG1fcGFyZW50
KHBhcmVudCkKICAgICAgICAgLCBtX2hhc0ZpeGVkU2l6ZShmYWxzZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZTJmMjllLi4zZmUyMzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEtMTkg
IFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3Jpbmcgb2YgdGhlIGN1c3RvbSBh
bGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFz
ZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4
OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVwbGFjZXMgTm9uY29weWFibGUgYW5kIEZh
c3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5oZXJpdHMgd2l0aCB0aGVpcgorICAgICAg
ICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9uIGF0IHRoZSBuZWNlc3NhcnkgcGxhY2Vz
LgorCiAyMDExLTAxLTE5ICBEYWkgTWlrdXJ1YmUgIDxkbWlrdXJ1YmVAZ29vZ2xlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggNjcwZDZlMC4uMDBlN2ZiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKQEAgLTYwLDcgKzYwLDgg
QEAgc3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0VHlwZSB7IFBvc3RTeW5jaHJv
bm91c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3MgQVhPYmplY3RDYWNoZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQVhPYmplY3RDYWNoZShjb25zdCBEb2N1bWVudCopOwogICAgIH5BWE9iamVjdENh
Y2hlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3Jp
cHRTb3VyY2VQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaAppbmRleCA4MDlhNDg4Li5iNjk3NmFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVy
LmgKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENh
Y2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyIDogcHVibGljIFNjcmlwdFNvdXJjZVByb3ZpZGVyLCBw
dWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhY2hlZFNjcmlw
dFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlcihjYWNoZWRTY3JpcHQp
KTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9HQ0NvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCmluZGV4IDRj
MjU0MDcuLjkxZjFlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dD
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxl
ci5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5kZWYgR0NDb250cm9sbGVyX2gKICNkZWZpbmUg
R0NDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
IlRpbWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEdDQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR0NDb250cm9sbGVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR0NDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgICAgIGZyaWVuZCBHQ0NvbnRyb2xsZXImIGdjQ29udHJvbGxlcigpOwogCiAg
ICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1
Z1dyYXBwZXJTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVy
U2V0LmgKaW5kZXggOTRiNmY3OC4uZTExMzhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0ZWQgd2l0aG91dCBiZWluZyBy
ZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVycyBiZWluZyBjYWNoZWQgdHdp
Y2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTRGVidWdX
cmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJlYWRTcGVjaWZpYzxKU0RlYnVn
V3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVidWdXcmFwcGVyU2V0JiBzaGFy
ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVh
ZEV4ZWNTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhl
Y1N0YXRlLmgKaW5kZXggODE5M2Q3Yy4uMzQ5ZGMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKQEAgLTMwLDExICszMCwxMSBA
QAogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2VuZGlmCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEpT
TWFpblRocmVhZEV4ZWNTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNNYWluVGhy
ZWFkRXhlY1N0YXRlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNDOjpFeGVjU3RhdGUqIGN1cnJl
bnRTdGF0ZSgpCiAgICAgeyAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjaGVkdWxlZEFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVk
QWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uNTlhZDZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICogdGltZSBpbnRlcnZhbCwgZWl0aGVyIG9uY2Ugb3IgcmVwZWF0ZWRseS4g
VXNlZCBmb3Igd2luZG93LnNldFRpbWVvdXQoKQogICAgICogYW5kIHdpbmRvdy5zZXRJbnRlcnZh
bCgpCiAgICAgKi8KLSAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1bGVkQWN0aW9uPiBjcmVhdGUo
SlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xhdGVkV29ybGQpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCmlu
ZGV4IDE1YzIzYzUuLjVmNjkxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBAIC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBET01XaW5kb3c7CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxk
OwogCi0gICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDwgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4sIEpT
Qzo6UHJvdGVjdGVkUHRyPEpTRE9NV2luZG93PiA+IEpTRE9NV2luZG93U2V0OwogCiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdT
ZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgK
aW5kZXggOWQzODBmYi4uYTIwY2RmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIFBhZ2VHcm91cDsK
IGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdnZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggMDVl
N2EyNS4uZDRkZDYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9m
aWxlci5oCkBAIC0zMiwxMSArMzIsMTEgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2ZpbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2Ny
aXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRT
dGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuaAppbmRleCAw
YzA4NjExLi5lMTljMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRl
LmgKQEAgLTUyLDcgKzUyLDggQEAgY2xhc3MgUGFnZTsKIC8vIEZvciBub3csIHRoZSBzZXBhcmF0
aW9uIGlzIHB1cmVseSBieSBjb252ZW50aW9uLgogdHlwZWRlZiBKU0M6OkV4ZWNTdGF0ZSBTY3Jp
cHRTdGF0ZTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1YmxpYzoKICAgICBleHBsaWNp
dCBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSopOwogICAgIH5TY3JpcHRTdGF0
ZVByb3RlY3RlZFB0cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjZlMmQ3YmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDE3ICsyNCwx
OCBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRE9NT2JqZWN0
SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFs
RGF0YTo6Q2xpZW50RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVKU0Ns
aWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNsaWVudERhdGEgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRhV29ybGRJdGVyYXRvcjsKICAg
ICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6SlNHbG9iYWxEYXRh
Kik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRhKCkgeyB9CiAgICAgdmlydHVh
bCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNl
dC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggYmU3ZGE0ZC4uNDU3
ODkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlw
dENvbnRyb2xsZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSA8cnVudGltZS9Qcm90
ZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBKU0MgewpAQCAt
NDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0VmFsdWU7
CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAotICAgIGNsYXNzIFdvcmtlclNjcmlwdENvbnRy
b2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdvcmtlclNjcmlwdENvbnRy
b2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJTY3JpcHRDb250cm9s
bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBXb3Jr
ZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgfldvcmtlclNjcmlw
dENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaAppbmRleCA3OGVk
ZjkyLi5iMDQyNjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01E
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oCkBAIC00Myw3
ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0aHJlYWQuICBUaGUgRE9NRGF0
YSBmb3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBmb3IgY2hpbGQgdGhyZWFkcwog
ICAgIC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURh
dGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERPTURhdGEgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERPTURh
dGEoKTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9ET01EYXRhU3RvcmUuaAppbmRleCBjZmUyMjBlLi5kYmVhZDljIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaApAQCAtMTQ5LDcgKzE0OSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRvZXNuJ3QgbWFuYWdlIHRoZSBsaWZl
dGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogICAgIC8vIGxpZmV0aW1lIGlzIG1h
bmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNzIERPTURhdGFTdG9yZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YVN0b3JlIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGVu
dW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAgICAgRE9NTm9kZU1hcCwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXgg
MWFhMWY2Mi4uZjQyZTgxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTYwLDE0ICs2MCwxNCBAQCBwdWJsaWM6CiAKICNp
bmNsdWRlICJPd25IYW5kbGUuaCIKICNpbmNsdWRlIDx2OC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZyYW1lOwogY2xhc3Mg
RE9NV2luZG93OwogCi1jbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YSAgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcmlwdENhY2hlZEZyYW1lRGF0YSApOwogcHVibGljOgogICAgIFNjcmlwdENh
Y2hlZEZyYW1lRGF0YShGcmFtZSopOwogICAgIH5TY3JpcHRDYWNoZWRGcmFtZURhdGEoKSB7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCmluZGV4
IDQwZGQ1ZmMuLjhmYTcyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdERlYnVnU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0RGVidWdTZXJ2ZXIuaApAQCAtNDgsNyArNDgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBQYWdlOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIAotY2xhc3MgU2NyaXB0RGVi
dWdTZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0RGVidWdTZXJ2ZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgU2NyaXB0RGVidWdTZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCBiNzVhMDU0Li5lMDk2OWUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKQEAgLTM2LDEz
ICszNiwxMyBAQAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRT
dGF0ZS5oIgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogCi1jbGFzcyBTY3JpcHRQcm9maWxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRQcm9maWxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU2NyaXB0UHJvZmlsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lk
IHN0YXJ0KFNjcmlwdFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U2NyaXB0UHJvZmlsZT4gc3RvcChTY3JpcHRTdGF0ZSogc3RhdGUsIGNv
bnN0IFN0cmluZyYgdGl0bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRl
LmgKaW5kZXggMTE4MTNiMC4uMGZlY2VlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHRTdGF0ZS5oCkBAIC00Miw3ICs0Miw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsK
IGNsYXNzIFBhZ2U7CiAKLWNsYXNzIFNjcmlwdFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNjcmlwdFN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0
ZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYWRFeGNlcHRpb24oKSB7IHJldHVybiAhbV9leGNlcHRp
b24uSXNFbXB0eSgpOyB9CiAgICAgdm9pZCBzZXRFeGNlcHRpb24odjg6OkxvY2FsPHY4OjpWYWx1
ZT4gZXhjZXB0aW9uKQpAQCAtNzksNyArODAsOCBAQCBwdWJsaWM6CiAgICAgfkVtcHR5U2NyaXB0
U3RhdGUoKSB7IH0KIH07CiAKLWNsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cik7CiBwdWJsaWM6CiAgICAg
U2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIoKSA6IG1fc2NyaXB0U3RhdGUoMCkgeyB9CiAgICAgU2Ny
aXB0U3RhdGVQcm90ZWN0ZWRQdHIoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlKSA6IG1fc2NyaXB0
U3RhdGUoc2NyaXB0U3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAppbmRleCA2YWM0YTY1Li42ZmIyZWQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5j
cHAKQEAgLTEyOCw3ICsxMjgsOCBAQCBwcml2YXRlOgogCiAvLyBXcml0ZXIgaXMgcmVzcG9uc2li
bGUgZm9yIHNlcmlhbGl6aW5nIHByaW1pdGl2ZSB0eXBlcyBhbmQgc3RvcmluZwogLy8gaW5mb3Jt
YXRpb24gdXNlZCB0byByZWNvbnN0cnVjdCBjb21wb3NpdGUgdHlwZXMuCi1jbGFzcyBXcml0ZXIg
OiBOb25jb3B5YWJsZSB7CitjbGFzcyBXcml0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdyaXRlcik7CiBwdWJsaWM6CiAgICAgV3JpdGVyKCkKICAgICAgICAgOiBtX3Bvc2l0aW9uKDAp
CkBAIC0zNzcsNyArMzc4LDggQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBjbGFz
cyBTdGF0ZUJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFN0YXRlQmFzZSB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0YXRlQmFzZSk7CiAgICAgcHVibGljOgog
ICAgICAgICB2aXJ0dWFsIH5TdGF0ZUJhc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYnJpZGdlL0JyaWRnZS5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCmlu
ZGV4IDUwZWZjNjQuLjAwZDZmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9C
cmlkZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKQEAgLTI4LDE0ICsy
OCwxNSBAQAogI2RlZmluZSBCcmlkZ2VfaAogCiAjaW5jbHVkZSAiQnJpZGdlSlNDLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBKU0MgIHsKIAogbmFtZXNwYWNl
IEJpbmRpbmdzIHsKIAotY2xhc3MgTWV0aG9kIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE1ldGhvZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWV0aG9kKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgTWV0aG9kKCkgeyB9CiAgICAgdmlydHVhbCBpbnQg
bnVtUGFyYW1ldGVycygpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgfk1ldGhvZCgpIHsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKaW5kZXggOTliYWUwYi4uODY0NmU5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCkBAIC0zMyw3ICszMyw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLWNsYXNzIElkZW50aWZpZXJSZXAgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CitjbGFzcyBJZGVudGlmaWVyUmVwIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGludCk7
CiAgICAgc3RhdGljIElkZW50aWZpZXJSZXAqIGdldChjb25zdCBjaGFyKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oIGIvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2pzYy9CcmlkZ2VKU0MuaAppbmRleCA5Njk3NGQ5Li5lYmNmYWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKQEAgLTU5LDggKzU5LDEwIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5GaWVsZCgpIHsgfQogfTsKIAotY2xhc3MgQ2xhc3MgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQ2xhc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENsYXNzKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgQ2xhc3MoKSB7IH0KICAgICB2
aXJ0dWFsIE1ldGhvZExpc3QgbWV0aG9kc05hbWVkKGNvbnN0IElkZW50aWZpZXImLCBJbnN0YW5j
ZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEZpZWxkKiBmaWVsZE5hbWVkKGNvbnN0IElkZW50
aWZpZXImLCBJbnN0YW5jZSopIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIEpTVmFsdWUgZmFsbGJh
Y2tPYmplY3QoRXhlY1N0YXRlKiwgSW5zdGFuY2UqLCBjb25zdCBJZGVudGlmaWVyJikgeyByZXR1
cm4ganNVbmRlZmluZWQoKTsgfQpAQCAtMTI1LDcgKzEyNyw4IEBAIHByaXZhdGU6CiAgICAgV2Vh
a0dDUHRyPFJ1bnRpbWVPYmplY3Q+IG1fcnVudGltZU9iamVjdDsKIH07CiAKLWNsYXNzIEFycmF5
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFycmF5IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBcnJheSk7CiBwdWJsaWM6CiAgICAgQXJyYXkoUGFzc1JlZlB0cjxSb290T2JqZWN0
Pik7CiAgICAgdmlydHVhbCB+QXJyYXkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCmlu
ZGV4IDgzM2Q3ZmUuLjE3NGYxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bWFnZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApAQCAt
MzIsNiArMzIsNyBAQCBjbGFzcyBTdHlsZUNhY2hlZEltYWdlOwogY2xhc3MgU3R5bGVJbWFnZTsK
IAogY2xhc3MgQ1NTSW1hZ2VWYWx1ZSA6IHB1YmxpYyBDU1NQcmltaXRpdmVWYWx1ZSwgcHJpdmF0
ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKCkgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUpOyB9CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltcG9ydFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxl
LmgKaW5kZXggMTBkMzAyNi4uYWQ0ZTk3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ltcG9ydFJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5o
CkBAIC0zNCw2ICszNCw3IEBAIGNsYXNzIENhY2hlZENTU1N0eWxlU2hlZXQ7CiBjbGFzcyBNZWRp
YUxpc3Q7CiAKIGNsYXNzIENTU0ltcG9ydFJ1bGUgOiBwdWJsaWMgQ1NTUnVsZSwgcHJpdmF0ZSBD
YWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSW1wb3J0UnVsZT4gY3JlYXRlKENTU1N0eWxl
U2hlZXQqIHBhcmVudCwgY29uc3QgU3RyaW5nJiBocmVmLCBQYXNzUmVmUHRyPE1lZGlhTGlzdD4g
bWVkaWEpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFj
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCmluZGV4IDYyMjVjMzYuLjky
NjM4ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgKQEAgLTI2LDcgKzI2LDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgc3RydWN0IENTU05hbWVzcGFjZSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBzdHJ1Y3QgQ1NTTmFtZXNwYWNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTTmFtZXNwYWNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgogICAgICAgICBBdG9taWNTdHJpbmcgcHJlZml4OwogICAgICAgICBBdG9taWNTdHJpbmcgdXJp
OwogICAgICAgICBPd25QdHI8Q1NTTmFtZXNwYWNlPiBwYXJlbnQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmgKaW5kZXggNDk2YTIxYS4uZDMyNjgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMzQw
LDcgKzM0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBpbnQgY3NzUHJvcGVydHlJRChj
b25zdCBTdHJpbmcmKTsKICAgICBpbnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2Vy
U3RyaW5nJik7CiAKLSAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBTaG9ydGhhbmRTY29wZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2hvcnRoYW5kU2NvcGUoQ1NTUGFyc2Vy
KiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQogICAgICAgICB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggOTkzYWUyOC4uOTk2ZTc4MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgQ1NT
UGFyc2VyVmFsdWUgewogICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNyZWF0ZUNTU1ZhbHVlKCk7
CiB9OwogCi1jbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7
CitjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIENTU1BhcnNlclZhbHVlTGlzdCgpCiAgICAgICAgIDogbV9jdXJyZW50
KDApCkBAIC04Myw3ICs4NCw5IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPENTU1BhcnNlclZhbHVl
LCA0PiBtX3ZhbHVlczsKIH07CiAKLXN0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiA6IEZhc3RBbGxv
Y0Jhc2Ugeworc3RydWN0IENTU1BhcnNlckZ1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKICAgICBDU1NQYXJzZXJTdHJpbmcgbmFtZTsKICAgICBPd25QdHI8
Q1NTUGFyc2VyVmFsdWVMaXN0PiBhcmdzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKaW5k
ZXggMTA2MTcxZC4uMTBlNTkzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmgKQEAgLTI5LDcg
KzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDU1NQcm9wZXJ0eSA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1Byb3BlcnR5IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDU1NQcm9wZXJ0eShpbnQgcHJvcElELCBQYXNz
UmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSwgYm9vbCBpbXBvcnRhbnQgPSBmYWxzZSwgaW50IHNob3J0
aGFuZElEID0gMCwgYm9vbCBpbXBsaWNpdCA9IGZhbHNlKQogICAgICAgICA6IG1faWQocHJvcElE
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKaW5kZXggNDAwZGQ0MC4uY2EzODE0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCkBAIC0zNyw4ICszNywxMCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLWNsYXNzIENTU1NlbGVj
dG9yQmFnIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yQmFnIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxlY3RvckJhZyk7CiBwdWJsaWM6CisgICAgQ1NT
U2VsZWN0b3JCYWcoKSB7IH0KICAgICB+Q1NTU2VsZWN0b3JCYWcoKQogICAgIHsKICAgICAgICAg
QVNTRVJUKGlzRW1wdHkoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IDU0NTZiZTYu
LmI5MzAzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCkBAIC0zMyw3ICszMyw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDU1NTZWxlY3RvckJhZzsKIAogICAgIC8vIHRo
aXMgY2xhc3MgcmVwcmVzZW50cyBhIHNlbGVjdG9yIGZvciBhIFN0eWxlUnVsZQotICAgIGNsYXNz
IENTU1NlbGVjdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTZWxlY3Rv
ciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NTZWxlY3RvcigpCiAgICAg
ICAgICAgICA6IG1fcmVsYXRpb24oRGVzY2VuZGFudCkKQEAgLTMwNiw3ICszMDcsOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHVuc2lnbmVkIHNwZWNpZmljaXR5Rm9yUGFnZSgpIGNv
bnN0OwogICAgICAgICB2b2lkIGV4dHJhY3RQc2V1ZG9UeXBlKCkgY29uc3Q7CiAKLSAgICAgICAg
c3RydWN0IFJhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgICAgICBzdHJ1Y3QgUmFyZURhdGEg
eworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmFyZURhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmFyZURhdGEoUGFz
c093blB0cjxDU1NTZWxlY3Rvcj4gdGFnSGlzdG9yeSkKICAgICAgICAgICAgICAgICA6IG1fYSgw
KQogICAgICAgICAgICAgICAgICwgbV9iKDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3JMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0
LmgKaW5kZXggN2FkYzZiOS4uYWJkOWJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxp
c3QuaApAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVmaW5lIENTU1NlbGVjdG9yTGlzdF9oCiAKICNp
bmNsdWRlICJDU1NTZWxlY3Rvci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBDU1NTZWxlY3Rvckxpc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQ1NTU2VsZWN0b3JMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDU1NTZWxlY3Rvckxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBDU1NTZWxlY3Rvckxpc3QoKSA6IG1fc2VsZWN0b3JBcnJheSgwKSB7IH0KICAgICB+
Q1NTU2VsZWN0b3JMaXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAK
aW5kZXggZmMwNzIyYS4uMjdiNDRkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcApAQCAtMzUyLDcgKzM1Miw4IEBAIGlmIChpZCA9PSBwcm9wSUQpIHsgXAogICAgIHJl
dHVybjsgXAogfQogCi1jbGFzcyBDU1NSdWxlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBDU1NSdWxlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTUnVsZURhdGEp
OwogcHVibGljOgogICAgIENTU1J1bGVEYXRhKHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiBy
LCBDU1NTZWxlY3Rvciogc2VsLCBDU1NSdWxlRGF0YSogcHJldiA9IDApCiAgICAgICAgIDogbV9w
b3NpdGlvbihwb3MpCkBAIC0zODAsNyArMzgxLDggQEAgcHJpdmF0ZToKICAgICBDU1NSdWxlRGF0
YSogbV9uZXh0OwogfTsKIAotY2xhc3MgQ1NTUnVsZURhdGFMaXN0IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIENTU1J1bGVEYXRhTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q1NTUnVsZURhdGFMaXN0KTsKIHB1YmxpYzoKICAgICBDU1NSdWxlRGF0YUxpc3QodW5zaWduZWQg
cG9zLCBDU1NTdHlsZVJ1bGUqIHJ1bGUsIENTU1NlbGVjdG9yKiBzZWwpCiAgICAgICAgIDogbV9m
aXJzdChuZXcgQ1NTUnVsZURhdGEocG9zLCBydWxlLCBzZWwpKQpAQCAtNDEwLDcgKzQxMiw4IEBA
IHByaXZhdGU6CiAgICAgQ1NTUnVsZURhdGEqIG1fbGFzdDsKIH07CiAKLWNsYXNzIENTU1J1bGVT
ZXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTUnVsZVNldCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ1NTUnVsZVNldCk7CiBwdWJsaWM6CiAgICAgQ1NTUnVsZVNldCgpOwog
ICAgIH5DU1NSdWxlU2V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAppbmRl
eCBlZWFjZTU3Li5lMDM1YWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgK
QEAgLTY5LDcgKzY5LDggQEAgY2xhc3MgU3R5bGVkRWxlbWVudDsKIGNsYXNzIFdlYktpdENTU0tl
eWZyYW1lUnVsZTsKIGNsYXNzIFdlYktpdENTU0tleWZyYW1lc1J1bGU7CiAKLWNsYXNzIE1lZGlh
UXVlcnlSZXN1bHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeVJlc3Vs
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeVJlc3VsdCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE1lZGlhUXVlcnlSZXN1bHQoY29uc3QgTWVk
aWFRdWVyeUV4cCYgZXhwciwgYm9vbCByZXN1bHQpCiAgICAgICAgIDogbV9leHByZXNzaW9uKGV4
cHIpCkBAIC04Miw3ICs4Myw4IEBAIHB1YmxpYzoKIH07CiAKICAgICAvLyBUaGlzIGNsYXNzIHNl
bGVjdHMgYSBSZW5kZXJTdHlsZSBmb3IgYSBnaXZlbiBlbGVtZW50IGJhc2VkIG9uIGEgY29sbGVj
dGlvbiBvZiBzdHlsZXNoZWV0cy4KLSAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ1NTU3R5bGVTZWxlY3RvcihEb2N1bWVudCosIFN0
eWxlU2hlZXRMaXN0KiBhdXRob3JTaGVldHMsIENTU1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRT
aGVldCwKICAgICAgICAgICAgICAgICAgICAgICAgICBDU1NTdHlsZVNoZWV0KiBwYWdlVXNlclNo
ZWV0LCBjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91cFVzZXJT
aGVldHMsCkBAIC0yMTQsNyArMjE2LDggQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFJlbmRlclN0eWxlKiBzdHlsZU5vdFlldEF2YWlsYWJsZSgpIHsgcmV0dXJuIHNfc3R5
bGVOb3RZZXRBdmFpbGFibGU7IH0KIAotICAgICAgICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTZWxlY3RvckNoZWNrZXIgeworICAg
ICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VsZWN0b3JDaGVja2VyKTsKICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgU2VsZWN0b3JDaGVja2VyKERvY3VtZW50KiwgYm9vbCBzdHJp
Y3RQYXJzaW5nKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnku
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKaW5kZXggMjgxMDA5Yi4uYTYzOGFj
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCkBAIC0zNyw3ICszNyw4IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBNZWRpYVF1ZXJ5RXhwOwogCi1jbGFzcyBNZWRpYVF1ZXJ5IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnkgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKE1lZGlhUXVlcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBlbnVtIFJlc3RyaWN0b3IgewogICAgICAgICBPbmx5LCBOb3QsIE5vbmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCmluZGV4IDAwYWMzOTQuLjA3YzRkMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaApAQCAtNDksNyArNDksOCBAQCBj
bGFzcyBNZWRpYVF1ZXJ5RXhwOwogICogdGhlIGRldmljZSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5v
dCBrbm93bi4gVGhpcyBjYW4gYmUgdXNlZCB0byBwcnVuZSB0aGUgbG9hZGluZwogICogb2Ygc3R5
bGVzaGVldHMgdG8gb25seSB0aG9zZSB3aGljaCBhcmUgcHJvYmFibGUgdG8gbWF0Y2guCiAgKi8K
LWNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TWVkaWFRdWVyeUV2YWx1YXRvciB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVl
cnlFdmFsdWF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICAvKiog
Q3JlYXRlcyBldmFsdWF0b3Igd2hpY2ggZXZhbHVhdGVzIG9ubHkgc2ltcGxlIG1lZGlhIHF1ZXJp
ZXMKICAgICAgKiAgRXZhbHVhdG9yIHJldHVybnMgdHJ1ZSBmb3IgImFsbCIsIGFuZCByZXR1cm5z
IHZhbHVlIG9mIFxtZWRpYUZlYXR1cmVSZXN1bHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5RXhwLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5o
CmluZGV4IDcyZDNmZmYuLjdlNGQ0NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXhwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaApA
QCAtMzgsNyArMzgsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQ1NTUGFyc2VyVmFs
dWVMaXN0OwogCi1jbGFzcyBNZWRpYVF1ZXJ5RXhwIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
Y2xhc3MgTWVkaWFRdWVyeUV4cCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFRdWVyeUV4cD4gY3JlYXRlKGNvbnN0IEF0
b21pY1N0cmluZyYgbWVkaWFGZWF0dXJlLCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHZhbHVlcyk7CiAg
ICAgfk1lZGlhUXVlcnlFeHAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Bc3lu
Y1NjcmlwdFJ1bm5lci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmgK
aW5kZXggMjMyNmY2Ny4uNmE3NTMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Fz
eW5jU2NyaXB0UnVubmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVu
bmVyLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBQZW5kaW5nU2Ny
aXB0OwogY2xhc3MgU2NyaXB0RWxlbWVudDsKICAgICAKLWNsYXNzIEFzeW5jU2NyaXB0UnVubmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jU2NyaXB0UnVubmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBc3luY1NjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEFzeW5jU2NyaXB0UnVubmVy
PiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50KSB7IHJldHVybiBuZXcgQXN5bmNTY3JpcHRSdW5u
ZXIoZG9jdW1lbnQpOyB9CiAgICAgfkFzeW5jU2NyaXB0UnVubmVyKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9N
U3RyaW5nTWFwLmgKaW5kZXggODZhMjJiMC4uNzcyYTcwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJp
bmdNYXAuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVt
ZW50OwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAotY2xhc3MgRE9NU3RyaW5nTWFwIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVN0cmluZ01hcCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRE9NU3RyaW5nTWFwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+RE9NU3RyaW5nTWFwKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IGNlMDVhMDkuLjBkMDU4YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDY4
NCw3ICs0Njg0LDkgQEAgdm9pZCBEb2N1bWVudDo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNv
dXJjZSwgTWVzc2FnZVR5cGUgdHlwZSwgTWVzc2FnZUxldmVsIGwKICAgICAgICAgd2luZG93LT5j
b25zb2xlKCktPmFkZE1lc3NhZ2Uoc291cmNlLCB0eXBlLCBsZXZlbCwgbWVzc2FnZSwgbGluZU51
bWJlciwgc291cmNlVVJMKTsKIH0KIAotc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVi
bGljOgogICAgIFBlcmZvcm1UYXNrQ29udGV4dChQYXNzUmVmUHRyPERvY3VtZW50V2Vha1JlZmVy
ZW5jZT4gZG9jdW1lbnRSZWZlcmVuY2UsIFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6VGFzaz4gdGFzaykKICAgICAgICAgOiBkb2N1bWVudFJlZmVyZW5jZShkb2N1bWVudFJlZmVy
ZW5jZSkKICAgICAgICAgLCB0YXNrKHRhc2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggODMxNzdmYy4uMmRjMmI5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaApAQCAtMzgsOCArMzgsMTAg
QEAgY2xhc3MgSW50UmVjdDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIAotY2xhc3MgRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3Vt
ZW50TWFya2VyQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRN
YXJrZXJDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAg
RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyB9CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJv
bGxlcigpIHsgZGV0YWNoKCk7IH0KIAogICAgIHZvaWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oCmlu
ZGV4IDg1NjJjYWQuLjg1MWIyMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oCkBAIC0yNCwxMyArMjQsMTMgQEAK
ICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVudF9oCiAKKyNpbmNsdWRlICJDbGlwYm9hcmQu
aCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLSAgICBjbGFzcyBDbGlwYm9hcmQ7CiAgICAgY2xhc3MgRXZlbnRUYXJnZXQ7CiAKICAg
ICBjbGFzcyBFdmVudCA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50PiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaAppbmRleCA3Mjc2OGQyLi40MzllOWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgK
QEAgLTE4MCw3ICsxODAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgXAogLy8gZW5kIG9m
IERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCi0gICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZlbnROYW1lcyB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEV2ZW50TmFtZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAg
ICAgaW50IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFrZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3Jr
LgogICAgICAgICAvLyBQcml2YXRlIHRvIHByZXZlbnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50
TmFtZXMoKSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMoKQogICAgICAgICBFdmVudE5hbWVzKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IGRkY2I2NjMuLjgxZWViN2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudFRhcmdldC5oCkBAIC04Myw3ICs4Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5l
clZlY3RvcjsKICAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVy
VmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1hcDsKIAotICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50VGFyZ2V0RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgIHB1YmxpYzoKICAgICAgICAgRXZlbnRUYXJnZXREYXRhKCk7CiAgICAgICAgIH5F
dmVudFRhcmdldERhdGEoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
SWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4y
NmY3ZmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVX
cml0ZUNvdW50SW5jcmVtZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVz
dHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaApAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVm
aW5lIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyX2gKIAogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50
SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElnbm9yZURlc3RydWN0aXZl
V3JpdGVDb3VudEluY3JlbWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBJZ25vcmVEZXN0
cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcihEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgICAg
IDogbV9jb3VudChkb2N1bWVudCA/ICZkb2N1bWVudC0+bV9pZ25vcmVEZXN0cnVjdGl2ZVdyaXRl
Q291bnQgOiAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hh
bm5lbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGYz
MDhhMjkuLjA3NjY4YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9y
dENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgK
QEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBv
cnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1v
dGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBl
ciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5l
bCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVu
dCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFz
cyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1l
c3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQ
b3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5lbChQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiwgUGFz
c1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBAIC03OCw3ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBwcm94eSBjdXJyZW50bHkgY29u
dGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9ydC4KICAgICAgICAgYm9vbCBoYXNQZW5kaW5nQWN0
aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBFdmVudERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgICAgICBjbGFzcyBFdmVudERhdGEgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1Ymxp
YzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPEV2ZW50RGF0YT4gY3JlYXRlKFBhc3NS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5u
ZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKaW5kZXggYWIyMDhkMi4uNzM1
MGY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMzQsNyArMzQsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICB0eXBlZGVmIEhhc2hTZXQ8RHluYW1pY05vZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAg
Tm9kZUxpc3RTZXQgbV9saXN0c1dpdGhDYWNoZXM7CiAgICAgCkBAIC02Nyw3ICs2OSw4IEBAIHBy
aXZhdGU6CiAgICAgfQogfTsKICAgICAKLWNsYXNzIE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBOb2RlUmFyZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE5vZGVSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOiAgICAKICAg
ICBOb2RlUmFyZURhdGEoKQogICAgICAgICA6IG1fdGFiSW5kZXgoMCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVh
bGlmaWVkTmFtZS5oCmluZGV4IDM0ZmMwNjkuLmNiOTVmMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxp
ZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBAQCBzdHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVu
dHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFtZXNwYWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVk
TmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGNsYXNzIFF1YWxpZmllZE5h
bWVJbXBsIDogcHVibGljIFJlZkNvdW50ZWQ8UXVhbGlmaWVkTmFtZUltcGw+IHsKICAgICBwdWJs
aWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaAppbmRleCAwN2M1OWRiLi41MjUwZjNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2Ny
aXB0RWxlbWVudDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1l
bnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBTY3JpcHRFbGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0
ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVu
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXgg
ZTQ3M2E0Yi4uZjM4NjJlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oCkBAIC0xMTAsOCArMTEwLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdm9pZCByZWYoKSB7IHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogICAgICAgICB2
b2lkIGRlcmVmKCkgeyBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogCi0gICAgICAg
IGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBUYXNrIHsK
KyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICAgICAgcHVibGljOgorICAgICAgICAgICAgVGFzaygpIHsgfQogICAgICAg
ICAgICAgdmlydHVhbCB+VGFzaygpOwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1U
YXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CiAgICAgICAgICAgICAvLyBDZXJ0YWlu
IHRhc2tzIGdldCBtYXJrZWQgc3BlY2lhbGx5IHNvIHRoYXQgdGhleSBhcmVuJ3QgZGlzY2FyZGVk
LCBhbmQgYXJlIGV4ZWN1dGVkLCB3aGVuIHRoZSBjb250ZXh0IGlzIHNodXR0aW5nIGRvd24gaXRz
IG1lc3NhZ2UgcXVldWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3BhY2VTcGxp
dFN0cmluZy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaAppbmRleCA4
MjZlNmJkLi42ZWI4OTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3BhY2VTcGxp
dFN0cmluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKQEAg
LTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU3BhY2VT
cGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VTcGxpdFN0
cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IFNwYWNlU3BsaXRTdHJpbmdEYXRhKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBib29sIHNob3VsZEZv
bGRDYXNlKQogICAgICAgICAgICAgOiBtX3N0cmluZyhzdHJpbmcpLCBtX3Nob3VsZEZvbGRDYXNl
KHNob3VsZEZvbGRDYXNlKSwgbV9jcmVhdGVkVmVjdG9yKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Ry
YW5zZm9ybVNvdXJjZS5oCmluZGV4IGY5N2FmY2YuLjYzZGM3OGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
VHJhbnNmb3JtU291cmNlLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYKIAotICAg
IGNsYXNzIFRyYW5zZm9ybVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VHJhbnNmb3JtU291cmNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3Jt
U291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBU
cmFuc2Zvcm1Tb3VyY2UoY29uc3QgUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2UmIHNvdXJjZSk7CiAg
ICAgICAgIH5UcmFuc2Zvcm1Tb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Vc2VyR2VzdHVyZUluZGljYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJl
SW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uYjFlZDk2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTM2LDcgKzM2LDggQEAgZW51bSBQcm9jZXNzaW5n
VXNlckdlc3R1cmVTdGF0ZSB7CiAgICAgRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2VyR2VzdHVy
ZQogfTsKIAotY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFVzZXJHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBwcm9jZXNz
aW5nVXNlckdlc3R1cmUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZSA9PSBEZWZp
bml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CiAgICAgc3RhdGljIFByb2Nlc3NpbmdVc2Vy
R2VzdHVyZVN0YXRlIGdldFVzZXJHZXN0dXJlU3RhdGUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdV
c2VyR2VzdHVyZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdH
ZXN0dXJlSW5kaWNhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJ
bmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li4yMWY0YzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIFVzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyVHlw
aW5nR2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcHJvY2Vzc2lu
Z1VzZXJUeXBpbmdHZXN0dXJlKCk7CiAgICAgc3RhdGljIE5vZGUqIGZvY3VzZWRFbGVtZW50QXRH
ZXN0dXJlU3RhcnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgKaW5kZXgg
NzUzM2M1Yi4uMWFhZDliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3Vt
ZW50UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgK
QEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAgICBjbGFz
cyBYTUxEb2N1bWVudFBhcnNlciA6IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIHB1
YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8WE1MRG9jdW1lbnRQ
YXJzZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZyYW1lVmlldyogdmlldykKICAgICAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGli
eG1sMi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNw
cAppbmRleCAwZjZiNGI0Li4xMGQ2ZTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vWE1M
RG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUsMTAgQEAgdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5kaW5nQ2FsbGJhY2tz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFja3MgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVibGljOgorICAgIFBlbmRp
bmdDYWxsYmFja3MoKSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNrcygpCiAgICAgewogICAgICAg
ICBkZWxldGVBbGxWYWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxE
b2N1bWVudFBhcnNlclNjb3BlLmgKaW5kZXggNThlOGE2Yi4uZjYwNDcxYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyOwogCi0g
ICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFhNTERvY3VtZW50UGFyc2VyU2NvcGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgWE1M
RG9jdW1lbnRQYXJzZXJTY29wZShDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VM
b2FkZXIpOwogICAgICAgICB+WE1MRG9jdW1lbnRQYXJzZXJTY29wZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaAppbmRleCAxMjg2YzA3Li40
ZDkyOGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNzIFJlbmRl
ck9iamVjdDsKIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERlbGV0ZUJ1dHRvbkNv
bnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVsZXRlQnV0dG9uQ29udHJv
bGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9uQ29udHJvbGxlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBs
YWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VT
ZWxlY3Rpb25Db21tYW5kLmNwcAppbmRleCAyNGNmYTQxLi5mNDdjYjRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcApAQCAtNjIs
NyArNjIsOCBAQCBlbnVtIEVGcmFnbWVudFR5cGUgeyBFbXB0eUZyYWdtZW50LCBTaW5nbGVUZXh0
Tm9kZUZyYWdtZW50LCBUcmVlRnJhZ21lbnQgfTsKIAogLy8gLS0tIFJlcGxhY2VtZW50RnJhZ21l
bnQgaGVscGVyIGNsYXNzCiAKLWNsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUmVwbGFjZW1lbnRGcmFnbWVudCk7CiBwdWJsaWM6CiAgICAgUmVwbGFjZW1lbnRG
cmFnbWVudChEb2N1bWVudCosIERvY3VtZW50RnJhZ21lbnQqLCBib29sIG1hdGNoU3R5bGUsIGNv
bnN0IFZpc2libGVTZWxlY3Rpb24mKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NlbGVj
dGlvbkNvbnRyb2xsZXIuaAppbmRleCBlZTUyMTg3Li4zZjgwNWQzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtNDgsNyArNDgsOCBAQCBjbGFz
cyBWaXNpYmxlUG9zaXRpb247CiAKIGVudW0gRGlyZWN0aW9uYWxpdHlQb2xpY3kgeyBNYWtlTm9u
RGlyZWN0aW9uYWxTZWxlY3Rpb24sIE1ha2VEaXJlY3Rpb25hbFNlbGVjdGlvbiB9OwogCi1jbGFz
cyBTZWxlY3Rpb25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlbGVj
dGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdGlvbkNvbnRy
b2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIEVBbHRl
cmF0aW9uIHsgQWx0ZXJhdGlvbk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBlbnVtIEN1
cnNvckFsaWduT25TY3JvbGwgeyBBbGlnbkN1cnNvck9uU2Nyb2xsSWZOZWVkZWQsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaAppbmRleCBmNjIxNWQyLi44MWJiNTE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKQEAgLTU0LDcgKzU0LDggQEAgcHJpdmF0ZToK
ICAgICBpbnQgbV9sZW5ndGg7CiB9OwogCi1jbGFzcyBTcGVsbENoZWNrZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU3BlbGxDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTcGVsbENoZWNrZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNwZWxsQ2hlY2tlcihGcmFt
ZSosIEVkaXRvckNsaWVudCopOwogICAgIH5TcGVsbENoZWNrZXIoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCmluZGV4IDIyNzUzMGYuLjhiNWM2OTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAtNzIsNyAr
NzIsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgaW50IG1fY2hlY2tpbmdMZW5ndGg7CiB9Owog
Ci1jbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VGV4dENoZWNraW5nSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q2hlY2tp
bmdIZWxwZXIpOwogcHVibGljOgogICAgIFRleHRDaGVja2luZ0hlbHBlcihFZGl0b3JDbGllbnQq
LCBQYXNzUmVmUHRyPFJhbmdlPik7CiAgICAgflRleHRDaGVja2luZ0hlbHBlcigpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IGMyNGJjYjIuLjFmYzc2MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTYxLDcgKzYxLDggQEAg
dXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIC8vIENhc2UgZm9sZGluZyBpcyBhbHNvIGRvbmUg
aWYgdGhlIENhc2VJbnNlbnNpdGl2ZSBvcHRpb24gaXMgc3BlY2lmaWVkLgogLy8gTWF0Y2hlcyBh
cmUgZnVydGhlciBmaWx0ZXJlZCBpZiB0aGUgQXRXb3JkU3RhcnRzIG9wdGlvbiBpcyBzcGVjaWZp
ZWQsIGFsdGhvdWdoIHNvbWUKIC8vIG1hdGNoZXMgaW5zaWRlIGEgd29yZCBhcmUgcGVybWl0dGVk
IGlmIFRyZWF0TWVkaWFsQ2FwaXRhbEFzV29yZFN0YXJ0IGlzIHNwZWNpZmllZCBhcyB3ZWxsLgot
Y2xhc3MgU2VhcmNoQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNlYXJjaEJ1
ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VhcmNoQnVmZmVyKTsKIHB1YmxpYzoK
ICAgICBTZWFyY2hCdWZmZXIoY29uc3QgU3RyaW5nJiB0YXJnZXQsIEZpbmRPcHRpb25zKTsKICAg
ICB+U2VhcmNoQnVmZmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Zp
bGVUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCmluZGV4IGQ3
YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRo
cmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCkBAIC01NCw3
ICs1NCw4IEBAIHB1YmxpYzoKICAgICBib29sIHN0YXJ0KCk7CiAgICAgdm9pZCBzdG9wKCk7CiAK
LSAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUYXNrIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7CiAgICAgcHVibGljOgogICAgICAg
ICB2aXJ0dWFsIH5UYXNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzaygp
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVt
LmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCmluZGV4IGI3Nzlh
NWYuLjEyYTcwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxl
U3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApA
QCAtNDUsNyArNDUsOCBAQCBjbGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRF
eGVjdXRpb25Db250ZXh0OwogCiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQg
cHJvdmlkZXMgYW4gZW50cnkgcG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9j
YWxGaWxlU3lzdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmlsZVN5c3Rl
bSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoK
ICAgICAvLyBSZXR1cm5zIGEgcGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVt
LgogICAgIC8vIE5vdGUgdGhhdCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2NhbEZpbGVT
eXN0ZW0gbXVzdCBiZSBjYWxsZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9TeW5j
Q2FsbGJhY2tIZWxwZXIuaAppbmRleCAyNWU2NzM5Li4wMjBhYzQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKQEAgLTU4LDcgKzU4LDggQEAgY2xhc3Mg
RmlsZUVudHJ5U3luYzsKIAogLy8gQSBoZWxwZXIgdGVtcGxhdGUgZm9yIEZpbGVTeXN0ZW1TeW5j
IGltcGxlbWVudGF0aW9uLgogdGVtcGxhdGUgPHR5cGVuYW1lIFN1Y2Nlc3NDYWxsYmFjaywgdHlw
ZW5hbWUgT2JzZXJ2ZXJUeXBlLCB0eXBlbmFtZSBDYWxsYmFja0FyZywgdHlwZW5hbWUgUmVzdWx0
VHlwZT4KLWNsYXNzIFN5bmNDYWxsYmFja0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN5bmND
YWxsYmFja0hlbHBlcik7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBTeW5jQ2FsbGJhY2tIZWxwZXI8
U3VjY2Vzc0NhbGxiYWNrLCBPYnNlcnZlclR5cGUsIENhbGxiYWNrQXJnLCBSZXN1bHRUeXBlPiBI
ZWxwZXJUeXBlOwogICAgIFN5bmNDYWxsYmFja0hlbHBlcihPYnNlcnZlclR5cGUqIG9ic2VydmVy
ID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5o
CmluZGV4IGU4OWUzMmIuLjEyODg0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rv
cnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9C
YWNrRm9yd2FyZENvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBCYWNrRm9yd2Fy
ZExpc3Q7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEJhY2tGb3J3
YXJkQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBCYWNrRm9yd2FyZENv
bnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJhY2tGb3J3YXJkQ29udHJvbGxl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEJhY2tGb3J3YXJkQ29u
dHJvbGxlcihQYWdlKiwgUGFzc1JlZlB0cjxCYWNrRm9yd2FyZExpc3Q+KTsKICAgICB+QmFja0Zv
cndhcmRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1Bh
Z2VDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAppbmRleCA3MWFl
NWFkLi45MTJiZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNo
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAgLTM5LDcgKzM5
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhpc3RvcnlJdGVtOwogICAgIGNs
YXNzIFBhZ2U7CiAgICAgCi0gICAgY2xhc3MgUGFnZUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQYWdlQ2FjaGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
YWdlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IGZyaWVuZCBQYWdlQ2FjaGUqIHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEuLjhlNGEwNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9Db2xsZWN0aW9uQ2FjaGUuaApAQCAtMjksNyArMjksOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLXN0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgOiBGYXN0QWxs
b2NCYXNlIHsKK3N0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgogICAgIENvbGxlY3Rpb25DYWNoZSgpOwogICAgIENvbGxlY3Rpb25D
YWNoZShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUmIG9wZXJh
dG9yPShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmIG90aGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9E
T01TZXR0YWJsZVRva2VuTGlzdC5oCmluZGV4IDJiNzExYjQuLjhmNmZkNGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBwdWJsaWMg
RE9NVG9rZW5MaXN0LCBwdWJsaWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlzdD4gewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPERPTVNldHRhYmxlVG9rZW5MaXN0PiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RP
TVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLjBiNzViNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01U
b2tlbkxpc3QuaApAQCAtMjcsMTUgKzI3LDE2IEBACiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+Ci0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLWNsYXNzIERPTVRva2VuTGlzdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBET01Ub2tlbkxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERPTVRva2VuTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIERP
TVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9OwogCiAgICAg
dmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFBhcnNlclF1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtz
LmgKaW5kZXggNTBkZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGFyc2VyUXVpcmtzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2Vy
UXVpcmtzLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MUGFyc2VyUXVpcmtzX2gK
IAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTm9kZTsKIAotY2xhc3MgSFRNTFBhcnNl
clF1aXJrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2VyUXVpcmtzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyUXVpcmtzKTsKIHB1YmxpYzoKICAg
ICBIVE1MUGFyc2VyUXVpcmtzKCkgeyB9CiAgICAgdmlydHVhbCB+SFRNTFBhcnNlclF1aXJrcygp
IHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggMGQxZjZiOC4uMjM2ODZhNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw2ICszMyw3IEBACiAjZGVmaW5lIElucHV0VHlwZV9o
CiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNl
Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTYwLDEzICs2MSwxNCBAQCBzdHJ1Y3QgQ2xp
Y2tIYW5kbGluZ1N0YXRlIHsKICAgICBib29sIGluZGV0ZXJtaW5hdGU7CiAgICAgUmVmUHRyPEhU
TUxJbnB1dEVsZW1lbnQ+IGNoZWNrZWRSYWRpb0J1dHRvbjsKIAotICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiB9OwogCiAvLyBBbiBJbnB1
dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIHR5cGUtc3BlY2lmaWMgcGFydCBvZiBhbiBIVE1M
SW5wdXRFbGVtZW50LgogLy8gRG8gbm90IGV4cG9zZSBpbnN0YW5jZXMgb2YgSW5wdXRUeXBlIGFu
ZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBpdCB0byBjbGFzc2VzCiAvLyBvdGhlciB0aGFuIEhUTUxJ
bnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1dFR5cGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSW5wdXRUeXBlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1dFR5cGUpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1
dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50KiwgY29uc3QgU3RyaW5nJik7CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1N0ZXBSYW5nZS5oCmluZGV4IGNlMDQ0ZWEuLjJmYTEzOTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAKLWNsYXNzIFN0ZXBSYW5nZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTdGVwUmFuZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXBS
YW5nZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYXNTdGVwOwogICAgIGRvdWJsZSBzdGVwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4IDVmYTFmOTYuLjdjZDBjYmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKQEAgLTQyLDcgKzQyLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9ybUFzc29jaWF0ZWRFbGVtZW50OwogY2xh
c3MgSFRNTEVsZW1lbnQ7CiAKLWNsYXNzIFZhbGlkYXRpb25NZXNzYWdlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFZhbGlkYXRpb25NZXNzYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShWYWxpZGF0aW9uTWVzc2FnZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
VmFsaWRhdGlvbk1lc3NhZ2U+IGNyZWF0ZShGb3JtQXNzb2NpYXRlZEVsZW1lbnQqKTsKICAgICB+
VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFs
aWRpdHlTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKaW5kZXgg
ZTE0MGM0OS4uNGE5NjQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0
eVN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKQEAgLTI5
LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBWYWxpZGl0eVN0YXRl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkaXR5U3RhdGUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0eVN0YXRlPiBjcmVhdGUoRm9y
bUFzc29jaWF0ZWRFbGVtZW50KiBjb250cm9sKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCBhMjVlOGExLi5h
MTQzNTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dC5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7
CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7CiAKLWNsYXNzIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FudmFzUmVuZGVyaW5nQ29udGV4dCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQoSFRNTENhbnZhc0VsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5DYW52YXNSZW5kZXJpbmdD
b250ZXh0KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQ
cmVsb2FkU2Nhbm5lci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNj
YW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENT
U1ByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1ByZWxvYWRT
Y2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBw
dWJsaWM6CiAgICAgQ1NTUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKaW5kZXggOGIwOWJm
NS4uNWE0YTY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENv
bnN0cnVjdGlvblNpdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29u
c3RydWN0aW9uU2l0ZS5oCkBAIC00MCw3ICs0MCw4IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsK
IGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlv
blNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1Ymxp
YzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rp
b25TaXRlKCk7CkBAIC04OSw3ICs5MCw4IEBAIHB1YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQq
IGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhU
TUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQ
YXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zv
c3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RU
b0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0
ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDog
bV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
RG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVu
dFBhcnNlci5oCmluZGV4IDgwY2E3MjcuLmY5MjUyNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNz
IFNjcmlwdENvbnRyb2xsZXI7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCiBjbGFzcyBIVE1M
RG9jdW1lbnRQYXJzZXIgOiAgcHVibGljIFNjcmlwdGFibGVEb2N1bWVudFBhcnNlciwgSFRNTFNj
cmlwdFJ1bm5lckhvc3QsIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIVE1MRG9jdW1lbnRQ
YXJzZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycykK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVu
dFN0YWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgK
aW5kZXggOGE4ZTE2MC4uYWQ4Yjk0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxFbGVtZW50U3RhY2suaApAQCAtMzksMTIgKzM5LDE0IEBAIGNsYXNzIFF1YWxpZmllZE5h
bWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBiYWNrd2FyZHMgKGdyb3dzIGRv
d253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0YW5kYXJkIChncm93cyB1cHdh
cmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRNTEVsZW1lbnRTdGFjayA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0YWNrIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgSFRNTEVsZW1lbnRTdGFjaygpOwogICAgIH5IVE1MRWxlbWVudFN0YWNr
KCk7CiAKLSAgICBjbGFzcyBFbGVtZW50UmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBFbGVtZW50UmVjb3JkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRWxl
bWVudFJlY29yZCk7CiAgICAgcHVibGljOgogICAgICAgICB+RWxlbWVudFJlY29yZCgpOyAvLyBQ
dWJsaWMgZm9yIH5QYXNzT3duUHRyKCkKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAppbmRleCBhY2EwNWJiLi5m
NzVmYTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0
dGluZ0VsZW1lbnRMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZv
cm1hdHRpbmdFbGVtZW50TGlzdC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEVsZW1lbnQ7CiAKIC8vIFRoaXMgbWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1M
RWxlbWVudFN0YWNrLgotY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAg
ICBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVu
dExpc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1
dFN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgK
aW5kZXggMWJmYmFmOS4uZDk1ZWMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Ly8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFzdCBvZiB0aGUgYWZ0ZXJJbnNlcnRpb25Q
b2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRkcyBkYXRhIGF0IHRoZSBlbmQgb2YgdGhl
IElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0aGVtIHRvIHRoZSAibGFzdCIgc3RyaW5n
LgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhU
TUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTElucHV0U3RyZWFt
KTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0oKQogICAgICAgICA6IG1fbGFzdCgmbV9m
aXJzdCkKQEAgLTEyOSw3ICsxMzAsOCBAQCBwcml2YXRlOgogICAgIFNlZ21lbnRlZFN0cmluZyog
bV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBJbnNl
cnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0mIGlucHV0U3RyZWFtKQogICAgICAgICA6
IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaAppbmRleCBjMzEzNmY1Li40NWZiYWY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJz
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJz
ZXIuaApAQCAtMzYsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBIVE1MVG9r
ZW5pemVyOwogY2xhc3MgVGV4dENvZGVjOwogCi1jbGFzcyBIVE1MTWV0YUNoYXJzZXRQYXJzZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTE1ldGFDaGFyc2V0UGFyc2VyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MTWV0YUNoYXJzZXRQYXJzZXIpOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxNZXRhQ2hhcnNldFBhcnNlcj4gY3JlYXRlKCkgeyBy
ZXR1cm4gYWRvcHRQdHIobmV3IEhUTUxNZXRhQ2hhcnNldFBhcnNlcigpKTsgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKaW5kZXggM2Ey
MGIyYi4uYzQxNWM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBACiAKICNpbmNsdWRlICJUaW1lci5o
IgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFzcyBIVE1MUGFyc2VyU2NoZWR1bGVy
IDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2VyU2NoZWR1bGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFBhcnNlclNj
aGVkdWxlcj4gY3JlYXRlKEhUTUxEb2N1bWVudFBhcnNlciogcGFyc2VyKQogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKaW5kZXggOTRh
OTBlNi4uYmVkNzdmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFByZWxvYWRTY2FubmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBy
ZWxvYWRTY2FubmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlICJDU1NQcmVsb2FkU2Nh
bm5lci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbi5oIgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmlu
Zy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgSFRNTFRva2VuOwogY2xhc3MgSFRNTFRva2VuaXpl
cjsKIGNsYXNzIFNlZ21lbnRlZFN0cmluZzsKIAotY2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSFRNTFByZWxvYWRTY2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaAppbmRleCA2Y2Y3
NGQ4Li45ODZmN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
U2NyaXB0UnVubmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlw
dFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgog
I2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7
CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9zdDsKIGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAK
LWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRN
TFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFNjcmlwdFJ1bm5l
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3du
UHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxTY3Jp
cHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuLmgKaW5kZXggNDJjZGRiOC4uMWNiYzE1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRva2VuLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAj
aW5jbHVkZSAiTmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2Vu
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsKICAg
ICAgICAgVW5pbml0aWFsaXplZCwKQEAgLTMxMyw3ICszMTMsOCBAQCBwcml2YXRlOgogICAgIC8v
IHdhbnQgdG8gZW5kIHVwIHdpdGggYSBjbGVhbmVyIGludGVyZmFjZSBiZXR3ZWVuIHRoZSB0d28g
Y2xhc3Nlcy4KICAgICBmcmllbmQgY2xhc3MgQXRvbWljSFRNTFRva2VuOwogCi0gICAgY2xhc3Mg
RG9jdHlwZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERvY3R5cGVEYXRh
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdHlwZURhdGEpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgRG9jdHlwZURhdGEoKQogICAgICAgICAgICAgOiBtX2hhc1B1YmxpY0lkZW50
aWZpZXIoZmFsc2UpCkBAIC0zNTIsNyArMzUzLDggQEAgcHJpdmF0ZToKIAogLy8gRklYTUU6IFRo
aXMgY2xhc3Mgc2hvdWxkIGV2ZW50dWFsbHkgYmUgbmFtZWQgSFRNTFRva2VuIG9uY2Ugd2UgbW92
ZSB0aGUKIC8vIGV4aXRpbmcgSFRNTFRva2VuIHRvIGJlIGludGVybmFsIHRvIHRoZSBIVE1MVG9r
ZW5pemVyLgotY2xhc3MgQXRvbWljSFRNTFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEF0b21pY0hUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXRvbWljSFRN
TFRva2VuKTsKIHB1YmxpYzoKICAgICBBdG9taWNIVE1MVG9rZW4oSFRNTFRva2VuJiB0b2tlbikK
ICAgICAgICAgOiBtX3R5cGUodG9rZW4udHlwZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRva2VuaXplci5oCmluZGV4IGYxNmIwNDkuLmZhNDVjYjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3Mg
RWxlbWVudDsKIGNsYXNzIEZyYW1lOwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBIVE1MVG9r
ZW5pemVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUb2tlbml6ZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbml6ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFN0YXRlIHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAt
MTcyLDcgKzE3Myw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBodHRwOi8vd3d3Lndo
YXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1p
bnB1dC1zdHJlYW0KLSAgICBjbGFzcyBJbnB1dFN0cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVi
bGljOgogICAgICAgICBJbnB1dFN0cmVhbVByZXByb2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tl
bml6ZXIpCiAgICAgICAgICAgICA6IG1fdG9rZW5pemVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDAyNzEzZTUuLjk3
Y2VlMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVy
LmNwcApAQCAtMjQxLDcgKzI0MSw4IEBAIEhUTUxGb3JtRWxlbWVudCogY2xvc2VzdEZvcm1BbmNl
c3RvcihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8vIG5hbWVzcGFjZQogCi1jbGFzcyBIVE1MVHJl
ZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVy
KTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyKEF0
b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV9jdXJyZW50KHRva2VuLmNoYXJhY3Rl
cnMoKS5kYXRhKCkpCkBAIC0yMzQyLDcgKzIzNDMsOCBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6
cmVwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgcHJvY2Vzc0VuZFRh
Zyh0b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0
aW9uTW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmFrZUluc2VydGlvbk1vZGUpOwog
cHVibGljOgogICAgIEZha2VJbnNlcnRpb25Nb2RlKEhUTUxUcmVlQnVpbGRlciogdHJlZUJ1aWxk
ZXIsIEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAgICAgOiBtX3RyZWVCdWlsZGVyKHRyZWVCdWls
ZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWls
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRl
eCAxN2I3N2I3Li4zMDlhYzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VHJlZUJ1aWxkZXIuaApAQCAtNTEsNyArNTEsOCBAQCBjbGFzcyBIVE1MRG9jdW1lbnQ7CiBjbGFz
cyBOb2RlOwogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFzcyBIVE1MVHJlZUJ1aWxk
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVHJlZUJ1aWxkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNy
ZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNlciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwg
Ym9vbCByZXBvcnRFcnJvcnMsIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpCiAgICAgewpA
QCAtMjA0LDcgKzIwNSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwcm9jZXNzRm9yZWlnbkNvbnRl
bnRVc2luZ0luQm9keU1vZGVBbmRSZXNldE1vZGUoQXRvbWljSFRNTFRva2VuJiB0b2tlbik7CiAg
ICAgdm9pZCByZXNldEZvcmVpZ25JbnNlcnRpb25Nb2RlKCk7CiAKLSAgICBjbGFzcyBGcmFnbWVu
dFBhcnNpbmdDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFnbWVu
dFBhcnNpbmdDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhZ21lbnRQ
YXJzaW5nQ29udGV4dCk7CiAgICAgcHVibGljOgogICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250
ZXh0KCk7CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoRG9jdW1lbnRGcmFnbWVudCos
IEVsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVt
ZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVu
dGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCkBAIC0yOCw3ICsyOCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbEluY3JlbWVudGVyKTsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcih1bnNpZ25lZCYgbmVzdGlu
Z0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0aW5nTGV2ZWwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCmluZGV4IDMxMGFhOGUuLjdjMzM0OGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCkBAIC00Niw3ICs0
Niw4IEBAIGNsYXNzIFNjcmlwdENhbGxGcmFtZTsKIGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNs
YXNzIFNjcmlwdFZhbHVlOwogCi1jbGFzcyBDb25zb2xlTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDb25zb2xlTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q29uc29sZU1lc3NhZ2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBD
b25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBj
b25zdCBTdHJpbmcmIG0sIHVuc2lnbmVkIGxpLCBjb25zdCBTdHJpbmcmIHUpOwogICAgIENvbnNv
bGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0
IFN0cmluZyYgbSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+LCBQYXNzUmVmUHRyPFNjcmlw
dENhbGxTdGFjaz4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCmluZGV4IDNkOWU0OTQuLmFjMGFjYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGlj
YXRpb25DYWNoZUFnZW50LmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0
OwogY2xhc3MgSW5zcGVjdG9yVmFsdWU7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFz
cyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5z
cGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQq
IGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVn
Z2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCcm93c2VyRGVi
dWdnZXJBZ2VudC5oCmluZGV4IDUzN2JkYTEuLjZhZjMxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oCkBA
IC00OCw3ICs0OCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0
b3JPYmplY3Q7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJB
Z2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JCcm93c2VyRGVidWdn
ZXJBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQnJvd3NlckRlYnVn
Z2VyQWdlbnQpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckJyb3dz
ZXJEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29u
dHJvbGxlcikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29uc29sZUFnZW50LmgKaW5kZXggOTdmY2IzZi4uYTNlNmE1NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaApAQCAtNDYsNyArNDYsOCBA
QCBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBT
Y3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JDb25zb2xlQWdlbnQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JDb25zb2xlQWdlbnQpOwogcHVibGljOgogICAgIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudChJbnNwZWN0b3JDb250cm9sbGVyKiwgSW5zcGVjdG9yU3RhdGUqKTsKICAg
ICB+SW5zcGVjdG9yQ29uc29sZUFnZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA0MDUxMzljLi4zNjk5YzllIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEwNCw3ICsx
MDQsOCBAQCBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0
SGFuZHNoYWtlUmVzcG9uc2U7CiAjZW5kaWYKIAotY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IENvbnNvbGVQ
YW5lbDsKICAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgRWxlbWVudHNQYW5lbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4
IDBhNmZkM2IuLjgyNjJmN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuaApAQCAtNTIsNyArNTIsOCBAQCBlbnVtIERlYnVnZ2VyRXZl
bnRUeXBlIHsKICAgICBOYXRpdmVCcmVha3BvaW50RGVidWdnZXJFdmVudFR5cGUKIH07CiAKLWNs
YXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBwdWJs
aWMgU2NyaXB0RGVidWdMaXN0ZW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVj
dG9yRGVidWdnZXJBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckRlYnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0
b3JDb250cm9sbGVyKiwgSW5zcGVjdG9yRnJvbnRlbmQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0
b3JEZWJ1Z2dlckFnZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAppbmRleCA5ZGNhYTVhLi4xOWY2YWQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENsaWVudExvY2FsLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxl
cjsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBwdWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExv
Y2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0
b3JDb250cm9sbGVyKiwgUGFnZSopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQcm9maWxlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudC5oCmluZGV4IGU2Nzg0OGQuLjE2MDhkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaApAQCAtNDcsNyArNDcsOCBA
QCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRIZWFwU25hcHNob3Q7CiBjbGFz
cyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9maWxlckFnZW50IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVyQWdlbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JQcm9maWxl
ckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciopOwogICAgIHZpcnR1YWwgfkluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IDMzZTI3MzcuLmNhZTVhYWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAs
NyArNzAsOCBAQCBlbnVtIFRpbWVsaW5lUmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJj
ZVJlcXVlc3RUaW1lbGluZVJlY29yZFR5cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KElu
c3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdo
dFJlc3VsdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGln
aHRSZXN1bHRDYWNoZS5oCmluZGV4IDEwMTZhZWQuLmRkZDUwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaApA
QCAtMzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSFRUUEhlYWRl
ck1hcDsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgQ3Jvc3NPcmln
aW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0pOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAgICAgICAgICA6IG1f
YWJzb2x1dGVFeHBpcnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgSGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAotICAgIGNsYXNzIENy
b3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgQ3Jvc3NPcmlnaW5Q
cmVmbGlnaHRSZXN1bHRDYWNoZSYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li4zYTNjYzY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5o
CkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50OwogCiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDog
cHVibGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVh
ZGFibGVMb2FkZXIsIHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9p
ZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRp
b25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRl
cj4gY3JlYXRlKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCmluZGV4IDVmYjNkYzEuLmZiOTM2MDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEZy
YW1lOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwog
Ci1jbGFzcyBEb2N1bWVudFdyaXRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1
bWVudFdyaXRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRXcml0ZXIpOwog
cHVibGljOgogICAgIERvY3VtZW50V3JpdGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAppbmRleCBlNGNlZmM1Li5mNjcwMDI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCkBAIC0yMTQsOCArMjE0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogfTsK
IAotY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVu
dCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBw
dWJsaWMgRnJhbWVMb2FkZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5
RnJhbWVMb2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAg
ICBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxv
YWRlckNsaWVudCgpIHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQo
KSB7IH0KIApAQCAtMzg3LDggKzM4OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVm
UHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyBy
ZXR1cm4gUGFzc1JlZlB0cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFz
cyBFbXB0eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBFbXB0eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2
aXJ0dWFsIH5FbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGVz
dHJveWVkKCkgeyB9CiAKQEAgLTUwMSw4ICs1MDUsMTAgQEAgcHVibGljOgogfTsKIAogI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQotY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1Ymxp
YyBDb250ZXh0TWVudUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5Q29u
dGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQ29udGV4dE1lbnVDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5Q29udGV4dE1lbnVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eUNvbnRleHRNZW51Q2xpZW50KCkgeyB9CiAgICAgdmly
dHVhbCB+RW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgY29u
dGV4dE1lbnVEZXN0cm95ZWQoKSB7IH0KIApAQCAtNTI4LDggKzUzNCwxMCBAQCBwdWJsaWM6CiAj
ZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQotY2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBFbXB0eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlEcmFnQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVh
bCB+RW1wdHlEcmFnQ2xpZW50KCkge30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFn
RGVzdGluYXRpb25BY3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQog
ICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFj
dGlvbiwgY29uc3QgSW50UG9pbnQmLCBDbGlwYm9hcmQqKSB7IH0KQEAgLTU0MSw4ICs1NDksMTAg
QEAgcHVibGljOgogfTsKICNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBF
bXB0eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRW1wdHlJbnNwZWN0b3JDbGll
bnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogCiAgICAg
dmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Rm9ybVN1Ym1pc3Npb24uaAppbmRleCBkNzI0ODM1Li43ZjU4ZjkxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRm9ybVN1Ym1pc3Npb24uaApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBGb3JtU3VibWlz
c2lvbiA6IHB1YmxpYyBSZWZDb3VudGVkPEZvcm1TdWJtaXNzaW9uPiB7CiBwdWJsaWM6CiAgICAg
ZW51bSBNZXRob2QgeyBHZXRNZXRob2QsIFBvc3RNZXRob2QgfTsKIAotICAgIGNsYXNzIEF0dHJp
YnV0ZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEF0dHJpYnV0ZXMgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdHRyaWJ1dGVzKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIEF0dHJpYnV0ZXMoKQogICAgICAgICAgICAgOiBtX21ldGhvZChHZXRNZXRob2QpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4IDExZTk5ZGMuLjBlMTU5MjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dG
ZWF0dXJlczsKIAogYm9vbCBpc0JhY2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAK
LWNsYXNzIEZyYW1lTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9h
ZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAg
ICAgRnJhbWVMb2FkZXIoRnJhbWUqLCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxv
YWRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3Rh
dGVNYWNoaW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hp
bmUuaAppbmRleCBjMzQwOGMyLi5mZTM3ZWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRlIG1hY2hpbmUgZm9yIEZyYW1lTG9h
ZGVyLiBOb3RlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBGcmFtZVN0YXRlLAogLy8gd2hp
Y2ggc3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBsb2FkIHRoYXQgRnJhbWVMb2FkZXIg
aXMgZXhlY3V0aW5nLgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lKTsKIHB1YmxpYzoKICAgICBGcmFt
ZUxvYWRlclN0YXRlTWFjaGluZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSGlzdG9yeUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29u
dHJvbGxlci5oCmluZGV4IDk5MjMxNzkuLjQzYmRlMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9IaXN0b3J5Q29udHJvbGxlci5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xh
c3MgSGlzdG9yeUl0ZW07CiBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiAKLWNsYXNzIEhp
c3RvcnlDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhpc3RvcnlDb250
cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIaXN0b3J5Q29udHJvbGxlcik7CiBw
dWJsaWM6CiAgICAgZW51bSBIaXN0b3J5VXBkYXRlVHlwZSB7IFVwZGF0ZUFsbCwgVXBkYXRlQWxs
RXhjZXB0QmFja0ZvcndhcmRMaXN0IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIu
Y3BwCmluZGV4IGE3N2U4YzAuLjA2OWI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmNwcApAQCAtNTcsNyArNTcsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1ZUNoZWNrPFdl
YkNvcmU6OkltYWdlTG9hZGVyKj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIElt
YWdlRXZlbnRTZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VFdmVudFNl
bmRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRlcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAKaW5kZXggMTc1MjE5Yy4uZDUxNTc1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtNTMsNyArNTMsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVuc2lnbmVkIE5hdmlnYXRpb25EaXNhYmxlckZvckJl
Zm9yZVVubG9hZDo6c19uYXZpZ2F0aW9uRGlzYWJsZUNvdW50ID0gMDsKIAotY2xhc3MgU2NoZWR1
bGVkTmF2aWdhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZp
Z2F0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2NoZWR1bGVkTmF2aWdhdGlv
bihkb3VibGUgZGVsYXksIGJvb2wgbG9ja0hpc3RvcnksIGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlz
dCwgYm9vbCB3YXNEdXJpbmdMb2FkLCBib29sIGlzTG9jYXRpb25DaGFuZ2UpCiAgICAgICAgIDog
bV9kZWxheShkZWxheSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCmluZGV4IDNhMDc2ZmIu
LjU5ODhiNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtNTAsNyArNTAsOCBA
QCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBs
b25nIGVub3VnaCB0byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBU
aGVyZWZvcmUsIGFzIHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNv
dXJjZUhhbmRsZSwgdGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxl
dGUgaXRzZWxmLgotY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGll
bnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNv
dXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGxvYWRJ
bWFnZShGcmFtZSosIGNvbnN0IEtVUkwmIHVybCk7CiAgICAgc3RhdGljIHZvaWQgc2VuZFBpbmco
RnJhbWUqLCBjb25zdCBLVVJMJiBwaW5nVVJMLCBjb25zdCBLVVJMJiBkZXN0aW5hdGlvblVSTCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKQEAgLTQ1LDcgKzQ1LDggQEAg
Y2xhc3MgTmF2aWdhdGlvbkFjdGlvbjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogCi1jbGFzcyBQb2xpY3lDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFBvbGljeUNoZWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvbGlj
eUNoZWNrZXIpOwogcHVibGljOgogICAgIFBvbGljeUNoZWNrZXIoRnJhbWUqKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBjZDE1NDMzLi42NWRkMWM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyAr
NTAsOSBAQCBzdGF0aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8g
MS4wIC0gaW5pdGlhbFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0
ZW1EZWZhdWx0RXN0aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJ
dGVtIDogTm9uY29weWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJs
aWM6CiAgICAgUHJvZ3Jlc3NJdGVtKGxvbmcgbG9uZyBsZW5ndGgpIAogICAgICAgICA6IGJ5dGVz
UmVjZWl2ZWQoMCkKICAgICAgICAgLCBlc3RpbWF0ZWRMZW5ndGgobGVuZ3RoKSB7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAppbmRleCA1ZDViNmIyLi5lYTVmN2Y5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCkBAIC0zNiw3ICszNiw4IEBA
IGNsYXNzIEZyYW1lOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBQcm9ncmVzc0l0
ZW07CiAKLWNsYXNzIFByb2dyZXNzVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQcm9ncmVzc1RyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJh
Y2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFByb2dyZXNzVHJh
Y2tlcigpOwogICAgIH5Qcm9ncmVzc1RyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uYTZkOTJmYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKQEAgLTQzLDcgKzQzLDgg
QEAgY2xhc3MgUmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3Mg
UmVzb3VyY2VSZXF1ZXN0OwogCi1jbGFzcyBSZXNvdXJjZUxvYWROb3RpZmllciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZXNvdXJjZUxvYWROb3RpZmllciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVzb3VyY2VMb2FkTm90aWZpZXIpOwogcHVibGljOgogICAgIFJlc291cmNl
TG9hZE5vdGlmaWVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuaAppbmRleCAxNjNiNjdlLi5mMmU2MjdmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC00NCw3ICs0NCw4IEBAIGNs
YXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyOwogY2xhc3MgU3Vi
cmVzb3VyY2VMb2FkZXJDbGllbnQ7CiAKLWNsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlTG9hZFNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAg
ZnJpZW5kIFJlc291cmNlTG9hZFNjaGVkdWxlciogcmVzb3VyY2VMb2FkU2NoZWR1bGVyKCk7CiAK
QEAgLTY5LDcgKzcwLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlU2VydmVQZW5kaW5n
UmVxdWVzdHMoKTsKICAgICB2b2lkIHJlcXVlc3RUaW1lckZpcmVkKFRpbWVyPFJlc291cmNlTG9h
ZFNjaGVkdWxlcj4qKTsKIAotICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSG9zdEluZm9ybWF0aW9uKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEhvc3RJ
bmZvcm1hdGlvbihjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCk7CiAgICAgICAgIH5Ib3N0SW5mb3Jt
YXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0
NS4uYmE2M2E1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAgLTU0
LDcgKzU0LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFdpZGdldDsKIAogLy8gVGhpcyBpcyBhIHNs
aWdodCBtaXNub21lci4gSXQgaGFuZGxlcyB0aGUgaGlnaGVyIGxldmVsIGxvZ2ljIG9mIGxvYWRp
bmcgYm90aCBzdWJmcmFtZXMgYW5kIHBsdWdpbnMuCi1jbGFzcyBTdWJmcmFtZUxvYWRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdWJmcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU3ViZnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIFN1YmZyYW1lTG9hZGVy
KEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxl
TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4
IGY0MWE3NzQuLmY1NzRjOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJl
YWRhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXIuaApAQCAtNjUsNyArNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBVc2Vm
dWwgZm9yIGRvaW5nIGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90IHRocmVh
ZHNhZmUsIAogICAgIC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFuIHRo
ZSBtYWluIHRocmVhZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRo
cmVhZGFibGVMb2FkZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVM
b2FkZXJPcHRpb25zJik7CkBAIC03NSw2ICs3Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAogICAgIHBy
b3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFs
IH5UaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRh
YmxlTG9hZGVyKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9h
ZGVyKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVM
b2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50LmgKaW5kZXggYmNmNjhiZS4uY2VhOGIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYg
VGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRf
aAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIFJlc291cmNlRXJyb3I7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsK
IAotICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXJDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXJDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWdu
ZWQgbG9uZyBsb25nIC8qYnl0ZXNTZW50Ki8sIHVuc2lnbmVkIGxvbmcgbG9uZyAvKnRvdGFsQnl0
ZXNUb0JlU2VudCovKSB7IH0KIApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DYW5jZWxsYXRp
b24oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIHsgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAg
ICBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFi
bGVMb2FkZXJDbGllbnQoKSB7IH0KICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAppbmRleCA4MWRhMmUwLi42NWNjNjM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYg
KzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291
cmNlUmVxdWVzdERhdGE7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVi
bGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxl
TG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdvcmtlckNvbnRl
eHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29u
c3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRl
eHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9k
ZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVy
T3B0aW9ucyYgb3B0aW9ucykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAppbmRleCAyZDhiODNlLi5mM2ExMTdlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdy
b3VwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVHcm91cC5oCkBAIC01Myw3ICs1Myw4IEBAIGVudW0gQXBwbGljYXRpb25DYWNoZVVwZGF0ZU9w
dGlvbiB7CiAgICAgQXBwbGljYXRpb25DYWNoZVVwZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRleHQK
IH07CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSwg
UmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogUmVz
b3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9u
Q2FjaGVHcm91cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFwcGxp
Y2F0aW9uQ2FjaGVHcm91cChjb25zdCBLVVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBpc0NvcHkgPSBm
YWxzZSk7ICAgIAogICAgIH5BcHBsaWNhdGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKaW5kZXgg
OGFjNTM1Ny4uYTFmMjg0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAK
LSAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcHBsaWNhdGlvbkNhY2hlSG9zdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgLy8gVGhlIFN0YXR1cyBudW1lcmljIHZhbHVlcyBhcmUgc3BlY2lm
aWVkIGluIHRoZSBIVE1MNSBzcGVjLgogICAgICAgICBlbnVtIFN0YXR1cyB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFn
ZS5oCmluZGV4IDdkYjM0ZTYuLjhiZmRmMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCkBAIC00NCw3ICs0
NCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUPgogY2xhc3MgU3RvcmFnZUlESm91cm5hbDsKIGNsYXNz
IFNlY3VyaXR5T3JpZ2luOwogCi1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIEZhaWx1cmVSZWFzb24gewogICAgICAgICBP
cmlnaW5RdW90YVJlYWNoZWQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJj
aGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKaW5kZXggOWQ2MzBkMS4uZmQyZGRi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291
cmNlQ29sbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24uaApAQCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24oKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCAzNjAwYTAy
Li41YzhiMzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBQdXJnZWFibGVCdWZmZXI7CiAvLyBBIHJlc291
cmNlIHRoYXQgaXMgaGVsZCBpbiB0aGUgY2FjaGUuIENsYXNzZXMgd2hvIHdhbnQgdG8gdXNlIHRo
aXMgb2JqZWN0IHNob3VsZCBkZXJpdmUKIC8vIGZyb20gQ2FjaGVkUmVzb3VyY2VDbGllbnQsIHRv
IGdldCB0aGUgZnVuY3Rpb24gY2FsbHMgaW4gY2FzZSB0aGUgcmVxdWVzdGVkIGRhdGEgaGFzIGFy
cml2ZWQuCiAvLyBUaGlzIGNsYXNzIGFsc28gZG9lcyB0aGUgYWN0dWFsIGNvbW11bmljYXRpb24g
d2l0aCB0aGUgbG9hZGVyIHRvIG9idGFpbiB0aGUgcmVzb3VyY2UgZnJvbSB0aGUgbmV0d29yay4K
LWNsYXNzIENhY2hlZFJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hl
ZFJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAg
ICBmcmllbmQgY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2U7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCmluZGV4IDI3NWQzMzEu
LjFjNTZmMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUNsaWVudC5oCkBAIC00NSw4ICs0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgKiBpbmhlcml0IGZyb20gdGhpcyBjbGFzcyBhbmQgb3ZlcmxvYWQgb25lIG9mIHRoZSAzIGZ1
bmN0aW9ucwogICAgICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgdmlydHVhbCB+Q2FjaGVkUmVzb3VyY2VDbGllbnQoKSB7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCAzNGVm
NzAwLi5hNTQwYTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBJbWFnZUxvYWRlcjsK
IGNsYXNzIEtVUkw7CiAKIC8vIFRoZSBDYWNoZWRSZXNvdXJjZUxvYWRlciBtYW5hZ2VzIHRoZSBs
b2FkaW5nIG9mIHNjcmlwdHMvaW1hZ2VzL3N0eWxlc2hlZXRzIGZvciBhIHNpbmdsZSBkb2N1bWVu
dC4KLWNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIENhY2hlZFJlc291cmNlTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNo
ZWRSZXNvdXJjZUxvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogZnJpZW5kIGNsYXNz
IEltYWdlTG9hZGVyOwogCiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5oCmluZGV4IGU5MjZkN2MuLmRkOGI4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5oCkBAIC03MCw3ICs3MCw4IEBAIGNsYXNzIEtVUkw7CiAvLyBp
dHMgbWVtYmVyIHZhcmlhYmxlcykgYXJlIGFsbG9jYXRlZCBpbiBub24tcHVyZ2VhYmxlIFRDLW1h
bGxvYydkIG1lbW9yeSBzbyB3ZSB3b3VsZCBzZWUgc2xpZ2h0bHkKIC8vIG1vcmUgbWVtb3J5IHVz
ZSBkdWUgdG8gdGhpcy4KIAotY2xhc3MgTWVtb3J5Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTWVtb3J5Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lbW9yeUNh
Y2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9y
eUNhY2hlKiBtZW1vcnlDYWNoZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvaWNvbi9JY29uRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25E
YXRhYmFzZS5oCmluZGV4IDYxNDZhYTYuLmUwOGRjZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25EYXRhYmFzZS5oCkBAIC02Miw4ICs2Miw4IEBAIGVudW0gSWNvbkxvYWREZWNp
c2lvbiB7CiAgICAgSWNvbkxvYWRVbmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0YWJhc2UgOiBw
dWJsaWMgTm9uY29weWFibGUgewotCitjbGFzcyBJY29uRGF0YWJhc2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEljb25EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogLy8g
KioqIE1haW4gVGhyZWFkIE9ubHkgKioqCiBwdWJsaWM6CiAgICAgdm9pZCBzZXRDbGllbnQoSWNv
bkRhdGFiYXNlQ2xpZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNv
bi9JY29uRGF0YWJhc2VDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25E
YXRhYmFzZUNsaWVudC5oCmluZGV4IGMyMTBkN2QuLmY5N2EyYTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaWZuZGVmIEljb25EYXRhYmFzZUNsaWVudF9oCiAjZGVmaW5lIEljb25EYXRhYmFzZUNsaWVu
dF9oCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTM3LDggKzM4LDEwIEBA
CiAgCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEljb25EYXRhYmFzZUNsaWVudCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEljb25EYXRhYmFzZUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtSW1wb3J0
KCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlbW92ZUFs
bEljb25zKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKaW5kZXgg
MWViYWM0OC4uMjk4NTM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24v
SWNvbkxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIu
aApAQCAtMzcsNyArMzcsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEtVUkw7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLWNsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVy
Q2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUg
U3VicmVzb3VyY2VMb2FkZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25M
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxJY29uTG9hZGVyPiBjcmVhdGUoRnJhbWUqKTsKICAgICB+SWNvbkxvYWRlcigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oCmluZGV4IGY3Y2NiOGYu
Ljc5MzVkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxS
ZWNvcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgK
QEAgLTUxLDcgKzUxLDggQEAgcHVibGljOgogICAgIFN0cmluZyBpY29uVVJMOwogfTsKIAotY2xh
c3MgUGFnZVVSTFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWdlVVJMUmVj
b3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJMUmVjb3JkKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUGFnZVVSTFJlY29yZChjb25zdCBTdHJpbmcm
IHBhZ2VVUkwpOwogICAgIH5QYWdlVVJMUmVjb3JkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCBmMTRhMzAyLi43MzEzMWU1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFz
cyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMg
QWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2
ZW50VGFyZ2V0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBL
VVJMJiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUm
IGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25D
b250ZW50cyYgY29udGVudHMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2Vw
dGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggYWI5Mjc5
Ni4uZTZhMGEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBFdmVu
dDsKICAgICBjbGFzcyBQYWdlOwogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudUNvbnRyb2xsZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51Q29u
dHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRNZW51
Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDEwYmI1
ZjguLjBmMTc2YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKQEAgLTQ3LDcg
KzQ3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJhbmdlOwogICAgIGNsYXNz
IFNlbGVjdGlvbkNvbnRyb2xsZXI7CiAgICAgCi0gICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERyYWdDb250cm9sbGVyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRHJhZ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIERyYWdDb250cm9sbGVyKFBhZ2UqLCBEcmFnQ2xp
ZW50Kik7CiAgICAgICAgIH5EcmFnQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmgKaW5kZXggMGMxODQ1MC4uZDEyYTU2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5oCkBAIC04MSw3ICs4MSw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJl
c2lzOwogCiBlbnVtIEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMs
IERvbnRIaXRUZXN0U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShFdmVudEhhbmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwog
ICAgIH5FdmVudEhhbmRsZXIoKTsKQEAgLTIyNCw3ICsyMjUsMTAgQEAgcHJpdmF0ZToKICAgICAg
ICAgUGVyZm9ybURyYWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJE
cmFnU3RhdGUgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0
ZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5k
bGVyRHJhZ1N0YXRlKCkgeyB9CiAgICAgICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVs
ZW1lbnQgdGhhdCBtYXkgYmUgYSBkcmFnIHNvdXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdl
c3R1cmUKICAgICAgICAgYm9vbCBtX2RyYWdTcmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFn
U3JjSXNJbWFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi4xMGFk
NmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiAgICAgY2xhc3Mg
RXZlbnRTb3VyY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudFNvdXJjZT4sIHB1YmxpYyBFdmVu
dFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmlu
ZyYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAg
ICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Gb2N1c0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVy
LmgKaW5kZXggYmU1MWM3Ny4uNTBmYTJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Gb2N1c0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJv
bGxlci5oCkBAIC00MCw3ICs0MCw4IEBAIGNsYXNzIEtleWJvYXJkRXZlbnQ7CiBjbGFzcyBOb2Rl
OwogY2xhc3MgUGFnZTsKIAotY2xhc3MgRm9jdXNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEZvY3VzQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Rm9jdXNDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
Rm9jdXNDb250cm9sbGVyKFBhZ2UqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKaW5kZXggOTRi
OGQxNi4uYmFjNTQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJh
bWVUcmVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgRnJhbWVUcmVlKEZyYW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAg
ICAgICAgICA6IG1fdGhpc0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAppbmRleCAxMTg3MzE4Li44MWQ5N2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBA
IC0xMDgsNyArMTA4LDEwIEBAIGRvdWJsZSBGcmFtZVZpZXc6OnNfZGVmZXJyZWRSZXBhaW50RGVs
YXlJbmNyZW1lbnREdXJpbmdMb2FkaW5nID0gMDsKIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiB1
cGRhdGVXaWRnZXRzIGl0ZXJhdGlvbnMgdGhhdCBzaG91bGQgYmUgZG9uZSBiZWZvcmUgcmV0dXJu
aW5nLgogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFVwZGF0ZVdpZGdldHNJdGVyYXRpb25zID0g
MjsKIAotc3RydWN0IFNjaGVkdWxlZEV2ZW50IDogTm9uY29weWFibGUgeworc3RydWN0IFNjaGVk
dWxlZEV2ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRFdmVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIFNjaGVkdWxlZEV2ZW50KCkgeyB9
CiAgICAgUmVmUHRyPEV2ZW50PiBtX2V2ZW50OwogICAgIFJlZlB0cjxOb2RlPiBtX2V2ZW50VGFy
Z2V0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCmlu
ZGV4IDdkYjE5NTEuLjFhMmNlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2Vv
bG9jYXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlv
bkNvbnRyb2xsZXIuaApAQCAtNDAsNyArNDAsOCBAQCBjbGFzcyBHZW9sb2NhdGlvbkVycm9yOwog
Y2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEdlb2xvY2F0
aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2NhdGlvbkNv
bnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uQ29udHJvbGxl
cik7CiBwdWJsaWM6CiAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKFBhZ2UqLCBHZW9sb2NhdGlv
bkNsaWVudCopOwogICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9H
cm91cFNldHRpbmdzLmgKaW5kZXggZmI2ZjZiNS4uMWJiYWQyYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9H
cm91cFNldHRpbmdzLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBQYWdlR3JvdXA7CiAKLWNsYXNzIEdyb3VwU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgR3JvdXBTZXR0aW5ncyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3Jv
dXBTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEdyb3VwU2V0dGluZ3M+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApp
bmRleCA3NDEzYmI2Li4wNzFiMTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtOTAsMTIgKzkwLDE1IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJl
Y3Rpb25Gb3J3YXJkLCBGaW5kRGlyZWN0aW9uQmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2Ug
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQYWdlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNj
aGVkdWxlRm9yY2VkU3R5bGVSZWNhbGNGb3JBbGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlz
IHVwIHRvIHRoZSBwbGF0Zm9ybSB0byBlbnN1cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBw
cm92aWRlZCB3aGVyZSByZXF1aXJlZC4KLSAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9u
Y29weWFibGUgeworICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUGFnZUNsaWVudHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
KyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUGFnZUNsaWVudHMoKTsKICAgICAgICAgICAg
IH5QYWdlQ2xpZW50cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VH
cm91cC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCBjYzQ3ZmJhLi42
NDNjNWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xhc3MgU3RvcmFnZU5hbWVzcGFj
ZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgUGFnZUdyb3VwIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdyb3VwKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3JvdXAo
Y29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCmluZGV4IGQ0NDNlYmQuLmY3OTU2
YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaApAQCAt
MjgsNyArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAg
Y2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdyb3VwTG9hZERlZmVycmVyKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIFBhZ2VHcm91cExvYWREZWZlcnJlcihQYWdlKiwgYm9vbCBkZWZlclNlbGYpOwog
ICAgICAgICB+UGFnZUdyb3VwTG9hZERlZmVycmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BsdWdpbkhhbHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0
ZXIuaAppbmRleCBhZjhiMzFlLi41Yjk2ZDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BsdWdpbkhhbHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVy
LmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIYWx0YWJs
ZVBsdWdpbjsKIAotY2xhc3MgUGx1Z2luSGFsdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFBsdWdpbkhhbHRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luSGFsdGVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVyKFBs
dWdpbkhhbHRlckNsaWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggZjQ2MzBkZS4u
NDIwZGFjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtNTAsNyArNTAsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51QWx3YXlzSW5jbHVkZWQK
ICAgICB9OwogCi0gICAgY2xhc3MgU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFNldHRpbmdzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0dGluZ3Mp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdz
KFBhZ2UqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCmluZGV4IDQ1MzJkNDkuLjg1M2Mw
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNs
dWRlICJTcGVlY2hJbnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDcgKzQ2LDggQEAgY2xhc3MgU3BlZWNoSW5wdXRM
aXN0ZW5lcjsKIC8vIFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJlcXVp
cmluZyBzcGVlY2ggaW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVjaCBy
ZWNvZ25pdGlvbiBlbmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBlbGVt
ZW50cyB0byBhY3RpdmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZvciB0
aGUgc3BlZWNoIHJlY29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0cy4K
LWNsYXNzIFNwZWVjaElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNoSW5w
dXRMaXN0ZW5lciB7CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExpc3Rl
bmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6CiAg
ICAgU3BlZWNoSW5wdXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVlY2hJ
bnB1dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAppbmRleCAwNjUyNDM5Li4wNTE0MDkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTY3JpcHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVXNlclNjcmlwdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclNjcmlwdCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29uc3QgU3Ry
aW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8
VmVjdG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBi
bGFja2xpc3QsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKaW5kZXggZmE0MmUyYy4u
MDY4ZGYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyArMzUs
OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShVc2VyU3R5bGVTaGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIFVzZXJTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJM
JiB1cmwsCiAgICAgICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdo
aXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9YU1NBdWRpdG9yLmgKaW5kZXggMmI3ODFmMS4uNWJlZWQ2MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9YU1NB
dWRpdG9yLmgKQEAgLTY5LDcgKzY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICog
SFRNTERvY3VtZW50UGFyc2VyOjpzaG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjIC0gdXNl
ZCB0byBsb2FkIGV4dGVybmFsIEphdmFTY3JpcHQgc2NyaXB0cy4KICAgICAvLyAqIFN1YmZyYW1l
TG9hZGVyOjpyZXF1ZXN0T2JqZWN0IC0gdXNlZCB0byBsb2FkIDxvYmplY3Q+LzxlbWJlZD4gZWxl
bWVudHMuCiAgICAgLy8KLSAgICBjbGFzcyBYU1NBdWRpdG9yIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBYU1NBdWRpdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
WFNTQXVkaXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgWFNTQXVkaXRvcihGcmFtZSopOwogICAgICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAppbmRleCAxNGE0NGQy
Li45YTkwNmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Bbmlt
YXRpb25CYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRp
b25CYXNlLmNwcApAQCAtMjIzLDcgKzIyMyw4IEBAIGNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2U7
CiBzdGF0aWMgdm9pZCBhZGRTaG9ydGhhbmRQcm9wZXJ0aWVzKCk7CiBzdGF0aWMgUHJvcGVydHlX
cmFwcGVyQmFzZSogd3JhcHBlckZvclByb3BlcnR5KGludCBwcm9wZXJ0eUlEKTsKIAotY2xhc3Mg
UHJvcGVydHlXcmFwcGVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9wZXJ0
eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9wZXJ0eVdyYXBwZXJC
YXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvcGVydHlXcmFw
cGVyQmFzZShpbnQgcHJvcCkKICAgICAgICAgOiBtX3Byb3AocHJvcCkKQEAgLTQ0Niw3ICs0NDcs
OCBAQCBwdWJsaWM6CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNzIEZpbGxMYXll
clByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJC
YXNlLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRmlsbExheWVyUHJvcGVydHlXcmFwcGVy
R2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcik7CiBwdWJsaWM6
CiAgICAgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKFQgKEZpbGxMYXllcjo6KmdldHRl
cikoKSBjb25zdCkKICAgICAgICAgOiBtX2dldHRlcihnZXR0ZXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUu
aAppbmRleCA2ODEyZTA5Li4xODZkZDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcg
KzQ5LDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0
eWxlOwogCi1jbGFzcyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSop
OwogICAgIH5BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IDJkNGQ4NmIuLjYwMTE4NTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KQEAgLTc3LDcgKzc3LDggQEAg
TlNFdmVudCAqRXZlbnRIYW5kbGVyOjpjdXJyZW50TlNFdmVudCgpCiAgICAgcmV0dXJuIGN1cnJl
bnROU0V2ZW50U2xvdCgpLmdldCgpOwogfQogCi1jbGFzcyBDdXJyZW50RXZlbnRTY29wZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDdXJyZW50RXZlbnRTY29wZSB7CisgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEN1cnJlbnRFdmVudFNjb3BlKTsKIHB1YmxpYzoKICAgICBDdXJyZW50
RXZlbnRTY29wZShOU0V2ZW50ICopOwogICAgIH5DdXJyZW50RXZlbnRTY29wZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRleCBkOTZjMWFkLi5jMzRhNjQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaApAQCAtNDQsNyAr
NDQsOCBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7CiBjbGFzcyBBc3luY0ZpbGVX
cml0ZXJDbGllbnQ7CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMgYXN5bmMgaW50ZXJmYWNlIGZv
ciBwbGF0Zm9ybS1zcGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi4gIE5vdGUgdGhh
dCBhbGwgdGhlIG1ldGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4KLWNsYXNzIEFzeW5jRmlsZVN5
c3RlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW0geworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAgICAgdmly
dHVhbCB+QXN5bmNGaWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKaW5kZXggMjkwYTY2OS4uY2VlOGQ5MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJh
Y2tzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJh
Y2tzLmgKQEAgLTQxLDggKzQxLDExIEBAIGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFz
eW5jRmlsZVdyaXRlcjsKIHN0cnVjdCBGaWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5
c3RlbUNhbGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0
ZW1DYWxsYmFja3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNh
bGxiYWNrcyk7CiBwdWJsaWM6CisgICAgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAg
IAorCiAgICAgLy8gQ2FsbGVkIHdoZW4gYSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRl
ZCBzdWNjZXNzZnVsbHkuCiAgICAgdmlydHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKaW5kZXggZDQ0ZWUxZS4uZjAz
ZWM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29s
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKQEAgLTM5
LDcgKzM5LDggQEAgY2xhc3MgTlNBdXRvcmVsZWFzZVBvb2w7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgQXV0b2RyYWluZWRQb29sIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEF1dG9kcmFpbmVkUG9vbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXV0b2RyYWluZWRQ
b29sKTsKIHB1YmxpYzoKICAgICBBdXRvZHJhaW5lZFBvb2woaW50IGl0ZXJhdGlvbkxpbWl0ID0g
MSk7CiAgICAgfkF1dG9kcmFpbmVkUG9vbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRN
ZW51LmgKaW5kZXggNTc1Yzg2ZC4uMjk3Nzc0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudS5oCkBAIC00MSw4ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNs
YXNzIENvbnRleHRNZW51Q29udHJvbGxlcjsKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDogcHVi
bGljIE5vbmNvcHlhYmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51KCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKaW5kZXggMTQ1ZDc5NS4uNmU4NDEzMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKQEAgLTIyMyw3ICsyMjMsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybU1lbnVJdGVt
RGVzY3JpcHRpb247CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUl0ZW0geworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51
SXRlbShDb250ZXh0TWVudUl0ZW1UeXBlLCBDb250ZXh0TWVudUFjdGlvbiwgY29uc3QgU3RyaW5n
JiwgQ29udGV4dE1lbnUqIHN1Yk1lbnUgPSAwKTsKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKENv
bnRleHRNZW51SXRlbVR5cGUsIENvbnRleHRNZW51QWN0aW9uLCBjb25zdCBTdHJpbmcmLCBib29s
IGVuYWJsZWQsIGJvb2wgY2hlY2tlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaAppbmRleCA0N2NkNTM4Li5jMDdkMTczIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJ
dGVyYXRvcjsKIAotdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgewordGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0
ZWRQdHJMaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBE
ZXByZWNhdGVkUHRyTGlzdCgpIDogaW1wbChkZWxldGVGdW5jKSwgZGVsX2l0ZW0oZmFsc2UpIHsg
fQogICAgIH5EZXByZWNhdGVkUHRyTGlzdCgpIHsgaW1wbC5jbGVhcihkZWxfaXRlbSk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmlu
ZGV4IDk2ZmQ1MTMuLmM2MzM3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcApAQCAtMjksMTIgKzI5LDEzIEBACiAjaW5jbHVkZSA8
Y3N0ZGRlZj4KICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIERlcHJlY2F0ZWRMaXN0Tm9k
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZXByZWNhdGVkTGlzdE5vZGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBEZXByZWNhdGVkTGlzdE5vZGUodm9pZCAqZCkgOiBk
YXRhKGQpLCBuZXh0KDApLCBwcmV2KDApIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9FdmVudExvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9v
cC5oCmluZGV4IGIwNTA3ZjcuLjEyOGU5MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0V2ZW50TG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9v
cC5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNz
IEV2ZW50TG9vcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZlbnRMb29wIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRMb29wKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEV2ZW50TG9vcCgpCiAgICAgICAgICAgICA6IG1fZW5kZWQoZmFsc2UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCmluZGV4IDE1ODVmNjUuLjky
MTFmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2Vy
dmljZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5o
CkBAIC00Miw3ICs0Miw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25T
ZXJ2aWNlRXJyb3JPY2N1cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFz
cyBHZW9sb2NhdGlvblNlcnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9j
YXRpb25TZXJ2aWNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZp
Y2UpOwogcHVibGljOgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9s
b2NhdGlvblNlcnZpY2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2Uo
KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAppbmRleCA3ODgyZDQ4Li4yMjU4
ODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCkBAIC0yNiwxNSArMjYsMTYg
QEAKICNpZm5kZWYgSG9zdFdpbmRvd19oCiAjZGVmaW5lIEhvc3RXaW5kb3dfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgQ3Vyc29yOwogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEhvc3RXaW5kb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBIb3N0
V2luZG93KCkgeyB9CiAgICAgdmlydHVhbCB+SG9zdFdpbmRvdygpIHsgfQogCiAgICAgLy8gUmVx
dWVzdHMgdGhlIGhvc3QgaW52YWxpZGF0ZSB0aGUgd2luZG93LCBub3QgdGhlIGNvbnRlbnRzLiAg
SWYgaW1tZWRpYXRlIGlzIHRydWUgZG8gc28gc3luY2hyb25vdXNseSwgb3RoZXJ3aXNlIGFzeW5j
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKaW5kZXggOGUyNzM1MC4uYjY4NzI3NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICB2b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHBy
ZXBlbmQoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9MZW5ndGguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3
NWUuLjlkYTcxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCkBAIC0zNSw3ICszNSw5IEBA
IGNvbnN0IGludCBpbnRNaW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFs
dWUgZm9yIGEgMjgtYml0IGludAogCiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwg
UGVyY2VudCwgRml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKIAotc3Ry
dWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3Zh
bHVlKDApCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVi
b2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IDc4YTQw
YjMuLjUwYTljYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9h
cmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTgxLDcg
KzgxLDggQEAgY2xhc3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291cmNl
OwogICAgIAotY2xhc3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQ
YXN0ZWJvYXJkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIC8vSGVs
cGVyIGZ1bmN0aW9ucyB0byBhbGxvdyBDbGlwYm9hcmQgdG8gc2hhcmUgY29kZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0
Li5hZWU5NWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtl
eWJvYXJkRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJv
YXJkRXZlbnQuaApAQCAtNzUsNyArNzUsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHVp
bnQzMjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgUGxhdGZvcm1LZXlib2Fy
ZEV2ZW50IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9h
cmRFdmVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgZW51bSBUeXBlIHsKICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBw
bGF0Zm9ybXMgc3VjaCBhcyBNYWMgT1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlv
biBhYm91dCBib3RoIHBoeXNpY2FsIHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAppbmRleCA5YmRhMmQ1Li40
NDEzNmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZm
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaApAQCAt
MjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIFB1cmdlYWJsZUJ1ZmZlcl9oCiAKICNpbmNsdWRlICJQ
dXJnZVByaW9yaXR5LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAKLSAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFB1cmdlYWJsZUJ1ZmZlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
UGFzc093blB0cjxQdXJnZWFibGVCdWZmZXI+IGNyZWF0ZShjb25zdCBjaGFyKiBkYXRhLCBzaXpl
X3QpOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxv
b3BUaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXgg
NjVmMjUzZS4uZjhjNTI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVu
TG9vcFRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgK
QEAgLTMwLDE1ICszMCwxNiBAQAogI2RlZmluZSBSdW5Mb29wVGltZXJfaAogCiAjaW5jbHVkZSAi
U2NoZWR1bGVQYWlyLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1JldGFpblB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRpbWUgaW50ZXJ2
YWxzIGFyZSBhbGwgaW4gc2Vjb25kcy4KIAotY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBSdW5Mb29wVGltZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSdW5Mb29wVGltZXJCYXNlKTsKIHB1YmxpYzoKKyAgICBSdW5Mb29wVGltZXJC
YXNlKCkgeyB9CiAgICAgdmlydHVhbCB+UnVuTG9vcFRpbWVyQmFzZSgpOwogCiAgICAgdm9pZCBz
Y2hlZHVsZShjb25zdCBTY2hlZHVsZVBhaXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxiYXJUaGVtZS5oCmluZGV4IDBlZmFmN2EuLmYxMDY5MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZvcm1N
b3VzZUV2ZW50OwogY2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xhc3Mg
U2Nyb2xsYmFyVGhlbWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFyVGhl
bWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU2Nyb2xsYmFyVGhlbWUoKSB7IH0KICAgICB2
aXJ0dWFsIH5TY3JvbGxiYXJUaGVtZSgpIHt9OwogCiAgICAgdmlydHVhbCBib29sIHBhaW50KFNj
cm9sbGJhciosIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmIC8qZGFtYWdlUmVjdCov
KSB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2hhcmVkVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5k
ZXggNWI1Y2QxNC4uMTZlMGQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2hhcmVkVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5o
CkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVk
VGltZXJfaAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzMsOCArMzQsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmds
ZSBpbnN0YW5jZSBvZiBzaGFyZWQgdGltZXIsIHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZh
Y2UuCiAgICAgLy8gVGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUg
dGhyZWFkLgogICAgIC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhl
IFRpbWVyIGNsYXNzIGluc3RlYWQuCi0gICAgY2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU2hhcmVkVGltZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CisgICAgICAgIFNoYXJlZFRpbWVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflNoYXJlZFRp
bWVyKCkge30KICAgICAgICAgdmlydHVhbCB2b2lkIHNldEZpcmVkRnVuY3Rpb24odm9pZCAoKiko
KSkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9i
YWxEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKaW5k
ZXggOWY1N2YwMC4uNzYzNzdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGhyZWFkR2xvYmFsRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEds
b2JhbERhdGEuaApAQCAtNDUsNyArNDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3Ry
dWN0IFRFQ0NvbnZlcnRlcldyYXBwZXI7CiAgICAgY2xhc3MgVGhyZWFkVGltZXJzOwogCi0gICAg
Y2xhc3MgVGhyZWFkR2xvYmFsRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VGhyZWFkR2xvYmFsRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZEds
b2JhbERhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAg
ICAgICB+VGhyZWFkR2xvYmFsRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhyZWFkVGltZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1l
cnMuaAppbmRleCBhYjQyNTk4Li4zZDdiNWY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIFRpbWVyQmFzZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVh
ZC4gS2VwdCBpbiBUaHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBUaHJlYWRUaW1lcnMoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmgKaW5kZXggYzQ0NDNkYS4uYzMzMWUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBA
IC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxl
bWVudDsKIAotY2xhc3MgVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRp
bWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+
VGltZXJCYXNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hh
cmVkLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKaW5kZXggOWQ5YWMx
Zi4uOWUyN2M1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJl
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaApAQCAtMzIsNyAr
MzIsOCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkOwogdGVtcGxhdGU8
dHlwZW5hbWUgVD4gdm9pZCBhZG9wdGVkKFRyZWVTaGFyZWQ8VD4qKTsKICNlbmRpZgogCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K3RlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRyZWVTaGFyZWQpOwogcHVibGljOgogICAgIFRyZWVTaGFyZWQoKQogICAgICAg
ICA6IG1fcmVmQ291bnQoMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb25MaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRp
b24vQW5pbWF0aW9uTGlzdC5oCmluZGV4IDlhMzM0Y2EuLmJmOGZmOWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyAr
MzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25MaXN0KCkgeyB9CiAgICAg
QW5pbWF0aW9uTGlzdChjb25zdCBBbmltYXRpb25MaXN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9CdXMuaAppbmRleCA0MzE4YjgxLi44ODhmNmJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gQW4gQXVkaW9CdXMgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2Ygb25l
IG9yIG1vcmUgQXVkaW9DaGFubmVscy4KIC8vIFRoZSBkYXRhIGxheW91dCBpcyAicGxhbmFyIiBh
cyBvcHBvc2VkIHRvICJpbnRlcmxlYXZlZCIuCiAvLyBBbiBBdWRpb0J1cyB3aXRoIG9uZSBjaGFu
bmVsIGlzIG1vbm8sIGFuIEF1ZGlvQnVzIHdpdGggdHdvIGNoYW5uZWxzIGlzIHN0ZXJlbywgZXRj
LgotY2xhc3MgQXVkaW9CdXMgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQnVz
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb0J1cyk7CiBwdWJsaWM6CiAgICAgZW51
bSB7CiAgICAgICAgIENoYW5uZWxMZWZ0ID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9DaGFubmVsLmgKaW5kZXggNjgxNjgzMC4uNzMyNWU5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAgLTMwLDE0ICszMCwxNCBA
QAogI2RlZmluZSBBdWRpb0NoYW5uZWxfaAogCiAjaW5jbHVkZSAiQXVkaW9BcnJheS5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQW4gQXVkaW9DaGFubmVsIHJlcHJlc2VudHMgYSBi
dWZmZXIgb2Ygbm9uLWludGVybGVhdmVkIGZsb2F0aW5nLXBvaW50IGF1ZGlvIHNhbXBsZXMuCiAv
LyBUaGUgUENNIHNhbXBsZXMgYXJlIG5vcm1hbGx5IGFzc3VtZWQgdG8gYmUgaW4gYSBub21pbmFs
IHJhbmdlIC0xLjAgLT4gKzEuMAotY2xhc3MgQXVkaW9DaGFubmVsIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEF1ZGlvQ2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVk
aW9DaGFubmVsKTsKIHB1YmxpYzoKICAgICAvLyBNZW1vcnkgY2FuIGJlIGV4dGVybmFsbHkgcmVm
ZXJlbmNlZCwgb3IgY2FuIGJlIGludGVybmFsbHkgYWxsb2NhdGVkIHdpdGggYW4gQXVkaW9GbG9h
dEFycmF5LgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRG
RGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5o
CmluZGV4IGMzM2IzOGYuLmJmMTNhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0hSVEZEYXRhYmFzZS5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgSFJURktlcm5lbDsKIAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEhSVEZEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFJURkRhdGFiYXNlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIUlRGRGF0YWJh
c2U+IGNyZWF0ZShkb3VibGUgc2FtcGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaAppbmRleCBiMzg4YjM0Li4yNGI3ODIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCkBAIC00Myw3ICs0
Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gSFJURkVsZXZhdGlvbiBjb250YWlucyBh
bGwgb2YgdGhlIEhSVEZLZXJuZWxzIChvbmUgbGVmdCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVy
IGF6aW11dGggYW5nbGUpIGZvciBhIHBhcnRpY3VsYXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRG
RWxldmF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZFbGV2YXRpb24gewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZFbGV2YXRpb24pOwogcHVibGljOgogICAgIC8v
IExvYWRzIGFuZCByZXR1cm5zIGFuIEhSVEZFbGV2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBk
YXRhYmFzZSBzdWJqZWN0IG5hbWUgYW5kIGVsZXZhdGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktp
dC5mcmFtZXdvcmspIHJlc291cmNlcy4KICAgICAvLyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5
IGJlIGEgc2luZ2xlIEhSVEYgZGF0YWJhc2Ugc2V0LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhl
IHBvc3NpYmlsaXR5IG9mIG11bHRpcGxlIG9uZXMgd2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1
bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0u
aAppbmRleCAxZDY5OTIxLi5kNWFkYTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEludFBvaW50OwogCiAgICAgY2xhc3MgQ2xpcGJv
YXJkQ2hyb21pdW0gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGll
bnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAg
ICAgIH5DbGlwYm9hcmRDaHJvbWl1bSgpIHt9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCmluZGV4IDVhNTQ5NjMuLmU5Njc4YzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyAr
NjgsOSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEg
Q2xhc3MKIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQogCi1zdHJ1Y3QgRnJhbWVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFt
ZURhdGEoKQogICAgICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShm
YWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCmluZGV4IGVmMGQz
MWMuLmRhOThkZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaApA
QCAtNzgsNyArNzgsOCBAQCBpbmxpbmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsg
cmV0dXJuIChjb2xvciA+PiA4KSAmIDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdC
QTMyIGNvbG9yKSB7IHJldHVybiBjb2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFu
bmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xh
c3MgQ29sb3IgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCks
IG1fdmFsaWQoZmFsc2UpIHsgfQogICAgIENvbG9yKFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wp
LCBtX3ZhbGlkKHRydWUpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5jcHAKaW5kZXggMTQ5ZWE3OS4uY2ZjYTk4MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC01Myw3ICs1Myw5IEBAIEZv
bnRDYWNoZTo6Rm9udENhY2hlKCkKIHsKIH0KIAotc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNo
ZUtleSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgRm9udFBsYXRmb3Jt
RGF0YUNhY2hlS2V5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5ID0gQXRvbWljU3RyaW5nKCks
IHVuc2lnbmVkIHNpemUgPSAwLCB1bnNpZ25lZCB3ZWlnaHQgPSAwLCBib29sIGl0YWxpYyA9IGZh
bHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzUHJpbnRlckZvbnQgPSBm
YWxzZSwgRm9udFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRlcmluZ01v
ZGUsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiA9IEhvcml6b250YWwpCiAgICAgICAgIDog
bV9zaXplKHNpemUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNo
ZS5oCmluZGV4IGU2ODQ1ZDkuLjg2ZjhjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYWNoZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZvbnREZXNjcmlw
dGlvbjsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFz
cyBGb250Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udENhY2hlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBmcmllbmQgRm9udENhY2hlKiBmb250Q2FjaGUoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uM2Qz
NWQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCkBA
IC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIEZvbnREYXRhX2gKICNkZWZpbmUgRm9udERhdGFfaAog
CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1Vu
aWNvZGUuaD4KQEAgLTM0LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBT
aW1wbGVGb250RGF0YTsKIAotY2xhc3MgRm9udERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRm9udERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnREYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9udERhdGEoKQogICAgICAgICA6
IG1fbWF4R2x5cGhQYWdlVHJlZUxldmVsKDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCmluZGV4IGZhODViY2MuLjNlMTNmYmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01h
cC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01h
cC5oCkBAIC00MCw3ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAKIGNv
bnN0IGZsb2F0IGNHbHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNs
YXNzIEdseXBoTWV0cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFz
cyBUPiBjbGFzcyBHbHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEds
eXBoTWV0cmljc01hcCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxl
ZFByaW1hcnlQYWdlKGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXgg
YTQ1OWIzNy4uMzU4MjRkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCkBAIC0yMDYsNyArMjA2LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIHNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zIDogMTsKICAgICB9
OwogCi0gICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBHcmFwaGljc0NvbnRleHQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShH
cmFwaGljc0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEdyYXBoaWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopOwogICAgICAg
ICB+R3JhcGhpY3NDb250ZXh0KCk7CkBAIC00MjQsNyArNDI1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2b2lkIHNldFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9vbCk7CiAg
ICAgICAgIGJvb2wgc2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cygpIGNvbnN0OwogCi0gICAgICAg
IGNsYXNzIFdpbmRvd3NCaXRtYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBXaW5kb3dzQml0bWFwIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRv
d3NCaXRtYXApOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dzQml0bWFwKEhE
QywgSW50U2l6ZSk7CiAgICAgICAgICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDVmZGY3Mzgu
Ljc4YzFlNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKQEAgLTk0LDcgKzk0LDggQEAgY2xhc3MgVGltaW5nRnVuY3Rpb247CiAvLyBC
YXNlIGNsYXNzIGZvciBhbmltYXRpb24gdmFsdWVzIChhbHNvIHVzZWQgZm9yIHRyYW5zaXRpb25z
KS4gSGVyZSB0bwogLy8gcmVwcmVzZW50IHZhbHVlcyBmb3IgcHJvcGVydGllcyBiZWluZyBhbmlt
YXRlZCB2aWEgdGhlIEdyYXBoaWNzTGF5ZXIsCiAvLyB3aXRob3V0IHB1bGxpbmcgaW4gc3R5bGUt
cmVsYXRlZCBkYXRhIGZyb20gb3V0c2lkZSBvZiB0aGUgcGxhdGZvcm0gZGlyZWN0b3J5LgotY2xh
c3MgQW5pbWF0aW9uVmFsdWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9u
VmFsdWUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvblZhbHVlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uVmFsdWUoZmxvYXQga2V5
VGltZSwgUGFzc1JlZlB0cjxUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24gPSAwKQogICAg
ICAgICA6IG1fa2V5VGltZShrZXlUaW1lKQpAQCAtMTQ2LDcgKzE0Nyw4IEBAIHByaXZhdGU6CiAK
IC8vIFVzZWQgdG8gc3RvcmUgYSBzZXJpZXMgb2YgdmFsdWVzIGluIGEga2V5ZnJhbWUgbGlzdC4g
VmFsdWVzIHdpbGwgYWxsIGJlIG9mIHRoZSBzYW1lIHR5cGUsCiAvLyB3aGljaCBjYW4gYmUgaW5m
ZXJyZWQgZnJvbSB0aGUgcHJvcGVydHkuCi1jbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoS2V5ZnJhbWVWYWx1ZUxpc3QpOwogcHVibGljOgogCiAgICAgS2V5ZnJhbWVW
YWx1ZUxpc3QoQW5pbWF0ZWRQcm9wZXJ0eUlEIHByb3BlcnR5KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKaW5kZXggMzM4ZTNmOC4uY2RmZTE4YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBA
IC02MSw3ICs2MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgQWNjZWxlcmF0ZWQK
ICAgICB9OwogCi0gICAgY2xhc3MgSW1hZ2VCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEltYWdlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1h
Z2VCdWZmZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IC8vIFdpbGwgcmV0dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFsbG9jYXRpb24gZmFpbHVyZS4KICAg
ICAgICAgc3RhdGljIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZShjb25zdCBJbnRTaXpl
JiBzaXplLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UgPSBDb2xvclNwYWNlRGV2aWNlUkdCLCBSZW5k
ZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUgPSBVbmFjY2VsZXJhdGVkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKaW5kZXggNzAxOGE1Yy4uM2YxNmQw
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3Vy
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5o
CkBAIC0xMTcsNyArMTE3LDggQEAgY29uc3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IDA7CiBj
b25zdCBpbnQgY0FuaW1hdGlvbkxvb3BJbmZpbml0ZSA9IC0xOwogY29uc3QgaW50IGNBbmltYXRp
b25Ob25lID0gLTI7CiAKLWNsYXNzIEltYWdlU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEltYWdlU291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVNvdXJj
ZSk7CiBwdWJsaWM6CiAgICAgZW51bSBBbHBoYU9wdGlvbiB7CiAgICAgICAgIEFscGhhUHJlbXVs
dGlwbGllZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01l
ZGlhUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyLmNwcAppbmRleCBhYmY1MTA1Li5iYTE5ZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyArMTQ3LDkgQEAgc3Rh
dGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlTnVsbE1lZGlhUGxheWVyKE1l
ZGlhUGxheWVyKiBwbGF5ZXIpCiAKIC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0cnVjdCBNZWRpYVBs
YXllckZhY3RvcnkgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllckZhY3RvcnkpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3JlYXRlTWVk
aWFFbmdpbmVQbGF5ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlwZXMgZ2V0
U3VwcG9ydGVkVHlwZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZUFuZENv
ZGVjcykgCiAgICAgICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAgICwgZ2V0
U3VwcG9ydGVkVHlwZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAppbmRleCBjN2Q3ZWYzLi4xY2JiZTE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTE0
OSw3ICsxNDksOCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShNZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogCiAgICAgc3RhdGljIFBhc3NPd25QdHI8TWVkaWFQbGF5ZXI+IGNyZWF0ZShNZWRpYVBsYXll
ckNsaWVudCogY2xpZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllclByaXZhdGUuaAppbmRleCBkOTU2Mjg2Li42YWJlMjU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZh
dGUuaApAQCAtMzYsOCArMzYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW50UmVj
dDsKIGNsYXNzIEludFNpemU7CiAKLWNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1lZGlhUGxheWVyUHJpdmF0
ZUludGVyZmFjZSgpIHsgfQogICAgIHZpcnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZSgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRleCA0MjNhNzkyLi44NTJk
ODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCkBAIC0xMDAsNyAr
MTAwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiB2b2lkICgqUGF0aEFw
cGxpZXJGdW5jdGlvbikodm9pZCogaW5mbywgY29uc3QgUGF0aEVsZW1lbnQqKTsKIAotICAgIGNs
YXNzIFBhdGggOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGF0aCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGF0aCgp
OwogICAgICAgICB+UGF0aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKaW5kZXggNTg0NzdkYi4uMDZjN2ZlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9y
ZS5oCkBAIC0zNiw3ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNz
Q29udGV4dDsKIGNsYXNzIFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJh
Y2tpbmdTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9y
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUaWxlZEJhY2tpbmdTdG9yZShUaWxlZEJh
Y2tpbmdTdG9yZUNsaWVudCopOwogICAgIH5UaWxlZEJhY2tpbmdTdG9yZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGRhYzMxZjguLjUwZWEwMGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSk7CiBwdWJsaWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShGVF9GYWNlLCBTaGFy
ZWRCdWZmZXIqKTsKICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgK
aW5kZXggNmZjMWEwZS4uODlhNzliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCkBAIC01MCw3ICs1MCw4IEBA
IGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgU2hhcmVk
R3JhcGhpY3NDb250ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHTEVT
MkNhbnZhcyk7CiBwdWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hhcmVkR3JhcGhpY3NDb250ZXh0
M0QqLCBEcmF3aW5nQnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwogICAgIH5HTEVTMkNhbnZhcygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclRleHR1cmUuaAppbmRleCA3MTFlNjg3Li5iNjBkZmYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUu
aApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJUZXh0
dXJlTWFuYWdlci5oIgogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM3LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBUZXh0dXJlTWFuYWdlcjsKIAotY2xhc3Mg
TGF5ZXJUZXh0dXJlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheWVyVGV4dHVyZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5ZXJUZXh0dXJlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TGF5ZXJUZXh0dXJlPiBj
cmVhdGUoR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIFRleHR1cmVNYW5hZ2VyKiBtYW5hZ2Vy
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyVGlsZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJUaWxlckNocm9taXVtLmgKaW5kZXggYzA2NmZkZi4uZDRmOWY1
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJUaWxlckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJUaWxlckNocm9taXVtLmgKQEAgLTQyLDcgKzQyLDggQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0
IEludFJlY3QmIGNvbnRlbnRSZWN0KSA9IDA7CiB9OwogCi1jbGFzcyBMYXllclRpbGVyQ2hyb21p
dW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5ZXJUaWxlckNocm9taXVtIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShMYXllclRpbGVyQ2hyb21pdW0pOwogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzT3duUHRyPExheWVyVGlsZXJDaHJvbWl1bT4gY3JlYXRlKExheWVyUmVuZGVy
ZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgdGlsZVNpemUpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5k
ZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCmluZGV4IGE5MzIxOGYuLjY4OWE2ZWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRl
clN1cmZhY2VDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNz
IExheWVyQ2hyb21pdW07CiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFzcyBMYXll
clRleHR1cmU7CiAKLWNsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0geworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFJlbmRlclN1cmZhY2VDaHJvbWl1bSk7CiAgICAgZnJpZW5kIGNsYXNzIExheWVyUmVu
ZGVyZXJDaHJvbWl1bTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJTdXJmYWNlQ2hyb21p
dW0oTGF5ZXJDaHJvbWl1bSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmgKaW5kZXggNDg5MWNjNy4uODMx
MDRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVGV4dHVyZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAi
SW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTGlzdEhh
c2hTZXQuaD4KIApAQCAtMzYsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHR5cGVk
ZWYgaW50IFRleHR1cmVUb2tlbjsKIAotY2xhc3MgVGV4dHVyZU1hbmFnZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgVGV4dHVyZU1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFRleHR1cmVNYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxUZXh0
dXJlTWFuYWdlcj4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBzaXplX3QgbWVt
b3J5TGltaXRCeXRlcywgaW50IG1heFRleHR1cmVTaXplKQogICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5
V2luLmgKaW5kZXggYjZiZWY5MS4uNTM1Y2JhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKQEAg
LTU0LDcgKzU0LDggQEAgY2xhc3MgVHJhbnNwYXJlbmN5V2luX09wYXF1ZUNvbXBvc2l0ZUxheWVy
X1Rlc3Q7CiAvLyB0aGF0IGlzIGNvbXBvc2l0ZWQgbGF0ZXIgbWFudWFsbHkuIFRoaXMgaXMgdG8g
Z2V0IGFyb3VuZCBXaW5kb3dzJyBpbmFiaWxpdHkKIC8vIHRvIGhhbmRsZSB0aGUgYWxwaGEgY2hh
bm5lbCwgc2VtaXRyYW5zcGFyZW50IHRleHQsIGFuZCB0cmFuc2Zvcm1lZCBmb3JtCiAvLyBjb250
cm9scy4KLWNsYXNzIFRyYW5zcGFyZW5jeVdpbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUcmFuc3BhcmVuY3lXaW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW5j
eVdpbik7CiBwdWJsaWM6CiAgICAgZW51bSBMYXllck1vZGUgewogICAgICAgICAvLyBObyBleHRy
YSBsYXllciBpcyBjcmVhdGVkLiBEcmF3aW5nIHdpbGwgaGFwcGVuIHRvIHRoZSBzb3VyY2UuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1
ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZm
ZXIuaAppbmRleCBlMGUwZWUxLi44NzdjYWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTgwLDggKzgwLDEwIEBA
IHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgY2xhc3MgV2ls
bFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV2lsbFB1
Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQdWJsaXNo
Q2FsbGJhY2spOwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hDYWxsYmFjaygpIHsg
fQogICAgICAgICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9CiAgICAgICAgIAog
ICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIu
aAppbmRleCBjNjY1ODQ0Li4xYmQ2N2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKQEAgLTMwLDE0
ICszMCwxNCBAQAogI2lmbmRlZiBMb29wQmxpbm5DbGFzc2lmaWVyX2gKICNkZWZpbmUgTG9vcEJs
aW5uQ2xhc3NpZmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFBvaW50OwogCiAvLyBDbGFzc2lmaWVzIGN1Ymlj
IGN1cnZlcyBpbnRvIHNwZWNpZmljIHR5cGVzLgotY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShMb29wQmxpbm5DbGFzc2lmaWVyKTsKIHB1YmxpYzoKICAgICAv
LyBUaGUgdHlwZXMgb2YgY3ViaWMgY3VydmVzLgogICAgIGVudW0gQ3VydmVUeXBlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2Nh
bFRyaWFuZ3VsYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xv
b3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkxvY2Fs
VHJpYW5ndWxhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKQEAgLTMwLDE5ICszMCwyMCBAQAogI2luY2x1
ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0YW50cy5oIgogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gUGVyZm9ybXMgYSBsb2NhbGl6ZWQgdHJpYW5ndWxh
dGlvbiBvZiB0aGUgdHJpYW5nbGUgbWVzaAogLy8gY29ycmVzcG9uZGluZyB0byB0aGUgZm91ciBj
b250cm9sIHBvaW50IHZlcnRpY2VzIG9mIGEgY3ViaWMgY3VydmUKIC8vIHNlZ21lbnQuCi1jbGFz
cyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IpOwogcHVibGljOgogICAgIC8vIFRoZSB2ZXJ0aWNl
cyB0aGF0IHRoZSB0cmlhbmd1bGF0b3Igb3BlcmF0ZXMgdXBvbiwgY29udGFpbmluZyBib3RoCiAg
ICAgLy8gdGhlIHBvc2l0aW9uIGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgdGhlIGN1YmljIHRleHR1
cmUKICAgICAvLyBjb29yZGluYXRlcy4KLSAgICBjbGFzcyBWZXJ0ZXggOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFZlcnRleCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFZlcnRleCk7CiAgICAgcHVibGljOgogICAgICAgICBWZXJ0ZXgoKQogICAgICAgICB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCmluZGV4IGY2
OGJhZWYuLjZlZGMxZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9QT0RBcmVuYS5oCkBAIC0xNTgsNyArMTU4LDggQEAgcHJpdmF0ZToKICAgICB9CiAKICAg
ICAvLyBNYW5hZ2VzIGEgY2h1bmsgb2YgbWVtb3J5IGFuZCBpbmRpdmlkdWFsIGFsbG9jYXRpb25z
IG91dCBvZiBpdC4KLSAgICBjbGFzcyBDaHVuayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgQ2h1bmsgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHVuayk7CiAgICAg
cHVibGljOgogICAgICAgICAvLyBBbGxvY2F0ZXMgYSBibG9jayBvZiBtZW1vcnkgb2YgdGhlIGdp
dmVuIHNpemUgZnJvbSB0aGUgcGFzc2VkCiAgICAgICAgIC8vIEFsbG9jYXRvci4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUu
aAppbmRleCAzMjBjZTYwLi41YmYzZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCkBAIC00NCw4ICs0NCw4IEBA
IHN0cnVjdCBWYWx1ZVRvU3RyaW5nOwogLy8gc3VwcG9ydHMgZWZmaWNpZW50IChPKGxnIG4pKSBp
bnNlcnRpb24sIHJlbW92YWwgYW5kIHF1ZXJ5aW5nIG9mCiAvLyBpbnRlcnZhbHMgaW4gdGhlIHRy
ZWUuCiB0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBVc2VyRGF0YSA9IHZvaWQqPgotY2xhc3MgUE9E
SW50ZXJ2YWxUcmVlIDogcHVibGljIE5vbmNvcHlhYmxlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgcHVibGljIFBPRFJlZEJsYWNrVHJlZTxQT0RJbnRlcnZhbDxULCBVc2VyRGF0YT4gPiB7Citj
bGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFs
PFQsIFVzZXJEYXRhPiA+IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQT0RJbnRlcnZhbFRy
ZWUpOwogcHVibGljOgogICAgIC8vIFR5cGVkZWYgdG8gcmVkdWNlIHR5cGluZyB3aGVuIGRlY2xh
cmluZyBpbnRlcnZhbHMgdG8gYmUgc3RvcmVkIGluCiAgICAgLy8gdGhpcyB0cmVlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJl
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJl
ZS5oCmluZGV4IDZkNTk1NGMuLmJkMDg5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKQEAgLTE5OCw3ICsxOTgs
OCBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gVGhlIGJhc2UgTm9kZSBjbGFzcyB3aGljaCBpcyBzdG9y
ZWQgaW4gdGhlIHRyZWUuIE5vZGVzIGFyZSBvbmx5CiAgICAgLy8gYW4gaW50ZXJuYWwgY29uY2Vw
dDsgdXNlcnMgb2YgdGhlIHRyZWUgZGVhbCBvbmx5IHdpdGggdGhlIGRhdGEKICAgICAvLyB0aGV5
IHN0b3JlIGluIGl0LgotICAgIGNsYXNzIE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIE5vZGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIC8vIENvbnN0cnVjdG9yLiBOZXdseS1jcmVhdGVkIG5vZGVzIGFyZSBj
b2xvcmVkIHJlZC4KICAgICAgICAgZXhwbGljaXQgTm9kZShjb25zdCBUJiBkYXRhKQpAQCAtNjU5
LDcgKzY2MCw4IEBAIHByaXZhdGU6CiAgICAgLy8gSGVscGVyIGNsYXNzIGZvciBzaXplKCkKIAog
ICAgIC8vIEEgVmlzaXRvciB3aGljaCBzaW1wbHkgY291bnRzIHRoZSBudW1iZXIgb2YgdmlzaXRl
ZCBlbGVtZW50cy4KLSAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ291bnRlcik7CiAgICAgcHVibGljOgogICAgICAgICBD
b3VudGVyKCkKICAgICAgICAgICAgIDogbV9jb3VudCgwKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaAppbmRleCBlNWJkOGRlLi40ZjYyY2E5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCkBAIC00
MCw3ICs0MCw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4
dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7CiBwcm90
ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJvZ3JhbSk7
CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L1RpbGluZ0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9UaWxpbmdEYXRhLmgKaW5kZXggMWJkYzUxYS4uZDExNDBiZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCkBAIC0zOCw3ICsz
OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIEludFJl
Y3Q7CiAKLWNsYXNzIFRpbGluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGls
aW5nRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsaW5nRGF0YSk7CiBwdWJsaWM6
CiAgICAgVGlsaW5nRGF0YShpbnQgbWF4VGV4dHVyZVNpemUsIGludCB0b3RhbFNpemVYLCBpbnQg
dG90YWxTaXplWSwgYm9vbCBoYXNCb3JkZXJUZXhlbHMpOwogICAgIGludCBtYXhUZXh0dXJlU2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4VGV4dHVyZVNpemU7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3Ry
ZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dl
YktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggZTEwZTYxZi4uMzZiNDlkZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdl
YlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTM2LDcgKzM2LDgg
QEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLWNsYXNzIFN0cmVhbWluZ0NsaWVudCA6
IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNz
IFN0cmVhbWluZ0NsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyZWFtaW5nQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAg
IFN0cmVhbWluZ0NsaWVudChXZWJLaXRXZWJTcmMqKTsKICAgICAgICAgdmlydHVhbCB+U3RyZWFt
aW5nQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4u
ODZmOTliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFp
a3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0
IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmlu
Z01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1E
YXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAg
ICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aAppbmRleCBjMTE4NThjLi43MDQzZDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTM2LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0
YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lciwgQ0dG
b250UmVmIGNnRm9udCkKICAgICAgICAgOiBtX2F0c0NvbnRhaW5lcihjb250YWluZXIpCiAgICAg
ICAgICwgbV9jZ0ZvbnQoY2dGb250KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKaW5kZXggMzJmMWZlNS4uM2YxNDk0
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1Bh
aW50ZXJPcGVuVkcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
dmcvUGFpbnRlck9wZW5WRy5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIFRpbGVkSW1hZ2VPcGVu
Vkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKIAotY2xhc3MgUGFpbnRlck9wZW5W
RyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWludGVyT3BlblZHIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQYWludGVyT3BlblZHKTsKIHB1YmxpYzoKICAgICBmcmllbmQgY2xh
c3MgU3VyZmFjZU9wZW5WRzsKICAgICBmcmllbmQgc3RydWN0IFBsYXRmb3JtUGFpbnRlclN0YXRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1
cmZhY2VPcGVuVkcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9T
dXJmYWNlT3BlblZHLmgKaW5kZXggNDZkMTY0Ni4uMTlkOTVkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oCkBA
IC00Miw3ICs0Miw4IEBAIGNsYXNzIEludFNpemU7CiAgKiBvZiAjaWZkZWZzIGFuZCBzaG91bGQg
bWFrZSBpdCBlYXN5IHRvIGFkZCBkaWZmZXJlbnQgc3VyZmFjZS9jb250ZXh0CiAgKiBpbXBsZW1l
bnRhdGlvbnMgdGhhbiBFR0wuCiAgKi8KLWNsYXNzIFN1cmZhY2VPcGVuVkcgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU3VyZmFjZU9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3VyZmFjZU9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZW51bSBNYWtlQ3VycmVudE1vZGUgewog
ICAgICAgICBBcHBseVBhaW50ZXJTdGF0ZU9uU3VyZmFjZVN3aXRjaCwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAppbmRleCA2YzQxZDQ3Li41NGZhNjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNs
dWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IApAQCAtMzIsNyArMzMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRm
b3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7
IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVzZSB3aXRo
IFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlvbkZvbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0
Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0
Zm9ybURhdGEuaAppbmRleCAxYzU3ZTI5Li5mMjY4MzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC0zMiw3
ICszMiw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0
YVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFBsYXRmb3JtRGF0YVBy
aXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRQbGF0Zm9ybURhdGFQcml2YXRl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9udFBsYXRmb3JtRGF0
YVByaXZhdGUoKQogICAgICAgICA6IHJlZkNvdW50KDEpCkBAIC02Miw4ICs2MywxMCBAQCBwdWJs
aWM6CiAKIAogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
eworY2xhc3MgRm9udFBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0Zm9ybURh
dGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQbGF0Zm9y
bURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1EYXRhKGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFtZSwgaW50
IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNw
cAppbmRleCAzMzczMWRkLi4xZjg4MjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCkBAIC0xNzQsNyAr
MTc0LDggQEAgc3RhdGljIGlubGluZSBRdDo6RmlsbFJ1bGUgdG9RdEZpbGxSdWxlKFdpbmRSdWxl
IHJ1bGUpCiAgICAgcmV0dXJuIFF0OjpPZGRFdmVuRmlsbDsKIH0KIAotY2xhc3MgR3JhcGhpY3ND
b250ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdyYXBo
aWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKFFQYWludGVyKiwgY29u
c3QgUUNvbG9yJiBpbml0aWFsU29saWRDb2xvcik7CiAgICAgfkdyYXBoaWNzQ29udGV4dFBsYXRm
b3JtUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKaW5kZXggNWIyZjhiMi4uZTQ4MjhmNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVu
Y3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3Ry
dWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJhbnNwYXJl
bmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFRy
YW5zcGFyZW5jeUxheWVyKGNvbnN0IFFQYWludGVyKiBwLCBjb25zdCBRUmVjdCAmcmVjdCwgcXJl
YWwgb3BhY2l0eSwgUVBpeG1hcCYgYWxwaGFNYXNrKQogICAgICAgICA6IHBpeG1hcChyZWN0Lndp
ZHRoKCksIHJlY3QuaGVpZ2h0KCkpCiAgICAgICAgICwgb3BhY2l0eShvcGFjaXR5KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li40MjI4YjQwMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKQEAgLTQ5LDcgKzQ5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSk7CitwdWJsaWM6CiAjaWYgT1MoV0lORE9XUykKICAgICBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhKEhBTkRMRSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgIDog
bV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUuaAppbmRleCA1ZTEyYWQ2Li40NDgzNWE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRl
ZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2RlZmluZSBHcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIGNs
YXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGhp
cyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZvciBHcmFwaGlj
c0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOwog
cHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0Zm9ybUNvbnRl
eHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9jb250ZXh0KHBsYXRmb3JtQ29u
dGV4dCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCmluZGV4IDExYjMxMWEuLjAzMDQ0ODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1D
b250ZXh0U2tpYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
UGxhdGZvcm1Db250ZXh0U2tpYS5oCkBAIC02Nyw3ICs2Nyw4IEBAIGNsYXNzIFRleHR1cmU7CiAv
LyByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgdGhlIHBhaW50aW5nIHN0YXRlIHdoaWNoIGlzIHN0
b3JlIGluIHNlcGFyYXRlCiAvLyBTa1BhaW50IG9iamVjdHMuIFRoaXMgY2xhc3MgcHJvdmlkZXMg
dGhlIGFkYXB0b3IgdGhhdCBhbGxvd3MgdGhlIHBhaW50aW5nCiAvLyBzdGF0ZSB0byBiZSBwdXNo
ZWQgYW5kIHBvcHBlZCBhbG9uZyB3aXRoIHRoZSBiaXRtYXAuCi1jbGFzcyBQbGF0Zm9ybUNvbnRl
eHRTa2lhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsYXRmb3JtQ29udGV4dFNraWEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsYXRmb3JtQ29udGV4dFNraWEpOwogcHVibGlj
OgogICAgIC8vIEZvciBwcmludGluZywgdGhlcmUgc2hvdWxkbid0IGJlIGFueSBjYW52YXMuIGNh
bnZhcyBjYW4gYmUgTlVMTC4gSWYgeW91CiAgICAgLy8gc3VwcGx5IGEgTlVMTCBjYW52YXMsIHlv
dSBjYW4gYWxzbyBjYWxsIHNldENhbnZhcyBsYXRlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5o
CmluZGV4IGJhZWUxMDIuLmZhZjE0MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApAQCAt
NTUsNyArNTUsOCBAQCBjbGFzcyBJbnRQb2ludDsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBUcmFu
c2Zvcm1hdGlvbk1hdHJpeDsKIAotY2xhc3MgQWZmaW5lVHJhbnNmb3JtIDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgQWZmaW5lVHJhbnNmb3JtIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJh
bnNmb3JtT3BlcmF0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJh
bnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3Ny4uOTgxZTFmNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFu
c2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVHJhbnNmb3JtT3BlcmF0aW9ucyhib29sIG1h
a2VJZGVudGl0eSA9IGZhbHNlKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRy
aXguaAppbmRleCBmMTNiY2MxLi5iMDdiYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlv
bk1hdHJpeC5oCkBAIC02NSw3ICs2NSw4IEBAIGNsYXNzIEZsb2F0UG9pbnQzRDsKIGNsYXNzIEZs
b2F0UmVjdDsKIGNsYXNzIEZsb2F0UXVhZDsKIAotY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXgg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBkb3VibGUg
TWF0cml4NFs0XVs0XTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggMWJkZjI3MC4u
ZGUzM2M2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNCw3ICszNCw5IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRC
dWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgewor
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAg
OiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKICAgICAgICAgLCBtX25hbWUobmFtZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaAppbmRleCAzYWI1MmI4Li45YzY3MDM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1
c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCkBAIC0zMyw3ICszMyw5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFy
ZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1fZm9udEZh
Y2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKaW5kZXggYzIxNjE0MC4uNTk1
MWU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xv
Y2FsV2luZG93c0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShMb2NhbFdpbmRvd3NDb250ZXh0KTsKIHB1YmxpYzoKICAgICBMb2NhbFdpbmRvd3NDb250
ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0
LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSwgYm9vbCBtYXlDcmVhdGVCaXRtYXAgPSB0
cnVlKQogICAgICAgICA6IG1fZ3JhcGhpY3NDb250ZXh0KGdyYXBoaWNzQ29udGV4dCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAppbmRleCBl
ZmFmMjE4Li5kZmExZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vUVRNb3ZpZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1FUTW92aWUuY3BwCkBAIC02Myw3ICs2Myw4IEBAIHVuaW9uIFVwcFBhcmFtIHsKIHN0
YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwogc3RhdGljIFNJ
bnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVByaXZhdGUgOiBwdWJs
aWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CitjbGFzcyBRVE1vdmll
UHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQcml2YXRlKCk7CiAg
ICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vUVRUcmFjay5jcHAKaW5kZXggMDkxNDJiYy4uYmY4MGE4MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcApAQCAtMzEsNyAr
MzEsOCBAQAogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCi1jbGFzcyBRVFRyYWNrUHJpdmF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBRVFRyYWNrUHJpdmF0ZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUVRUcmFja1ByaXZhdGUpOwogcHVibGljOgogICAgIFFUVHJhY2tQcml2
YXRlKCk7CiAgICAgflFUVHJhY2tQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCmluZGV4
IDE3ZWM0MWQuLjc4ZTg0OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCkBAIC0zNiw3ICszNiw4
IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FD
RkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZDb250ZXh0
Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVyJiBzaGFy
ZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1dLQ0FDRkxheWVyUmVuZGVyZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKaW5kZXggMDJjZGJkYi4uY2M5ZGZjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVu
ZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNG
TGF5ZXJSZW5kZXJlci5oCkBAIC02MCw3ICs2MCw4IEBAIHB1YmxpYzoKIC8vIEZJWE1FOiBDdXJy
ZW50bHkgdGhlcmUgaXMgYSBXS0NBQ0ZMYXllclJlbmRlcmVyIGZvciBlYWNoIFdlYlZpZXcgYW5k
IGVhY2gKIC8vIGhhcyBpdHMgb3duIENBUmVuZGVyT0dMQ29udGV4dCBhbmQgRGlyZWN0M0REZXZp
Y2U5LCB3aGljaCBpcyBpbmVmZmljaWVudC4KIC8vIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzE4NTUpCi1jbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkxheWVyUmVuZGVyZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFdLQ0FDRkxheWVyUmVuZGVyZXIpOwogICAgIGZyaWVuZCBQbGF0Zm9ybUNB
TGF5ZXI7CiAKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBhYmRj
MGYyLi4wNTA4MjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNyw3ICsz
Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0
ZXJGb250KGNvbnN0IFN0cmluZyYgZm9udE5hbWUpID0gMDsKICAgICB9OwogCi0gICAgc3RydWN0
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICAgICAgOiBtX25hbWUobmFtZSkKICAg
ICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
Y2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDJkZWY2YWIuLmM5OTY3
MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dy
YXBoaWNzQ29udGV4dFdpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKQEAgLTQzOCw3ICs0MzgsOCBAQCBz
dGF0aWMgdm9pZCByb3RhdGVCaXRtYXAoU2hhcmVkQml0bWFwKiBkZXN0Qm1wLCBjb25zdCBTaGFy
ZWRCaXRtYXAqIHNvdXJjZUJtcCwgYwogICAgICAgICBfcm90YXRlQml0bWFwPHVuc2lnbmVkLCBm
YWxzZT4oZGVzdEJtcCwgc291cmNlQm1wLCB0cmFuc2Zvcm0pOwogfQogCi1jbGFzcyBUcmFuc3Bh
cmVudExheWVyREMgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc3BhcmVudExheWVyREMgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW50TGF5ZXJEQyk7CiBwdWJsaWM6CiAg
ICAgVHJhbnNwYXJlbnRMYXllckRDKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSogZGF0
YSwgSW50UmVjdCYgb3JpZ1JlY3QsIGNvbnN0IEludFJlY3QqIHJlY3RCZWZvcmVUcmFuc2Zvcm0g
PSAwLCBpbnQgYWxwaGEgPSAyNTUsIGJvb2wgcGFpbnRJbWFnZSA9IGZhbHNlKTsKICAgICB+VHJh
bnNwYXJlbnRMYXllckRDKCk7CkBAIC01NTgsNyArNTU5LDggQEAgdm9pZCBUcmFuc3BhcmVudExh
eWVyREM6OmZpbGxBbHBoYUNoYW5uZWwoKQogICAgIH0KIH0KIAotY2xhc3MgU2NvcGVEQ1Byb3Zp
ZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgU2NvcGVEQ1Byb3ZpZGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY29wZURDUHJvdmlkZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNj
b3BlRENQcm92aWRlcihHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEpCiAgICAg
ICAgIDogbV9kYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2MzNDhlMy4u
ODZmOTliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0IEBACiAj
aW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUu
aCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwog
ICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiAg
ICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgICAg
IH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
Q2xpcGJvYXJkR3RrLmgKaW5kZXggZTE0YTU4My4uMGMwN2MwNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3Ig
ZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogICAgIC8vIENyZWF0ZWQgZnJvbSB0aGUgRXZl
bnRIYW5kbGVyR3RrIHRvIGJlIHVzZWQgYnkgdGhlIGRvbQogICAgIGNsYXNzIENsaXBib2FyZEd0
ayA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q2xpcGJvYXJkR3RrPiBjcmVhdGUoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBv
bGljeSwgR3RrQ2xpcGJvYXJkKiBjbGlwYm9hcmQsIEZyYW1lKiBmcmFtZSkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VE
ZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURl
Y29kZXIuaAppbmRleCAzOWRlZWUyLi4yNGJjZGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaApAQCAtMjIxLDcgKzIy
MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBzZXRNYXhOdW1QaXhlbHMoKSB0byBz
cGVjaWZ5IHRoZSBiaWdnZXN0IHNpemUgdGhhdCBkZWNvZGVkIGltYWdlcyBjYW4KICAgICAvLyBo
YXZlLiBJbWFnZSBkZWNvZGVycyB3aWxsIGRlZmxhdGUgdGhvc2UgaW1hZ2VzIHRoYXQgYXJlIGJp
Z2dlciB0aGFuCiAgICAgLy8gbV9tYXhOdW1QaXhlbHMuIChOb3Qgc3VwcG9ydGVkIGJ5IGFsbCBp
bWFnZSBkZWNvZGVycyB5ZXQpCi0gICAgY2xhc3MgSW1hZ2VEZWNvZGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZURlY29kZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJbWFnZURlY29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIEltYWdlRGVjb2RlcihJbWFnZVNvdXJjZTo6QWxwaGFPcHRpb24gYWxwaGFP
cHRpb24sIEltYWdlU291cmNlOjpHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbiBnYW1tYUFuZENv
bG9yUHJvZmlsZU9wdGlvbikKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgKaW5kZXggNzE4N2VjZi4uMzllYWRk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApAQCAtNDQs
NiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBDbGlwYm9h
cmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVm
UHRyPENsaXBib2FyZE1hYz4gY3JlYXRlKENsaXBib2FyZFR5cGUgY2xpcGJvYXJkVHlwZSwgTlNQ
YXN0ZWJvYXJkICpwYXN0ZWJvYXJkLCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBGcmFt
ZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLjhmZGUyY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFw
aGljc0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJy
ZW50R3JhcGhpY3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAgY2xhc3MgR3JhcGhpY3NDb250
ZXh0OwogICAgIAogLy8gVGhpcyBjbGFzcyBhdXRvbWF0aWNhbGx5IHNhdmVzIGFuZCByZXN0b3Jl
cyB0aGUgY3VycmVudCBOU0dyYXBoaWNzQ29udGV4dCBmb3IKIC8vIGZ1bmN0aW9ucyB3aGljaCBj
YWxsIG91dCBpbnRvIEFwcEtpdCBhbmQgcmVseSBvbiB0aGUgY3VycmVudENvbnRleHQgYmVpbmcg
c2V0Ci1jbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQpOwogcHVibGljOgogICAgIExv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4
dCk7CiAgICAgfkxvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLmMxZjU1MjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKQEAgLTE0NSw2ICsxNDUs
NyBAQCBwcml2YXRlOgogdHlwZWRlZiBWZWN0b3I8QmxvYkRhdGFJdGVtPiBCbG9iRGF0YUl0ZW1M
aXN0OwogCiBjbGFzcyBCbG9iRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAppbmRl
eCA4N2QwZWYzLi4xMTJlMzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKQEAgLTIzLDE0ICsyMywxNCBAQAogCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50
OwogY2xhc3MgVGV4dEVuY29kaW5nOwogCi1jbGFzcyBGb3JtRGF0YUJ1aWxkZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRm9ybURhdGFCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShGb3JtRGF0YUJ1aWxkZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXh0RW5jb2Rp
bmcgZW5jb2RpbmdGcm9tQWNjZXB0Q2hhcnNldChjb25zdCBTdHJpbmcmIGFjY2VwdENoYXJzZXQs
IERvY3VtZW50KiBkb2N1bWVudCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4yNmY4ZDhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0
ZU5vdGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3Jr
U3RhdGVOb3RpZmllci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyX2gKICNkZWZpbmUgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogCisjaW5jbHVkZSA8d3Rm
L0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFBM
QVRGT1JNKE1BQykKQEAgLTYxLDcgKzYyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
TmV0d29ya1N0YXRlTm90aWZpZXJQcml2YXRlOwogI2VuZGlmCiAKLWNsYXNzIE5ldHdvcmtTdGF0
ZU5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5ldHdvcmtTdGF0ZU5vdGlm
aWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXR3b3JrU3RhdGVOb3RpZmllcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5vdGlmaWVy
KCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAoKikoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oCmluZGV4IGQ4MzNlMzIuLmVkNjY5NDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
CkBAIC04MCw3ICs4MCw4IEBAIGNsYXNzIE5TVVJMQ29ubmVjdGlvbjsKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUNsaWVudDsKIAotICAgIGNsYXNzIFJlc291
cmNlSGFuZGxlSW50ZXJuYWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlc291
cmNlSGFuZGxlSW50ZXJuYWwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXNvdXJj
ZUhhbmRsZUludGVybmFsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2FkZXIsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGMsIGJv
b2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAgICAgICA6
IG1fY2xpZW50KGMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDVjYjdlZTMuLmRjZTMzZGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5o
CkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NU
aHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlzIHR5cGUg
ZGlyZWN0bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3MgUmVzb3Vy
Y2VSZXF1ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBSZXNvdXJj
ZVJlcXVlc3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICAvLyBUaGUgdHlwZSBvZiB0aGlzIFJlc291cmNlUmVxdWVzdCwgYmFzZWQg
b24gaG93IHRoZSByZXNvdXJjZSB3aWxsIGJlIHVzZWQuCiAgICAgICAgIGVudW0gVGFyZ2V0VHlw
ZSB7CkBAIC0yMDcsNyArMjA4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBpbmxpbmUg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiBiKSB7IHJldHVybiBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjb21wYXJlKGEsIGIpOyB9
CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3IhPShSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLSAgICBzdHJ1Y3QgQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIENyb3NzVGhyZWFkUmVzb3Vy
Y2VSZXF1ZXN0RGF0YUJhc2UoKSB7IH0KICAgICAgICAgS1VSTCBtX3VybDsKIAogICAgICAgICBS
ZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBtX2NhY2hlUG9saWN5OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCmluZGV4
IDljNTRiYWIuLmUwNzc0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3Mg
UmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRh
OwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0aGUgY2xhc3MgUmVz
cG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxSZXNv
dXJjZVJlc3BvbnNlPiBhZG9wdChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25z
ZURhdGE+KTsKIApAQCAtMTc1LDcgKzE3NiwxMCBAQCBwcml2YXRlOgogaW5saW5lIGJvb2wgb3Bl
cmF0b3I9PShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiBiKSB7IHJldHVybiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y29tcGFyZShhLCBiKTsgfQogaW5s
aW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotc3RydWN0IENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIDogTm9uY29weWFibGUgeworc3RydWN0IENyb3Nz
VGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSk7CitwdWJsaWM6CisgICAgQ3Jv
c3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UoKSB7IH0KICAgICBLVVJMIG1fdXJsOwog
ICAgIFN0cmluZyBtX21pbWVUeXBlOwogICAgIGxvbmcgbG9uZyBtX2V4cGVjdGVkQ29udGVudExl
bmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9S
ZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggZWJiNmM1Zi4uYTcxNzBmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlSGFuZGxlU291cC5jcHAKQEAgLTYwLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJWkUgODE5MgogCi1jbGFzcyBXZWJDb3JlU3luY2hyb25v
dXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5k
bGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVTeW5jaHJvbm91c0xv
YWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKFJlc291cmNlRXJy
b3ImLCBSZXNvdXJjZVJlc3BvbnNlICYsIFZlY3RvcjxjaGFyPiYpOwogICAgIH5XZWJDb3JlU3lu
Y2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAppbmRleCAzOGQ5Y2QxLi5mNTA1NDBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJj
ZUhhbmRsZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4v
UmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4IEBAIHN0YXRpYyBTdHJpbmcgcXVl
cnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2ZWwpCiB9
CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFu
ZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3Vz
TG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVT
eW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3Rv
cjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsKICAgICB+V2ViQ29yZVN5bmNocm9u
b3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlw
Ym9hcmRRdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAppbmRl
eCA1YWNhMWE2Li5mYjVhYmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9DbGlwYm9hcmRRdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2Fy
ZFF0LmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gU3Rh
dGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29w
eS9wYXN0ZQogICAgIGNsYXNzIENsaXBib2FyZFF0IDogcHVibGljIENsaXBib2FyZCwgcHVibGlj
IENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRRdD4gY3Jl
YXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIGNvbnN0IFFNaW1lRGF0YSogcmVhZGFi
bGVDbGlwYm9hcmQpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NR
TGl0ZURhdGFiYXNlLmgKaW5kZXggYzMyOTI3My4uZGE1M2FjYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUwLDggQEAgZXh0ZXJu
IGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEZ1
bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsKIAotY2xhc3MgU1FMaXRl
RGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlRGF0YWJhc2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsKICAgICBmcmllbmQgY2xh
c3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0YWJhc2UoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAppbmRleCAxNDQ0
ZjBlLi5mZDFhYmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlU3RhdGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0
YXRlbWVudC5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
U1FMVmFsdWU7CiAKLWNsYXNzIFNRTGl0ZVN0YXRlbWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTUUxpdGVTdGF0ZW1lbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0
ZVN0YXRlbWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNRTGl0
ZVN0YXRlbWVudChTUUxpdGVEYXRhYmFzZSYsIGNvbnN0IFN0cmluZyYpOwogICAgIH5TUUxpdGVT
dGF0ZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5z
YWN0aW9uLmgKaW5kZXggOTI0MjQxZi4uYmE2ODZiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsyNiwxNSBAQAogI2lm
bmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9uX2gKIAor
I2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1FMaXRlRGF0YWJhc2U7CiAKLWNs
YXNzIFNRTGl0ZVRyYW5zYWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFzcyBTUUxp
dGVUcmFuc2FjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlVHJhbnNhY3Rp
b24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTUUxpdGVUcmFuc2Fj
dGlvbihTUUxpdGVEYXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAgICAgflNR
TGl0ZVRyYW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L0JpZGlSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVz
b2x2ZXIuaAppbmRleCAxZjg3MTE1Li45N2I5Mzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvQmlkaVJlc29sdmVyLmgKQEAgLTEyNiw3ICsxMjYsOCBAQCBzdHJ1Y3QgQmlkaUNo
YXJhY3RlclJ1biB7CiAgICAgQmlkaUNoYXJhY3RlclJ1biogbV9uZXh0OwogfTsKIAotdGVtcGxh
dGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xh
c3MgQmlkaVJlc29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCaWRpUmVzb2x2ZXIp
OwogcHVibGljIDoKICAgICBCaWRpUmVzb2x2ZXIoKQogICAgICAgICA6IG1fZGlyZWN0aW9uKFdU
Rjo6VW5pY29kZTo6T3RoZXJOZXV0cmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjUzNmVkNDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKQEAgLTMw
LDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWd1bGFyRXhwcmVz
c2lvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlZ3VsYXJFeHByZXNzaW9uIHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZWd1bGFyRXhwcmVz
c2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVndWxhckV4
cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dENvZGVjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCmluZGV4
IGM2YWYzOGEuLjM1MjI5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29k
ZWMuaApAQCAtNTcsOCArNTcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRl
ZiBjaGFyIFVuZW5jb2RhYmxlUmVwbGFjZW1lbnRBcnJheVszMl07CiAKLSAgICBjbGFzcyBUZXh0
Q29kZWMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRleHRDb2RlYyB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDb2RlYyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAgVGV4dENvZGVjKCkgeyB9CiAgICAgICAgIHZpcnR1
YWwgflRleHRDb2RlYygpOwogCiAgICAgICAgIFN0cmluZyBkZWNvZGUoY29uc3QgY2hhciogc3Ry
LCBzaXplX3QgbGVuZ3RoLCBib29sIGZsdXNoID0gZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCmluZGV4
IDY3ZGI5NzcuLjY5OTBhMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC00MCw3ICs0MCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRleHRFbmNv
ZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRm9udFRyYW5zY29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRUcmFuc2Nv
ZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBjb252ZXJ0
KFN0cmluZyYgdGV4dCwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5n
KiA9IDApIGNvbnN0OwogICAgIGJvb2wgbmVlZHNUcmFuc2NvZGluZyhjb25zdCBGb250RGVzY3Jp
cHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2NGI4NS4uNzc5ZGEyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaApAQCAtNDEsNiArNDEsNyBA
QCBjbGFzcyBXQ0RhdGFPYmplY3Q7CiAKIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBl
dmVudHMgZm9yIGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKIGNsYXNzIENsaXBib2FyZFdp
biA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJRGF0YU9i
amVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUqIGZy
YW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5k
b3dNZXNzYWdlQnJvYWRjYXN0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5k
b3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1NmU3Li5kMzZjMjMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rl
ci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgV2luZG93TWVzc2FnZUxpc3RlbmVyOwogCi0g
ICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIHZvaWQgYWRkTGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7
CiAgICAgICAgIHN0YXRpYyB2b2lkIHJlbW92ZUxpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VM
aXN0ZW5lciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRh
YmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmluZGV4IGIx
NDYwNWYuLmM0MTJjMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
RGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgK
QEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiBIYXNo
U2V0PFJlZlB0cjxQbHVnaW5QYWNrYWdlPiwgUGx1Z2luUGFja2FnZUhhc2g+IFBsdWdpblNldDsK
IAotICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBQbHVnaW5EYXRhYmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdp
bkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1
Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCmluZGV4IDYxMGU4OWMuLjI5YmM0ZTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCkBA
IC0zNiw3ICszNiw4IEBAIHR5cGVkZWYgTlBQX3QqIE5QUDsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIHZvaWQgTWFpblRocmVhZEZ1bmN0aW9uKHZvaWQqKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCAwNDRkNmUyLi44ZjhmMTNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTUsNyArOTUsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxseQogICAg
IH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1
Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgUGx1Z2luUmVxdWVzdChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiBmcmFtZUxvYWRSZXF1ZXN0
LCBib29sIHNlbmROb3RpZmljYXRpb24sIHZvaWQqIG5vdGlmeURhdGEsIGJvb2wgc2hvdWxkQWxs
b3dQb3B1cHMpCiAgICAgICAgICAgICA6IG1fZnJhbWVMb2FkUmVxdWVzdChmcmFtZUxvYWRSZXF1
ZXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYxOS4uZDc3
ZDZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0zMSw3ICszMSw4
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDb2x1bW5JbmZvKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29s
dW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0xheW91dFN0YXRlLmgKaW5kZXggMGQwNmNiMS4uYzQ5OTQzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKQEAgLTM3LDcgKzM3LDggQEAgY2xhc3MgUmVu
ZGVyQXJlbmE7CiBjbGFzcyBSZW5kZXJCb3g7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNz
IExheW91dFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0YXRlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMYXlvdXRTdGF0ZSk7CiBwdWJsaWM6CiAgICAgTGF5
b3V0U3RhdGUoKQogICAgICAgICA6IG1fY2xpcHBlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckFyZW5hLmgKaW5kZXggMzIxMzlmYi4uZTFmZjUzNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxNSBAQAogI2RlZmluZSBSZW5k
ZXJBcmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NC
YXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogc3RhdGljIGNvbnN0IHNpemVfdCBnTWF4UmVjeWNsZWRTaXplID0gNDAwOwogCi1jbGFz
cyBSZW5kZXJBcmVuYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJBcmVuYSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQXJlbmEpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBhcmVuYVNpemUgPSA0
MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKaW5kZXggOTUyOWJkNi4uZjg4MjllZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmgKQEAgLTM2MCw3ICszNjAsOSBAQCBwcml2YXRlOgogICAgICAgICBib29sIGV2
ZXJIYWRMYXlvdXQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCA6IE5vbmNv
cHlhYmxlIHsKKyAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3QgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGbG9hdGluZ09iamVjdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAg
IHB1YmxpYzoKICAgICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBiaXRzIHNvIHlvdSBjYW4g
dXNlIEZsb2F0Qm90aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGggbGVmdCBhbmQgcmlnaHQu
CiAgICAgICAgIGVudW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0UmlnaHQgPSAyLCBGbG9h
dEJvdGggPSAzIH07CiAKQEAgLTY3OCw3ICs2ODAsOSBAQCBwcml2YXRlOgogICAgIFBvc2l0aW9u
ZWRPYmplY3RzTGlzdEhhc2hTZXQqIG1fcG9zaXRpb25lZE9iamVjdHM7CiAKICAgICAvLyBBbGxv
Y2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1bHQgdmFs
dWVzCi0gICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAg
c3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJCbG9ja1JhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVi
bGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2NrKiBibG9j
aykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQo
YmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2ZU1hcmdp
bkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSkK
ICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGZiMDI0ZmMuLmYyNDEy
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmNwcApAQCAtNjMsNyArNjMsOCBAQCB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50U2l6ZU1h
cEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBS
ZW5kZXJCb3hNb2RlbE9iamVjdCosIFJlbmRlckJveE1vZGVsT2JqZWN0Kj4gQ29udGludWF0aW9u
TWFwOwogc3RhdGljIENvbnRpbnVhdGlvbk1hcCogY29udGludWF0aW9uTWFwID0gMDsKIAotY2xh
c3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVF1
YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcigpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRBdExvd1F1YWxp
dHkoR3JhcGhpY3NDb250ZXh0KiwgUmVuZGVyQm94TW9kZWxPYmplY3QqLCBJbWFnZSosIGNvbnN0
IHZvaWQqIGxheWVyLCBjb25zdCBJbnRTaXplJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03Myw3ICs3Myw4IEBAIHB1YmxpYzoKIHBy
aXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1NwbGl0ID0gLTE7CiAKLSAgICBjbGFzcyBH
cmlkQXhpcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JpZEF4aXMgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmlkQXhpcyk7CiAgICAgcHVibGljOgogICAgICAg
ICBHcmlkQXhpcygpOwogICAgICAgICB2b2lkIHJlc2l6ZShpbnQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKaW5kZXggMjM0NjcxMi4uYTIwYzU1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3Vy
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5o
CkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJl
bmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgdmlydHVhbCB+UmVuZGVySW1hZ2VSZXNvdXJjZSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggNWM2ZWQxMi4uNzI2Yjc3
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaApA
QCAtNTMsNyArNTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8vIAogLy8gVGhl
cmUgaXMgb25lIFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXllciB0aGF0IGlz
IGNvbXBvc2l0ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGlj
c0xheWVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTGF5ZXJCYWNr
aW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlbmRlckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5kZXJMYXll
ckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
YXJxdWVlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5oCmluZGV4
IDc5OTk4ZWQuLjk4ZmRkYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNYXJxdWVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1
ZWUuaApAQCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJM
YXllcjsKIAogLy8gVGhpcyBjbGFzcyBoYW5kbGVzIHRoZSBhdXRvLXNjcm9sbGluZyBvZiBsYXll
cnMgd2l0aCBvdmVyZmxvdzogbWFycXVlZS4KLWNsYXNzIFJlbmRlck1hcnF1ZWUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTWFycXVlZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVuZGVyTWFycXVlZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIGV4cGxpY2l0IFJlbmRlck1hcnF1ZWUoUmVuZGVyTGF5ZXIqKTsKICAgICB2aXJ0dWFsIH5S
ZW5kZXJNYXJxdWVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT3ZlcmZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5o
CmluZGV4IDdkYzJiY2IuLjMzZThjZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT3ZlcmZsb3cuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZQogLy8gRXhh
bXBsZXMgb2YgdmlzdWFsIG92ZXJmbG93IGFyZSBzaGFkb3dzLCB0ZXh0IHN0cm9rZSAoYW5kIGV2
ZW50dWFsbHkgb3V0bGluZSBhbmQgYm9yZGVyLWltYWdlKS4KIAogLy8gVGhpcyBvYmplY3QgaXMg
YWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0
IHZhbHVlcyBpbiB0aGUgb3duaW5nIGJveC4KLWNsYXNzIFJlbmRlck92ZXJmbG93IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck92ZXJmbG93IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZW5kZXJPdmVyZmxvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGxheW91dFJlY3QsIGNvbnN0IElu
dFJlY3QmIHZpc3VhbFJlY3QpIAogICAgICAgICA6IG1fdG9wTGF5b3V0T3ZlcmZsb3cobGF5b3V0
UmVjdC55KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Vs
ZWN0aW9uSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbklu
Zm8uaAppbmRleCBhMDlmYzFhLi40NWNhODEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSgpCiAgICAgICAgIDog
bV9vYmplY3QoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDFkZmQ0
Y2UuLjdlNWI0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtMjY0
LDcgKzI2NCw4IEBAIHZvaWQgdG9SZW5kZXJWaWV3KGNvbnN0IFJlbmRlclZpZXcqKTsKIAogCiAv
LyBTdGFjay1iYXNlZCBjbGFzcyB0byBhc3Npc3Qgd2l0aCBMYXlvdXRTdGF0ZSBwdXNoL3BvcAot
Y2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IExheW91dFN0YXRlTWFpbnRhaW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0
U3RhdGVNYWludGFpbmVyKTsKIHB1YmxpYzoKICAgICAvLyBjdG9yIHRvIHB1c2ggbm93CiAgICAg
TGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcqIHZpZXcsIFJlbmRlckJveCogcm9vdCwg
SW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFsc2UsIGludCBwYWdlSGVpZ2h0
ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBDb2x1bW5JbmZvKiBjb2xJbmZv
ID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQ
cm90ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0
b3IuaAppbmRleCA3ODgzMDRjLi44YmY2YWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIDogcHJpdmF0ZSBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJsaWM6CiAgICAgUmVuZGVy
V2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2JqZWN0KQogICAgICAgICA6IG1fb2JqZWN0
KG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKaW5kZXggZTBmYThl
ZS4uYzVmNjFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5
b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKQEAgLTIx
LDEzICsyMSwxNSBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxlTGF5b3V0
X2gKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyVGFibGU7CiAK
LWNsYXNzIFRhYmxlTGF5b3V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRhYmxlTGF5
b3V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYWJsZUxheW91dCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRhYmxlTGF5b3V0KFJlbmRlclRhYmxlKiB0YWJs
ZSkKICAgICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVHJh
bnNmb3JtU3RhdGUuaAppbmRleCAwYjRjYTQ2Li4zNmZjNmVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaW5jbHVkZSAi
RmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybWF0
aW9uTWF0cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUcmFuc2Zvcm1TdGF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc2Zvcm1TdGF0ZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU3RhdGUpOwogcHVibGljOgogICAgIGVudW0gVHJh
bnNmb3JtRGlyZWN0aW9uIHsgQXBwbHlUcmFuc2Zvcm1EaXJlY3Rpb24sIFVuYXBwbHlJbnZlcnNl
VHJhbnNmb3JtRGlyZWN0aW9uIH07CiAgICAgZW51bSBUcmFuc2Zvcm1BY2N1bXVsYXRpb24geyBG
bGF0dGVuVHJhbnNmb3JtLCBBY2N1bXVsYXRlVHJhbnNmb3JtIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVmNS4uYjI1
YjJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRp
b25DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9u
Q2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBjb25zdCBpbnQgUG9zaXRpb25Ub3AgPSAtMHg3ZmZm
ZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvbkJvdHRvbSA9IDB4N2ZmZmZmZmY7CiBjb25zdCBpbnQg
UG9zaXRpb25VbmRlZmluZWQgPSAweDgwMDAwMDAwOwogCi1jbGFzcyBWZXJ0aWNhbFBvc2l0aW9u
Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmVydGljYWxQb3NpdGlvbkNhY2hl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUpOwogcHVi
bGljOgogICAgIFZlcnRpY2FsUG9zaXRpb25DYWNoZSgpCiAgICAgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCmluZGV4IDRmOTY0YTIuLjE1ZjY5MTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCkBAIC0z
Myw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFnZTsKIAot
c3RydWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnREYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIENvbnRlbnREYXRhKCkKICAgICAgICAgOiBtX3R5cGUoQ09O
VEVOVF9OT05FKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Nv
dW50ZXJDb250ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNv
bnRlbnQuaAppbmRleCA1Mjc1N2FkLi44MTQwMzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgQ291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgaWRl
bnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VwYXJh
dG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCmluZGV4IDQ5ZmIyOTQuLjg0N2U4ZGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKQEAgLTU5LDcgKzU5LDgg
QEAgc3RydWN0IEZpbGxTaXplIHsKICAgICBMZW5ndGhTaXplIHNpemU7CiB9OwogCi1jbGFzcyBG
aWxsTGF5ZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGaWxsTGF5ZXIgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZpbGxMYXllcihFRmlsbExh
eWVyVHlwZSk7CiAgICAgfkZpbGxMYXllcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TaGFkb3dEYXRhLmgKaW5kZXggZmI1OTI2ZC4uMGJlM2ZjMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBAIC0yNiw3ICsyNiw2IEBACiAjZGVm
aW5lIFNoYWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2LDggQEAg
ZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQgfTsKIAogLy8gVGhpcyBzdHJ1Y3QgaG9s
ZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhlIHRleHQtc2hhZG93IGFuZCBib3gt
c2hhZG93IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRvd0RhdGEgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBTaGFkb3dEYXRhKCkKICAgICAgICAgOiBtX3goMCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5o
CmluZGV4IDdmODYyYTcuLjk5ODYxZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaApAQCAtMzUsNyArMzUsOSBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBDbGlwcGVyRGF0YSA6IEZhc3RBbGxv
Y0Jhc2Ugeworc3RydWN0IENsaXBwZXJEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGNsaXBNYXNrSW1hZ2U7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0ltYWdlQnVmZmVy
VG9vbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW1hZ2VCdWZmZXJUb29s
cy5oCmluZGV4IGNmYjE1YjIuLjExNTc3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCkBAIC0zMiw3ICszMiw4IEBAIGNsYXNz
IEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFJlbmRlck9iamVjdDsK
IAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdJbWFn
ZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjcmVhdGVJbWFnZUJ1ZmZl
cihjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlVGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBj
bGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0LCBPd25QdHI8SW1hZ2VCdWZmZXI+JiwgQ29sb3JTcGFj
ZSk7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3VidHJlZVRvSW1hZ2VCdWZmZXIoSW1hZ2VCdWZm
ZXIqLCBSZW5kZXJPYmplY3QqLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKaW5kZXggMGVi
MzY4OS4uODlhYTU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdNYXJrZXJMYXlvdXRJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdNYXJrZXJMYXlvdXRJbmZvLmgKQEAgLTQyLDcgKzQyLDggQEAgc3RydWN0IE1hcmtlckxheW91
dCB7CiAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKIH07CiAKLWNsYXNzIFNWR01hcmtlckxh
eW91dEluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHTWFya2VyTGF5b3V0SW5m
byB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHTWFya2VyTGF5b3V0SW5mbyk7CiBwdWJs
aWM6CiAgICAgU1ZHTWFya2VyTGF5b3V0SW5mbygpOwogICAgIH5TVkdNYXJrZXJMYXlvdXRJbmZv
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNl
cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuaAppbmRleCBk
ZDMyOGI4Li40OGNjYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1Jlc291cmNlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVz
b3VyY2VzLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI7
CiBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2YgcmVzb3VyY2VzIGFz
c29jaWF0ZWQgd2l0aCBhIFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3VyY2VzIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHUmVzb3VyY2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVzb3VyY2VzQ2FjaGUuaAppbmRleCAzMGVhZWNhLi5iYzczZjRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0zMSw3ICsz
MSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VDb250YWlu
ZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291cmNlc0Nh
Y2hlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291
cmNlc0N5Y2xlU29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291
cmNlc0N5Y2xlU29sdmVyLmgKaW5kZXggMDY1MzMwNC4uMDk5ZjkxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaApA
QCAtMjksNyArMjksOCBAQCBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJTVkdSZXNv
dXJjZUNvbnRhaW5lcjsKIGNsYXNzIFNWR1Jlc291cmNlczsKIAotY2xhc3MgU1ZHUmVzb3VyY2Vz
Q3ljbGVTb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVzb3VyY2VzQ3lj
bGVTb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlc0N5Y2xlU29s
dmVyKTsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcihSZW5kZXJPYmplY3Qq
LCBTVkdSZXNvdXJjZXMqKTsKICAgICB+U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKaW5k
ZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgc3RydWN0IFNWR1Rl
eHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQgdGhlIGFjdHVhbCBwZXItY2hhcmFj
dGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFj
dGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0cyAoU1ZHVGV4dEZyYWdt
ZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBtb2RpZmljYXRpb25zIHRoYXQgaGF2
ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0ZXh0IGNodW5rICh0ZXh0LWFuY2hv
ciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1RleHRDaHVu
a0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKaW5kZXggZjI5YWM2NC4uYzY4
MTg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0QXR0cmlidXRlc0J1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNz
IFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0cmVlIGJhc2VkIG9u
IHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAvLyBUaGUgc2Vjb25k
IGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0RW5naW5lLgogCi1j
bGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwogcHVibGljOgogICAg
IFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQgYnVpbGRMYXlvdXRB
dHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaAppbmRleCBhZDA1OGQ4
Li42MzFlNGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRMYXlvdXRFbmdpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRMYXlvdXRFbmdpbmUuaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsK
IC8vIFJlbmRlclNWR0lubGluZVRleHQgcmVuZGVyZXJzIHRvIGNvbXB1dGUgdGhlIGZpbmFsIHBv
c2l0aW9ucyBmb3IgZWFjaCBjaGFyYWN0ZXIKIC8vIHdoaWNoIGFyZSBzdG9yZWQgaW4gdGhlIFNW
R0lubGluZVRleHRCb3ggb2JqZWN0cy4KIAotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lKTsKIHB1YmxpYzoKICAgICBTVkdU
ZXh0TGF5b3V0RW5naW5lKCk7CiAgICAgU1ZHVGV4dENodW5rQnVpbGRlciYgY2h1bmtMYXlvdXRC
dWlsZGVyKCkgeyByZXR1cm4gbV9jaHVua0xheW91dEJ1aWxkZXI7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGlu
ZS5oCmluZGV4IGQ3NTNiMzkuLjY3OTRiZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApAQCAtMzMs
NyArMzMsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR1RleHRNZXRyaWNzOwog
CiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRsZSAn
YWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1iYXNlbGluZScgYW5kICdiYXNlbGluZS1z
aGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUpOwogcHVibGljOgogICAg
IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNp
bmcuaAppbmRleCAwYTZkNzM2Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oCkBAIC0zMCw3
ICszMCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHRWxlbWVudDsKIAogLy8g
SGVscGVyIGNsYXNzIHVzZWQgYnkgU1ZHVGV4dExheW91dEVuZ2luZSB0byBoYW5kbGUgJ2tlcm5p
bmcnIC8gJ2xldHRlci1zcGFjaW5nJyBhbmQgJ3dvcmQtc3BhY2luZycuCi1jbGFzcyBTVkdUZXh0
TGF5b3V0RW5naW5lU3BhY2luZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0
TGF5b3V0RW5naW5lU3BhY2luZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExh
eW91dEVuZ2luZVNwYWNpbmcpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFj
aW5nKGNvbnN0IEZvbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZVRhc2suaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5k
ZXggYjYxZTQ2NS4uZTFkZjU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZVRhc2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5o
CkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ2FuIGJlIHVzZWQg
dG8gd2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVkLgogLy8gSGFzIHRvIGJlIHBh
c3NlZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUg
dGFzay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJsaWM6CiAgICAgRGF0YWJhc2VU
YXNrU3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAgcHJpdmF0ZToKICNlbmRpZgog
fTsKIAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERh
dGFiYXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNrKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJhc2VUYXNr
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCmluZGV4IDcxNDVl
NmIuLmExYTViZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VU
cmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaApA
QCAtNTYsNyArNTYsOCBAQCBjbGFzcyBEYXRhYmFzZVRyYWNrZXJDbGllbnQ7CiBzdHJ1Y3QgU2Vj
dXJpdHlPcmlnaW5UcmFpdHM7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKENIUk9NSVVNKQogCi1jbGFz
cyBEYXRhYmFzZVRyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0YWJhc2VU
cmFja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRyYWNrZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXpl
VHJhY2tlcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlUGF0aCk7CiAgICAgc3RhdGljIERhdGFiYXNl
VHJhY2tlciYgdHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9J
REJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lE
QlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaAppbmRleCA3ODNhNzMxLi41YmM2YWNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1v
bml0b3IuaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2U7CiAvLyBGSVhNRTogbW92ZSB0aGUgdmVjdG9yIG9mIHRyYW5zYWN0aW9ucyB0byBUTFMu
IEtlZXBpbmcgaXQgc3RhdGljCiAvLyB3aWxsIG5vdCB3b3JrIG9uY2Ugd2UgYWRkIHN1cHBvcnQg
Zm9yIHdvcmtlcnMuIEFub3RoZXIgcG9zc2libGUKIC8vIHNvbHV0aW9uIGlzIHRvIGtlZXAgdGhl
IHZlY3RvciBpbiB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KLWNsYXNzIElEQlBlbmRpbmdU
cmFuc2FjdGlvbk1vbml0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSURCUGVuZGlu
Z1RyYW5zYWN0aW9uTW9uaXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSURCUGVuZGlu
Z1RyYW5zYWN0aW9uTW9uaXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYWRkUGVuZGlu
Z1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSopOwogICAgIHN0YXRp
YyB2b2lkIHJlbW92ZVBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRl
cmZhY2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdl
VGFzay5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKaW5kZXgg
YTJlMzVlYS4uMjdhOGViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2Nh
bFN0b3JhZ2VUYXNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VU
YXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExv
Y2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBT
dG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBlbnVtIFR5cGUgeyBBcmVhSW1wb3J0LCBBcmVhU3luYywgRGVsZXRl
RW1wdHlEYXRhYmFzZSwgVGVybWluYXRlVGhyZWFkIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLmEyYzc4YzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaApAQCAtNDAsNyArNDAsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzazsKIAogICAg
IC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGhyZWFkCi0gICAgY2xhc3Mg
TG9jYWxTdG9yYWdlVGhyZWFkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2Nh
bFN0b3JhZ2VUaHJlYWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbFN0b3Jh
Z2VUaHJlYWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAgICAgICAg
IH5Mb2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1
b3RhTWFuYWdlci5oCmluZGV4IGVjOTYyMGMuLjgyZDdjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaApAQCAtNDEsNyArNDEsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogY2xhc3MgT3JpZ2luVXNhZ2VSZWNv
cmQ7CiAKLWNsYXNzIE9yaWdpblF1b3RhTWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9yaWdp
blF1b3RhTWFuYWdlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE9y
aWdpblF1b3RhTWFuYWdlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L09yaWdpblVzYWdlUmVjb3JkLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdl
UmVjb3JkLmgKaW5kZXggYTgzMGU2OC4uNzU1N2VhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvT3JpZ2luVXNhZ2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIC8vIE9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11bHRpcGxl
IHRocmVhZHMgd2l0aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcgYXJndW1l
bnRzIGFyZSBhbHNvIHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNhbGxlciB3
aGVuIG5lY2Vzc2FyeS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShPcmlnaW5Vc2FnZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIE9yaWdpblVzYWdlUmVjb3JkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
VHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBmZWQwNjU3Li4zYzVlYzJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0zMyw2ICszMyw3IEBA
CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC00MSw4ICs0MiwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogCiAvLyBBIGNsaWVudCB0
byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxUcmFuc2FjdGlvbiB0byBub3Rp
ZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4gdGhpbmdzIGhhdmUgaGFwcGVu
ZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAgdm9pZCBk
aWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2b2lkIGRp
ZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlkRXhjZWVk
UXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAppbmRleCA5NDM2MGMwLi5mZDc2NzgyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Iu
aApAQCAtNDMsOCArNDMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU1FM
VHJhbnNhY3Rpb247CiAKLSAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAgU1FMVHJhbnNh
Y3Rpb25Db29yZGluYXRvcigpIHsgfQogICAgICAgICB2b2lkIGFjcXVpcmVMb2NrKFNRTFRyYW5z
YWN0aW9uKik7CiAgICAgICAgIHZvaWQgcmVsZWFzZUxvY2soU1FMVHJhbnNhY3Rpb24qKTsKICAg
ICAgICAgdm9pZCBzaHV0ZG93bigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0
ZW5zaW9ucy5oCmluZGV4IGEwY2YyYmIuLjBlZDYyYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZHU3R5bGVk
RWxlbWVudDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKIAot
Y2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRG9j
dW1lbnRFeHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
dHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxTVkdTdHlsZWRFbGVtZW50PiA+IFNWR1BlbmRpbmdFbGVt
ZW50czsKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoRG9jdW1lbnQqKTsKQEAgLTY4LDkgKzY5
LDYgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPEF0b21pY1N0cmluZywgU1ZHUGVuZGluZ0VsZW1l
bnRzKj4gbV9wZW5kaW5nUmVzb3VyY2VzOwogICAgIE93blB0cjxTVkdSZXNvdXJjZXNDYWNoZT4g
bV9yZXNvdXJjZXNDYWNoZTsKIAotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhjb25zdCBTVkdE
b2N1bWVudEV4dGVuc2lvbnMmKTsKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMmIG9wZXJhdG9y
PShjb25zdCBTVkdEb2N1bWVudEV4dGVuc2lvbnMmKTsKLQogcHVibGljOgogICAgIC8vIFRoaXMg
SGFzaE1hcCBjb250YWlucyBhIGxpc3Qgb2YgcGVuZGluZyByZXNvdXJjZXMuIFBlbmRpbmcgcmVz
b3VyY2VzLCBhcmUgc3VjaAogICAgIC8vIHdoaWNoIGFyZSByZWZlcmVuY2VkIGJ5IGFueSBvYmpl
Y3QgaW4gdGhlIFNWRyBkb2N1bWVudCwgYnV0IGRvIE5PVCBleGlzdCB5ZXQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0YS4uMzMxOGRlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFz
cyBTVkdDdXJzb3JFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudDsKIGNsYXNzIFNWR0VsZW1lbnRJ
bnN0YW5jZTsKIAotY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR0VsZW1lbnRSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1ZHRWxlbWVudFJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgU1ZHRWxlbWVudFJhcmVEYXRhKCkKICAgICAgICAgOiBtX2N1cnNvckVsZW1lbnQoMCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnREYXRhLmgKaW5kZXggZTg5N2E1OS4uZjIwMmQyNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdGb250
RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdGb250RGF0YShTVkdGb250RmFjZUVsZW1l
bnQqKTsKICAgICB2aXJ0dWFsIH5TVkdGb250RGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi44ZTQzYjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aEJsZW5kZXIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRl
ICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZH
UGF0aEJsZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJsZW5kZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCbGVuZGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAppbmRleCBiODg4MmI2Li5hNDQ0YWMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaApAQCAtNDMsNyArNDMsOCBAQCB0eXBlZGVm
IHVuaW9uIHsKICAgICB1bnNpZ25lZCBjaGFyIGJ5dGVzW3NpemVvZih1bnNpZ25lZCBzaG9ydCld
OwogfSBVbnNpZ25lZFNob3J0Qnl0ZTsKIAotY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0gOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNWR1BhdGhCeXRlU3RyZWFtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IGNyZWF0
ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1l
ci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1lci5oCmluZGV4IGI3YzVlNzMu
LmFmM2Y3OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKQEAgLTI2LDYgKzI2
LDcgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgorI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDggKzQxLDEwIEBAIGVudW0gUGF0aFBhcnNpbmdN
b2RlIHsKICAgICBVbmFsdGVyZWRQYXJzaW5nCiB9OwogCi1jbGFzcyBTVkdQYXRoQ29uc3VtZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aENvbnN1bWVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQ29uc3VtZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoQ29uc3VtZXIoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
aW5jcmVtZW50UGF0aFNlZ21lbnRDb3VudCgpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgY29udGlu
dWVDb25zdW1pbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFudXAoKSA9IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAppbmRleCA3Njc5YTk1Li4wOTYxMzFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUgIlNWR1Bh
dGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJTVkdQYXRo
U291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRoUGFyc2Vy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBTVkdQYXRoUGFyc2VyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJj
ZS5oCmluZGV4IGQxYTYxNDkuLjc3YmY5ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2Uu
aApAQCAtMjUsOCArMjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQ
YXRoU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhTb3VyY2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhTb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmlydHVhbCB+
U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRhKCkgY29u
c3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAppbmRleCA2ODZjZWMzLi5jZDEwY2E0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaApAQCAtMzIsOCArMzIsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBTVkdFbGVtZW50OwogCiBjbGFzcyBTVkdWaWV3U3BlYyA6IHB1YmxpYyBT
VkdGaXRUb1ZpZXdCb3gsCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdab29tQW5kUGFu
LAotICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICAgICAg
ICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1ZHVmlld1NwZWMpOwogcHVibGljOgogICAgIFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggOTdmODZiZS4uZmMy
ZmQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC01NSw3
ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VDaHJvbWVD
bGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdJbWFnZUNocm9tZUNsaWVudChTVkdJbWFn
ZSogaW1hZ2UpCiAgICAgICAgIDogbV9pbWFnZShpbWFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1
ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCkBAIC0zOSw3ICszOSw4IEBAIGNs
YXNzIEZsb2F0MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7CiAjZW5kaWYKIAotY2xhc3MgUmVh
bHRpbWVBbmFseXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFsdGltZUFuYWx5
c2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFsdGltZUFuYWx5c2VyKTsKIHB1Ymxp
YzoKICAgICBSZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmlydHVhbCB+UmVhbHRpbWVBbmFseXNl
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2Vi
U29ja2V0Q2hhbm5lbC5oCmluZGV4IDA1YjM3NjcuLjk1NmUwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKQEAg
LTQzLDggKzQzLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0
OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCgpIHsg
fQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQqLCBjb25z
dCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgY29u
bmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29j
a2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVs
LmgKaW5kZXggOWM1MjM3Ny4uYTM5Y2QwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWxDbGllbnQ7CiAKICAgICBjbGFzcyBXZWJTb2Nr
ZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViU29ja2V0Q2hhbm5lbD4sIHB1YmxpYyBT
b2NrZXRTdHJlYW1IYW5kbGVDbGllbnQsIHB1YmxpYyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVudCwgY29u
c3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgV2ViU29ja2V0Q2hhbm5lbChjb250ZXh0LCBjbGllbnQsIHVybCwgcHJvdG9jb2wpKTsgfQog
ICAgICAgICB2aXJ0dWFsIH5XZWJTb2NrZXRDaGFubmVsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvU291cmNlL1dlYkNvcmUv
d2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAppbmRleCBhNWI0MjYwLi4zNzFkODUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKQEAg
LTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAi
V2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhhbmRzaGFr
ZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAgICBjbGFz
cyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdl
YlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNvY2tl
dEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAgICAgICAg
ICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5o
IGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbC5oCmluZGV4IDM2NmU0ZmEuLjlmMGIwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgK
QEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgV29ya2VyTG9hZGVyUHJveHk7CiBjbGFzcyBXb3JrZXJS
dW5Mb29wOwogCiBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiwgcHVibGljIFRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bD4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxD
bGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBj
b25zdCBTdHJpbmcmIHByb3RvY29sKQogICAgIHsKQEAgLTc3LDcgKzc4LDggQEAgcHJvdGVjdGVk
OgogcHJpdmF0ZToKICAgICAvLyBHZW5lcmF0ZWQgYnkgdGhlIGJyaWRnZS4gIFRoZSBQZWVyIGFu
ZCBpdHMgYnJpZGdlIHNob3VsZCBoYXZlIGlkZW50aWNhbAogICAgIC8vIGxpZmV0aW1lcy4KLSAg
ICBjbGFzcyBQZWVyIDogcHVibGljIFdlYlNvY2tldENoYW5uZWxDbGllbnQsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIqIGNyZWF0ZShSZWZQdHI8
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBjbGllbnRXcmFwcGVyLCBX
b3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3Ry
aW5nJiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCmluZGV4IDIxZTE0YTEuLjQzNWI2
MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRX
b3JrZXJSZXBvc2l0b3J5LmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3BlY2lmaWMg
aW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGljIGludGVy
ZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9y
eSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gSW52
b2tlZCBvbmNlIHRoZSB3b3JrZXIgc2NyaXB0IGhhcyBiZWVuIGxvYWRlZCB0byBmaXJlIHVwIHRo
ZSB3b3JrZXIgdGhyZWFkLgogICAgICAgICB2b2lkIHdvcmtlclNjcmlwdExvYWRlZChTaGFyZWRX
b3JrZXJQcm94eSYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcmIHdvcmtl
clNjcmlwdCwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWw+KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggYTBkYmFhZS4uYmIyNjY4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKQEAgLTE0NSw3ICsxNDUsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIGJvb2wgaXNDbG9zaW5nKCkgeyByZXR1cm4gbV9jbG9zaW5nOyB9
CiAKICAgICAgICAgLy8gQW4gb2JzZXJ2ZXIgaW50ZXJmYWNlIHRvIGJlIG5vdGlmaWVkIHdoZW4g
dGhlIHdvcmtlciB0aHJlYWQgaXMgZ2V0dGluZyBzdG9wcGVkLgotICAgICAgICBjbGFzcyBPYnNl
cnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIE9ic2VydmVyIHsKKyAg
ICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9ic2VydmVyKTsKICAgICAgICAgcHVibGlj
OgogICAgICAgICAgICAgT2JzZXJ2ZXIoV29ya2VyQ29udGV4dCopOwogICAgICAgICAgICAgdmly
dHVhbCB+T2JzZXJ2ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2Fn
aW5nUHJveHkuaAppbmRleCAzMzkzN2NlLi5hYjYxMTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC00Niw3ICs0Niw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIGNsYXNz
IFdvcmtlcjsKIAotICAgIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5IDogcHVibGljIFdvcmtl
ckNvbnRleHRQcm94eSwgcHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29ya2VyTG9h
ZGVyUHJveHksIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyTWVzc2FnaW5n
UHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJv
eHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdvcmtlck1lc3NhZ2luZ1Byb3h5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBXb3JrZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKaW5kZXggODNmMjQzZi4uN2IzMTQ5YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQsNyArMTA0
LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1cm4gU3Ry
aW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxvb3BTZXR1
cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxvb3ApCiAg
ICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVu
TG9vcC5oCmluZGV4IDlkNGVkZmQuLjNmZWI0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyUnVuTG9vcC5oCkBAIC02NSw3ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRNb2RlKCk7CiAKLSAgICAgICAgY2xhc3MgVGFzayA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
ICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxUYXNrPiBjcmVhdGUo
UGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrLCBjb25zdCBTdHJp
bmcmIG1vZGUpOwogICAgICAgICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmNwcAppbmRleCBmNjExMjBlLi5lMWYxYTY2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC02MSw3ICs2MSw4IEBAIHVuc2lnbmVkIFdvcmtl
clRocmVhZDo6d29ya2VyVGhyZWFkQ291bnQoKQogICAgIHJldHVybiBtX3RocmVhZENvdW50Owog
fQogCi1zdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdv
cmtlclRocmVhZFN0YXJ0dXBEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+IGNyZWF0ZShj
b25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAK
aW5kZXggZWU5ZTIwZi4uMGY5NTA2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
Y3BwCkBAIC02NCw3ICs2NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBXVEY6OlJl
ZkNvdW50ZWRMZWFrQ291bnRlciB4bWxIdHRwUmVxdWVzdENvdW50ZXIoIlhNTEh0dHBSZXF1ZXN0
Iik7CiAjZW5kaWYKIAotc3RydWN0IFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAgIFN0cmlu
ZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZpeDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggYmM2ODE1ZC4uYjE1ZDM1OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgVGV4dFJl
c291cmNlRGVjb2RlcjsKIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKIGNsYXNzIFhNTEh0dHBS
ZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+LCBwdWJsaWMgRXZlbnRU
YXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgWE1MSHR0cFJlcXVlc3QoY29udGV4dCkp
OyB9CiAgICAgflhNTEh0dHBSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVz
c2lvbk5vZGUuaAppbmRleCBjMDRkNDViLi45M2ZiODU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
UGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVjdCBFdmFs
dWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZhbHVhdGlv
bkNvbnRleHQgeworICAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAg
ICBwdWJsaWM6CiAgICAgICAgICAgICBSZWZQdHI8Tm9kZT4gbm9kZTsKICAgICAgICAgICAgIHVu
c2lnbmVkIGxvbmcgc2l6ZTsKICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcG9zaXRpb247CkBA
IC01Myw3ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwg
flBhcnNlTm9kZSgpIHsgfQogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIEV4cHJlc3Npb24g
OiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBF
eHByZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShFeHByZXNzaW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBFdmFsdWF0aW9uQ29udGV4dCYgZXZhbHVhdGlvbkNv
bnRleHQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5o
IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCmluZGV4IGQ1YzQ3YmUuLjYxOWQ5
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBO
b2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0IHsK
KyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICBOb2RlU2V0KCkgOiBtX2lzU29ydGVkKHRydWUpLCBtX3N1YnRyZWVzQXJlRGlz
am9pbnQoZmFsc2UpIHsgfQogICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCmlu
ZGV4IDBlZTQ0N2EuLmY0OWI0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCkBAIC01OCw3
ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFRva2VuKGludCB0LCBF
cVRlc3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBlcW9wKHYpIHt9CiAgICAgICAgIH07CiAKLSAg
ICAgICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
UGFyc2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7CiAgICAg
ICAgIHB1YmxpYzoKICAgICAgICAgICAgIFBhcnNlcigpOwogICAgICAgICAgICAgflBhcnNlcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAppbmRleCA1ZjI0ODJhLi4zNjAwMTU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAot
ICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBj
bGFzcyBQcmVkaWNhdGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGlj
YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIFByZWRpY2F0ZShFeHByZXNzaW9uKik7CiAgICAgICAgICAgICB+UHJlZGljYXRlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmggYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uYjAzMWJhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aFN0ZXAuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
Y2xhc3MgUHJlZGljYXRlOwogICAgICAgICAKLSAgICAgICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQ
YXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJs
aWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXApOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51
bSBBeGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhp
cywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0g
ICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAg
ICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgICAgICBlbnVtIEtpbmQg
ewogICAgICAgICAgICAgICAgICAgICBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2RlVGVzdCwgUHJv
Y2Vzc2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVzdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uNWMwY2E4YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFNMSW1wb3J0UnVsZS5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIENhY2hlZFhTTFN0eWxlU2hlZXQ7CiAKIGNsYXNzIFhTTEltcG9ydFJ1bGUgOiBwdWJs
aWMgU3R5bGVCYXNlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBv
cnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYg
aHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRjODk1NTguLmY3ODhmZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTEtMDEtMTkgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVm
YWN0b3Jpbmcgb2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhl
cml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBs
YXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVw
bGFjZXMgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5o
ZXJpdHMgd2l0aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9u
IGF0IHRoZSBuZWNlc3NhcnkgcGxhY2VzLgorCiAyMDExLTAxLTE3ICBEYW4gQmVybnN0ZWluICA8
bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgTWFyayBSb3dlLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4uMzk0
ZmY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3Qu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCkBAIC0zOSw3
ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogLy8gQm91bmRPYmplY3QgaXMgYSBoZWxwZXIg
Y2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8vIGRpcmVj
dGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBv
YmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJvdW5k
T2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0
PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpOwogICAgIHZp
cnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKaW5kZXggMDg2MGNiMS4uYjc2YmNmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNw
cApAQCAtNTUsNyArNTUsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4
RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJ
ZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoK
ICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2Fs
bGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5o
CmluZGV4IDY2YmQ3MTQuLmEzMjMzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaApAQCAtNjMsNyArNjMsOCBAQCBjbGFzcyBXZWJW
aWV3SW1wbDsKIC8vIHdvdWxkIGV4cGVjdCBzb21lIGFjdGlvbnMgZnJvbSB0aGUgaGFuZGxlci4g
SWYgdGhlcmUgaXMgbm8gYXBwcm9wcmlhdGUKIC8vIGRlYnVnZ2VyIGFnZW50IHRvIGhhbmRsZSBz
dWNoIG1lc3NhZ2VzIHRoZSBtYW5hZ2VyIHdpbGwgcGVyZm9ybSB0aGUgYWN0aW9uCiAvLyBpdHNl
bGYsIG90aGVyd2lzZSB2OCBtYXkgaGFuZyB3YWl0aW5nIGZvciB0aGUgYWN0aW9uLgotY2xhc3Mg
RGVidWdnZXJBZ2VudE1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVidWdn
ZXJBZ2VudE1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlYnVnZ2VyQWdlbnRN
YW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0F0dGFjaChEZWJ1Z2dlckFn
ZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CiAgICAgc3RhdGljIHZvaWQgZGVidWdEZXRhY2goRGVi
dWdnZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIx
ZjNlLi4yODY3OTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaApAQCAtNDQsOCArNDQsOCBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIGNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7CiBjbGFzcyBXZWJE
ZXZUb29sc0Zyb250ZW5kSW1wbDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
IDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsKK2NsYXNzIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVu
ZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRJbXBsKTsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoV2ViQ29y
ZTo6UGFnZSosIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZUb29sc0Zyb250ZW5k
SW1wbCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZElt
cGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBs
LmgKaW5kZXggODY2YTFjYi4uZGM3ZDJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCkBAIC01NSw4ICs1NSw4IEBAIHN0
cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiB1c2luZyBXVEY6OlN0cmluZzsKIAotY2xh
c3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zy
b250ZW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRl
dlRvb2xzRnJvbnRlbmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkRldlRvb2xzRnJv
bnRlbmRJbXBsKTsKIHB1YmxpYzoKICAgICBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCgKICAgICAg
ICAgV2ViS2l0OjpXZWJWaWV3SW1wbCogd2ViVmlld0ltcGwsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBhMTNlZWMwLi40ZDE5MDUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI4NCw3ICsyODQs
OCBAQCBXZWJQbHVnaW5Db250YWluZXJJbXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNvbnRhaW5l
ckZyb21GcmFtZShGcmFtZSogZnJhbWUpCiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVycmlkZSBz
b21lIG9mIFByaW50Q29udGV4dCBiZWhhdmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwogLy8gbWFk
ZSB2aXJ0dWFsIHNvIHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBsdWdpblBy
aW50Q29udGV4dC4KLWNsYXNzIENocm9tZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmludENvbnRl
eHQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJs
aWMgUHJpbnRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQcmludENv
bnRleHQpOwogcHVibGljOgogICAgIENocm9tZVByaW50Q29udGV4dChGcmFtZSogZnJhbWUpCiAg
ICAgICAgIDogUHJpbnRDb250ZXh0KGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUG9wdXBNZW51SW1wbC5oCmluZGV4IGI4ZWY3YmEuLjQxYTk1MmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2LDcg
QEAgc3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdlYlBv
cHVwTWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJhbWVs
ZXNzU2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVm
Q291bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgLy8gV2ViV2lkZ2V0CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyRWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlckVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhU
TUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
cigpOwogICAgIHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIuaAppbmRleCBkNGJiZWEyLi4zZmI4YjE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgog
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsK
IHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXRkb3dubG9hZC5jcHAKaW5kZXggNjBiOGU2ZC4uYTc4OTBjMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogICogb3V0IHdoYXQgaXMgdG8gYmUgZG93bmxvYWRlZCwgYW5k
IGRvIGl0IGl0c2VsZi4KICAqLwogCi1jbGFzcyBEb3dubG9hZENsaWVudCA6IHB1YmxpYyBOb25j
b3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIERvd25sb2FkQ2xp
ZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEb3dubG9hZENsaWVudCk7CiAgICAgcHVibGljOgogICAgICAgICBEb3dubG9hZENsaWVu
dChXZWJLaXREb3dubG9hZCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCmluZGV4IGY3
ODRhZGUuLjRmMmM1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9z
dGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyAr
MzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6
RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFs
dWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBk
YXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpT
Qzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVj
dE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQu
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5t
bQppbmRleCAyOTEzNzM5Li42NWFiYTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9T
dG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQpAQCAtNTIsNyArNTIsOCBAQCBX
ZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQ6On5XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQoKQogewog
fQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERpZE1v
ZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWlu
VGhyZWFkKFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudCogY2xpZW50LCBTZWN1cml0eU9yaWdpbiog
b3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NPTUVudW1WYXJp
YW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCmluZGV4IGE5M2EzYzIu
LjY3MjUxMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgK
KysrIGIvU291cmNlL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaApAQCAtMjksMTIgKzI5LDEy
IEBACiAjZGVmaW5lIE5PTUlOTUFYCiAjaW5jbHVkZSA8dW5rbnduLmg+CiAKLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgIkNPTVZhcmlhbnRTZXR0ZXIuaCIKIAogdGVt
cGxhdGU8dHlwZW5hbWUgQ29udGFpbmVyVHlwZT4KLWNsYXNzIENPTUVudW1WYXJpYW50IDogcHVi
bGljIElFbnVtVkFSSUFOVCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENPTUVudW1WYXJp
YW50IDogcHVibGljIElFbnVtVkFSSUFOVCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ09N
RW51bVZhcmlhbnQpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCogYWRvcHQo
Q29udGFpbmVyVHlwZSYpOwogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCogY3JlYXRlSW5zdGFu
Y2UoY29uc3QgQ29udGFpbmVyVHlwZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4v
Q09NUHJvcGVydHlCYWcuaCBiL1NvdXJjZS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5k
ZXggNjEwYzM2Ny4uNjIwNDU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ09NUHJv
cGVydHlCYWcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCkBAIC0z
NSw3ICszNSw4IEBACiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRl
PHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3Ry
aW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFz
cyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlC
YWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3Bl
cnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBl
LCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0
L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggNmI1NmFiNS4uYTY1NTI5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaApAQCAt
MTAyLDcgKzEwMiw4IEBAIHByaXZhdGU6CiAgICAgaW50IG1fZHJhZ1N0YXJ0T2Zmc2V0OwogfTsK
IAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVy
UHJpdmF0ZUZ1bGxzY3JlZW5DbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNj
cmVlbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAg
IHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcApAQCAtNTIsNyArNTIsOCBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgaXNFcXVhbChMUENXU1RSIHMxLCBMUENXU1RSIHMyKQogICAgIHJldHVybiAh
d2NzY21wKHMxLCBzMik7CiB9CiAKLWNsYXNzIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnIDog
cHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNl
RGV0YWlsc1Byb3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcpOwogcHVibGljOgogICAgIHN0
YXRpYyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyogY3JlYXRlSW5zdGFuY2UoY29uc3QgRGF0
YWJhc2VEZXRhaWxzJik7CiAKQEAgLTMyOCw3ICszMjksOCBAQCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIFdlYkRhdGFiYXNlTWFuYWdlcjo6ZGVsZXRlRGF0YWJhc2UoCiAgICAgcmV0dXJuIFNf
T0s7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hU
b01haW5UaHJlYWQoV2ViRGF0YWJhc2VNYW5hZ2VyKiBkYXRhYmFzZU1hbmFnZXIsIFNlY3VyaXR5
T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2Vi
SW5zcGVjdG9yLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaAppbmRleCAwNTNh
NTkzLi5lMmQyZmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzQsNyArMzQsOCBA
QAogCiBjbGFzcyBXZWJWaWV3OwogCi1jbGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMgSVdlYklu
c3BlY3RvciwgcHVibGljIElXZWJJbnNwZWN0b3JQcml2YXRlLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2Vi
SW5zcGVjdG9yUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViSW5zcGVjdG9y
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViSW5zcGVjdG9yKiBjcmVhdGVJbnN0YW5jZShXZWJW
aWV3Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3Ry
aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCmlu
ZGV4IGRhNmIyMjEuLmU5Yjk5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkxv
Y2FsaXphYmxlU3RyaW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViTG9jYWxpemFi
bGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFw
IGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2Fs
aXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAg
ICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBtX2NmU3Ry
aW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxk
LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCmluZGV4IGYwODhhNzIuLjAx
NTExZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKKysr
IGIvU291cmNlL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaApAQCAtMzEsNyArMzEsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogfQogCi1jbGFz
cyBXZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTY3JpcHRX
b3JsZCB7CitjbGFzcyBXZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBJV2ViU2NyaXB0V29ybGQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNjcmlwdFdvcmxkKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgV2ViU2NyaXB0V29ybGQqIHN0YW5kYXJkV29ybGQoKTsKICAgICBzdGF0aWMgQ09NUHRy
PFdlYlNjcmlwdFdvcmxkPiBjcmVhdGVJbnN0YW5jZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNl
cmlhbGl6ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiB9CiAKLWNsYXNzIFdl
YlNlcmlhbGl6ZWRKU1ZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNlcmlh
bGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CitjbGFz
cyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWUsIHB1
YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXZWJTZXJpYWxpemVkSlNWYWx1ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTVB0cjxX
ZWJTZXJpYWxpemVkSlNWYWx1ZT4gY3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAppbmRleCBlOGY2YjY3Li40Mjg1NGI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIs
NyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9u
Y29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVz
ZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVi
bGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJ
bnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzJkOTUwZS4uZWY1N2QzNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDExLTAxLTE5ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAg
SW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRp
bmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9u
IHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNl
IGluaGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAgZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRh
dGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4KKwogMjAxMS0wMS0xOCAgTWFjaWVqIFN0YWNo
b3dpYWsgIDxtanNAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCmluZGV4IDA4MjViZjYuLmVjNzUyM2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL01vZHVsZS5oCkBAIC0zOSw3ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCi1jbGFzcyBNb2R1bGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTW9kdWxlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNb2R1bGUpOwogcHVibGljOgogICAgIE1vZHVsZShj
b25zdCBTdHJpbmcmIHBhdGgpOwogICAgIH5Nb2R1bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
U2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uOTg1NDEzMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vU2hhcmVkTWVtb3J5LmgKQEAgLTUyLDcgKzUyLDggQEAgcHVibGljOgogICAgICAgICBS
ZWFkV3JpdGUKICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAg
IGNsYXNzIEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAg
ICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCBkN2Y1OTJlLi42
YzIyMWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblBy
b2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
aApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQ
bHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNsYXNzIFBsdWdpblBy
b2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblBy
b2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4IDc4ZmUxZjQuLjhjNWU4ZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTI3LDEzICsyNywxMSBAQAogI2Rl
ZmluZSBDaGlsZFByb2Nlc3NfaAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQ
cm9jZXNzIDogcHJvdGVjdGVkIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudCB7CiAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2hpbGRQcm9jZXNzKTsKLQogcHJvdGVjdGVkOgogICAgIENoaWxk
UHJvY2VzcygpOwogICAgIH5DaGlsZFByb2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCmluZGV4IGMyNjVm
MmUyLi5hMTUwZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBXZWJQcm9jZXNzUHJv
eHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDogTm9uY29weWFibGUgIHsKK2NsYXNz
IFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Q
cm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3NNYW5hZ2Vy
JiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAppbmRleCA0ODVmODkyLi4xZTBjMjUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2lu
SW5mb1N0b3JlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93
aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcApAQCAtMjUzLDcgKzI1Myw4IEBAIFZlY3RvcjxTdHJp
bmc+IFBsdWdpbkluZm9TdG9yZTo6cGx1Z2luc0RpcmVjdG9yaWVzKCkKICAgICByZXR1cm4gZGly
ZWN0b3JpZXM7CiB9CiAKLWNsYXNzIFBhdGhXYWxrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgUGF0aFdhbGtlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGF0aFdhbGtlcik7
CiBwdWJsaWM6CiAgICAgUGF0aFdhbGtlcihjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSkKICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRl
ci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAppbmRl
eCAwMTU1MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
VmlzaXRlZExpbmtQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNp
dGVkTGlua1Byb3ZpZGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
TGlua0hhc2guaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNo
U2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBXZWJDb250ZXh0OwogICAgIAotY2xhc3MgVmlzaXRlZExpbmtQcm92aWRlciA6
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFZpc2l0ZWRMaW5rUHJvdmlkZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0
IFZpc2l0ZWRMaW5rUHJvdmlkZXIoV2ViQ29udGV4dCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAppbmRleCAyMzE5ZWM3Li5iYWNkZDAxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKQEAg
LTYzLDcgKzYzLDYgQEAgY2xhc3MgV2ViUGFnZTsKIAogY2xhc3MgRG93bmxvYWQgOiBwdWJsaWMg
Q29yZUlQQzo6TWVzc2FnZVNlbmRlcjxEb3dubG9hZD4gewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERvd25sb2FkKTsKLQogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPERvd25sb2Fk
PiBjcmVhdGUodWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0Jik7CiAgICAgfkRvd25sb2FkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaAppbmRleCA2NzM3YmQ0Li4zNTE4
MjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTlBKU09iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9OUEpTT2JqZWN0LmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiBjbGFzcyBOUFJ1bnRpbWVPYmplY3RNYXA7CiAgICAgCiAvLyBOUEpTT2JqZWN0IGlzIGFuIE5Q
T2JqZWN0IHRoYXQgd3JhcHMgYSBKU09iamVjdC4KLWNsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMg
TlBPYmplY3QsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5QSlNPYmplY3QgOiBwdWJsaWMgTlBPYmpl
Y3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5QSlNPYmplY3QpOwogcHVibGljOgogICAg
IHN0YXRpYyBOUEpTT2JqZWN0KiBjcmVhdGUoTlBSdW50aW1lT2JqZWN0TWFwKiBvYmplY3RNYXAs
IEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5oCmluZGV4IGQ3YmE4NTMuLjhiNjBmMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b25NYW5hZ2VyLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNz
IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOwogICAgICAgICAKLWNsYXNzIFBsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb25NYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2Vzc0Nvbm5l
Y3Rpb25NYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY4N2I5ZDEuLmZiMTNiYzcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0w
MS0xOSAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZyBvZiB0aGUgY3Vz
dG9tIGFsbG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxs
b2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5Niwg
IzQ2NTg5KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlvbiByZXBsYWNlcyBOb25jb3B5YWJsZSBh
bmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVzZSBpbmhlcml0cyB3aXRoIHRoZWlyCisg
ICAgICAgIGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBw
bGFjZXMuCiAyMDExLTAxLTE4ICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgUnViYmVyIHN0YW1wZWQgYnkgQ3NhYmEgT3N6dHJvZ29uYWMKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAppbmRleCA2Y2I2MzhlLi42MTUx
YTljIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENs
YXNzLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5o
CkBAIC01OCw3ICs1OCw4IEBAIHR5cGVkZWYgVmVjdG9yPENwcFZhcmlhbnQ+IENwcEFyZ3VtZW50
TGlzdDsKIAogLy8gQ3BwQm91bmRDbGFzcyBsZXRzIHlvdSBtYXAgSmF2YXNjcmlwdCBtZXRob2Qg
Y2FsbHMgYW5kIHByb3BlcnR5IGFjY2Vzc2VzCiAvLyBkaXJlY3RseSB0byBDKysgbWV0aG9kIGNh
bGxzIGFuZCBDcHBWYXJpYW50KiB2YXJpYWJsZSBhY2Nlc3MuCi1jbGFzcyBDcHBCb3VuZENsYXNz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENwcEJvdW5kQ2xhc3MgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENwcEJvdW5kQ2xhc3MpOwogcHVibGljOgogICAgIGNsYXNzIFByb3Bl
cnR5Q2FsbGJhY2sgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAppbmRleCBlMTQ3OGQwLi42NjU0MzVjIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCkBAIC00
OSw4ICs0OSw4IEBAIHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlRE
ZXZUb29sc0NsaWVudDsKIAotY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6
OldlYkRldlRvb2xzQWdlbnRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6Oldl
YkRldlRvb2xzQWdlbnRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRv
b2xzQWdlbnQpOwogcHVibGljOgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFs
IH5EUlREZXZUb29sc0FnZW50KCkge30KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmluZGV4IDljYTE0MDIuLjBjYmE1MWMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaApAQCAt
NDgsOCArNDgsOCBAQCBjbGFzcyBXZWJWaWV3OwogCiBjbGFzcyBEUlREZXZUb29sc0FnZW50Owog
Ci1jbGFzcyBEUlREZXZUb29sc0NsaWVudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJv
bnRlbmRDbGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIERSVERldlRvb2xzQ2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNG
cm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNDbGll
bnQpOwogcHVibGljOgogICAgIERSVERldlRvb2xzQ2xpZW50KERSVERldlRvb2xzQWdlbnQqLCBX
ZWJLaXQ6OldlYlZpZXcqKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0NsaWVudCgpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250
cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNv
bnRyb2xsZXIuaAppbmRleCBiNjcxNDg5Li44NTAyYTk2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaApAQCAt
MTExLDcgKzExMSw4IEBAIHB1YmxpYzoKIAogLy8gVGVzdCBzaGVsbCdzIE5hdmlnYXRpb25Db250
cm9sbGVyLiBUaGUgZ29hbCBpcyB0byBiZSBhcyBjbG9zZSB0byB0aGUgQ2hyb21lCiAvLyB2ZXJz
aW9uIGFzIHBvc3NpYmxlLgotY2xhc3MgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIpOwogcHVibGljOgogICAg
IFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcihOYXZpZ2F0aW9uSG9zdCopOwogICAgIH5UZXN0TmF2
aWdhdGlvbkNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlRoZW1lQ29udHJvbERSVFdpbi5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVGhlbWVDb250cm9sRFJUV2luLmgKaW5kZXggNGUyMjQ2MS4uZWRlMTQ1OCAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJU
V2luLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9s
RFJUV2luLmgKQEAgLTQ2LDcgKzQ2LDggQEAKIC8vIFNraWEgZm9yd2FyZCBkZWNsYXJhdGlvbnMK
IHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlRXaW4gOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUV2luIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRyb2xEUlRXaW4pOwogcHVibGljOgogICAgIC8vIFRo
aXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9wbGF0
Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5IHNp
bmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVFdpbi5oIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRXaW4uaAppbmRleCAy
ZTE1Y2Y4Li45YjFlODE3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJUaGVtZUVuZ2luZURSVFdpbi5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1dlYlRoZW1lRW5naW5lRFJUV2luLmgKQEAgLTUwLDcgKzUwLDggQEAKICNpbmNsdWRlICJ3
aW4vV2ViVGhlbWVFbmdpbmUuaCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAotY2xh
c3MgV2ViVGhlbWVFbmdpbmVEUlRXaW4gOiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYlRoZW1lRW5naW5lRFJUV2luIDogcHVibGlj
IFdlYktpdDo6V2ViVGhlbWVFbmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRo
ZW1lRW5naW5lRFJUV2luKTsKIHB1YmxpYzoKICAgICBXZWJUaGVtZUVuZ2luZURSVFdpbigpIHt9
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oIGIvVG9vbHMv
V2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKaW5kZXggYTI3MzRlZC4uMmFhYTg1ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKKysrIGIvVG9vbHMvV2ViS2l0
QVBJVGVzdC9Ib3N0V2luZG93LmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYktp
dEFQSVRlc3QgewogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhvc3RXaW5kb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RXaW5kb3cpOwog
cHVibGljOgogICAgIEhvc3RXaW5kb3coKTsKICAgICB+SG9zdFdpbmRvdygpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdEFQ
SVRlc3QvVGVzdHNDb250cm9sbGVyLmgKaW5kZXggMTFiNDU3ZC4uYmRjYzQ1NSAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJL
aXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5oCkBAIC0yOCwxMyArMjgsMTMgQEAKICNpbmNsdWRl
IDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRGVx
dWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdEFQ
SVRlc3QgewogCiBjbGFzcyBUZXN0OwogCi1jbGFzcyBUZXN0c0NvbnRyb2xsZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgVGVzdHNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShUZXN0c0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXN0c0NvbnRy
b2xsZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RJbnZvY2F0aW9uLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgK
aW5kZXggZmVjMWY3YS4uZWZjNjYzNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9j
YXRpb24uaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV1RSIHsKIAotY2xhc3MgVGVz
dEludm9jYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGVzdEludm9jYXRpb24g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3RJbnZvY2F0aW9uKTsKIHB1YmxpYzoKICAg
ICBUZXN0SW52b2NhdGlvbihjb25zdCBjaGFyKik7CiAgICAgflRlc3RJbnZvY2F0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79564</attachid>
            <date>2011-01-20 01:55:50 -0800</date>
            <delta_ts>2011-01-20 02:21:30 -0800</delta_ts>
            <desc>proposed patch (review candidate)</desc>
            <filename>fab4.patch</filename>
            <type>text/plain</type>
            <size>296618</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKaW5kZXggNTA2MjA5My4uMDk3MTcw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKQEAgLTM0LDcgKzM0LDkg
QEAKICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ1B0ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAKLXN0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
U3RhdGljVmFsdWVFbnRyeSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CiAgICAgU3RhdGljVmFsdWVFbnRyeShKU09iamVjdEdldFByb3BlcnR5Q2FsbGJhY2sgX2dldFBy
b3BlcnR5LCBKU09iamVjdFNldFByb3BlcnR5Q2FsbGJhY2sgX3NldFByb3BlcnR5LCBKU1Byb3Bl
cnR5QXR0cmlidXRlcyBfYXR0cmlidXRlcykKICAgICAgICAgOiBnZXRQcm9wZXJ0eShfZ2V0UHJv
cGVydHkpLCBzZXRQcm9wZXJ0eShfc2V0UHJvcGVydHkpLCBhdHRyaWJ1dGVzKF9hdHRyaWJ1dGVz
KQogICAgIHsKQEAgLTQ1LDcgKzQ3LDkgQEAgc3RydWN0IFN0YXRpY1ZhbHVlRW50cnkgOiBGYXN0
QWxsb2NCYXNlIHsKICAgICBKU1Byb3BlcnR5QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwogfTsKIAot
c3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0
aWNGdW5jdGlvbkVudHJ5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBf
Y2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAg
ICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5jdGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0
ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8g
QW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMgY3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwg
c28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29udGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBn
cm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xkcyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFj
cm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoT3BhcXVl
SlNDbGFzcyopOwogICAgIH5PcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4Li5kNmRlNDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtNDgwLDcgKzQ4
MCw5IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVm
IGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
c3RydWN0IE9wYXF1ZUpTUHJvcGVydHlOYW1lQXJyYXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEo
Z2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDk1M2I5NjUuLmU5YTFhYzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAxLTIwICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxs
b2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAg
ZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4K
KworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IFR1cm4gRmFzdEFsbG9jQmFzZSdzIGlt
cGxlbWVudGF0aW9uIGludG8gYSBtYWNyby4KKwogMjAxMS0wMS0xOCAgR2VvZmZyZXkgR2FyZW4g
IDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAppbmRleCBlMzhi
OWQ0Li5jNWE3ZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0xpbmtCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtC
dWZmZXIuaApAQCAtNTAsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIC8vICAgKiBUaGUgYWRk
cmVzcyBvZiBhIExhYmVsIHBvaW50aW5nIGludG8gdGhlIGNvZGUgbWF5IGJlIHJlc29sdmVkLgog
Ly8gICAqIFRoZSB2YWx1ZSByZWZlcmVuY2VkIGJ5IGEgRGF0YUxhYmVsIG1heSBiZSBzZXQuCiAv
LwotY2xhc3MgTGlua0J1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMaW5rQnVm
ZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMaW5rQnVmZmVyKTsKICAgICB0eXBlZGVm
IE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBDb2RlUmVmOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyIENvZGVQdHI7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgTGFi
ZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggN2Vj
YTcyYS4uMWNkMDg2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaApAQCAtMjQyLDcgKzI0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH0KICNlbmRpZgog
Ci0gICAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IENvZGVCbG9jayB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBm
cmllbmQgY2xhc3MgSklUOwogICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlw
dEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0Kiwg
UGFzc1JlZlB0cjxTb3VyY2VQcm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9s
VGFibGUqIHN5bWJvbFRhYmxlLCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc4LDcgKzU3OSw5
IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFN5bWJvbFRhYmxlKiBtX3N5bWJvbFRhYmxl
OwogCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBz
dHJ1Y3QgUmFyZURhdGEgeworICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlv
bkhhbmRsZXJzOwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYw
Miw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZz
ZXRUb0J5dGVjb2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAg
ICAgICB9OworI2lmIFBMQVRGT1JNKFdJTikKKyAgICAgICAgZnJpZW5kIHZvaWQgV1RGOjpkZWxl
dGVPd25lZFB0cjxSYXJlRGF0YT4oUmFyZURhdGEqKTsKKyNlbmRpZgogICAgICAgICBPd25QdHI8
UmFyZURhdGE+IG1fcmFyZURhdGE7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li5mMDc3Y2JmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApAQCAtNTQsNyArNTQsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBTdHJ1Y3R1cmVDaGFpbjsKIAogICAgIC8vIFN0
cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9pZF9zZWxmX2xpc3QgYW5kIG9wX2dldF9ieV9pZF9w
cm90b19saXN0IGluc3RydWN0aW9uIHRvIGhvbGQgZGF0YSBvZmYgdGhlIG1haW4gb3Bjb2RlIHN0
cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0IDogRmFzdEFs
bG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Nh
bXBsaW5nVG9vbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBsaW5nVG9v
bC5oCmluZGV4IDhlM2VkOWUuLjljYTU0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKQEAgLTE0Miw3ICsxNDIsOCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgZnJpZW5kIGNsYXNzIEhvc3RDYWxsUmVjb3JkOwogICAgICAgICAKICNpZiBF
TkFCTEUoT1BDT0RFX1NBTVBMSU5HKQotICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3JkKTsKICAgICAgICAgcHVibGljOgogICAgICAg
ICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wqIHNhbXBsaW5nVG9vbCkKICAgICAgICAgICAg
ICAgICA6IG1fc2FtcGxpbmdUb29sKHNhbXBsaW5nVG9vbCkKQEAgLTE3Miw3ICsxNzMsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICNlbHNlCi0gICAgICAg
IGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBD
YWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQp
OwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCop
CiAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggOGIwY2M0MC4uZGUxNmY4ZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5l
cmF0b3IuaApAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUgIlN5bWJvbFRhYmxlLmgiCiAjaW5j
bHVkZSAiRGVidWdnZXIuaCIKICNpbmNsdWRlICJOb2Rlcy5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
U2VnbWVudGVkVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtODUsNyArODQs
OCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHByb3BlcnR5
UmVnaXN0ZXI7CiAgICAgfTsKIAotICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9yIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9yIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAppbmRleCAzNTMyYWQ4Li43
OGQ0OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1Jl
Z2lzdGVySUQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lz
dGVySUQuaApAQCAtMzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xh
c3MgUmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJJ
RCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgUmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCmluZGV4IGRm
YmU2NTguLjc0MDAwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9DYWNoZWRDYWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0NhY2hlZENhbGwuaApAQCAtMzIsNyArMzIsOCBAQAogI2luY2x1ZGUgIkludGVycHJldGVyLmgi
CiAKIG5hbWVzcGFjZSBKU0MgewotICAgIGNsYXNzIENhY2hlZENhbGwgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENhY2hlZENhbGwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDYWNoZWRDYWxsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRleCA0Nzc5
MGNmLi43NTNkOTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBJbnRlcnByZXRlcl9oCiAK
ICNpbmNsdWRlICJBcmdMaXN0LmgiCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1
ZGUgIkpTQ2VsbC5oIgogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJKU09iamVjdC5o
IgpAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0geyBNYXhMYXJn
ZVRocmVhZFJlZW50cnlEZXB0aCA9IDI1NiwgTWF4U21hbGxUaHJlYWRSZWVudHJ5RGVwdGggPSAz
MiB9OwogCi0gICAgY2xhc3MgSW50ZXJwcmV0ZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSW50ZXJwcmV0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICAgICAgZnJpZW5kIGNsYXNzIENhY2hlZENh
bGw7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL1JlZ2lzdGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVn
aXN0ZXIuaAppbmRleCAzOGQxNjQ3Li4zOTQ0NjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZ2lzdGVyKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCA3
NWZkNzg0Li4zNDk4ZTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyRmlsZS5oCkBAIC04OSw3ICs4OSw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVyRmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCBkZmRiMjJjLi5kNDE0NWMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBK
U0MgewogCiAgICAgY2xhc3MgUmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIExleGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTGV4ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IC8vIENoYXJhY3RlciBtYW5pcHVsYXRpb24gZnVuY3Rpb25zLgogICAgICAgICBzdGF0aWMgYm9v
bCBpc1doaXRlU3BhY2UoaW50IGNoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVzLmgKaW5kZXggNTRiNzIzMS4uNmU3M2MwMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXMuaApAQCAtMTM3Niw3ICsxMzc2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBh
cmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9OwogCi0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEg
OiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgU2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFy
YXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKIApAQCAtMTQ3Miw2ICsx
NDc0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNsYXNzIEZ1bmN0aW9uUGFy
YW1ldGVycyA6IHB1YmxpYyBWZWN0b3I8SWRlbnRpZmllcj4sIHB1YmxpYyBSZWZDb3VudGVkPEZ1
bmN0aW9uUGFyYW1ldGVycz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZ1bmN0aW9uUGFyYW1ldGVycz4g
Y3JlYXRlKFBhcmFtZXRlck5vZGUqIGZpcnN0UGFyYW1ldGVyKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgRnVuY3Rpb25QYXJhbWV0ZXJzKGZpcnN0UGFyYW1ldGVyKSk7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggYjI1N2I2OC4uNTgzOThkMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC00NSw4ICs0NSwxMCBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFyc2VyQXJlbmFEYXRhIDog
UGFyc2VyQXJlbmFEZWxldGFibGUgeyBUIGRhdGE7IH07CiAKLSAgICBjbGFzcyBQYXJzZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQYXJzZWRO
b2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0IFNvdXJj
ZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3RuZXNzIHN0
cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJBcmVuYS5oCmluZGV4IDdjMTgwOWUuLjgyZmI4MDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUGFyc2VyQXJlbmFEZWxldGFibGU7CiAgICAgY2xhc3Mg
UGFyc2VyQXJlbmFSZWZDb3VudGVkOwogCi0gICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lO
TElORSBjb25zdCBJZGVudGlmaWVyJiBtYWtlSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBjb25z
dCBVQ2hhciogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCk7CiAgICAgICAgIGNvbnN0IElkZW50
aWZpZXImIG1ha2VOdW1lcmljSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBkb3VibGUgbnVtYmVy
KTsKQEAgLTU5LDcgKzYwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBtX2lk
ZW50aWZpZXJzLmxhc3QoKTsKICAgICB9CiAKLSAgICBjbGFzcyBQYXJzZXJBcmVuYSA6IE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXJBcmVuYSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBhcnNlckFyZW5hKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhcnNlckFyZW5hKCk7
CiAgICAgICAgIH5QYXJzZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVf
ZXhlYy5jcHAKaW5kZXggNzg5ZjgwYS4uYjcwMThhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC0xMTIsNyArMTEyLDkgQEAgc3RydWN0IEJyYWNrZXRDaGFp
bk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7CiB9OwogCi1zdHJ1Y3QgTWF0
Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNoRnJhbWUgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFJldHVybkxvY2F0aW9uIHJldHVybkxv
Y2F0aW9uOwogICAgIHN0cnVjdCBNYXRjaEZyYW1lKiBwcmV2aW91c0ZyYW1lOwogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRleCA3
NmMxNDcwLi5hOTgyN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmls
ZXIvQ2FsbElkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIv
Q2FsbElkZW50aWZpZXIuaApAQCAtMjgsMTMgKzI4LDE0IEBACiAjZGVmaW5lIENhbGxJZGVudGlm
aWVyX2gKIAogI2luY2x1ZGUgPHJ1bnRpbWUvVVN0cmluZy5oPgotI2luY2x1ZGUgIkZhc3RBbGxv
Y0Jhc2UuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBDYWxsSWRl
bnRpZmllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgQ2FsbElkZW50aWZp
ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAg
ICAgIFVTdHJpbmcgbV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNp
Z25lZCBtX2xpbmVOdW1iZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvUHJvZmlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
ci5oCmluZGV4IGY5YzJjY2IuLmY4ODc0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9m
aWxlci9Qcm9maWxlci5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNs
YXNzIFVTdHJpbmc7CiAgICAgc3RydWN0IENhbGxJZGVudGlmaWVyOyAgICAKIAotICAgIGNsYXNz
IFByb2ZpbGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFByb2ZpbGVyIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBz
dGF0aWMgUHJvZmlsZXIqKiBlbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKaW5kZXggY2Q1NjNhMi4uNTdlM2My
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1
LDE0IEBACiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJr
U3RhY2s7CiAKLSAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlw
ZWRlZiBWZWN0b3I8UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi5mZTkwMGEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaApAQCAtMzMsNyAr
MzMsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSA6
IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFyZ3VtZW50c0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
KyAgICBwdWJsaWM6CisgICAgICAgIEFyZ3VtZW50c0RhdGEoKSB7IH0KICAgICAgICAgSlNBY3Rp
dmF0aW9uKiBhY3RpdmF0aW9uOwogCiAgICAgICAgIHVuc2lnbmVkIG51bVBhcmFtZXRlcnM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlv
bk9wdGltaXplci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5z
aXRpb25PcHRpbWl6ZXIuaAppbmRleCA3NDA4OWE1Li5kYjJkMWQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1p
emVyLmgKQEAgLTI3LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplcl9oCiAjZGVmaW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBK
U0MgewogCi0gICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAg
IHB1YmxpYzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9i
amVjdCkKICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggMWUyMmI2YS4uNjU4
N2E4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCkBAIC04NCw3ICs4NCw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xh
c3MgQ29tbW9uSWRlbnRpZmllcnMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENv
bW1vbklkZW50aWZpZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29tbW9uSWRl
bnRpZmllcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAg
ICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5kIGNsYXNz
IEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0hlYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuaAppbmRleCAyNDNi
YmEzLi4zZTFkODg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9I
ZWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5oCkBAIC00NSw3
ICs0NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBPcGVyYXRpb25JblByb2dyZXNz
IHsgTm9PcGVyYXRpb24sIEFsbG9jYXRpb24sIENvbGxlY3Rpb24gfTsKIAotICAgIGNsYXNzIEhl
YXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhlYXAgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShIZWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZvaWQgZGVzdHJv
eSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aAppbmRleCBhMjJiMGFhLi4yNGJjMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTQ2NSw3ICs0NjUsOCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgcmV0dXJuIG5ldyAoZXhlYykgSlNBcnJheShleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCktPmFycmF5U3RydWN0dXJlKCksIHZhbHVlcyk7CiAgICAgfQogCi0gICAgY2xhc3Mg
RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRHluYW1p
Y0dsb2JhbE9iamVjdFNjb3BlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbE9iamVjdCog
ZHluYW1pY0dsb2JhbE9iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTTG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2Nr
LmgKaW5kZXggMDViMzg4Yy4uN2IwN2I0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNMb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNMb2NrLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIEpT
TG9ja0JlaGF2aW9yIHsgU2lsZW5jZUFzc2VydGlvbnNPbmx5LCBMb2NrRm9yUmVhbCB9OwogCi0g
ICAgY2xhc3MgSlNMb2NrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBKU0xvY2sg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU0xvY2spOwogICAgIHB1YmxpYzoKICAg
ICAgICAgSlNMb2NrKEV4ZWNTdGF0ZSopOwogICAgICAgICBKU0xvY2soSlNHbG9iYWxEYXRhKik7
CkBAIC04OSw3ICs5MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIEpTTG9ja0JlaGF2
aW9yIG1fbG9ja0JlaGF2aW9yOwogCi0gICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcm9wQWxsTG9ja3MpOwogICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICBEcm9wQWxsTG9ja3MoRXhlY1N0YXRlKiBleGVjKTsKICAgICAgICAgICAgIERy
b3BBbGxMb2NrcyhKU0xvY2tCZWhhdmlvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT05PYmplY3QuY3BwCmluZGV4IDllNjMwMjcuLmRmNGJlNTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9v
a3VwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAppbmRleCA5YmM4
MWQ0Li4wZDZkOThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9M
b29rdXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApAQCAt
NTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIFByb3BlcnR5U2xvdDo6
R2V0VmFsdWVGdW5jIEdldEZ1bmN0aW9uOwogICAgIHR5cGVkZWYgdm9pZCAoKlB1dEZ1bmN0aW9u
KShFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSB2YWx1ZSk7CiAKLSAg
ICBjbGFzcyBIYXNoRW50cnkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aEVudHJ5IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFyIGF0
dHJpYnV0ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVTdGFja01hcmtlci5oCmlu
ZGV4IGU4MGZlMDUuLmIxODY4MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hY2hpbmVTdGFja01hcmtlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hY2hpbmVTdGFja01hcmtlci5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIEhlYXA7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogCi0gICAgY2xhc3Mg
TWFjaGluZVN0YWNrTWFya2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYWNo
aW5lU3RhY2tNYXJrZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYWNoaW5lU3Rh
Y2tNYXJrZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWFjaGluZVN0YWNrTWFya2VyKEhlYXAq
KTsKICAgICAgICAgfk1hY2hpbmVTdGFja01hcmtlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXJrU3RhY2suaAppbmRleCA3YmNjYWRmLi5mNTRjZmE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2suaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2suaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAKICAgICBlbnVtIE1hcmtTZXRQcm9wZXJ0aWVzIHsgTWF5Q29udGFpbk51
bGxWYWx1ZXMsIE5vTnVsbFZhbHVlcyB9OwogICAgIAotICAgIGNsYXNzIE1hcmtTdGFjayA6IE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrU3RhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNYXJrU3RhY2spOwogICAgIHB1YmxpYzoKICAgICAgICAgTWFya1N0YWNrKHZvaWQq
IGpzQXJyYXlWUHRyKQogICAgICAgICAgICAgOiBtX2pzQXJyYXlWUHRyKGpzQXJyYXlWUHRyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3BhY2UuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZFNwYWNlLmgKaW5kZXggNzhmOTE4
Yy4uM2IwYzVlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFy
a2VkU3BhY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrZWRTcGFj
ZS5oCkBAIC02Myw3ICs2Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAgICAgfTsK
IAotICAgIGNsYXNzIE1hcmtlZFNwYWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBNYXJrZWRTcGFjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZFNwYWNl
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtlZFNwYWNlKEpTR2xvYmFsRGF0YSopOwogICAg
ICAgICB2b2lkIGRlc3Ryb3koUHJvdGVjdENvdW50U2V0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li4xNzE0
YmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmgKQEAgLTMxLDcgKzMxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUmVn
RXhwUHJvdG90eXBlOwogICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGU7CiAKLSAg
ICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlIDogRmFzdEFsbG9jQmFzZSB7CisgICAg
c3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAv
IHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAg
ICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBPYmplY3QuaAppbmRleCBjOGNhZTI4Li45OWM4NGRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaApAQCAtNTgsNyArNTgsOSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICBwcml2YXRlOgogICAgICAgICBib29sIG1hdGNoKEV4ZWNTdGF0ZSop
OwogCi0gICAgICAgIHN0cnVjdCBSZWdFeHBPYmplY3REYXRhIDogRmFzdEFsbG9jQmFzZSB7Cisg
ICAgICAgIHN0cnVjdCBSZWdFeHBPYmplY3REYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBSZWdFeHBPYmplY3RE
YXRhKE5vbk51bGxQYXNzUmVmUHRyPFJlZ0V4cD4gcmVnRXhwLCBkb3VibGUgbGFzdEluZGV4KQog
ICAgICAgICAgICAgICAgIDogcmVnRXhwKHJlZ0V4cCkKICAgICAgICAgICAgICAgICAsIGxhc3RJ
bmRleChsYXN0SW5kZXgpCkBAIC02OCw3ICs3MCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICAgICAgUmVmUHRyPFJlZ0V4cD4gcmVnRXhwOwogICAgICAgICAgICAgZG91YmxlIGxhc3RJbmRl
eDsKICAgICAgICAgfTsKLQorI2lmIFBMQVRGT1JNKFdJTikKKyAgICAgICAgZnJpZW5kIHZvaWQg
V1RGOjpkZWxldGVPd25lZFB0cjxSZWdFeHBPYmplY3REYXRhPihSZWdFeHBPYmplY3REYXRhKik7
CisjZW5kaWYKICAgICAgICAgT3duUHRyPFJlZ0V4cE9iamVjdERhdGE+IGQ7CiAgICAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oCmluZGV4IDBiMTViNjcu
LmIxMDRlNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3Bl
Q2hhaW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgK
QEAgLTIxLDcgKzIxLDcgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAjZGVmaW5lIFNjb3BlQ2hh
aW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgIGNsYXNzIE1hcmtTdGFjazsKICAgICBjbGFzcyBTY29wZUNoYWluSXRlcmF0
b3I7CiAgICAgCi0gICAgY2xhc3MgU2NvcGVDaGFpbk5vZGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgU2NvcGVDaGFpbk5vZGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNjb3BlQ2hhaW5Ob2RlKFNjb3BlQ2hhaW5O
b2RlKiBuZXh0LCBKU09iamVjdCogb2JqZWN0LCBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBnbG9iYWxUaGlzKQogICAgICAg
ICAgICAgOiBuZXh0KG5leHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21h
bGxTdHJpbmdzLmNwcAppbmRleCBmMzU4NzI3Li41NjE0OTMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTQwLDcgKzQwLDggQEAgc3Rh
dGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0
cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJp
bmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9y
YWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU21hbGxTdHJpbmdzU3RvcmFnZSgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4
IGQxZWJmYjEzLi5hYzg0ZmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
bWFsbFN0cmluZ3MuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZTsKIAotICAgIGNsYXNz
IFNtYWxsU3RyaW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU21hbGxTdHJp
bmdzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU21hbGxTdHJpbmdzKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTbWFsbFN0cmluZ3MoKTsK
ICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N5bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2ZC4uMjYzNTUwMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCkBAIC0xMjIsNiArMTIyLDcgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgU3ltYm9s
VGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFN0cmluZ0lt
cGw+ID4sIFN5bWJvbFRhYmxlSW5kZXhIYXNoVHJhaXRzPiBTeW1ib2xUYWJsZTsKIAogICAgIGNs
YXNzIFNoYXJlZFN5bWJvbFRhYmxlIDogcHVibGljIFN5bWJvbFRhYmxlLCBwdWJsaWMgUmVmQ291
bnRlZDxTaGFyZWRTeW1ib2xUYWJsZT4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZFN5bWJvbFRh
YmxlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU2hhcmVkU3ltYm9sVGFibGUpOyB9
CiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtHQ01hcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgK
aW5kZXggMmQ0ZTU5ZC4uMzE2Nzk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvV2Vha0dDTWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlNDZWxsOwogCiAvLyBBIEhhc2hN
YXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3
YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUg
TWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgLyoKICAg
ICBJbnZhcmlhbnRzOgogICAgICAgICAqIEEgdmFsdWUgZW50ZXJzIHRoZSBXZWFrR0NNYXAgbWFy
a2VkLiAoR3VhcmFudGVlZCBieSBzZXQoKS4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9XZWFrR0NQdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtHQ1B0ci5oCmluZGV4IDZjYzc1YTUuLjQ5NDZlZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCkBAIC0yOCwxMiArMjgsMTIgQEAKIAogI2luY2x1ZGUg
IkhlYXAuaCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgp
IGZ1bmN0aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxh
dGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoV2Vha0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRy
KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVm
Q291bnRlZC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50
ZWQuaAppbmRleCAwYzBlOTk3Li44YjY1OTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgLy8gd2l0aCByZXNwZWN0IHRvIHRoZSBvcmlnaW5hbCBhbmQgYW55IG90
aGVyIGNvcGllcy4gIFRoZSB1bmRlcmx5aW5nIG1fZGF0YSBpcyBqb2ludGx5CiAgICAgLy8gb3du
ZWQgYnkgdGhlIG9yaWdpbmFsIGluc3RhbmNlIGFuZCBhbGwgY29waWVzLgogICAgIHRlbXBsYXRl
PGNsYXNzIFQ+Ci0gICAgY2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlZkNvdW50ZWQpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q3Jvc3NUaHJlYWRSZWZDb3VudGVkPFQ+ID4gY3JlYXRl
KFQqIGRhdGEpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRl
eCA4ZDBkOTMyLi40MWJkNGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0RhdGVNYXRoLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCkBA
IC00NCw2ICs0NCw3IEBACiAjZGVmaW5lIERhdGVNYXRoX2gKIAogI2luY2x1ZGUgPG1hdGguaD4K
KyNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx0aW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CkBAIC0xMjAsNyArMTIxLDkgQEAgZG91
YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhlY1N0YXRlKiwgY29u
c3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVycmlkZGluZyB0aGUg
ZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2YgdG0gZGlmZmVyIG9u
IHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBHcmVnb3JpYW5EYXRl
VGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRlKDApCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0RlcXVlLmgKaW5kZXggNzQ1ZTBiNi4uMWIxNmFmYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvRGVxdWUuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBEZXF1ZUNvbnN0UmV2ZXJzZUl0ZXJhdG9yOwogCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBjbGFzcyBEZXF1ZSA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBEZXF1ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yPFQ+IGl0ZXJhdG9y
OwogICAgICAgICB0eXBlZGVmIERlcXVlQ29uc3RJdGVyYXRvcjxUPiBjb25zdF9pdGVyYXRvcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKaW5kZXggYmIxODI1ZS4u
ZTQ4OTlhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NC
YXNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAg
LTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVycmlkZXMgb2YgZmFz
dE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8KIC8vIFByb3ZpZGVk
IGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIC8v
ICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxvY0Jhc2U7CiAvLwog
Ly8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+
KGFyZyk7CkBAIC00OCw3ICs0OCwxNiBAQAogLy8gRmFzdERlbGV0ZSBhc3N1bWVzIHRoYXQgdGhl
IHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xhc3MgV2lkZ2V0IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdpZGdldCB7CisvLyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8gICAgfTsKKy8vCisv
LyAgICBzdHJ1Y3QgRGF0YSB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8v
ICAgIHB1YmxpYzoKKy8vICAgIC4uLgorLy8gICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRy
ID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAgZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTgzLDgg
KzkyLDYgQEAKICNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5o
IgogCi1uYW1lc3BhY2UgV1RGIHsKLQogI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBc
CiBwdWJsaWM6IFwKICAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJl
dHVybiBwOyB9IFwKQEAgLTExNSwxMSArMTIyLDEwIEBAIHB1YmxpYzogXAogICAgICAgICAgOjpX
VEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9j
VHlwZUNsYXNzTmV3QXJyYXkpOyBcCiAgICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKICAg
ICB9IFwKLXByaXZhdGU6Citwcml2YXRlOiBcCit0eXBlZGVmIGludCBUaGlzSXNIZXJlVG9Gb3Jj
ZUFTZW1pY29sb25BZnRlclRoaXNNYWNybwogCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRCAgCi19OworbmFtZXNwYWNlIFdURiB7CiAKICAgICAvLyBm
YXN0TmV3IC8gZmFzdERlbGV0ZQogCkBAIC00MTAsNyArNDE2LDYgQEAgY2xhc3MgRmFzdEFsbG9j
QmFzZSB7CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi11c2luZyBXVEY6OkZhc3RBbGxvY0Jhc2U7
CiB1c2luZyBXVEY6OmZhc3REZWxldGVTa2lwcGluZ0Rlc3RydWN0b3I7CiAKICNlbmRpZiAvLyBG
YXN0QWxsb2NCYXNlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFz
aENvdW50ZWRTZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQu
aAppbmRleCA0ZWQ3NWM1Li5iOTdkOGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0hhc2hDb3VudGVkU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9I
YXNoQ291bnRlZFNldC5oCkBAIC0yMiwxNCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3Vu
dGVkU2V0X2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NC
YXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1hcC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1l
c3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNo
RnVuY3Rpb25zID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0
eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNo
VHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFZh
bHVlLCB1bnNpZ25lZCwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzPiBJbXBsVHlwZTsKICAgICBwdWJs
aWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4IDA5MDk0ZDEuLjc3MzE1NDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCkBAIC0yOSw3ICsyOSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBw
ZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxLZXlBcmc+OjpI
YXNoLAogICAgICAgICB0eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPEtleUFyZz4s
IHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFwcGVkQXJnPiA+Ci0gICAg
Y2xhc3MgSGFzaE1hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFw
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBl
ZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0hhc2hTZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCmlu
ZGV4IDY2NjM5ZTQuLmJlNmI5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCkBA
IC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBJZGVudGl0eUV4dHJhY3RvcjsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVl
QXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+
IGNsYXNzIEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHR5cGVuYW1l
IFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVk
ZWYgSGFzaEFyZyBIYXNoRnVuY3Rpb25zOwogICAgICAgICB0eXBlZGVmIFRyYWl0c0FyZyBWYWx1
ZVRyYWl0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hT
ZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaAppbmRleCBlMTRh
YzQ1Li5lOTE2ZWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RI
YXNoU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCkBA
IC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZh
bHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVBbGxv
Y2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5jdGlv
bnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFj
aXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVB
cmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2
LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNo
PiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hTZXROb2RlPFZhbHVlQXJnLCBp
bmxpbmVDYXBhY2l0eT4gTm9kZTsKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGVBbGxv
Y2F0b3I8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2RlQWxsb2NhdG9yOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvTG9ja2VyLmgKaW5kZXggNDE4MTNkMy4uYzQ2NWI5OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0xvY2tlci5oCkBAIC0zMiw3ICszMiw4IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi10
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvY2tlcik7CiBwdWJsaWM6CiAgICAgTG9ja2VyKFQmIGxvY2thYmxlKSA6IG1fbG9j
a2FibGUobG9ja2FibGUpIHsgbV9sb2NrYWJsZS5sb2NrKCk7IH0KICAgICB+TG9ja2VyKCkgeyBt
X2xvY2thYmxlLnVubG9jaygpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL01lc3NhZ2VRdWV1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVl
dWUuaAppbmRleCAxNDEwMGM5Li43YzE4YTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
TWVzc2FnZVF1ZXVlLmgKQEAgLTQ4LDcgKzQ4LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8g
d2hlbiBtZXNzYWdlcyBhcmUgZmV0Y2hlZCBmcm9tIHRoZSBxdWV1ZS4KICAgICAvLyBFc3NlbnRp
YWxseSwgTWVzc2FnZVF1ZXVlIGFjdHMgYXMgYSBxdWV1ZSBvZiBPd25QdHI8RGF0YVR5cGU+Lgog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgotICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVF1ZXVlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2FnZVF1ZXVlKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IE1lc3NhZ2VRdWV1ZSgpIDogbV9raWxsZWQoZmFsc2UpIHsgfQogICAgICAgICB+TWVzc2FnZVF1
ZXVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKaW5kZXggMjg1ZWQy
ZS4uY2M2YmM1NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5
YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaApAQCAt
NDEsMjMgKzQxLDQgQEAKICAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENs
YXNzTmFtZSYpCiAjZW5kaWYKIAotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQg
bG9va3VwIHRvIHB1bGwgaW4gZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3
aGVuIHlvdSB1c2UgTm9uY29weWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4K
LQotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxl
IHsKLQotICAgIGNsYXNzIE5vbmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAg
ICAgICBOb25jb3B5YWJsZShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJs
ZSYgb3BlcmF0b3I9KGNvbnN0IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAg
ICBOb25jb3B5YWJsZSgpIHsgfQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9Owot
Ci19IC8vIG5hbWVzcGFjZSBXVEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6
Tm9uY29weWFibGU7Ci0KICNlbmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCmluZGV4IDY0M2I5MGIuLmRiZDM0YWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNw
YWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duQXJyYXlQdHI7CiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQdHI8VD4gYWRvcHRBcnJheVB0cihUKik7
CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0ciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgewogcHVi
bGljOgogICAgIHR5cGVkZWYgVCogUHRyVHlwZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaApAQCAtMjMsMTEgKzIzLDEx
IEBACiAjZGVmaW5lIE93bkZhc3RNYWxsb2NQdHJfaAogCiAjaW5jbHVkZSAiRmFzdE1hbGxvYy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgdGVt
cGxhdGU8Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1hbGxvY1B0ciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1hbGxvY1B0ciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE93bkZhc3RNYWxsb2NQdHIpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgZXhwbGljaXQgT3duRmFzdE1hbGxvY1B0cihUKiBwdHIpIDogbV9wdHIocHRyKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAppbmRleCBjZGMyNzdjLi5mYjU5
NDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNk
ZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAi
Tm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5jbHVkZSAiT3duUHRyQ29t
bW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyArMzgsNyBAQCBuYW1lc3Bh
Y2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duUHRyOwogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQdHIoVCopOwogCi0gICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewogICAgIHB1YmxpYzoKICAg
ICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpUeXBlIFZhbHVlVHlwZTsK
ICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmQ291bnRlZC5oCmluZGV4IDhkOGIzMDIuLmRhMTc4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvUmVmQ291bnRlZC5oCkBAIC0yMiw2ICsyMiw3IEBACiAjZGVmaW5lIFJlZkNvdW50
ZWRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgorI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2Uu
aCIKICNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTEzMSw3
ICsxMzIsOCBAQCBpbmxpbmUgdm9pZCBhZG9wdGVkKFJlZkNvdW50ZWRCYXNlKiBvYmplY3QpCiAK
ICNlbmRpZgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGlj
IFJlZkNvdW50ZWRCYXNlLCBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkQmFzZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVmQ291bnRlZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDIsNyBAQCBwdWJsaWM6
CiAgICAgfQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3Vu
dGVkKCkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZQdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKaW5kZXggZDU3
Zjg4YS4uMzUzYmQzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQ
dHIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCkBAIC0zNiw3ICsz
Niw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVU
eXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cigpIDogbV9wdHIoMCkg
eyB9CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpIHsg
cmVmSWZOb3ROdWxsKHB0cik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRySGFzaE1hcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNo
TWFwLmgKaW5kZXggYjllN2VlYS4uZGJlYWJmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZQdHJIYXNoTWFwLmgKQEAgLTQ1LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
fTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5h
bWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNB
cmc+Ci0gICAgY2xhc3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5
VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAg
IGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0Fy
ZywgTWFwcGVkVHJhaXRzQXJnPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAg
ICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMu
aAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaApAQCAtMzEsMTQgKzMx
LDE0IEBACiAjaWZuZGVmIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogI2RlZmluZSBU
aHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKIC8v
IEhvbGRzIFRocmVhZElkZW50aWZpZXIgaW4gdGhlIHRocmVhZC1zcGVjaWZpYyBzdG9yYWdlIGFu
ZCBlbXBsb3lzIHB0aHJlYWRzLXNwZWNpZmljIDItcGFzcyBkZXN0cnVjdGlvbiB0byByZWxpYWJs
eSByZW1vdmUKIC8vIFRocmVhZElkZW50aWZpZXIgZnJvbSB0aHJlYWRNYXAuIEl0IGFzc3VtZXMg
cmVndWxhciBUaHJlYWRTcGVjaWZpYyB0eXBlcyBkb24ndCB1c2UgbXVsdGlwbGUtcGFzcyBkZXN0
cnVjdGlvbi4KLWNsYXNzIFRocmVhZElkZW50aWZpZXJEYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFRocmVhZElkZW50aWZpZXJEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShUaHJlYWRJZGVudGlmaWVyRGF0YSk7CiBwdWJsaWM6CiAgICAgflRocmVhZElkZW50aWZpZXJE
YXRhKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2Fm
ZVNoYXJlZC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgK
aW5kZXggMzNjNjYxMi4uYTZhMWNmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTYWZlU2hhcmVkLmgKQEAgLTYyLDEyICs2MiwxMiBAQAogI2luY2x1ZGUgIlBsYXRmb3Jt
LmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewogCi1jbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkU2FmZVNoYXJlZEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAg
ICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkU3BlY2lmaWMuaAppbmRleCA5M2VkNDY2Li5mYTlhMzkzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oCkBAIC02MSw3ICs2MSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogdm9pZCBUaHJlYWRTcGVjaWZpY1RocmVhZEV4aXQoKTsKICNlbmRpZgogCi10
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUaHJlYWRTcGVjaWZpYyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUaHJlYWRTcGVjaWZpYyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU3BlY2lmaWMpOwogcHVibGljOgogICAgIFRocmVh
ZFNwZWNpZmljKCk7CiAgICAgVCogb3BlcmF0b3ItPigpOwpAQCAtODQsNyArODUsOSBAQCBwcml2
YXRlOgogICAgIHZvaWQgc3RhdGljIGRlc3Ryb3kodm9pZCogcHRyKTsKIAogI2lmIFVTRShQVEhS
RUFEUykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykgfHwgT1MoV0lORE9XUykKLSAg
ICBzdHJ1Y3QgRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRGF0YSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRGF0YShU
KiB2YWx1ZSwgVGhyZWFkU3BlY2lmaWM8VD4qIG93bmVyKSA6IHZhbHVlKHZhbHVlKSwgb3duZXIo
b3duZXIpIHt9CiAjaWYgUExBVEZPUk0oUVQpCiAgICAgICAgIH5EYXRhKCkgeyBvd25lci0+ZGVz
dHJveSh0aGlzKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRTcGVjaWZpY1dpbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNp
ZmljV2luLmNwcAppbmRleCBmMmMwY2FkLi5kNzI5OTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAiVGhyZWFkU3BlY2lmaWMuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFVTRShQVEhSRUFEUykKICNlcnJvciBUaGlzIGZp
bGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBieSBwb3J0cyB0aGF0IGRvIG5vdCB1c2UgV2luZG93
cyBuYXRpdmUgVGhyZWFkU3BlY2lmaWMgaW1wbGVtZW50YXRpb24uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZGluZy5jcHAKaW5kZXggNDlkZTU5ZS4uZjJlMDU2NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0
cnVjdCBOZXdUaHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKICAgICBOZXdUaHJlYWRDb250ZXh0KFRocmVhZEZ1bmN0aW9uIGVudHJ5UG9pbnQsIHZv
aWQqIGRhdGEsIGNvbnN0IGNoYXIqIG5hbWUpCiAgICAgICAgIDogZW50cnlQb2ludChlbnRyeVBv
aW50KQogICAgICAgICAsIGRhdGEoZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4uODA5YzNlMiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2Nr
ZXIuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIApAQCAtOTYsNyArOTcsOCBAQCB0
eXBlZGVmIHZvaWQqIFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1Db25kaXRpb247CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE11dGV4KCk7CiAgICAgfk11dGV4
KCk7CkBAIC0xMTMsNyArMTE1LDggQEAgcHJpdmF0ZToKIAogdHlwZWRlZiBMb2NrZXI8TXV0ZXg+
IE11dGV4TG9ja2VyOwogCi1jbGFzcyBSZWFkV3JpdGVMb2NrIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFJlYWRXcml0ZUxvY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlYWRX
cml0ZUxvY2spOwogcHVibGljOgogICAgIFJlYWRXcml0ZUxvY2soKTsKICAgICB+UmVhZFdyaXRl
TG9jaygpOwpAQCAtMTMwLDcgKzEzMyw4IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1SZWFkV3Jp
dGVMb2NrIG1fcmVhZFdyaXRlTG9jazsKIH07CiAKLWNsYXNzIFRocmVhZENvbmRpdGlvbiA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRDb25kaXRpb24geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRocmVhZENvbmRpdGlvbik7CiBwdWJsaWM6CiAgICAgVGhyZWFkQ29uZGl0
aW9uKCk7CiAgICAgflRocmVhZENvbmRpdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmgKaW5kZXggZjczNzkzZi4uNmQ4ZGQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5o
CkBAIC0yNzcsNyArMjc3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdm9p
ZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAgLTQ4OCw3
ICs0ODksOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3IgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBWZWN0b3JCdWZm
ZXI8VCwgaW5saW5lQ2FwYWNpdHk+IEJ1ZmZlcjsKICAgICAgICAgdHlwZWRlZiBWZWN0b3JUeXBl
T3BlcmF0aW9uczxUPiBUeXBlT3BlcmF0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9X
VEZUaHJlYWREYXRhLmgKaW5kZXggNTJjMjY3YS4uMjQzYWE5MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKQEAgLTUyLDcgKzUyLDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAKIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBjaGFyKiwgUmVmUHRyPFN0cmluZ0ltcGw+LCBQ
dHJIYXNoPGNvbnN0IGNoYXIqPiA+IExpdGVyYWxJZGVudGlmaWVyVGFibGU7CiAKLWNsYXNzIElk
ZW50aWZpZXJUYWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJU
YWJsZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgfklkZW50
aWZpZXJUYWJsZSgpOwogCkBAIC04NSw3ICs4Niw4IEBAIGNsYXNzIEF0b21pY1N0cmluZ1RhYmxl
OwogCiB0eXBlZGVmIHZvaWQgKCpBdG9taWNTdHJpbmdUYWJsZURlc3RydWN0b3IpKEF0b21pY1N0
cmluZ1RhYmxlKik7CiAKLWNsYXNzIFdURlRocmVhZERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgV1RGVGhyZWFkRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV1RGVGhy
ZWFkRGF0YSk7CiBwdWJsaWM6CiAgICAgV1RGVGhyZWFkRGF0YSgpOwogICAgIH5XVEZUaHJlYWRE
YXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAppbmRleCBjODljMDM2Li5iNWIxMjYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIFA1Tm9kZSgpIHsgfQogICAgIEJpZ0ludCB2YWw7CiAgICAgUDVO
b2RlKiBuZXh0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29i
amVjdC9HT3duUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0
ci5oCmluZGV4IGNlYzNlNDMuLjQxMzZmMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9nb2JqZWN0L0dPd25QdHIuaApAQCAtNDEsNyArNDEsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJl
ZU93bmVkR1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lk
IGZyZWVPd25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQ
dHI8R0ZpbGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3du
UHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0
cigpIHsgZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAppbmRleCBhNTQ2YmYzLi5lNzNkMzhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCkBAIC0zMCwxMyArMzAs
MTMgQEAKICNkZWZpbmUgU3RyaW5nQnVmZmVyX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUv
VW5pY29kZS5oPgogI2luY2x1ZGUgPGxpbWl0cz4KIAogbmFtZXNwYWNlIFdURiB7CiAKLWNsYXNz
IFN0cmluZ0J1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdCdWZmZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ0J1ZmZlcik7CiBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgU3RyaW5nQnVmZmVyKHVuc2lnbmVkIGxlbmd0aCkKICAgICAgICAgOiBtX2xlbmd0
aChsZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3Ry
aW5nSW1wbEJhc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBs
QmFzZS5oCmluZGV4IDY1Njc2NzIuLjI2YmMxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5k
ZWYgU3RyaW5nSW1wbEJhc2VfaAogI2RlZmluZSBTdHJpbmdJbXBsQmFzZV9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAK
IG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBTdHJpbmdJbXBsQmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTdHJpbmdJbXBsQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U3RyaW5nSW1wbEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBi
b29sIGlzU3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNv
dW50SW52YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1w
bDsgfQogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBA
IC00NSw5ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07
CiAKLSAgICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJh
dG9yIG5ldyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4g
aW5QbGFjZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2Nh
dGVzIGFuIGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFz
ZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUv
Q29sbGF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5o
CmluZGV4IGZlNmE4MDkuLjAwYWIxNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
dW5pY29kZS9Db2xsYXRvci5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaWZuZGVmIFdURl9Db2xsYXRv
cl9oCiAjZGVmaW5lIFdURl9Db2xsYXRvcl9oCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFz
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgpAQCAtMzksNyArNDAsOCBA
QCBzdHJ1Y3QgVUNvbGxhdG9yOwogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIGNsYXNzIENvbGxh
dG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb2xsYXRvciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENvbGxhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFJlc3VsdCB7IEVxdWFsID0gMCwgR3JlYXRlciA9
IDEsIExlc3MgPSAtMSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFy
ci9ZYXJySW50ZXJwcmV0ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJJbnRl
cnByZXRlci5oCmluZGV4IGJlNzAzYTkuLmVlYTUyNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS95YXJyL1lhcnJJbnRlcnByZXRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS95YXJyL1lhcnJJbnRlcnByZXRlci5oCkBAIC0yOTksNyArMjk5LDggQEAgc3RydWN0IEJ5
dGVUZXJtIHsKICAgICB9CiB9OwogCi1jbGFzcyBCeXRlRGlzanVuY3Rpb24gOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBCeXRlRGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIEJ5dGVEaXNqdW5jdGlvbih1bnNpZ25lZCBudW1TdWJw
YXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAgICAgICA6IG1fbnVtU3VicGF0dGVybnMo
bnVtU3VicGF0dGVybnMpCkBAIC0zMTIsNyArMzEzLDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVk
IG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVjb2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jh
c2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgQnl0ZWNvZGVQYXR0ZXJuKFBhc3NPd25QdHI8Qnl0ZURpc2p1bmN0
aW9uPiBib2R5LCBWZWN0b3I8Qnl0ZURpc2p1bmN0aW9uKj4gYWxsUGFyZW50aGVzZXNJbmZvLCBZ
YXJyUGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcikKICAg
ICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBtX2lnbm9yZUNhc2UocGF0dGVybi5tX2ln
bm9yZUNhc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0
dGVybi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRlcm4uaAppbmRleCAy
MTcyZGRhLi5kODBmNjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9Z
YXJyUGF0dGVybi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJu
LmgKQEAgLTYzLDcgKzYzLDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgLy8gQWxsIENoYXJhY3RlckNs
YXNzIGluc3RhbmNlcyBoYXZlIHRvIGhhdmUgdGhlIGZ1bGwgc2V0IG9mIG1hdGNoZXMgYW5kIHJh
bmdlcywKICAgICAvLyB0aGV5IG1heSBoYXZlIGFuIG9wdGlvbmFsIHRhYmxlIGZvciBmYXN0ZXIg
bG9va3VwcyAod2hpY2ggbXVzdCBtYXRjaCB0aGUKICAgICAvLyBzcGVjaWZpZWQgbWF0Y2hlcyBh
bmQgcmFuZ2VzKQpAQCAtMjA0LDcgKzIwNiw5IEBAIHN0cnVjdCBQYXR0ZXJuVGVybSB7CiAgICAg
fQogfTsKIAotc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3Ry
dWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CiAgICAgUGF0dGVybkFsdGVybmF0aXZlKFBhdHRlcm5EaXNqdW5jdGlvbiogZGlzanVu
Y3Rpb24pCiAgICAgICAgIDogbV9wYXJlbnQoZGlzanVuY3Rpb24pCiAgICAgICAgICwgbV9vbmNl
VGhyb3VnaChmYWxzZSkKQEAgLTI0NSw3ICsyNDksOSBAQCBzdHJ1Y3QgUGF0dGVybkFsdGVybmF0
aXZlIDogRmFzdEFsbG9jQmFzZSB7CiAgICAgYm9vbCBtX2NvbnRhaW5zQk9MIDogMTsKIH07CiAK
LXN0cnVjdCBQYXR0ZXJuRGlzanVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0
ZXJuRGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgog
ICAgIFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAg
ICAgICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDU2ZDI0YjMuLjFmNmRiNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxMS0wMS0yMCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3Rvcmlu
ZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcg
ZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAo
YnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlvbiByZXBsYWNlcyBO
b25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVzZSBpbmhlcml0cyB3
aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50YXRpb24gYXQgdGhl
IG5lY2Vzc2FyeSBwbGFjZXMuCisKIDIwMTEtMDEtMTkgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5p
Y2NAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggNjcwZDZlMC4u
MDBlN2ZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmgKQEAgLTYwLDcgKzYwLDggQEAgc3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0
VHlwZSB7IFBvc3RTeW5jaHJvbm91c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3Mg
QVhPYmplY3RDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQVhPYmplY3RDYWNoZShjb25zdCBEb2N1bWVudCop
OwogICAgIH5BWE9iamVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCBlYTY4ZDEwLi45YmFl
OGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRT
b3VyY2VQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNj
cmlwdFNvdXJjZVByb3ZpZGVyLmgKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIGNsYXNzIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyIDogcHVibGljIFNjcmlw
dFNvdXJjZVByb3ZpZGVyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBj
YWNoZWRTY3JpcHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92
aWRlcihjYWNoZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9HQ0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29u
dHJvbGxlci5oCmluZGV4IDRjMjU0MDcuLjkxZjFlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5kZWYgR0NDb250
cm9sbGVyX2gKICNkZWZpbmUgR0NDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAg
IGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR0ND
b250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR0NDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGZyaWVuZCBHQ0NvbnRyb2xsZXImIGdj
Q29udHJvbGxlcigpOwogCiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKaW5kZXggOTRiNmY3OC4uZTExMzhlZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCkBAIC0zNyw3ICsz
Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0
ZWQgd2l0aG91dCBiZWluZyByZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVy
cyBiZWluZyBjYWNoZWQgdHdpY2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEpTRGVidWdXcmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJl
YWRTcGVjaWZpYzxKU0RlYnVnV3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVi
dWdXcmFwcGVyU2V0JiBzaGFyZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKaW5kZXggODE5M2Q3Yy4uMzQ5ZGMxNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgK
QEAgLTMwLDExICszMCwxMSBAQAogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlIDx3dGYvTWFpblRo
cmVhZC5oPgogI2VuZGlmCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNNYWluVGhyZWFkRXhlY1N0YXRlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlND
OjpFeGVjU3RhdGUqIGN1cnJlbnRTdGF0ZSgpCiAgICAgeyAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uNTlhZDZmYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKQEAgLTQxLDcgKzQx
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICogdGltZSBpbnRlcnZhbCwgZWl0aGVyIG9u
Y2Ugb3IgcmVwZWF0ZWRseS4gVXNlZCBmb3Igd2luZG93LnNldFRpbWVvdXQoKQogICAgICogYW5k
IHdpbmRvdy5zZXRJbnRlcnZhbCgpCiAgICAgKi8KLSAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24g
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1
bGVkQWN0aW9uPiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xh
dGVkV29ybGQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDYWNoZWRGcmFtZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENh
Y2hlZEZyYW1lRGF0YS5oCmluZGV4IDE1YzIzYzUuLjVmNjkxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBAIC00MCw3ICs0
MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XaW5kb3c7CiAgICAgY2xh
c3MgRE9NV3JhcHBlcldvcmxkOwogCi0gICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDwgUmVmUHRyPERP
TVdyYXBwZXJXb3JsZD4sIEpTQzo6UHJvdGVjdGVkUHRyPEpTRE9NV2luZG93PiA+IEpTRE9NV2lu
ZG93U2V0OwogCiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdERlYnVnU2VydmVyLmgKaW5kZXggZGUyNzRkYi4uYmRlNDczNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBA
IGNsYXNzIFBhZ2VHcm91cDsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZh
U2NyaXB0Q2FsbEZyYW1lOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdn
ZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6
RGVidWdnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVn
U2VydmVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0UHJvZmlsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFBy
b2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCkBAIC0zMiwxMSArMzIsMTEgQEAKICNpbmNsdWRlICJT
Y3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjcmlwdFBy
b2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2ZpbGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlwdFN0YXRlKiBz
dGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0U3RhdGUuaAppbmRleCAwYzA4NjExLi5lMTljMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFN0YXRlLmgKQEAgLTUyLDcgKzUyLDggQEAgY2xhc3MgUGFnZTsKIC8vIEZv
ciBub3csIHRoZSBzZXBhcmF0aW9uIGlzIHB1cmVseSBieSBjb252ZW50aW9uLgogdHlwZWRlZiBK
U0M6OkV4ZWNTdGF0ZSBTY3JpcHRTdGF0ZTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1
YmxpYzoKICAgICBleHBsaWNpdCBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSop
OwogICAgIH5TY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjZlMmQ3YmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRh
LmgKQEAgLTI0LDE3ICsyNCwxOCBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAj
aW5jbHVkZSAiRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1
YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6Q2xpZW50RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNs
aWVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRh
V29ybGRJdGVyYXRvcjsKICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRh
KEpTQzo6SlNHbG9iYWxEYXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRh
KCkgeyB9CiAgICAgdmlydHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAg
ICBBU1NFUlQobV93b3JsZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgK
aW5kZXggYmU3ZGE0ZC4uNDU3ODkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5j
bHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewpAQCAtNDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgU2NyaXB0VmFsdWU7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAotICAgIGNsYXNz
IFdvcmtlclNjcmlwdENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFdvcmtlclNjcmlwdENvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
b3JrZXJTY3JpcHRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBXb3JrZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNvbnRleHQqKTsKICAg
ICAgICAgfldvcmtlclNjcmlwdENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGEuaAppbmRleCA3OGVkZjkyLi5iMDQyNjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YS5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0
aHJlYWQuICBUaGUgRE9NRGF0YSBmb3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBm
b3IgY2hpbGQgdGhyZWFkcwogICAgIC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAv
LwotICAgIGNsYXNzIERPTURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERP
TURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIERPTURhdGEoKTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAppbmRleCBjZmUyMjBlLi5kYmVh
ZDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaApAQCAtMTQ5
LDcgKzE0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRvZXNu
J3QgbWFuYWdlIHRoZSBsaWZldGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogICAg
IC8vIGxpZmV0aW1lIGlzIG1hbmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNz
IERPTURhdGFTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YVN0
b3JlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIGVudW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAgICAgRE9N
Tm9kZU1hcCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENh
Y2hlZEZyYW1lRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgKaW5kZXggMWFhMWY2Mi4uMzc2YjVmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTYwLDE0ICs2MCwx
NCBAQCBwdWJsaWM6CiAKICNpbmNsdWRlICJPd25IYW5kbGUuaCIKICNpbmNsdWRlIDx2OC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEZyYW1lOwogY2xhc3MgRE9NV2luZG93OwogCi1jbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURh
dGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YSAg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdENhY2hlZEZyYW1lRGF0YSk7CiBwdWJs
aWM6CiAgICAgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKEZyYW1lKik7CiAgICAgflNjcmlwdENhY2hl
ZEZyYW1lRGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggNDBkZDVmYy4uOGZhNzIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC00OCw3ICs0OCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
Y3JpcHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdT
ZXJ2ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCmluZGV4IGI3
NWEwNTQuLmUwOTY5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdFByb2ZpbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJv
ZmlsZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgog
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiAKLWNsYXNz
IFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2Zp
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcm
IHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlw
dFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAxMTgxM2IwLi4wZmVjZWU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKQEAgLTQyLDcgKzQyLDggQEAgY2xhc3MgRnJh
bWU7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsg
cmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0VtcHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2
ODo6TG9jYWw8djg6OlZhbHVlPiBleGNlcHRpb24pCkBAIC03OSw3ICs4MCw4IEBAIHB1YmxpYzoK
ICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgpIHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90
ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0
ZWRQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRy
KTsKIHB1YmxpYzoKICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0
ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0
U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShzY3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmluZGV4IDZhYzRhNjUu
LjZmYjJlZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTI4LDcgKzEyOCw4IEBAIHByaXZhdGU6CiAKIC8vIFdy
aXRlciBpcyByZXNwb25zaWJsZSBmb3Igc2VyaWFsaXppbmcgcHJpbWl0aXZlIHR5cGVzIGFuZCBz
dG9yaW5nCiAvLyBpbmZvcm1hdGlvbiB1c2VkIHRvIHJlY29uc3RydWN0IGNvbXBvc2l0ZSB0eXBl
cy4KLWNsYXNzIFdyaXRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdyaXRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoV3JpdGVyKTsKIHB1YmxpYzoKICAgICBXcml0ZXIoKQogICAgICAg
ICA6IG1fcG9zaXRpb24oMCkKQEAgLTM3Nyw3ICszNzgsOCBAQCBwdWJsaWM6CiAgICAgfQogCiBw
cml2YXRlOgotICAgIGNsYXNzIFN0YXRlQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgU3RhdGVCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RhdGVCYXNl
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflN0YXRlQmFzZSgpIHsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmggYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvQnJpZGdlLmgKaW5kZXggNTBlZmM2NC4uMDBkNmYzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9Ccmlk
Z2UuaApAQCAtMjgsMTQgKzI4LDE1IEBACiAjZGVmaW5lIEJyaWRnZV9oCiAKICNpbmNsdWRlICJC
cmlkZ2VKU0MuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpT
QyAgewogCiBuYW1lc3BhY2UgQmluZGluZ3MgewogCi1jbGFzcyBNZXRob2QgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgTWV0aG9kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXRo
b2QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0K
ICAgICB2aXJ0dWFsIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVh
bCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRp
ZmllclJlcC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaAppbmRleCA5
OWJhZTBiLi44NjQ2ZTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRp
ZmllclJlcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKQEAg
LTMzLDcgKzMzLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRp
ZmllclJlcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBJZGVudGlm
aWVyUmVwKiBnZXQoaW50KTsKICAgICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGNvbnN0IGNo
YXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCmluZGV4IDk2OTc0ZDkuLmVi
Y2ZhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaApAQCAtNTksOCArNTks
MTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkZpZWxkKCkgeyB9CiB9OwogCi1jbGFzcyBDbGFz
cyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDbGFzcyB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ2xhc3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBD
bGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3QgSWRl
bnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZpZWxk
TmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0IElk
ZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CkBAIC0xMjUsNyArMTI3LDggQEAg
cHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGltZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0Owog
fTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJyYXkgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5KTsKIHB1YmxpYzoKICAgICBBcnJheShQYXNz
UmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbWFnZVZhbHVlLmgKaW5kZXggODMzZDdmZS4uMTc0ZjFlZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFN0eWxlQ2FjaGVkSW1hZ2U7CiBj
bGFzcyBTdHlsZUltYWdlOwogCiBjbGFzcyBDU1NJbWFnZVZhbHVlIDogcHVibGljIENTU1ByaW1p
dGl2ZVZhbHVlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZh
bHVlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSk7IH0KICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1
cmwpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbWFnZVZhbHVlKHVybCkpOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ltcG9ydFJ1bGUuaAppbmRleCAxMGQzMDI2Li5hZDRlOTdkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVT
aGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBD
U1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbXBvcnRSdWxl
PiBjcmVhdGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGhyZWYsIFBhc3NS
ZWZQdHI8TWVkaWFMaXN0PiBtZWRpYSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTTmFtZXNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgK
aW5kZXggNjIyNWMzNi4uOTI2MzhmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaApAQCAt
MjYsNyArMjYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBzdHJ1Y3QgQ1NTTmFt
ZXNwYWNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDU1NOYW1lc3BhY2UgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NOYW1lc3BhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIEF0b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAg
IEF0b21pY1N0cmluZyB1cmk7CiAgICAgICAgIE93blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA0OTZhMjFhLi5kMzI2ODEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5oCkBAIC0zNDAsNyArMzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlu
dCBjc3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYpOwogICAgIGludCBjc3NWYWx1ZUtleXdvcmRJ
RChjb25zdCBDU1NQYXJzZXJTdHJpbmcmKTsKIAotICAgIGNsYXNzIFNob3J0aGFuZFNjb3BlIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNob3J0aGFuZFNjb3BlIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTaG9ydGhh
bmRTY29wZShDU1NQYXJzZXIqIHBhcnNlciwgaW50IHByb3BJZCkgOiBtX3BhcnNlcihwYXJzZXIp
CiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCA5OTNhZTI4
Li45OTZlNzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1
OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
Y3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNzIENTU1BhcnNlclZhbHVlTGlzdCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1BhcnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KCkKICAg
ICAgICAgOiBtX2N1cnJlbnQoMCkKQEAgLTgzLDcgKzg0LDkgQEAgcHJpdmF0ZToKICAgICBWZWN0
b3I8Q1NTUGFyc2VyVmFsdWUsIDQ+IG1fdmFsdWVzOwogfTsKIAotc3RydWN0IENTU1BhcnNlckZ1
bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24geworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIENTU1BhcnNlclN0cmluZyBu
YW1lOwogICAgIE93blB0cjxDU1NQYXJzZXJWYWx1ZUxpc3Q+IGFyZ3M7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHkuaAppbmRleCAxMDYxNzFkLi4xMGU1OTNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IENTU1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUHJvcGVydHkg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENTU1Byb3BlcnR5
KGludCBwcm9wSUQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlLCBib29sIGltcG9ydGFudCA9
IGZhbHNlLCBpbnQgc2hvcnRoYW5kSUQgPSAwLCBib29sIGltcGxpY2l0ID0gZmFsc2UpCiAgICAg
ICAgIDogbV9pZChwcm9wSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCA0MDBk
ZDQwLi5jYTM4MTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTM3LDggKzM3
LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsK
IAotY2xhc3MgQ1NTU2VsZWN0b3JCYWcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NT
U2VsZWN0b3JCYWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yQmFnKTsK
IHB1YmxpYzoKKyAgICBDU1NTZWxlY3RvckJhZygpIHsgfQogICAgIH5DU1NTZWxlY3RvckJhZygp
CiAgICAgewogICAgICAgICBBU1NFUlQoaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmgKaW5kZXggNTQ1NmJlNi4uYjkzMDM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAg
LTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENTU1NlbGVjdG9y
QmFnOwogCiAgICAgLy8gdGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0b3IgZm9yIGEgU3R5
bGVSdWxlCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIENTU1NlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2Vs
ZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENT
U1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzA2
LDcgKzMwNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lm
aWNpdHlGb3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBj
b25zdDsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAg
IHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJl
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAg
ICAgICBSYXJlRGF0YShQYXNzT3duUHRyPENTU1NlbGVjdG9yPiB0YWdIaXN0b3J5KQogICAgICAg
ICAgICAgICAgIDogbV9hKDApCiAgICAgICAgICAgICAgICAgLCBtX2IoMCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvckxpc3QuaAppbmRleCA3YWRjNmI5Li5hYmQ5YmM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yTGlzdC5oCkBAIC0yNywxMSArMjcsMTEgQEAKICNkZWZpbmUgQ1NTU2Vs
ZWN0b3JMaXN0X2gKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLWNsYXNzIENTU1NlbGVj
dG9yTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NTZWxlY3Rvckxpc3Qgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yTGlzdCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIENTU1NlbGVjdG9yTGlzdCgpIDogbV9zZWxlY3RvckFy
cmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcAppbmRleCBmYzA3MjJhLi4yN2I0NGQyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC0zNTIsNyArMzUyLDggQEAgaWYgKGlkID09IHBy
b3BJRCkgeyBcCiAgICAgcmV0dXJuOyBcCiB9CiAKLWNsYXNzIENTU1J1bGVEYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDU1NSdWxlRGF0YSk7CiBwdWJsaWM6CiAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9z
LCBDU1NTdHlsZVJ1bGUqIHIsIENTU1NlbGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0g
MCkKICAgICAgICAgOiBtX3Bvc2l0aW9uKHBvcykKQEAgLTM4MCw3ICszODEsOCBAQCBwcml2YXRl
OgogICAgIENTU1J1bGVEYXRhKiBtX25leHQ7CiB9OwogCi1jbGFzcyBDU1NSdWxlRGF0YUxpc3Qg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTUnVsZURhdGFMaXN0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDU1NSdWxlRGF0YUxpc3QpOwogcHVibGljOgogICAgIENTU1J1bGVE
YXRhTGlzdCh1bnNpZ25lZCBwb3MsIENTU1N0eWxlUnVsZSogcnVsZSwgQ1NTU2VsZWN0b3IqIHNl
bCkKICAgICAgICAgOiBtX2ZpcnN0KG5ldyBDU1NSdWxlRGF0YShwb3MsIHJ1bGUsIHNlbCkpCkBA
IC00MTAsNyArNDEyLDggQEAgcHJpdmF0ZToKICAgICBDU1NSdWxlRGF0YSogbV9sYXN0OwogfTsK
IAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxl
U2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NSdWxlU2V0KTsKIHB1YmxpYzoKICAg
ICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5oCmluZGV4IGVlYWNlNTcuLmUwMzVhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2VsZWN0b3IuaApAQCAtNjksNyArNjksOCBAQCBjbGFzcyBTdHlsZWRFbGVtZW50Owog
Y2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOwogY2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZTsKIAotY2xhc3MgTWVkaWFRdWVyeVJlc3VsdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBNZWRpYVF1ZXJ5UmVzdWx0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5
UmVzdWx0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgTWVkaWFRdWVy
eVJlc3VsdChjb25zdCBNZWRpYVF1ZXJ5RXhwJiBleHByLCBib29sIHJlc3VsdCkKICAgICAgICAg
OiBtX2V4cHJlc3Npb24oZXhwcikKQEAgLTgyLDcgKzgzLDggQEAgcHVibGljOgogfTsKIAogICAg
IC8vIFRoaXMgY2xhc3Mgc2VsZWN0cyBhIFJlbmRlclN0eWxlIGZvciBhIGdpdmVuIGVsZW1lbnQg
YmFzZWQgb24gYSBjb2xsZWN0aW9uIG9mIHN0eWxlc2hlZXRzLgotICAgIGNsYXNzIENTU1N0eWxl
U2VsZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0
b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTdHlsZVNlbGVjdG9yKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVj
dG9yKERvY3VtZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVl
dCogbWFwcGVkRWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxl
U2hlZXQqIHBhZ2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4g
PiogcGFnZUdyb3VwVXNlclNoZWV0cywKQEAgLTIxNCw3ICsyMTYsOCBAQCBwdWJsaWM6CiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxl
KCkgeyByZXR1cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNl
bGVjdG9yQ2hlY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVj
dG9yQ2hlY2tlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNo
ZWNrZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9j
dW1lbnQqLCBib29sIHN0cmljdFBhcnNpbmcpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRl
eCAyODEwMDliLi5hNjM4YWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKQEAgLTM3LDcgKzM3
LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1lZGlhUXVlcnlFeHA7CiAKLWNsYXNz
IE1lZGlhUXVlcnkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIGVudW0gUmVzdHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwg
Tm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXggMDBhYzM5
NC4uMDdjNGQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFs
dWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBA
IC00OSw3ICs0OSw4IEBAIGNsYXNzIE1lZGlhUXVlcnlFeHA7CiAgKiB0aGUgZGV2aWNlIGNoYXJh
Y3RlcmlzdGljcyBhcmUgbm90IGtub3duLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHBydW5lIHRoZSBs
b2FkaW5nCiAgKiBvZiBzdHlsZXNoZWV0cyB0byBvbmx5IHRob3NlIHdoaWNoIGFyZSBwcm9iYWJs
ZSB0byBtYXRjaC4KICAqLwotY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsKKyAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWVkaWFRdWVyeUV2YWx1YXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIC8qKiBDcmVhdGVzIGV2YWx1YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBz
aW1wbGUgbWVkaWEgcXVlcmllcwogICAgICAqICBFdmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciAi
YWxsIiwgYW5kIHJldHVybnMgdmFsdWUgb2YgXG1lZGlhRmVhdHVyZVJlc3VsdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5RXhwLmgKaW5kZXggNzJkM2ZmZi4uN2U0ZDQ3NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICszOCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAKLWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVF1ZXJ5RXhw
PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBtZWRpYUZlYXR1cmUsIENTU1BhcnNlclZhbHVl
TGlzdCogdmFsdWVzKTsKICAgICB+TWVkaWFRdWVyeUV4cCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuaAppbmRleCAyMzI2ZjY3Li42YTc1MzIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBEb2N1bWVudDsK
IGNsYXNzIFBlbmRpbmdTY3JpcHQ7CiBjbGFzcyBTY3JpcHRFbGVtZW50OwogICAgIAotY2xhc3Mg
QXN5bmNTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNTY3Jp
cHRSdW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jU2NyaXB0UnVubmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpIHsgcmV0dXJuIG5l
dyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5bmNTY3JpcHRSdW5uZXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAppbmRleCA4NmEyMmIwLi43NzJhNzAwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCi1jbGFz
cyBET01TdHJpbmdNYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NU3RyaW5nTWFw
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01TdHJpbmdNYXApOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5ET01TdHJpbmdNYXAoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggY2UwNWEwOS4uMGQwNThhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC00Njg0LDcgKzQ2ODQsOSBAQCB2b2lkIERvY3VtZW50OjphZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAog
ICAgICAgICB3aW5kb3ctPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVs
LCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRh
c2tDb250ZXh0IDogTm9uY29weWFibGUgeworc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVyZm9ybVRhc2tDb250ZXh0KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8
RG9jdW1lbnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJl
bmNlKGRvY3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAppbmRleCA4MzE3N2ZjLi4yZGMy
YjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9s
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5o
CkBAIC0zOCw4ICszOCwxMCBAQCBjbGFzcyBJbnRSZWN0OwogY2xhc3MgTm9kZTsKIGNsYXNzIFJh
bmdlOwogCi1jbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7IH0KICAgICB+RG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyBkZXRhY2goKTsgfQogCiAgICAgdm9pZCBkZXRhY2go
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50LmgKaW5kZXggODU2MmNhZC4uODUxYjIwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAg
LTI0LDEzICsyNCwxMyBAQAogI2lmbmRlZiBFdmVudF9oCiAjZGVmaW5lIEV2ZW50X2gKIAorI2lu
Y2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkRPTVRpbWVTdGFtcC5oIgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsaXBib2FyZDsKICAgICBjbGFzcyBF
dmVudFRhcmdldDsKIAogICAgIGNsYXNzIEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDcyNzY4ZDIuLjQzOWU5ZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaApAQCAtMTgwLDcgKzE4MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBcCiAvLyBlbmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKLSAgICBjbGFzcyBF
dmVudE5hbWVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudE5hbWVzIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgICAgICBpbnQgZHVtbXk7IC8vIE5lZWRlZCB0byBtYWtlIGluaXRpYWxp
emF0aW9uIG1hY3JvIHdvcmsuCiAgICAgICAgIC8vIFByaXZhdGUgdG8gcHJldmVudCBhY2NpZGVu
dGFsIGNhbGwgdG8gRXZlbnROYW1lcygpIGluc3RlYWQgb2YgZXZlbnROYW1lcygpCiAgICAgICAg
IEV2ZW50TmFtZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uODFl
ZWI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTgzLDcgKzgzLDkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyZWRFdmVudExpc3RlbmVy
LCAxPiBFdmVudExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJp
bmcsIEV2ZW50TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3RlbmVyTWFwOwogCi0gICAgc3RydWN0
IEV2ZW50VGFyZ2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRUYXJnZXRE
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRUYXJnZXREYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBFdmVudFRhcmdldERh
dGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5o
CmluZGV4IDlkMTgzNWEuLjI2ZjdmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9J
Z25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCkBAIC0yNywx
MSArMjcsMTEgQEAKICNkZWZpbmUgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50
ZXJfaAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRl
Q291bnRJbmNyZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJZ25vcmVEZXN0
cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIpOwogcHVibGljOgogICAgIGV4
cGxpY2l0IElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKERvY3VtZW50KiBk
b2N1bWVudCkKICAgICAgICAgOiBtX2NvdW50KGRvY3VtZW50ID8gJmRvY3VtZW50LT5tX2lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudCA6IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTWVzc2FnZVBvcnRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRD
aGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMDc2NjhhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNz
YWdlUG9ydENoYW5uZWwuaApAQCAtNTUsNyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAvLyBNZXNzYWdlUG9ydENoYW5uZWwgaXMgYSBwbGF0Zm9ybS1pbmRlcGVuZGVudCBpbnRl
cmZhY2UgdG8gdGhlIHJlbW90ZSBzaWRlIG9mIGEgbWVzc2FnZSBjaGFubmVsLgogICAgIC8vIEl0
IGFjdHMgYXMgYSB3cmFwcGVyIGFyb3VuZCB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IFBsYXRmb3Jt
TWVzc2FnZVBvcnRDaGFubmVsIGltcGxlbWVudGF0aW9uIHdoaWNoIGVuc3VyZXMgdGhhdCB0aGUg
cGxhdGZvcm0tZGVwZW5kZW50IGNsb3NlKCkgbWV0aG9kIGlzIGludm9rZWQgYmVmb3JlIGRlc3Ry
dWN0aW9uLgotICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWVzc2FnZVBvcnRDaGFubmVsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFubmVsKFBhc3NSZWZQdHI8
TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAKQEAgLTc4LDcgKzc5LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHBy
b3h5IGN1cnJlbnRseSBjb250YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBwb3J0LgogICAgICAgICBi
b29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIGNsYXNzIEV2ZW50RGF0YSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV2ZW50RGF0YSB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8RXZlbnRE
YXRhPiBjcmVhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNzT3duUHRy
PE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5Pik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlUmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApp
bmRleCBhYjIwOGQyLi43MzUwZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0z
NCw3ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IE5vZGVMaXN0c05v
ZGVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShOb2RlTGlzdHNOb2RlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBO
b2RlTGlzdFNldDsKICAgICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAg
LTY3LDcgKzY5LDggQEAgcHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVE
YXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6ICAgIAogICAgIE5vZGVSYXJlRGF0YSgpCiAgICAgICAgIDogbV90YWJJbmRleCgw
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKaW5kZXggMzRmYzA2OS4uY2I5NWYyMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0zMiw3ICszMiw4IEBAIHN0cnVjdCBRdWFs
aWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9Owog
Ci1jbGFzcyBRdWFsaWZpZWROYW1lIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUXVh
bGlmaWVkTmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
Y2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxRdWFsaWZpZWROYW1l
SW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4IDA3
YzU5ZGIuLjUyNTBmM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaApAQCAtMzIsNiAr
MzIsNyBAQCBjbGFzcyBTY3JpcHRFbGVtZW50OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAog
Y2xhc3MgU2NyaXB0RWxlbWVudCA6IHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNjcmlwdEVsZW1lbnQoRWxl
bWVudCosIGJvb2wgY3JlYXRlZEJ5UGFyc2VyLCBib29sIGlzRXZhbHVhdGVkKTsKICAgICB2aXJ0
dWFsIH5TY3JpcHRFbGVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAppbmRleCBlNDczYTRiLi5mMzg2MmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTExMCw4ICsxMTAsMTAgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpOyB9CiAgICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpOyB9CiAKLSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
ICAgIGNsYXNzIFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CisgICAgICAgICAgICBU
YXNrKCkgeyB9CiAgICAgICAgICAgICB2aXJ0dWFsIH5UYXNrKCk7CiAgICAgICAgICAgICB2aXJ0
dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0gMDsKICAgICAg
ICAgICAgIC8vIENlcnRhaW4gdGFza3MgZ2V0IG1hcmtlZCBzcGVjaWFsbHkgc28gdGhhdCB0aGV5
IGFyZW4ndCBkaXNjYXJkZWQsIGFuZCBhcmUgZXhlY3V0ZWQsIHdoZW4gdGhlIGNvbnRleHQgaXMg
c2h1dHRpbmcgZG93biBpdHMgbWVzc2FnZSBxdWV1ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3BhY2VTcGxp
dFN0cmluZy5oCmluZGV4IDgyNmU2YmQuLjZlYjg5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNl
U3BsaXRTdHJpbmcuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LSAgICBjbGFzcyBTcGFjZVNwbGl0U3RyaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgU3BhY2VTcGxpdFN0cmluZ0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShTcGFjZVNwbGl0U3RyaW5nRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgU3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJp
bmcsIGJvb2wgc2hvdWxkRm9sZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyks
IG1fc2hvdWxkRm9sZENhc2Uoc2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2Up
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKaW5kZXggZjk3YWZjZi4uNjNkYzc4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVRyYW5zZm9ybVNvdXJj
ZTsKICNlbmRpZgogCi0gICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2UgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShUcmFuc2Zvcm1Tb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQbGF0Zm9ybVRyYW5zZm9ybVNv
dXJjZSYgc291cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAppbmRleCAxN2VhMzE5Li5iMWVkOTZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaApAQCAtMzYsNyArMzYsOCBA
QCBlbnVtIFByb2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBEZWZpbml0ZWx5Tm90UHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0
YXRpYyBib29sIHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KICAgICBzdGF0
aWMgUHJvY2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1cmVTdGF0ZSgpIHsgcmV0
dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9V
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCmluZGV4IDZjNzEwNzkuLjIxZjRjN2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCkBAIC0z
NCw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9k
ZTsKIAotY2xhc3MgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgYm9vbCBwcm9jZXNzaW5nVXNlclR5cGluZ0dlc3R1cmUoKTsKICAgICBzdGF0aWMgTm9kZSog
Zm9jdXNlZEVsZW1lbnRBdEdlc3R1cmVTdGFydCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1l
bnRQYXJzZXIuaAppbmRleCA3NTMzYzViLi4xYWFkOWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vWE1M
RG9jdW1lbnRQYXJzZXIuaApAQCAtNzEsNiArNzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAj
ZW5kaWYKIAogICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyIDogcHVibGljIFNjcmlwdGFibGVE
b2N1bWVudFBhcnNlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxYTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRnJhbWVW
aWV3KiB2aWV3KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vWE1M
RG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlckxpYnhtbDIuY3BwCmluZGV4IDBmNmI0YjQuLjEwZDZlMGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCkBAIC03NSw4ICs3NSwx
MCBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFBlbmRpbmdDYWxsYmFja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7CiBw
dWJsaWM6CisgICAgUGVuZGluZ0NhbGxiYWNrcygpIHsgfQogICAgIH5QZW5kaW5nQ2FsbGJhY2tz
KCkKICAgICB7CiAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2NhbGxiYWNrcyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi5mNjA0
NzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29w
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKQEAg
LTM2LDcgKzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQ2FjaGVkUmVz
b3VyY2VMb2FkZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNjb3BlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNjb3BlIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29wZSk7CiAgICAgcHVi
bGljOgogICAgICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJlc291cmNlTG9hZGVy
KiBjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVudFBhcnNlclNjb3Bl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5o
CmluZGV4IDEyODZjMDcuLjRkOTI4YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCkBAIC0zNiw3ICszNiw4IEBAIGNsYXNzIEhUTUxFbGVt
ZW50OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKIAotY2xh
c3MgRGVsZXRlQnV0dG9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBE
ZWxldGVCdXR0b25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWxldGVC
dXR0b25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
RGVsZXRlQnV0dG9uQ29udHJvbGxlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4IDI0Y2ZhNDEuLmY0N2Ni
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwCkBAIC02Miw3ICs2Miw4IEBAIGVudW0gRUZyYWdtZW50VHlwZSB7IEVtcHR5RnJh
Z21lbnQsIFNpbmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9OwogCiAvLyAtLS0g
UmVwbGFjZW1lbnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVwbGFjZW1lbnRGcmFn
bWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50KTsKIHB1YmxpYzoK
ICAgICBSZXBsYWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRGcmFnbWVudCosIGJv
b2wgbWF0Y2hTdHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IGVlNTIxODcuLjNmODA1ZDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCkBAIC00
OCw3ICs0OCw4IEBAIGNsYXNzIFZpc2libGVQb3NpdGlvbjsKIAogZW51bSBEaXJlY3Rpb25hbGl0
eVBvbGljeSB7IE1ha2VOb25EaXJlY3Rpb25hbFNlbGVjdGlvbiwgTWFrZURpcmVjdGlvbmFsU2Vs
ZWN0aW9uIH07CiAKLWNsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2VsZWN0aW9uQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIGVudW0gRUFsdGVyYXRpb24geyBBbHRlcmF0aW9uTW92ZSwgQWx0ZXJhdGlvbkV4dGVu
ZCB9OwogICAgIGVudW0gQ3Vyc29yQWxpZ25PblNjcm9sbCB7IEFsaWduQ3Vyc29yT25TY3JvbGxJ
Zk5lZWRlZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCmluZGV4IGY2MjE1ZDIu
LjgxYmI1MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2Vy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaApAQCAtNTQsNyAr
NTQsOCBAQCBwcml2YXRlOgogICAgIGludCBtX2xlbmd0aDsKIH07CiAKLWNsYXNzIFNwZWxsQ2hl
Y2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTcGVsbENoZWNrZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNwZWxsQ2hlY2tlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQg
U3BlbGxDaGVja2VyKEZyYW1lKiwgRWRpdG9yQ2xpZW50Kik7CiAgICAgflNwZWxsQ2hlY2tlcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXggMjI3
NTMwZi4uOGI1YzY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hl
Y2tpbmdIZWxwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hl
bHBlci5oCkBAIC03Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVj
a2luZ0xlbmd0aDsKIH07CiAKLWNsYXNzIFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRleHRDaGVja2luZ0hlbHBlcik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVs
cGVyKEVkaXRvckNsaWVudCosIFBhc3NSZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5n
SGVscGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKaW5kZXggYzI0
YmNiMi4uMWZjNzYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRl
cmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApA
QCAtNjEsNyArNjEsOCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogLy8gQ2FzZSBmb2xk
aW5nIGlzIGFsc28gZG9uZSBpZiB0aGUgQ2FzZUluc2Vuc2l0aXZlIG9wdGlvbiBpcyBzcGVjaWZp
ZWQuCiAvLyBNYXRjaGVzIGFyZSBmdXJ0aGVyIGZpbHRlcmVkIGlmIHRoZSBBdFdvcmRTdGFydHMg
b3B0aW9uIGlzIHNwZWNpZmllZCwgYWx0aG91Z2ggc29tZQogLy8gbWF0Y2hlcyBpbnNpZGUgYSB3
b3JkIGFyZSBwZXJtaXR0ZWQgaWYgVHJlYXRNZWRpYWxDYXBpdGFsQXNXb3JkU3RhcnQgaXMgc3Bl
Y2lmaWVkIGFzIHdlbGwuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWFyY2hC
dWZmZXIpOwogcHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJpbmcmIHRhcmdldCwg
RmluZE9wdGlvbnMpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxl
VGhyZWFkLmgKaW5kZXggZDdhYWJmNy4uNDUyMDVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxl
VGhyZWFkLmgKQEAgLTU0LDcgKzU0LDggQEAgcHVibGljOgogICAgIGJvb2wgc3RhcnQoKTsKICAg
ICB2b2lkIHN0b3AoKTsKIAotICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFRhc2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflRhc2soKSB7IH0KICAgICAgICAgdmlydHVhbCB2
b2lkIHBlcmZvcm1UYXNrKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9Mb2NhbEZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lz
dGVtLmgKaW5kZXggYjc3OWE1Zi4uMTJhNzAxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xv
Y2FsRmlsZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIEZpbGVTeXN0ZW1DYWxsYmFj
azsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIEtlZXBzIHBlci1wcm9jZXNz
IGluZm9ybWF0aW9uIGFuZCBwcm92aWRlcyBhbiBlbnRyeSBwb2ludCB0byBvcGVuIGEgZmlsZSBz
eXN0ZW0uCi1jbGFzcyBMb2NhbEZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgTG9jYWxGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbEZpbGVT
eXN0ZW0pOwogcHVibGljOgogICAgIC8vIFJldHVybnMgYSBwZXItcHJvY2VzcyBpbnN0YW5jZSBv
ZiBMb2NhbEZpbGVTeXN0ZW0uCiAgICAgLy8gTm90ZSB0aGF0IExvY2FsRmlsZVN5c3RlbTo6aW5p
dGlhbGl6ZUxvY2FsRmlsZVN5c3RlbSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCmluZGV4IDI1ZTY3MzkuLjAyMGFjNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgs
NyArNTgsOCBAQCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBm
b3IgRmlsZVN5c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3Vj
Y2Vzc0NhbGxiYWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJn
LCB0eXBlbmFtZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5
bmNDYWxsYmFja0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tB
cmcsIFJlc3VsdFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2Vy
dmVyVHlwZSogb2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0Zv
cndhcmRDb250cm9sbGVyLmgKaW5kZXggZTg5ZTMyYi4uMTI4ODRlYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCkBAIC0zNiw3ICszNiw4IEBA
IGNsYXNzIEJhY2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgUGFnZTsK
IAotY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmFj
a0ZvcndhcmRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgQmFja0ZvcndhcmRDb250cm9sbGVyKFBhZ2UqLCBQYXNzUmVmUHRyPEJhY2tGb3J3YXJkTGlz
dD4pOwogICAgIH5CYWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VD
YWNoZS5oCmluZGV4IDcxYWU1YWQuLjkxMmJkNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2Fj
aGUuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSGlz
dG9yeUl0ZW07CiAgICAgY2xhc3MgUGFnZTsKICAgICAKLSAgICBjbGFzcyBQYWdlQ2FjaGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VDYWNoZSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBhZ2VDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSogcGFnZUNhY2hlKCk7CiAgICAgICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKaW5kZXggZGYxZDFmYS4uOGU0YTA2
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCkBAIC0yOSw3ICsyOSw5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotc3RydWN0IENvbGxlY3Rp
b25DYWNoZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxlY3Rpb25DYWNoZSB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ29sbGVjdGlvbkNhY2hlKCk7
CiAgICAgQ29sbGVjdGlvbkNhY2hlKGNvbnN0IENvbGxlY3Rpb25DYWNoZSYpOwogICAgIENvbGxl
Y3Rpb25DYWNoZSYgb3BlcmF0b3I9KGNvbnN0IENvbGxlY3Rpb25DYWNoZSYgb3RoZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uOGY2
ZmQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlz
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaApAQCAt
MzUsNiArMzUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBET01TZXR0YWJsZVRv
a2VuTGlzdCA6IHB1YmxpYyBET01Ub2tlbkxpc3QsIHB1YmxpYyBSZWZDb3VudGVkPERPTVNldHRh
YmxlVG9rZW5MaXN0PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IGNyZWF0ZSgpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKaW5kZXggNWRmMmVkZS4uMGI3NWI2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCkBAIC0yNywxNSArMjcsMTYgQEAKIAogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4K
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgRE9NVG9rZW5M
aXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVRva2VuTGlzdCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRE9NVG9rZW5MaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CisgICAgRE9NVG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5M
aXN0KCkge307CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQYXJzZXJRdWlya3MuaAppbmRleCA1MGRlNzEwLi4zYmYyMmE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIEhU
TUxQYXJzZXJRdWlya3NfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBOb2RlOwog
Ci1jbGFzcyBIVE1MUGFyc2VyUXVpcmtzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhU
TUxQYXJzZXJRdWlya3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJzZXJRdWly
a3MpOwogcHVibGljOgogICAgIEhUTUxQYXJzZXJRdWlya3MoKSB7IH0KICAgICB2aXJ0dWFsIH5I
VE1MUGFyc2VyUXVpcmtzKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lu
cHV0VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBlYTQ1NDFm
Li5lNmNlYjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNk
ZWZpbmUgSW5wdXRUeXBlX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNTYsMTcgKzU3
LDE4IEBAIGNsYXNzIFdoZWVsRXZlbnQ7CiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiBz
dHJ1Y3QgQ2xpY2tIYW5kbGluZ1N0YXRlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
K3B1YmxpYzoKICAgICBib29sIGNoZWNrZWQ7CiAgICAgYm9vbCBpbmRldGVybWluYXRlOwogICAg
IFJlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBjaGVja2VkUmFkaW9CdXR0b247Ci0KLSAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRAogfTsKIAogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNl
bnRzIHRoZSB0eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERv
IG5vdCBleHBvc2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZy
b20gaXQgdG8gY2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3Mg
SW5wdXRUeXBlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElu
cHV0RWxlbWVudCosIGNvbnN0IFN0cmluZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0
VHlwZT4gY3JlYXRlVGV4dChIVE1MSW5wdXRFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2Uu
aAppbmRleCBjZTA0NGVhLi4yZmExMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L1N0ZXBSYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKQEAgLTI4
LDcgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50
OwogCi1jbGFzcyBTdGVwUmFuZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RlcFJh
bmdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwUmFuZ2UpOwogcHVibGljOgogICAg
IGJvb2wgaGFzU3RlcDsKICAgICBkb3VibGUgc3RlcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRh
dGlvbk1lc3NhZ2UuaAppbmRleCA1ZmExZjk2Li43Y2QwY2JiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5oCkBAIC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEZvcm1Bc3NvY2lhdGVkRWxlbWVudDsKIGNsYXNzIEhUTUxFbGVtZW50OwogCi1j
bGFzcyBWYWxpZGF0aW9uTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxp
ZGF0aW9uTWVzc2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRhdGlvbk1lc3Nh
Z2UpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFZhbGlkYXRpb25NZXNzYWdlPiBj
cmVhdGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50Kik7CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IGUxNDBjNDkuLjRhOTY0ODggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVmFsaWRpdHlTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBWYWxpZGl0eVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxp
ZGl0eVN0YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRlKEZvcm1Bc3NvY2lhdGVkRWxlbWVudCog
Y29udHJvbCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggYTI1ZThhMS4uYTE0MzU5NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAt
NDEsNyArNDEsOCBAQCBjbGFzcyBIVE1MVmlkZW9FbGVtZW50OwogY2xhc3MgS1VSTDsKIGNsYXNz
IFdlYkdMT2JqZWN0OwogCi1jbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENhbnZhc1JlbmRlcmluZ0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVt
ZW50Kik7CiAgICAgdmlydHVhbCB+Q2FudmFzUmVuZGVyaW5nQ29udGV4dCgpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKaW5kZXggN2FjMjgy
Zi4uZmFlOTVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJl
bG9hZFNjYW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2Fk
U2Nhbm5lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERv
Y3VtZW50OwogY2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGljOgogICAgIENTU1ByZWxv
YWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCmluZGV4IDhiMDliZjUuLjVhNGE2NWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaApAQCAt
NDAsNyArNDAsOCBAQCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiBjbGFzcyBEb2N1bWVudDsKIGNs
YXNzIEVsZW1lbnQ7CiAKLWNsYXNzIEhUTUxDb25zdHJ1Y3Rpb25TaXRlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEhUTUxDb25zdHJ1Y3Rpb25TaXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIVE1MQ29uc3RydWN0aW9uU2l0ZSk7CiBwdWJsaWM6CiAgICAgSFRNTENvbnN0cnVj
dGlvblNpdGUoRG9jdW1lbnQqLCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24sIGJvb2wgaXNQ
YXJzaW5nRnJhZ21lbnQpOwogICAgIH5IVE1MQ29uc3RydWN0aW9uU2l0ZSgpOwpAQCAtODksNyAr
OTAsOCBAQCBwdWJsaWM6CiAgICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtKCkgY29uc3QgeyByZXR1
cm4gbV9mb3JtLmdldCgpOyB9CiAgICAgUGFzc1JlZlB0cjxIVE1MRm9ybUVsZW1lbnQ+IHRha2VG
b3JtKCk7CiAKLSAgICBjbGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCk7
CiAgICAgcHVibGljOgogICAgICAgICBSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQoSFRNTENv
bnN0cnVjdGlvblNpdGUmIHRyZWUpCiAgICAgICAgICAgICA6IG1fdHJlZSh0cmVlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCA4MGNh
NzI3Li5mOTI1MjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
RG9jdW1lbnRQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9j
dW1lbnRQYXJzZXIuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBTY3JpcHRDb250cm9sbGVyOwog
Y2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyIDogIHB1
YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIsIEhUTUxTY3JpcHRSdW5uZXJIb3N0LCBDYWNo
ZWRSZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERv
Y3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCmluZGV4IDhhOGUxNjAuLmFkOGI5
NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3Rh
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgK
QEAgLTM5LDEyICszOSwxNCBAQCBjbGFzcyBRdWFsaWZpZWROYW1lOwogCiAvLyBOT1RFOiBUaGUg
SFRNTDUgc3BlYyB1c2VzIGEgYmFja3dhcmRzIChncm93cyBkb3dud2FyZCkgc3RhY2suICBXZSdy
ZSB1c2luZwogLy8gbW9yZSBzdGFuZGFyZCAoZ3Jvd3MgdXB3YXJkcykgc3RhY2sgdGVybWlub2xv
Z3kgaGVyZS4KLWNsYXNzIEhUTUxFbGVtZW50U3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSFRNTEVsZW1lbnRTdGFjayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEVs
ZW1lbnRTdGFjayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEhUTUxF
bGVtZW50U3RhY2soKTsKICAgICB+SFRNTEVsZW1lbnRTdGFjaygpOwogCi0gICAgY2xhc3MgRWxl
bWVudFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRWxlbWVudFJlY29y
ZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVsZW1lbnRSZWNvcmQpOwogICAgIHB1
YmxpYzoKICAgICAgICAgfkVsZW1lbnRSZWNvcmQoKTsgLy8gUHVibGljIGZvciB+UGFzc093blB0
cigpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9y
bWF0dGluZ0VsZW1lbnRMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9y
bWF0dGluZ0VsZW1lbnRMaXN0LmgKaW5kZXggYWNhMDViYi4uZjc1ZmE1MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3Qu
aApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50Owog
CiAvLyBUaGlzIG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1lbnRTdGFjay4KLWNsYXNz
IEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TEZvcm1hdHRpbmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRNTEZvcm1hdHRpbmdFbGVt
ZW50TGlzdCgpOwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCmluZGV4IDFiZmJhZjkuLmQ5NWVj
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVh
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCkBA
IC00Nyw3ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIG1fbGFzdCBpcyBhIHBvaW50
ZXIgdG8gdGhlIGxhc3Qgb2YgdGhlIGFmdGVySW5zZXJ0aW9uUG9pbnQgc3RyaW5ncy4KIC8vIFRo
ZSBuZXR3b3JrIGFkZHMgZGF0YSBhdCB0aGUgZW5kIG9mIHRoZSBJbnB1dFN0cmVhbSwgd2hpY2gg
YXBwZW5kcwogLy8gdGhlbSB0byB0aGUgImxhc3QiIHN0cmluZy4KLWNsYXNzIEhUTUxJbnB1dFN0
cmVhbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MSW5wdXRTdHJlYW0geworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxJbnB1dFN0cmVhbSk7CiBwdWJsaWM6CiAgICAgSFRN
TElucHV0U3RyZWFtKCkKICAgICAgICAgOiBtX2xhc3QoJm1fZmlyc3QpCkBAIC0xMjksNyArMTMw
LDggQEAgcHJpdmF0ZToKICAgICBTZWdtZW50ZWRTdHJpbmcqIG1fbGFzdDsKIH07CiAKLWNsYXNz
IEluc2VydGlvblBvaW50UmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc2Vy
dGlvblBvaW50UmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNlcnRpb25Qb2lu
dFJlY29yZCk7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSW5zZXJ0aW9uUG9pbnRSZWNvcmQoSFRN
TElucHV0U3RyZWFtJiBpbnB1dFN0cmVhbSkKICAgICAgICAgOiBtX2lucHV0U3RyZWFtKCZpbnB1
dFN0cmVhbSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRh
Q2hhcnNldFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFy
c2V0UGFyc2VyLmgKaW5kZXggYzMxMzZmNS4uNDVmYmFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmgKQEAgLTM2LDcgKzM2LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSFRNTFRva2VuaXplcjsKIGNsYXNzIFRleHRD
b2RlYzsKIAotY2xhc3MgSFRNTE1ldGFDaGFyc2V0UGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxNZXRhQ2hhcnNldFBhcnNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTE1ldGFDaGFyc2V0UGFyc2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxIVE1MTWV0YUNoYXJzZXRQYXJzZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBI
VE1MTWV0YUNoYXJzZXRQYXJzZXIoKSk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCmluZGV4IDNhMjBiMmIuLmM0MTVjNjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKQEAg
LTI4LDE0ICsyOCwxNCBAQAogCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3Vy
cmVudFRpbWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxEb2N1bWVu
dFBhcnNlcjsKIAotY2xhc3MgSFRNTFBhcnNlclNjaGVkdWxlciA6ICBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSFRNTFBhcnNlclNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTFBhcnNlclNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxQYXJzZXJTY2hlZHVsZXI+IGNyZWF0ZShIVE1M
RG9jdW1lbnRQYXJzZXIqIHBhcnNlcikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCmluZGV4IDk0YTkwZTYuLmJlZDc3ZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCkBAIC0z
MCw3ICszMCw2IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIKICNpbmNsdWRlICJI
VE1MVG9rZW4uaCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBA
IGNsYXNzIEhUTUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFzcyBTZWdtZW50ZWRT
dHJpbmc7CiAKLWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhU
TUxQcmVsb2FkU2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IEhUTUxQcmVsb2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uOTg2ZjdiZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaApAQCAtMjksNyAr
MjksNiBAQAogI2luY2x1ZGUgIlBlbmRpbmdTY3JpcHQuaCIKICNpbmNsdWRlIDx3dGYvRGVxdWUu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC00Miw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgSFRNTFNjcmlwdFJ1
bm5lckhvc3Q7CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCi1jbGFzcyBIVE1MU2NyaXB0UnVu
bmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxTY3JpcHRSdW5uZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxTY3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVy
PiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4u
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCmluZGV4IDQyY2RkYjgu
LjFjYmMxNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tl
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCkBAIC0yNywx
MyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFRva2VuX2gKIAogI2luY2x1ZGUgIk5hbWVkTm9kZU1h
cC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIEhUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW4g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIFVuaW5pdGlhbGl6ZWQs
CkBAIC0zMTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICAvLyB3YW50IHRvIGVuZCB1cCB3aXRo
IGEgY2xlYW5lciBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdHdvIGNsYXNzZXMuCiAgICAgZnJpZW5k
IGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIAotICAgIGNsYXNzIERvY3R5cGVEYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEb2N0eXBlRGF0YSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERvY3R5cGVEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvY3R5cGVE
YXRhKCkKICAgICAgICAgICAgIDogbV9oYXNQdWJsaWNJZGVudGlmaWVyKGZhbHNlKQpAQCAtMzUy
LDcgKzM1Myw4IEBAIHByaXZhdGU6CiAKIC8vIEZJWE1FOiBUaGlzIGNsYXNzIHNob3VsZCBldmVu
dHVhbGx5IGJlIG5hbWVkIEhUTUxUb2tlbiBvbmNlIHdlIG1vdmUgdGhlCiAvLyBleGl0aW5nIEhU
TUxUb2tlbiB0byBiZSBpbnRlcm5hbCB0byB0aGUgSFRNTFRva2VuaXplci4KLWNsYXNzIEF0b21p
Y0hUTUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdG9taWNIVE1MVG9rZW4g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY0hUTUxUb2tlbik7CiBwdWJsaWM6CiAg
ICAgQXRvbWljSFRNTFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV90eXBlKHRv
a2VuLnR5cGUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
b2tlbml6ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaApp
bmRleCBmMTZiMDQ5Li5mYTQ1Y2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVG9rZW5pemVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRva2VuaXplci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBGcmFt
ZTsKIGNsYXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShIVE1MVG9rZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
ZW51bSBTdGF0ZSB7CiAgICAgICAgIERhdGFTdGF0ZSwKQEAgLTE3Miw3ICsxNzMsOCBAQCBwdWJs
aWM6CiAKIHByaXZhdGU6CiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1h
cHBzL2N1cnJlbnQtd29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtCi0gICAgY2xh
c3MgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IpOwogICAgIHB1YmxpYzoKICAgICAgICAgSW5wdXRT
dHJlYW1QcmVwcm9jZXNzb3IoSFRNTFRva2VuaXplciogdG9rZW5pemVyKQogICAgICAgICAgICAg
OiBtX3Rva2VuaXplcih0b2tlbml6ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCAwMjcxM2U1Li45N2NlZTEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTI0MSw3ICsyNDEs
OCBAQCBIVE1MRm9ybUVsZW1lbnQqIGNsb3Nlc3RGb3JtQW5jZXN0b3IoRWxlbWVudCogZWxlbWVu
dCkKIAogfSAvLyBuYW1lc3BhY2UKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENo
YXJhY3RlclRva2VuQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVl
QnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlcik7CiBwdWJsaWM6CiAgICAgZXhw
bGljaXQgRXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlcihBdG9taWNIVE1MVG9rZW4mIHRva2Vu
KQogICAgICAgICA6IG1fY3VycmVudCh0b2tlbi5jaGFyYWN0ZXJzKCkuZGF0YSgpKQpAQCAtMjM0
Miw3ICsyMzQzLDggQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnJlcHJvY2Vzc0VuZFRhZyhBdG9t
aWNIVE1MVG9rZW4mIHRva2VuKQogICAgIHByb2Nlc3NFbmRUYWcodG9rZW4pOwogfQogCi1jbGFz
cyBIVE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNlcnRpb25Nb2RlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZha2VJbnNlcnRpb25Nb2RlKTsKIHB1YmxpYzoKICAgICBGYWtlSW5z
ZXJ0aW9uTW9kZShIVE1MVHJlZUJ1aWxkZXIqIHRyZWVCdWlsZGVyLCBJbnNlcnRpb25Nb2RlIG1v
ZGUpCiAgICAgICAgIDogbV90cmVlQnVpbGRlcih0cmVlQnVpbGRlcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKaW5kZXggMTdiNzdiNy4uMzA5YWM2ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKQEAgLTUx
LDcgKzUxLDggQEAgY2xhc3MgSFRNTERvY3VtZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIEhUTUxE
b2N1bWVudFBhcnNlcjsKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SFRNTFRyZWVCdWlsZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFy
c2VyKiBwYXJzZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzLCBi
b29sIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwNCw3ICsyMDUsOCBAQCBw
cml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlNb2RlQW5k
UmVzZXRNb2RlKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRGb3JlaWdu
SW5zZXJ0aW9uTW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQpOwogICAg
IHB1YmxpYzoKICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAgICBGcmFn
bWVudFBhcnNpbmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250ZXh0RWxl
bWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCmluZGV4IGM1OTc4NzYu
LjgxNTU2MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdM
ZXZlbEluY3JlbWVudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGlu
Z0xldmVsSW5jcmVtZW50ZXIuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVz
dGluZ0xldmVsSW5jcmVtZW50ZXIodW5zaWduZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBt
X25lc3RpbmdMZXZlbCgmbmVzdGluZ0xldmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29u
c29sZU1lc3NhZ2UuaAppbmRleCAzMTBhYThlLi43YzMzNDhiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBTY3JpcHRD
YWxsRnJhbWU7CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRWYWx1ZTsKIAot
Y2xhc3MgQ29uc29sZU1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29uc29s
ZU1lc3NhZ2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2Fn
ZVNvdXJjZSwgTWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCB1bnNp
Z25lZCBsaSwgY29uc3QgU3RyaW5nJiB1KTsKICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdlU291
cmNlLCBNZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIFBhc3NSZWZQ
dHI8U2NyaXB0QXJndW1lbnRzPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQuaAppbmRleCAzZDllNDk0Li5hYzBhY2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCkBA
IC00MSw3ICs0MSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3BlY3RvclZh
bHVlOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRp
b25DYWNoZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckFwcGxp
Y2F0aW9uQ2FjaGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckNvbnRyb2xsZXIqIGlu
c3BlY3RvckNvbnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfklu
c3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaAppbmRleCA1
MzdiZGExLi42YWYzMWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaApAQCAtNDgsNyArNDgsOCBAQCBjbGFz
cyBJbnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgTm9k
ZTsKIAotY2xhc3MgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudD4gY3Jl
YXRlKEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpCiAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCmluZGV4
IDk3ZmNiM2YuLmEzZTZhNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29uc29sZUFnZW50LmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgU2NyaXB0QXJndW1l
bnRzOwogY2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xh
c3MgSW5zcGVjdG9yQ29uc29sZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
c3BlY3RvckNvbnNvbGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9y
Q29uc29sZUFnZW50KTsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5zcGVj
dG9yQ29udHJvbGxlciosIEluc3BlY3RvclN0YXRlKik7CiAgICAgfkluc3BlY3RvckNvbnNvbGVB
Z2VudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmgKaW5kZXggYWI4Mzc3ZC4uYjA5YmYyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC0xMDUsNyArMTA1LDggQEAgY2xhc3MgV2ViU29j
a2V0SGFuZHNoYWtlUmVxdWVzdDsKIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlOwog
I2VuZGlmCiAKLWNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SW5zcGVjdG9yQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBDb25zb2xlUGFuZWw7CiAgICAgc3RhdGljIGNv
bnN0IGNoYXIqIGNvbnN0IEVsZW1lbnRzUGFuZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA5OGFjMWY5Li40Y2I5ZjljIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2Vu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50
LmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50VHlwZSB7CiAgICAgTmF0aXZl
QnJlYWtwb2ludERlYnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JEZWJ1Z2dl
ckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVu
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3Bl
Y3RvckZyb250ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50TG9jYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENs
aWVudExvY2FsLmgKaW5kZXggOWRjYWE1YS4uMTlmNmFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCkBAIC00
MSw3ICs0MSw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JG
cm9udGVuZEhvc3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0
b3JGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlciosIFBhZ2Uq
KTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBl
Njc4NDhkLi4xNjA4ZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQcm9maWxlckFnZW50LmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW5zcGVjdG9yT2Jq
ZWN0OwogY2xhc3MgU2NyaXB0SGVhcFNuYXBzaG90OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIAot
Y2xhc3MgSW5zcGVjdG9yUHJvZmlsZXJBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBJbnNwZWN0b3JQcm9maWxlckFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNw
ZWN0b3JQcm9maWxlckFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3Bl
Y3RvckNvbnRyb2xsZXIqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JQcm9maWxlckFnZW50KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmgK
aW5kZXggYTEzZWI1OS4uYjRmMzcwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBJbmplY3Rl
ZFNjcmlwdEhvc3Q7CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0b3JWYWx1
ZTsKIAotY2xhc3MgSW5zcGVjdG9yUnVudGltZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEluc3BlY3RvclJ1bnRpbWVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SW5zcGVjdG9yUnVudGltZUFnZW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJ
bnNwZWN0b3JSdW50aW1lQWdlbnQ+IGNyZWF0ZShJbmplY3RlZFNjcmlwdEhvc3QqIGluamVjdGVk
U2NyaXB0SG9zdCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuaAppbmRleCAzM2UyNzM3Li5jYWU1YWFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcg
KzcwLDggQEAgZW51bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VS
ZXF1ZXN0VGltZWxpbmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnNw
ZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpOwogICAgIH5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRS
ZXN1bHRDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGUuaAppbmRleCAxMDE2YWVkLi5kZGQ1MDcwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKQEAg
LTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhUVFBIZWFkZXJN
YXA7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDcm9zc09yaWdpblByZWZs
aWdodFJlc3VsdENhY2hlSXRlbShib29sIGNyZWRlbnRpYWxzKQogICAgICAgICAgICAgOiBtX2Fi
c29sdXRlRXhwaXJ5VGltZSgwKQpAQCAtNjMsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIEhlYWRlcnNTZXQgbV9oZWFkZXJzOwogICAgIH07CiAKLSAgICBjbGFzcyBDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIENyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGUmIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZWJmM2EyNS4uM2EzY2M2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApA
QCAtNDcsNiArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudDsKIAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1
YmxpYyBSZWZDb3VudGVkPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRh
YmxlTG9hZGVyLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQg
bG9hZFJlc291cmNlU3luY2hyb25vdXNseShEb2N1bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+
IGNyZWF0ZShEb2N1bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRXcml0ZXIuaAppbmRleCA1ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGcmFt
ZTsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIAot
Y2xhc3MgRG9jdW1lbnRXcml0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRG9jdW1l
bnRXcml0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50V3JpdGVyKTsKIHB1
YmxpYzoKICAgICBEb2N1bWVudFdyaXRlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmgKaW5kZXggZTRjZWZjNS4uZjY3MDAyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaApAQCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAK
LWNsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQs
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVi
bGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZy
YW1lTG9hZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAg
RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RnJhbWVMb2Fk
ZXJDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lTG9hZGVyRGVzdHJveWVkKCkg
eyB9CiAKQEAgLTM4Nyw4ICszODksMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29udGV4dCgpIHsgcmV0
dXJuIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4oKTsgfQogfTsKIAotY2xhc3Mg
RW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUVkaXRvckNsaWVudCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmly
dHVhbCB+RW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ry
b3llZCgpIHsgfQogCkBAIC01MDEsOCArNTA1LDEwIEBAIHB1YmxpYzoKIH07CiAKICNpZiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMg
Q29udGV4dE1lbnVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUNvbnRl
eHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShFbXB0eUNvbnRleHRNZW51Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CisgICAgRW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1
YWwgfkVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRl
eHRNZW51RGVzdHJveWVkKCkgeyB9CiAKQEAgLTUyOCw4ICs1MzQsMTAgQEAgcHVibGljOgogI2Vu
ZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkK
LWNsYXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RHJhZ0NsaWVudCgpIHsgfQogICAgIHZpcnR1YWwg
fkVtcHR5RHJhZ0NsaWVudCgpIHt9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rl
c3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgRHJhZ0RhdGEqKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rp
b24sIGNvbnN0IEludFBvaW50JiwgQ2xpcGJvYXJkKikgeyB9CkBAIC01NDEsOCArNTQ5LDEwIEBA
IHB1YmxpYzoKIH07CiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotY2xhc3MgRW1w
dHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUluc3BlY3RvckNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5SW5zcGVjdG9yQ2xpZW50
KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KIAogICAgIHZp
cnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zv
cm1TdWJtaXNzaW9uLmgKaW5kZXggZDcyNDgzNS4uN2Y1OGY5MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Zvcm1TdWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9ybVN1Ym1pc3Np
b24gOiBwdWJsaWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGljOgogICAgIGVu
dW0gTWV0aG9kIHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFzcyBBdHRyaWJ1
dGVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVzIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGljOgogICAgICAg
ICBBdHRyaWJ1dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9kKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA3ZmY1ZGJkLi5hZjk3ZmIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtODYsNyArODYsOCBAQCBzdHJ1Y3QgV2luZG93RmVh
dHVyZXM7CiAKIGJvb2wgaXNCYWNrRm9yd2FyZExvYWRUeXBlKEZyYW1lTG9hZFR5cGUpOwogCi1j
bGFzcyBGcmFtZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGcmFtZUxvYWRl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVMb2FkZXIpOwogcHVibGljOgogICAg
IEZyYW1lTG9hZGVyKEZyYW1lKiwgRnJhbWVMb2FkZXJDbGllbnQqKTsKICAgICB+RnJhbWVMb2Fk
ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRl
TWFjaGluZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5l
LmgKaW5kZXggYzM0MDhjMi4uZmUzN2VjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxvYWRl
ci4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdoaWNo
IHN0b3JlcyB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVyIGlz
IGV4ZWN1dGluZy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJhbWVM
b2FkZXJTdGF0ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0hpc3RvcnlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRy
b2xsZXIuaAppbmRleCAxN2Y4MGViLi4wNjFmMjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
SGlzdG9yeUNvbnRyb2xsZXIuaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNz
IEhpc3RvcnlJdGVtOwogY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogCi1jbGFzcyBIaXN0
b3J5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIaXN0b3J5Q29udHJv
bGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGlzdG9yeUNvbnRyb2xsZXIpOwogcHVi
bGljOgogICAgIGVudW0gSGlzdG9yeVVwZGF0ZVR5cGUgeyBVcGRhdGVBbGwsIFVwZGF0ZUFsbEV4
Y2VwdEJhY2tGb3J3YXJkTGlzdCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cAppbmRleCBhNzdlOGMwLi4wNjliNDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRl
ci5jcHAKQEAgLTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJD
b3JlOjpJbWFnZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFn
ZUV2ZW50U2VuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5k
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbWFnZUV2ZW50U2VuZGVyKGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnRUeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25TY2hlZHVsZXIuY3BwCmluZGV4IDE3NTIxOWMuLmQ1MTU3NWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTUzLDcgKzUzLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiB1bnNpZ25lZCBOYXZpZ2F0aW9uRGlzYWJsZXJGb3JCZWZv
cmVVbmxvYWQ6OnNfbmF2aWdhdGlvbkRpc2FibGVDb3VudCA9IDA7CiAKLWNsYXNzIFNjaGVkdWxl
ZE5hdmlnYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NoZWR1bGVkTmF2aWdh
dGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkTmF2aWdhdGlvbik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNjaGVkdWxlZE5hdmlnYXRpb24o
ZG91YmxlIGRlbGF5LCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExpc3Qs
IGJvb2wgd2FzRHVyaW5nTG9hZCwgYm9vbCBpc0xvY2F0aW9uQ2hhbmdlKQogICAgICAgICA6IG1f
ZGVsYXkoZGVsYXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRl
ci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAppbmRleCAzYTA3NmZiLi41
OTg4YjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKQEAgLTUwLDcgKzUwLDggQEAg
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIC8vIHRvIGFsbG93IHRoZSBsb2FkIHRvIGxpdmUgbG9u
ZyBlbm91Z2ggdG8gZW5zdXJlIHRoZSBtZXNzYWdlIHdhcyBhY3R1YWxseSBzZW50LgogLy8gVGhl
cmVmb3JlLCBhcyBzb29uIGFzIGEgY2FsbGJhY2sgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgUmVzb3Vy
Y2VIYW5kbGUsIHRoaXMgY2xhc3MgCiAvLyB3aWxsIGNhbmNlbCB0aGUgbG9hZCBhbmQgZGVsZXRl
IGl0c2VsZi4KLWNsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50
LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBpbmdMb2FkZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsb2FkSW1h
Z2UoRnJhbWUqLCBjb25zdCBLVVJMJiB1cmwpOwogICAgIHN0YXRpYyB2b2lkIHNlbmRQaW5nKEZy
YW1lKiwgY29uc3QgS1VSTCYgcGluZ1VSTCwgY29uc3QgS1VSTCYgZGVzdGluYXRpb25VUkwpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKaW5kZXggNTQxNzI5Yy4uMzExOGRhZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBAIC00NSw3ICs0NSw4IEBAIGNs
YXNzIE5hdmlnYXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3Vy
Y2VSZXNwb25zZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQb2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQb2xpY3lD
aGVja2VyKTsKIHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZyYW1lKik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggY2QxNTQzMy4uNjVkZDFjNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUwLDcgKzUw
LDkgQEAgc3RhdGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7IC8vIDEu
MCAtIGluaXRpYWxQcm9ncmVzc1ZhbHVlCiAKIHN0YXRpYyBjb25zdCBpbnQgcHJvZ3Jlc3NJdGVt
RGVmYXVsdEVzdGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAotc3RydWN0IFByb2dyZXNzSXRl
bSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQcm9ncmVzc0l0ZW0geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByb2dyZXNzSXRlbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGlj
OgogICAgIFByb2dyZXNzSXRlbShsb25nIGxvbmcgbGVuZ3RoKSAKICAgICAgICAgOiBieXRlc1Jl
Y2VpdmVkKDApCiAgICAgICAgICwgZXN0aW1hdGVkTGVuZ3RoKGxlbmd0aCkgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKaW5kZXggNWQ1YjZiMi4uZWE1ZjdmOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtMzYsNyArMzYsOCBAQCBj
bGFzcyBGcmFtZTsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBzdHJ1Y3QgUHJvZ3Jlc3NJdGVt
OwogCi1jbGFzcyBQcm9ncmVzc1RyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
UHJvZ3Jlc3NUcmFja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc1RyYWNr
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNr
ZXIoKTsKICAgICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5oCmluZGV4IDJmMTA4NTYuLmE2ZDkyZmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC00Myw3ICs0Myw4IEBA
IGNsYXNzIFJlc291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJl
c291cmNlUmVxdWVzdDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlc291cmNlTG9hZE5vdGlmaWVyKTsKIHB1YmxpYzoKICAgICBSZXNvdXJjZUxv
YWROb3RpZmllcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkU2NoZWR1bGVyLmgKaW5kZXggMTYzYjY3ZS4uZjJlNjI3ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtNDQsNyArNDQsOCBAQCBjbGFz
cyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFN1YnJl
c291cmNlTG9hZGVyQ2xpZW50OwogCi1jbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZXNvdXJjZUxvYWRTY2hlZHVsZXIpOwogcHVibGljOgogICAgIGZy
aWVuZCBSZXNvdXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogCkBA
IC02OSw3ICs3MCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZVNlcnZlUGVuZGluZ1Jl
cXVlc3RzKCk7CiAgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRT
Y2hlZHVsZXI+Kik7CiAKLSAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEhvc3RJbmZvcm1hdGlvbik7CiAgICAgcHVibGljOgogICAgICAgICBIb3N0SW5m
b3JtYXRpb24oY29uc3QgU3RyaW5nJiwgdW5zaWduZWQpOwogICAgICAgICB+SG9zdEluZm9ybWF0
aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCmluZGV4IGE1NzMwNDUu
LmJhNjNhNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC01NCw3
ICs1NCw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGln
aHQgbWlzbm9tZXIuIEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5n
IGJvdGggc3ViZnJhbWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFN1YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihG
cmFtZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCBm
NDFhNzc0Li5mNTc0Yzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFk
YWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gVXNlZnVs
IGZvciBkb2luZyBsb2FkZXIgb3BlcmF0aW9ucyBmcm9tIGFueSB0aHJlYWQgKG5vdCB0aHJlYWRz
YWZlLCAKICAgICAvLyBqdXN0IGFibGUgdG8gcnVuIG9uIHRocmVhZHMgb3RoZXIgdGhhbiB0aGUg
bWFpbiB0aHJlYWQpLgotICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXIgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUaHJlYWRhYmxlTG9hZGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBU
aHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJl
YWRhYmxlTG9hZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFRocmVhZGFibGVM
b2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9h
ZGVyT3B0aW9ucyYpOwpAQCAtNzUsNiArNzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9CiAKICAgICBwcm90
ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB+
VGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmVGhyZWFkYWJs
ZUxvYWRlcigpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmVGhyZWFkYWJsZUxvYWRl
cigpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVu
dC5oCmluZGV4IGJjZjY4YmUuLmNlYThiMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1RocmVhZGFibGVMb2FkZXJDbGllbnQuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRo
cmVhZGFibGVMb2FkZXJDbGllbnRfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gK
IAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBjbGFzcyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAK
LSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGhyZWFkYWJsZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVk
IGxvbmcgbG9uZyAvKmJ5dGVzU2VudCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVz
VG9CZVNlbnQqLykgeyB9CiAKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9u
KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxl
TG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9X
b3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggODFkYTJlMC4uNjVjYzYzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCkBAIC01NCw2ICs1
NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJj
ZVJlcXVlc3REYXRhOwogCiAgICAgY2xhc3MgV29ya2VyVGhyZWFkYWJsZUxvYWRlciA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxv
YWRlciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShXb3JrZXJDb250ZXh0
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0
IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdv
cmtlclRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0
LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmIG9wdGlvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKaW5kZXggMmQ4YjgzZS4uZjNhMTE3ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91
cC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
R3JvdXAuaApAQCAtNTMsNyArNTMsOCBAQCBlbnVtIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVPcHRp
b24gewogICAgIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVXaXRob3V0QnJvd3NpbmdDb250ZXh0CiB9
OwogCi1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUsIFJl
c291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IFJlc291
cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNh
Y2hlR3JvdXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBcHBsaWNh
dGlvbkNhY2hlR3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5ID0gZmFs
c2UpOyAgICAKICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCmluZGV4IDhh
YzUzNTcuLmExZjI4NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCkBAIC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKICNlbmRpZgogCi0g
ICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZUhvc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQXBwbGljYXRpb25DYWNoZUhvc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIC8vIFRoZSBTdGF0dXMgbnVtZXJpYyB2YWx1ZXMgYXJlIHNwZWNpZmll
ZCBpbiB0aGUgSFRNTDUgc3BlYy4KICAgICAgICAgZW51bSBTdGF0dXMgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2Uu
aAppbmRleCA3ZGIzNGU2Li44YmZkZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaApAQCAtNDQsNyArNDQs
OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVD4KIGNsYXNzIFN0b3JhZ2VJREpvdXJuYWw7CiBjbGFzcyBT
ZWN1cml0eU9yaWdpbjsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAgICAgT3Jp
Z2luUXVvdGFSZWFjaGVkLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hp
dmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fy
Y2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oCmluZGV4IDlkNjMwZDEuLmZkMmRkYmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJj
ZUNvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZl
UmVzb3VyY2VDb2xsZWN0aW9uLmgKQEAgLTM5LDcgKzM5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggMzYwMGEwMi4u
NWM4YjM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJl
c291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
LmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyOwogLy8gQSByZXNvdXJj
ZSB0aGF0IGlzIGhlbGQgaW4gdGhlIGNhY2hlLiBDbGFzc2VzIHdobyB3YW50IHRvIHVzZSB0aGlz
IG9iamVjdCBzaG91bGQgZGVyaXZlCiAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xpZW50LCB0byBn
ZXQgdGhlIGZ1bmN0aW9uIGNhbGxzIGluIGNhc2UgdGhlIHJlcXVlc3RlZCBkYXRhIGhhcyBhcnJp
dmVkLgogLy8gVGhpcyBjbGFzcyBhbHNvIGRvZXMgdGhlIGFjdHVhbCBjb21tdW5pY2F0aW9uIHdp
dGggdGhlIGxvYWRlciB0byBvYnRhaW4gdGhlIHJlc291cmNlIGZyb20gdGhlIG5ldHdvcmsuCi1j
bGFzcyBDYWNoZWRSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRS
ZXNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2UpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAg
ZnJpZW5kIGNsYXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAppbmRleCAyNzVkMzMxLi4x
YzU2ZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VDbGllbnQuaApAQCAtNDUsOCArNDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICogaW5oZXJpdCBmcm9tIHRoaXMgY2xhc3MgYW5kIG92ZXJsb2FkIG9uZSBvZiB0aGUgMyBmdW5j
dGlvbnMKICAgICAgKgogICAgICAqLwotICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UKLSAgICB7CisgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGll
bnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHZpcnR1YWwgfkNhY2hlZFJlc291cmNlQ2xpZW50KCkgeyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggMzRlZjcw
MC4uYTU0MGE0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBj
bGFzcyBLVVJMOwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9h
ZGluZyBvZiBzY3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQu
Ci1jbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBDYWNoZWRSZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVk
UmVzb3VyY2VMb2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIGZyaWVuZCBjbGFzcyBJ
bWFnZUxvYWRlcjsKIAogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL01lbW9yeUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5
Q2FjaGUuaAppbmRleCBlOTI2ZDdjLi5kZDhiODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvTWVtb3J5Q2FjaGUuaApAQCAtNzAsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRz
IG1lbWJlciB2YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxs
b2MnZCBtZW1vcnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2Ug
ZHVlIHRvIHRoaXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIE1lbW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNo
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGZyaWVuZCBNZW1vcnlD
YWNoZSogbWVtb3J5Q2FjaGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2UuaAppbmRleCA2MTQ2YWE2Li5lMDhkY2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuaApAQCAtNjIsOCArNjIsOCBAQCBlbnVtIEljb25Mb2FkRGVjaXNp
b24gewogICAgIEljb25Mb2FkVW5rbm93bgogfTsKIAotY2xhc3MgSWNvbkRhdGFiYXNlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKLQorY2xhc3MgSWNvbkRhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJY29uRGF0YWJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIC8vICoq
KiBNYWluIFRocmVhZCBPbmx5ICoqKgogcHVibGljOgogICAgIHZvaWQgc2V0Q2xpZW50KEljb25E
YXRhYmFzZUNsaWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24v
SWNvbkRhdGFiYXNlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0
YWJhc2VDbGllbnQuaAppbmRleCBjMjEwZDdkLi5mOTdhMmE4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMjksNiArMjksNyBAQAog
I2lmbmRlZiBJY29uRGF0YWJhc2VDbGllbnRfaAogI2RlZmluZSBJY29uRGF0YWJhc2VDbGllbnRf
aAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCkBAIC0zNyw4ICszOCwxMCBAQAog
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBJY29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5J
Y29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybUltcG9ydCgp
IHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRSZW1vdmVBbGxJ
Y29ucygpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxv
YWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFl
YmFjNDguLjI5ODUzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0lj
b25Mb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgK
QEAgLTM3LDcgKzM3LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBLVVJMOwogY2xhc3MgU2hhcmVk
QnVmZmVyOwogCi1jbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNs
aWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1
YnJlc291cmNlTG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uTG9h
ZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8SWNvbkxvYWRlcj4gY3JlYXRlKEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAppbmRleCBmN2NjYjhmLi43
OTM1ZGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVj
b3JkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oCkBA
IC01MSw3ICs1MSw4IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgaWNvblVSTDsKIH07CiAKLWNsYXNz
IFBhZ2VVUkxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFnZVVSTFJlY29y
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZVVSTFJlY29yZCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFBhZ2VVUkxSZWNvcmQoY29uc3QgU3RyaW5nJiBw
YWdlVVJMKTsKICAgICB+UGFnZVVSTFJlY29yZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmgKaW5kZXggZjE0YTMwMi4uNzMxMzFlNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCiAgICAgY2xhc3Mg
Tm90aWZpY2F0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGljIEFj
dGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBFdmVu
dFRhcmdldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgS1VS
TCYgdXJsLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBl
YywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsKICAgICAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgTm90aWZpY2F0aW9uQ29u
dGVudHMmIGNvbnRlbnRzLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRp
b25Db2RlJiBlYywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IGFiOTI3OTYu
LmU2YTBhMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIu
aApAQCAtNDEsNyArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRXZlbnQ7
CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudUNvbnRy
b2xsZXIoUGFnZSosIENvbnRleHRNZW51Q2xpZW50Kik7CiAgICAgICAgIH5Db250ZXh0TWVudUNv
bnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAxMGJiNWY4
Li4wZjE3NmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBAIC00Nyw3ICs0
Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSYW5nZTsKICAgICBjbGFzcyBT
ZWxlY3Rpb25Db250cm9sbGVyOwogICAgIAotICAgIGNsYXNzIERyYWdDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEcmFnQ29udHJvbGxlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERyYWdDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVu
dCopOwogICAgICAgICB+RHJhZ0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5oCmluZGV4IDBjMTg0NTAuLmQxMmE1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
aApAQCAtODEsNyArODEsOCBAQCBleHRlcm4gY29uc3QgaW50IEdlbmVyYWxEcmFnSHlzdGVyZXNp
czsKIAogZW51bSBIaXRUZXN0U2Nyb2xsYmFycyB7IFNob3VsZEhpdFRlc3RTY3JvbGxiYXJzLCBE
b250SGl0VGVzdFNjcm9sbGJhcnMgfTsKIAotY2xhc3MgRXZlbnRIYW5kbGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEV2ZW50SGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRXZlbnRIYW5kbGVyKTsKIHB1YmxpYzoKICAgICBFdmVudEhhbmRsZXIoRnJhbWUqKTsKICAg
ICB+RXZlbnRIYW5kbGVyKCk7CkBAIC0yMjQsNyArMjI1LDEwIEBAIHByaXZhdGU6CiAgICAgICAg
IFBlcmZvcm1EcmFnQW5kRHJvcAogICAgIH07CiAKLSAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVyRHJh
Z1N0YXRlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXJEcmFnU3RhdGUpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIEV2ZW50SGFuZGxl
ckRyYWdTdGF0ZSgpIHsgfQogICAgICAgICBSZWZQdHI8Tm9kZT4gbV9kcmFnU3JjOyAvLyBlbGVt
ZW50IHRoYXQgbWF5IGJlIGEgZHJhZyBzb3VyY2UsIGZvciB0aGUgY3VycmVudCBtb3VzZSBnZXN0
dXJlCiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNMaW5rOwogICAgICAgICBib29sIG1fZHJhZ1Ny
Y0lzSW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggZmZlZDU5Mi4uMTBhZDZi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2
ZW50U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRU
YXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RXZlbnRTb3VyY2U+IGNyZWF0ZShjb25zdCBTdHJpbmcm
IHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAg
dmlydHVhbCB+RXZlbnRTb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5o
CmluZGV4IGJlNTFjNzcuLjUwZmEyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Rm9jdXNDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xs
ZXIuaApAQCAtNDAsNyArNDAsOCBAQCBjbGFzcyBLZXlib2FyZEV2ZW50OwogY2xhc3MgTm9kZTsK
IGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEZvY3VzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBGb2N1c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZv
Y3VzQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZv
Y3VzQ29udHJvbGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCmluZGV4IDk0Yjhk
MTYuLmJhYzU0NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaApAQCAtMjYsNyArMjYsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAgIGNsYXNzIEZyYW1l
VHJlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhbWVUcmVlIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVUcmVlKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IEZyYW1lVHJlZShGcmFtZSogdGhpc0ZyYW1lLCBGcmFtZSogcGFyZW50RnJhbWUpIAogICAgICAg
ICAgICAgOiBtX3RoaXNGcmFtZSh0aGlzRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
aW5kZXggYmNjOGI5Zi4uZTAzZWY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAt
MTA4LDcgKzEwOCwxMCBAQCBkb3VibGUgRnJhbWVWaWV3OjpzX2RlZmVycmVkUmVwYWludERlbGF5
SW5jcmVtZW50RHVyaW5nTG9hZGluZyA9IDA7CiAvLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgdXBk
YXRlV2lkZ2V0cyBpdGVyYXRpb25zIHRoYXQgc2hvdWxkIGJlIGRvbmUgYmVmb3JlIHJldHVybmlu
Zy4KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhVcGRhdGVXaWRnZXRzSXRlcmF0aW9ucyA9IDI7
CiAKLXN0cnVjdCBTY2hlZHVsZWRFdmVudCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBTY2hlZHVs
ZWRFdmVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkRXZlbnQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBTY2hlZHVsZWRFdmVudCgpIHsgfQog
ICAgIFJlZlB0cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9kZT4gbV9ldmVudFRhcmdl
dDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJv
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAppbmRl
eCA3ZGIxOTUxLi4xYTJjZTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xv
Y2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25D
b250cm9sbGVyLmgKQEAgLTQwLDcgKzQwLDggQEAgY2xhc3MgR2VvbG9jYXRpb25FcnJvcjsKIGNs
YXNzIEdlb2xvY2F0aW9uUG9zaXRpb247CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBHZW9sb2NhdGlv
bkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25Db250
cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvbkNvbnRyb2xsZXIp
OwogcHVibGljOgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcihQYWdlKiwgR2VvbG9jYXRpb25D
bGllbnQqKTsKICAgICB+R2VvbG9jYXRpb25Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR3Jv
dXBTZXR0aW5ncy5oCmluZGV4IGZiNmY2YjUuLjFiYmFkMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR3Jv
dXBTZXR0aW5ncy5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgUGFnZUdyb3VwOwogCi1jbGFzcyBHcm91cFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEdyb3VwU2V0dGluZ3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyb3Vw
U2V0dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5k
ZXggNzQxM2JiNi4uMDcxYjE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTkwLDEyICs5MCwxNSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBlbnVtIEZpbmREaXJlY3Rpb24geyBGaW5kRGlyZWN0
aW9uRm9yd2FyZCwgRmluZERpcmVjdGlvbkJhY2t3YXJkIH07CiAKLSAgICBjbGFzcyBQYWdlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGFnZSk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBzY2hl
ZHVsZUZvcmNlZFN0eWxlUmVjYWxjRm9yQWxsUGFnZXMoKTsKIAogICAgICAgICAvLyBJdCBpcyB1
cCB0byB0aGUgcGxhdGZvcm0gdG8gZW5zdXJlIHRoYXQgbm9uLW51bGwgY2xpZW50cyBhcmUgcHJv
dmlkZWQgd2hlcmUgcmVxdWlyZWQuCi0gICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50cyA6IE5vbmNv
cHlhYmxlIHsKKyAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIHsKKyAgICAgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFBhZ2VDbGllbnRzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFBhZ2VDbGllbnRzKCk7CiAgICAgICAgICAgICB+
UGFnZUNsaWVudHMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3Jv
dXAuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKaW5kZXggY2M0N2ZiYS4uNjQz
YzVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7
CiAKLSAgICBjbGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFBhZ2VHcm91cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwKGNv
bnN0IFN0cmluZyYgbmFtZSk7CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5mNzk1NmM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKQEAgLTI4
LDcgKzI4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNs
YXNzIFBhZ2U7CiAKLSAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cExvYWREZWZlcnJlcik7CiAgICAgcHVibGljOgog
ICAgICAgICBQYWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSosIGJvb2wgZGVmZXJTZWxmKTsKICAg
ICAgICAgflBhZ2VHcm91cExvYWREZWZlcnJlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QbHVnaW5IYWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVy
LmgKaW5kZXggYWY4YjMxZS4uNWI5NmQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QbHVnaW5IYWx0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5o
CkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFsdGFibGVQ
bHVnaW47CiAKLWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBQbHVnaW5IYWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkhhbHRlcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFBsdWdpbkhhbHRlcihQbHVn
aW5IYWx0ZXJDbGllbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGY0NjMwZGUuLjQy
MGRhY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAg
ICAgfTsKIAotICAgIGNsYXNzIFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBTZXR0aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNldHRpbmdzKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQ
YWdlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaAppbmRleCAyNzBmNTAwLi41MmQ2YzAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVk
ZSAiU3BlZWNoSW5wdXRMaXN0ZW5lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC00OCw3ICs0Nyw4IEBAIGNsYXNzIFNwZWVjaElucHV0TGlz
dGVuZXI7CiAvLyBUaGlzIGNsYXNzIGNvbm5lY3RzIHRoZSBpbnB1dCBlbGVtZW50cyByZXF1aXJp
bmcgc3BlZWNoIGlucHV0IHdpdGggdGhlIHBsYXRmb3JtIHNwZWNpZmljCiAvLyBzcGVlY2ggcmVj
b2duaXRpb24gZW5naW5lLiBJdCBwcm92aWRlcyBtZXRob2RzIGZvciB0aGUgaW5wdXQgZWxlbWVu
dHMgdG8gYWN0aXZhdGUgc3BlZWNoCiAvLyByZWNvZ25pdGlvbiBhbmQgbWV0aG9kcyBmb3IgdGhl
IHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUgdG8gcmV0dXJuIGJhY2sgdGhlIHJlc3VsdHMuCi1j
bGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFNwZWVjaElucHV0
TGlzdGVuZXIgeworY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5l
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BlZWNoSW5wdXQpOwogcHVibGljOgogICAg
IFNwZWVjaElucHV0KFNwZWVjaElucHV0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+U3BlZWNoSW5w
dXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uMDUxNDA5MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBVc2VyU2NyaXB0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFVzZXJTY3JpcHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTY3JpcHQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmlu
ZyYgc291cmNlLCBjb25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZl
Y3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxh
Y2tsaXN0LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCmluZGV4IGZhNDJlMmMuLjA2
OGRmMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM1LDcgKzM1LDgg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBVc2VyU3R5bGVTaGVldCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU3R5bGVTaGVldCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVXNlclN0eWxlU2hlZXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBVc2VyU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYg
dXJsLAogICAgICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0
ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
WFNTQXVkaXRvci5oCmluZGV4IDJiNzgxZjEuLjViZWVkNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvWFNTQXVk
aXRvci5oCkBAIC02OSw3ICs2OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhU
TUxEb2N1bWVudFBhcnNlcjo6c2hvdWxkTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQg
dG8gbG9hZCBleHRlcm5hbCBKYXZhU2NyaXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxv
YWRlcjo6cmVxdWVzdE9iamVjdCAtIHVzZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1l
bnRzLgogICAgIC8vCi0gICAgY2xhc3MgWFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgWFNTQXVkaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhT
U0F1ZGl0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IFhTU0F1ZGl0b3IoRnJhbWUqKTsKICAgICAgICAgflhTU0F1ZGl0b3IoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggMTRhNDRkMi4u
OWE5MDZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0
aW9uQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
QmFzZS5jcHAKQEAgLTIyMyw3ICsyMjMsOCBAQCBjbGFzcyBQcm9wZXJ0eVdyYXBwZXJCYXNlOwog
c3RhdGljIHZvaWQgYWRkU2hvcnRoYW5kUHJvcGVydGllcygpOwogc3RhdGljIFByb3BlcnR5V3Jh
cHBlckJhc2UqIHdyYXBwZXJGb3JQcm9wZXJ0eShpbnQgcHJvcGVydHlJRCk7CiAKLWNsYXNzIFBy
b3BlcnR5V3JhcHBlckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUHJvcGVydHlX
cmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvcGVydHlXcmFwcGVyQmFz
ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFByb3BlcnR5V3JhcHBl
ckJhc2UoaW50IHByb3ApCiAgICAgICAgIDogbV9wcm9wKHByb3ApCkBAIC00NDYsNyArNDQ3LDgg
QEAgcHVibGljOgogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5ZXJQ
cm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFz
ZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdl
dHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIpOwogcHVibGljOgog
ICAgIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcihUIChGaWxsTGF5ZXI6OipnZXR0ZXIp
KCkgY29uc3QpCiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgK
aW5kZXggNjgxMmUwOS4uMTg2ZGQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCkBAIC00OSw3ICs0
OSw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJTdHls
ZTsKIAotY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUqKTsK
ICAgICB+QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
bWFjL0V2ZW50SGFuZGxlck1hYy5tbQppbmRleCAyZDRkODZiLi42MDExODU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCkBAIC03Nyw3ICs3Nyw4IEBAIE5T
RXZlbnQgKkV2ZW50SGFuZGxlcjo6Y3VycmVudE5TRXZlbnQoKQogICAgIHJldHVybiBjdXJyZW50
TlNFdmVudFNsb3QoKS5nZXQoKTsKIH0KIAotY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgeworICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDdXJyZW50RXZlbnRTY29wZSk7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2
ZW50U2NvcGUoTlNFdmVudCAqKTsKICAgICB+Q3VycmVudEV2ZW50U2NvcGUoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKaW5kZXggZDk2YzFhZC4uYzM0YTY0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0LDcgKzQ0
LDggQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNGaWxlV3Jp
dGVyQ2xpZW50OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFjZSBmb3Ig
cGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3RlIHRoYXQg
YWxsIHRoZSBtZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0ZpbGVTeXN0
ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIHZpcnR1
YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCmluZGV4IDI5MGE2NjkuLmNlZThkOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNr
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNr
cy5oCkBAIC00MSw4ICs0MSwxMSBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW07CiBjbGFzcyBBc3lu
Y0ZpbGVXcml0ZXI7CiBzdHJ1Y3QgRmlsZU1ldGFkYXRhOwogCi1jbGFzcyBBc3luY0ZpbGVTeXN0
ZW1DYWxsYmFja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVt
Q2FsbGJhY2tzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW1DYWxs
YmFja3MpOwogcHVibGljOgorICAgIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcygpIHsgfSAgICAK
KwogICAgIC8vIENhbGxlZCB3aGVuIGEgcmVxdWVzdGVkIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQg
c3VjY2Vzc2Z1bGx5LgogICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVkKCkgPSAwOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCmluZGV4IGQ0NGVlMWUuLmYwM2Vj
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCkBAIC0zOSw3
ICszOSw4IEBAIGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIEF1dG9kcmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBB
dXRvZHJhaW5lZFBvb2wgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1dG9kcmFpbmVkUG9v
bCk7CiBwdWJsaWM6CiAgICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEp
OwogICAgIH5BdXRvZHJhaW5lZFBvb2woKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NvbnRleHRNZW51LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVu
dS5oCmluZGV4IDU3NWM4NmQuLjI5Nzc3NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NvbnRleHRNZW51LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4
dE1lbnUuaApAQCAtNDEsOCArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBDb250ZXh0TWVudUNvbnRyb2xsZXI7CiAKLSAgICBjbGFzcyBDb250ZXh0TWVudSA6IHB1Ymxp
YyBOb25jb3B5YWJsZQotICAgIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudSgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCmluZGV4IDE0NWQ3OTUuLjZlODQxMzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yMjMsNyArMjIzLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1NZW51SXRlbURl
c2NyaXB0aW9uOwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0ZW0gOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudUl0
ZW0oQ29udGV4dE1lbnVJdGVtVHlwZSwgQ29udGV4dE1lbnVBY3Rpb24sIGNvbnN0IFN0cmluZyYs
IENvbnRleHRNZW51KiBzdWJNZW51ID0gMCk7CiAgICAgICAgIENvbnRleHRNZW51SXRlbShDb250
ZXh0TWVudUl0ZW1UeXBlLCBDb250ZXh0TWVudUFjdGlvbiwgY29uc3QgU3RyaW5nJiwgYm9vbCBl
bmFibGVkLCBib29sIGNoZWNrZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRGVwcmVjYXRlZFB0ckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0
ZWRQdHJMaXN0LmgKaW5kZXggNDdjZDUzOC4uYzA3ZDE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0SXRl
cmF0b3I7CiAKLXRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK3RlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVk
UHRyTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVw
cmVjYXRlZFB0ckxpc3QoKSA6IGltcGwoZGVsZXRlRnVuYyksIGRlbF9pdGVtKGZhbHNlKSB7IH0K
ICAgICB+RGVwcmVjYXRlZFB0ckxpc3QoKSB7IGltcGwuY2xlYXIoZGVsX2l0ZW0pOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAppbmRl
eCA5NmZkNTEzLi5jNjMzNzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9E
ZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Rl
cHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMyBAQAogI2luY2x1ZGUgPGNz
dGRkZWY+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+
CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUg
OiBwdWJsaWMgTm9uY29weWFibGUKLXsKK2NsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRGVwcmVjYXRlZExpc3ROb2RlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0
YShkKSwgbmV4dCgwKSwgcHJldigwKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRXZlbnRMb29wLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3Au
aAppbmRleCBiMDUwN2Y3Li4xMjhlOTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9FdmVudExvb3AuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3Au
aApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBF
dmVudExvb3AgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TG9vcCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9vcCk7CiAgICAgcHVibGljOgogICAg
ICAgICBFdmVudExvb3AoKQogICAgICAgICAgICAgOiBtX2VuZGVkKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAppbmRleCAxNTg1ZjY1Li45MjEx
ZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZp
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaApA
QCAtNDIsNyArNDIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uU2Vy
dmljZUVycm9yT2NjdXJyZWQoR2VvbG9jYXRpb25TZXJ2aWNlKikgPSAwOwogfTsKIAotY2xhc3Mg
R2VvbG9jYXRpb25TZXJ2aWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0
aW9uU2VydmljZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2VvbG9jYXRpb25TZXJ2aWNl
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgR2VvbG9jYXRpb25TZXJ2aWNlKiBjcmVhdGUoR2VvbG9j
YXRpb25TZXJ2aWNlQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+R2VvbG9jYXRpb25TZXJ2aWNlKCkg
eyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uMjI1ODg0
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaApAQCAtMjYsMTUgKzI2LDE2IEBA
CiAjaWZuZGVmIEhvc3RXaW5kb3dfaAogI2RlZmluZSBIb3N0V2luZG93X2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIldpZGdldC5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEN1cnNvcjsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
b3N0V2luZG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgSG9zdFdp
bmRvdygpIHsgfQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7IH0KIAogICAgIC8vIFJlcXVl
c3RzIHRoZSBob3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywgbm90IHRoZSBjb250ZW50cy4gIElm
IGltbWVkaWF0ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVyd2lzZSBhc3luYy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCmluZGV4IDhlMjczNTAuLmI2ODcyNzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaApAQCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBLaWxsUmluZyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwcmVw
ZW5kKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TGVuZ3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAppbmRleCA3ZGQ4NzVl
Li45ZGE3MWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMzUsNyArMzUsOSBAQCBj
b25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVl
IGZvciBhIDI4LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBl
cmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAKLXN0cnVj
dCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIExlbmd0aCgpCiAgICAgICAgIDogbV92YWx1
ZSgwKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9h
cmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3OGE0MGIz
Li41MGE5Y2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC04MSw3ICs4
MSw4IEBAIGNsYXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIGNsYXNzIEFyY2hpdmVSZXNvdXJjZTsK
ICAgICAKLWNsYXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFz
dGVib2FyZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFzdGVib2FyZCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICAvL0hlbHBl
ciBmdW5jdGlvbnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNoYXJlIGNvZGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKaW5kZXggYmMyOGU4NC4u
YWVlOTViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXli
b2FyZEV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2Fy
ZEV2ZW50LmgKQEAgLTc1LDcgKzc1LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50
MzI7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRF
dmVudCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJk
RXZlbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGVudW0gVHlwZSB7CiAgICAgICAgICAgICAvLyBLZXlEb3duIGlzIHNlbnQgYnkgcGxh
dGZvcm1zIHN1Y2ggYXMgTWFjIE9TIFgsIGd0ayBhbmQgUXQsIGFuZCBoYXMgaW5mb3JtYXRpb24g
YWJvdXQgYm90aCBwaHlzaWNhbCBwcmVzc2VkIGtleSwgYW5kIGl0cyB0cmFuc2xhdGlvbi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKaW5kZXggOWJkYTJkNS4uNDQx
MzZjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKQEAgLTI3
LDEzICsyNywxMyBAQAogI2RlZmluZSBQdXJnZWFibGVCdWZmZXJfaAogCiAjaW5jbHVkZSAiUHVy
Z2VQcmlvcml0eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgCi0gICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQdXJnZWFibGVCdWZmZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBh
c3NPd25QdHI8UHVyZ2VhYmxlQnVmZmVyPiBjcmVhdGUoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90
KTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29w
VGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCmluZGV4IDY1
ZjI1M2UuLmY4YzUyOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxv
b3BUaW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBA
IC0zMCwxNSArMzAsMTYgQEAKICNkZWZpbmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNj
aGVkdWxlUGFpci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFs
cyBhcmUgYWxsIGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUnVuTG9vcFRpbWVyQmFzZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFz
ZSgpIHsgfQogICAgIHZpcnR1YWwgflJ1bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2No
ZWR1bGUoY29uc3QgU2NoZWR1bGVQYWlyKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YmFyVGhlbWUuaAppbmRleCA0ZTllMjRiLi5lZjUyYjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhclRoZW1lLmgKQEAgLTM2LDggKzM2LDEwIEBAIGNsYXNzIFBsYXRmb3JtTW91
c2VFdmVudDsKIGNsYXNzIFNjcm9sbGJhcjsKIGNsYXNzIFNjcm9sbFZpZXc7CiAKLWNsYXNzIFNj
cm9sbGJhclRoZW1lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcm9sbGJhclRoZW1l
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JvbGxiYXJUaGVtZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNjcm9sbGJhclRoZW1lKCkgeyB9CiAgICAgdmly
dHVhbCB+U2Nyb2xsYmFyVGhlbWUoKSB7fTsKIAogICAgIHZpcnR1YWwgYm9vbCBwYWludChTY3Jv
bGxiYXIqLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JiAvKmRhbWFnZVJlY3QqLykg
eyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1No
YXJlZFRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCmluZGV4
IDViNWNkMTQuLjE2ZTBkMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1No
YXJlZFRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApA
QCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBTaGFyZWRUaW1lcl9oCiAjZGVmaW5lIFNoYXJlZFRp
bWVyX2gKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMzLDggKzM0LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBFYWNoIHRocmVhZCBoYXMgaXRzIG93biBzaW5nbGUg
aW5zdGFuY2Ugb2Ygc2hhcmVkIHRpbWVyLCB3aGljaCBpbXBsZW1lbnRzIHRoaXMgaW50ZXJmYWNl
LgogICAgIC8vIFRoaXMgaW5zdGFuY2UgaXMgc2hhcmVkIGJ5IGFsbCB0aW1lcnMgaW4gdGhlIHRo
cmVhZC4KICAgICAvLyBOb3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseTsgdXNlIHRoZSBU
aW1lciBjbGFzcyBpbnN0ZWFkLgotICAgIGNsYXNzIFNoYXJlZFRpbWVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBTaGFyZWRUaW1lciB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNoYXJlZFRpbWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgorICAgICAgICBTaGFyZWRUaW1lcigpIHsgfQogICAgICAgICB2aXJ0dWFsIH5TaGFyZWRUaW1l
cigpIHt9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRGaXJlZEZ1bmN0aW9uKHZvaWQgKCopKCkp
ID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFs
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCmluZGV4
IDlmNTdmMDAuLjc2Mzc3YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Ro
cmVhZEdsb2JhbERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9i
YWxEYXRhLmgKQEAgLTQ1LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVj
dCBURUNDb252ZXJ0ZXJXcmFwcGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAotICAgIGNs
YXNzIFRocmVhZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRo
cmVhZEdsb2JhbERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRHbG9i
YWxEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsKICAgICAg
ICAgflRocmVhZEdsb2JhbERhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RocmVhZFRpbWVycy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJz
LmgKaW5kZXggYWI0MjU5OC4uM2Q3YjVmOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RocmVhZFRpbWVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVh
ZFRpbWVycy5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBUaW1lckJhc2U7CiAKICAgICAvLyBBIGNvbGxlY3Rpb24gb2YgdGltZXJzIHBlciB0aHJlYWQu
IEtlcHQgaW4gVGhyZWFkR2xvYmFsRGF0YS4KLSAgICBjbGFzcyBUaHJlYWRUaW1lcnMgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZFRpbWVycyB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRocmVhZFRpbWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgVGhyZWFkVGltZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1l
ci5oCmluZGV4IGM0NDQzZGEuLmMzMzFlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAt
MzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1l
bnQ7CiAKLWNsYXNzIFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1l
ckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRpbWVyQmFzZSgpOwogICAgIHZpcnR1YWwgflRp
bWVyQmFzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJl
ZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYu
LjllMjdjNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKQEAgLTMyLDcgKzMy
LDggQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxh
dGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShUcmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAg
OiBtX3JlZkNvdW50KDEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmlt
YXRpb24vQW5pbWF0aW9uTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9u
L0FuaW1hdGlvbkxpc3QuaAppbmRleCA5YTMzNGNhLi5iZjhmZjlmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKQEAgLTMxLDcgKzMx
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBbmltYXRpb25MaXN0IDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQW5pbWF0aW9uTGlzdCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uTGlzdCgpIHsgfQogICAgIEFu
aW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0aW9uTGlzdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvQnVzLmgKaW5kZXggNDMxOGI4MS4uODg4ZjZiZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIC8vIEFuIEF1ZGlvQnVzIHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBv
ciBtb3JlIEF1ZGlvQ2hhbm5lbHMuCiAvLyBUaGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMg
b3Bwb3NlZCB0byAiaW50ZXJsZWF2ZWQiLgogLy8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5l
bCBpcyBtb25vLCBhbiBBdWRpb0J1cyB3aXRoIHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4K
LWNsYXNzIEF1ZGlvQnVzICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVkaW9CdXMpOwogcHVibGljOgogICAgIGVudW0g
ewogICAgICAgICBDaGFubmVsTGVmdCA9IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0F1ZGlvQ2hhbm5lbC5oCmluZGV4IDY4MTY4MzAuLjczMjVlOWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCkBAIC0zMCwxNCArMzAsMTQgQEAK
ICNkZWZpbmUgQXVkaW9DaGFubmVsX2gKIAogI2luY2x1ZGUgIkF1ZGlvQXJyYXkuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEFuIEF1ZGlvQ2hhbm5lbCByZXByZXNlbnRzIGEgYnVm
ZmVyIG9mIG5vbi1pbnRlcmxlYXZlZCBmbG9hdGluZy1wb2ludCBhdWRpbyBzYW1wbGVzLgogLy8g
VGhlIFBDTSBzYW1wbGVzIGFyZSBub3JtYWxseSBhc3N1bWVkIHRvIGJlIGluIGEgbm9taW5hbCBy
YW5nZSAtMS4wIC0+ICsxLjAKLWNsYXNzIEF1ZGlvQ2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBBdWRpb0NoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlv
Q2hhbm5lbCk7CiBwdWJsaWM6CiAgICAgLy8gTWVtb3J5IGNhbiBiZSBleHRlcm5hbGx5IHJlZmVy
ZW5jZWQsIG9yIGNhbiBiZSBpbnRlcm5hbGx5IGFsbG9jYXRlZCB3aXRoIGFuIEF1ZGlvRmxvYXRB
cnJheS4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRh
dGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaApp
bmRleCBjMzNiMzhmLi5iZjEzYTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9IUlRGRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9IUlRGRGF0YWJhc2UuaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEhSVEZLZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhS
VEZEYXRhYmFzZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNl
PiBjcmVhdGUoZG91YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9IUlRGRWxldmF0aW9uLmgKaW5kZXggYjM4OGIzNC4uMjRiNzgyMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaApAQCAtNDMsNyArNDMs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEhSVEZFbGV2YXRpb24gY29udGFpbnMgYWxs
IG9mIHRoZSBIUlRGS2VybmVscyAob25lIGxlZnQgZWFyIGFuZCBvbmUgcmlnaHQgZWFyIHBlciBh
emltdXRoIGFuZ2xlKSBmb3IgYSBwYXJ0aWN1bGFyIGVsZXZhdGlvbi4KIAotY2xhc3MgSFJURkVs
ZXZhdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIUlRGRWxldmF0aW9uIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRWxldmF0aW9uKTsKIHB1YmxpYzoKICAgICAvLyBM
b2FkcyBhbmQgcmV0dXJucyBhbiBIUlRGRWxldmF0aW9uIHdpdGggdGhlIGdpdmVuIEhSVEYgZGF0
YWJhc2Ugc3ViamVjdCBuYW1lIGFuZCBlbGV2YXRpb24gZnJvbSBicm93c2VyIChvciBXZWJLaXQu
ZnJhbWV3b3JrKSByZXNvdXJjZXMuCiAgICAgLy8gTm9ybWFsbHksIHRoZXJlIHdpbGwgb25seSBi
ZSBhIHNpbmdsZSBIUlRGIGRhdGFiYXNlIHNldCwgYnV0IHRoaXMgQVBJIHN1cHBvcnRzIHRoZSBw
b3NzaWJpbGl0eSBvZiBtdWx0aXBsZSBvbmVzIHdpdGggZGlmZmVyZW50IG5hbWVzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgK
aW5kZXggMWQ2OTkyMS4uZDVhZGExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBJbnRQb2ludDsKIAogICAgIGNsYXNzIENsaXBib2Fy
ZENocm9taXVtIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICB+Q2xpcGJvYXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRleCA1YTU0OTYzLi5lOTY3OGMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTY4LDcgKzY4
LDkgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFRpbWVyOwogLy8gRnJhbWVEYXRhIENs
YXNzCiAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
IAotc3RydWN0IEZyYW1lRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGcmFtZURhdGEgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lRGF0YSk7CitwdWJsaWM6CiAgICAgRnJhbWVE
YXRhKCkKICAgICAgICAgOiBtX2ZyYW1lKDApCiAgICAgICAgICwgbV9oYXZlTWV0YWRhdGEoZmFs
c2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCBlZjBkMzFj
Li5kYTk4ZGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b2xvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKQEAg
LTc4LDcgKzc4LDggQEAgaW5saW5lIGludCBncmVlbkNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJl
dHVybiAoY29sb3IgPj4gOCkgJiAweEZGOyB9CiBpbmxpbmUgaW50IGJsdWVDaGFubmVsKFJHQkEz
MiBjb2xvcikgeyByZXR1cm4gY29sb3IgJiAweEZGOyB9CiBpbmxpbmUgaW50IGFscGhhQ2hhbm5l
bChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiAyNCkgJiAweEZGOyB9CiAKLWNsYXNz
IENvbG9yIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ29sb3IgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbG9yKCkgOiBtX2NvbG9yKDApLCBt
X3ZhbGlkKGZhbHNlKSB7IH0KICAgICBDb2xvcihSR0JBMzIgY29sKSA6IG1fY29sb3IoY29sKSwg
bV92YWxpZCh0cnVlKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuY3BwCmluZGV4IDE0OWVhNzkuLmNmY2E5ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcApAQCAtNTMsNyArNTMsOSBAQCBGb250
Q2FjaGU6OkZvbnRDYWNoZSgpCiB7CiB9CiAKLXN0cnVjdCBGb250UGxhdGZvcm1EYXRhQ2FjaGVL
ZXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURh
dGFDYWNoZUtleShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmluZygpLCB1
bnNpZ25lZCBzaXplID0gMCwgdW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMgPSBmYWxz
ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250ID0gZmFs
c2UsIEZvbnRSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdNb2Rl
LCBGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAgICA6IG1f
c2l6ZShzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUu
aAppbmRleCBlNjg0NWQ5Li44NmY4YzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FjaGUuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBGb250RGVzY3JpcHRp
b247CiBjbGFzcyBGb250U2VsZWN0b3I7CiBjbGFzcyBTaW1wbGVGb250RGF0YTsKIAotY2xhc3Mg
Rm9udENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRDYWNoZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgZnJpZW5kIEZvbnRDYWNoZSogZm9udENhY2hlKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCmluZGV4IGVlOTRhOTguLjNkMzVk
MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAt
MjYsNiArMjYsNyBAQAogI2lmbmRlZiBGb250RGF0YV9oCiAjZGVmaW5lIEZvbnREYXRhX2gKIAor
I2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmlj
b2RlLmg+CkBAIC0zNCw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2lt
cGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEZvbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250RGF0YSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBt
X21heEdseXBoUGFnZVRyZWVMZXZlbCgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAppbmRleCBmYTg1YmNjLi4zZTEzZmJiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAu
aApAQCAtNDAsNyArNDAsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IEdseXBoOwogCiBjb25z
dCBmbG9hdCBjR2x5cGhTaXplVW5rbm93biA9IC0xOwogCi10ZW1wbGF0ZTxjbGFzcyBUPiBjbGFz
cyBHbHlwaE1ldHJpY3NNYXAgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8Y2xhc3Mg
VD4gY2xhc3MgR2x5cGhNZXRyaWNzTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHbHlw
aE1ldHJpY3NNYXApOwogcHVibGljOgogICAgIEdseXBoTWV0cmljc01hcCgpIDogbV9maWxsZWRQ
cmltYXJ5UGFnZShmYWxzZSkgeyB9CiAgICAgfkdseXBoTWV0cmljc01hcCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IGE0
NTliMzcuLjM1ODI0ZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAtMjA2LDcgKzIwNiw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgYm9vbCBzaGFkb3dzSWdub3JlVHJhbnNmb3JtcyA6IDE7CiAgICAgfTsK
IAotICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgR3JhcGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3Jh
cGhpY3NDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBHcmFwaGljc0NvbnRleHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKTsKICAgICAgICAg
fkdyYXBoaWNzQ29udGV4dCgpOwpAQCAtNDI0LDcgKzQyNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdm9pZCBzZXRTaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKGJvb2wpOwogICAg
ICAgICBib29sIHNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoKSBjb25zdDsKIAotICAgICAgICBj
bGFzcyBXaW5kb3dzQml0bWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
V2luZG93c0JpdG1hcCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaW5kb3dz
Qml0bWFwKTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgV2luZG93c0JpdG1hcChIREMs
IEludFNpemUpOwogICAgICAgICAgICAgfldpbmRvd3NCaXRtYXAoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRleCA1ZmRmNzM4Li43
OGMxZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NMYXllci5oCkBAIC05NCw3ICs5NCw4IEBAIGNsYXNzIFRpbWluZ0Z1bmN0aW9uOwogLy8gQmFz
ZSBjbGFzcyBmb3IgYW5pbWF0aW9uIHZhbHVlcyAoYWxzbyB1c2VkIGZvciB0cmFuc2l0aW9ucyku
IEhlcmUgdG8KIC8vIHJlcHJlc2VudCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgYmVpbmcgYW5pbWF0
ZWQgdmlhIHRoZSBHcmFwaGljc0xheWVyLAogLy8gd2l0aG91dCBwdWxsaW5nIGluIHN0eWxlLXJl
bGF0ZWQgZGF0YSBmcm9tIG91dHNpZGUgb2YgdGhlIHBsYXRmb3JtIGRpcmVjdG9yeS4KLWNsYXNz
IEFuaW1hdGlvblZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlvblZh
bHVlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25WYWx1ZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRp
bWUsIFBhc3NSZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAg
ICAgOiBtX2tleVRpbWUoa2V5VGltZSkKQEAgLTE0Niw3ICsxNDcsOCBAQCBwcml2YXRlOgogCiAv
LyBVc2VkIHRvIHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZh
bHVlcyB3aWxsIGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVy
cmVkIGZyb20gdGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFs
dWVMaXN0KEFuaW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCmluZGV4IGM0NmNjOTAuLmE2Y2MwZDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAt
NjMsNyArNjMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEFjY2VsZXJhdGVkCiAg
ICAgfTsKIAotICAgIGNsYXNzIEltYWdlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBJbWFnZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdl
QnVmZmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAv
LyBXaWxsIHJldHVybiBhIG51bGwgcG9pbnRlciBvbiBhbGxvY2F0aW9uIGZhaWx1cmUuCiAgICAg
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBjcmVhdGUoY29uc3QgSW50U2l6ZSYg
c2l6ZSwgQ29sb3JTcGFjZSBjb2xvclNwYWNlID0gQ29sb3JTcGFjZURldmljZVJHQiwgUmVuZGVy
aW5nTW9kZSByZW5kZXJpbmdNb2RlID0gVW5hY2NlbGVyYXRlZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCmluZGV4IDcwMThhNWMuLjNmMTZkMDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaApA
QCAtMTE3LDcgKzExNyw4IEBAIGNvbnN0IGludCBjQW5pbWF0aW9uTG9vcE9uY2UgPSAwOwogY29u
c3QgaW50IGNBbmltYXRpb25Mb29wSW5maW5pdGUgPSAtMTsKIGNvbnN0IGludCBjQW5pbWF0aW9u
Tm9uZSA9IC0yOwogCi1jbGFzcyBJbWFnZVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJbWFnZVNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VTb3VyY2Up
OwogcHVibGljOgogICAgIGVudW0gQWxwaGFPcHRpb24gewogICAgICAgICBBbHBoYVByZW11bHRp
cGxpZWQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXll
ci5jcHAKaW5kZXggYWJmNTEwNS4uYmExOWVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw5IEBAIHN0YXRp
YyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxNZWRpYVBsYXllcihNZWRp
YVBsYXllciogcGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1zdHJ1Y3QgTWVkaWFQbGF5
ZXJGYWN0b3J5IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxheWVyRmFjdG9yeSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgTWVkaWFQbGF5ZXJGYWN0b3J5KENyZWF0ZU1lZGlh
RW5naW5lUGxheWVyIGNvbnN0cnVjdG9yLCBNZWRpYUVuZ2luZVN1cHBvcnRlZFR5cGVzIGdldFN1
cHBvcnRlZFR5cGVzLCBNZWRpYUVuZ2luZVN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGVBbmRDb2Rl
Y3MpIAogICAgICAgICA6IGNvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKQogICAgICAgICAsIGdldFN1
cHBvcnRlZFR5cGVzKGdldFN1cHBvcnRlZFR5cGVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzdkN2VmMy4uMWNiYmUxNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0xNDks
NyArMTQ5LDggQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBNZWRpYVBsYXllciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWVkaWFQbGF5ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyPiBjcmVhdGUoTWVkaWFQbGF5ZXJD
bGllbnQqIGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKaW5kZXggZDk1NjI4Ni4uNmFiZTI1OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRl
LmgKQEAgLTM2LDggKzM2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7
CiBjbGFzcyBJbnRTaXplOwogCi1jbGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2UoKSB7IH0KICAgICB2aXJ0dWFsIH5NZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2Uo
KSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKaW5kZXggNDIzYTc5Mi4uODUyZDg4
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMTAwLDcgKzEw
MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgdm9pZCAoKlBhdGhBcHBs
aWVyRnVuY3Rpb24pKHZvaWQqIGluZm8sIGNvbnN0IFBhdGhFbGVtZW50Kik7CiAKLSAgICBjbGFz
cyBQYXRoIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBhdGggeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhdGgoKTsK
ICAgICAgICAgflBhdGgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCmluZGV4IDU4NDc3ZGIuLjA2YzdmZTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUu
aApAQCAtMzYsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGljc0Nv
bnRleHQ7CiBjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZUNsaWVudDsKIAotY2xhc3MgVGlsZWRCYWNr
aW5nU3RvcmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGVkQmFja2luZ1N0b3JlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGlsZWRCYWNraW5nU3RvcmUoVGlsZWRCYWNr
aW5nU3RvcmVDbGllbnQqKTsKICAgICB+VGlsZWRCYWNraW5nU3RvcmUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGEuaAppbmRleCBkYWMzMWY4Li41MGVhMDBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEpOwogcHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoRlRfRmFjZSwgU2hhcmVk
QnVmZmVyKik7CiAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCmlu
ZGV4IDZmYzFhMGUuLjg5YTc5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtNTAsNyArNTAsOCBAQCBj
bGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIGNsYXNzIFNoYXJlZEdy
YXBoaWNzQ29udGV4dDNEOwogCi1jbGFzcyBHTEVTMkNhbnZhcyA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBHTEVTMkNhbnZhcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR0xFUzJD
YW52YXMpOwogcHVibGljOgogICAgIEdMRVMyQ2FudmFzKFNoYXJlZEdyYXBoaWNzQ29udGV4dDNE
KiwgRHJhd2luZ0J1ZmZlciosIGNvbnN0IEludFNpemUmKTsKICAgICB+R0xFUzJDYW52YXMoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyVGV4dHVyZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJUZXh0dXJlLmgKaW5kZXggNzExZTY4Ny4uYjYwZGZmMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlLmgK
QEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVGV4dHVy
ZU1hbmFnZXIuaCIKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CkBAIC0zNyw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgVGV4dHVyZU1hbmFnZXI7CiAKLWNsYXNzIExh
eWVyVGV4dHVyZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXllclRleHR1cmUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheWVyVGV4dHVyZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPExheWVyVGV4dHVyZT4gY3Jl
YXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBUZXh0dXJlTWFuYWdlciogbWFuYWdlcikK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9MYXllclRpbGVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyVGlsZXJDaHJvbWl1bS5oCmluZGV4IDA1ZjUyNDIuLmUwOTY5M2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyVGlsZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0xheWVyVGlsZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBJ
bnRSZWN0JiBjb250ZW50UmVjdCkgPSAwOwogfTsKIAotY2xhc3MgTGF5ZXJUaWxlckNocm9taXVt
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheWVyVGlsZXJDaHJvbWl1bSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5ZXJUaWxlckNocm9taXVtKTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc093blB0cjxMYXllclRpbGVyQ2hyb21pdW0+IGNyZWF0ZShMYXllclJlbmRlcmVy
Q2hyb21pdW0qIGxheWVyUmVuZGVyZXIsIGNvbnN0IEludFNpemUmIHRpbGVTaXplKTsKIApAQCAt
NjIsNyArNjMsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIExheWVyVGlsZXJDaHJvbWl1bShM
YXllclJlbmRlcmVyQ2hyb21pdW0qIGxheWVyUmVuZGVyZXIsIGNvbnN0IEludFNpemUmIHRpbGVT
aXplKTsKIAotICAgIGNsYXNzIFRpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFRpbGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxlKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIGV4cGxpY2l0IFRpbGUoUGFzc093blB0cjxMYXllclRleHR1cmU+IHRleCkgOiBt
X3RleCh0ZXgpIHt9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggYTkz
MjE4Zi4uNjg5YTZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKQEAgLTQx
LDcgKzQxLDggQEAgY2xhc3MgTGF5ZXJDaHJvbWl1bTsKIGNsYXNzIExheWVyUmVuZGVyZXJDaHJv
bWl1bTsKIGNsYXNzIExheWVyVGV4dHVyZTsKIAotY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVt
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU3VyZmFjZUNocm9taXVtKTsKICAgICBmcmll
bmQgY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogcHVibGljOgogICAgIGV4cGxpY2l0IFJl
bmRlclN1cmZhY2VDaHJvbWl1bShMYXllckNocm9taXVtKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaApp
bmRleCA0ODkxY2M3Li44MzEwNGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmgKQEAgLTI5LDYgKzI5
LDcgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogCisjaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5oPgogCkBAIC0zNiw3ICszNyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogdHlwZWRlZiBpbnQgVGV4dHVyZVRva2VuOwogCi1jbGFzcyBUZXh0dXJlTWFu
YWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0dXJlTWFuYWdlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dHVyZU1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPFRleHR1cmVNYW5hZ2VyPiBjcmVhdGUoR3JhcGhpY3NDb250ZXh0M0QqIGNv
bnRleHQsIHNpemVfdCBtZW1vcnlMaW1pdEJ5dGVzLCBpbnQgbWF4VGV4dHVyZVNpemUpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
VHJhbnNwYXJlbmN5V2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9UcmFuc3BhcmVuY3lXaW4uaAppbmRleCBiNmJlZjkxLi41MzVjYmFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lX
aW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFu
c3BhcmVuY3lXaW4uaApAQCAtNTQsNyArNTQsOCBAQCBjbGFzcyBUcmFuc3BhcmVuY3lXaW5fT3Bh
cXVlQ29tcG9zaXRlTGF5ZXJfVGVzdDsKIC8vIHRoYXQgaXMgY29tcG9zaXRlZCBsYXRlciBtYW51
YWxseS4gVGhpcyBpcyB0byBnZXQgYXJvdW5kIFdpbmRvd3MnIGluYWJpbGl0eQogLy8gdG8gaGFu
ZGxlIHRoZSBhbHBoYSBjaGFubmVsLCBzZW1pdHJhbnNwYXJlbnQgdGV4dCwgYW5kIHRyYW5zZm9y
bWVkIGZvcm0KIC8vIGNvbnRyb2xzLgotY2xhc3MgVHJhbnNwYXJlbmN5V2luIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW5jeVdpbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVHJhbnNwYXJlbmN5V2luKTsKIHB1YmxpYzoKICAgICBlbnVtIExheWVyTW9kZSB7CiAg
ICAgICAgIC8vIE5vIGV4dHJhIGxheWVyIGlzIGNyZWF0ZWQuIERyYXdpbmcgd2lsbCBoYXBwZW4g
dG8gdGhlIHNvdXJjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9EcmF3aW5nQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvRHJhd2luZ0J1ZmZlci5oCmluZGV4IGUwZTBlZTEuLjg3N2NhYTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaApA
QCAtODAsOCArODAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShDSFJPTUlV
TSkKLSAgICBjbGFzcyBXaWxsUHVibGlzaENhbGxiYWNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBXaWxsUHVibGlzaENhbGxiYWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV2lsbFB1Ymxpc2hDYWxsYmFjayk7CiAgICAgcHVibGljOgorICAgICAgICBXaWxsUHVi
bGlzaENhbGxiYWNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNoQ2FsbGJhY2so
KSB7IH0KICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsUHVibGlzaCgpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxp
bm5DbGFzc2lmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9v
cEJsaW5uQ2xhc3NpZmllci5oCmluZGV4IGM2NjU4NDQuLjFiZDY3YjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNz
aWZpZXIuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZpZXJf
aAogI2RlZmluZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8v
IENsYXNzaWZpZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBMb29w
Qmxpbm5DbGFzc2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkNs
YXNzaWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZpZXIp
OwogcHVibGljOgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBD
dXJ2ZVR5cGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAppbmRleCBlYTNkN2Uz
Li5kMDFlNmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaApAQCAtMzAsMTkg
KzMwLDIwIEBACiAjaW5jbHVkZSAiRmxvYXRQb2ludDNELmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5u
Q29uc3RhbnRzLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBQZXJmb3JtcyBhIGxv
Y2FsaXplZCB0cmlhbmd1bGF0aW9uIG9mIHRoZSB0cmlhbmdsZSBtZXNoCiAvLyBjb3JyZXNwb25k
aW5nIHRvIHRoZSBmb3VyIGNvbnRyb2wgcG9pbnQgdmVydGljZXMgb2YgYSBjdWJpYyBjdXJ2ZQog
Ly8gc2VnbWVudC4KLWNsYXNzIExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvcik7CiBwdWJsaWM6CiAg
ICAgLy8gVGhlIHZlcnRpY2VzIHRoYXQgdGhlIHRyaWFuZ3VsYXRvciBvcGVyYXRlcyB1cG9uLCBj
b250YWluaW5nIGJvdGgKICAgICAvLyB0aGUgcG9zaXRpb24gaW5mb3JtYXRpb24gYXMgd2VsbCBh
cyB0aGUgY3ViaWMgdGV4dHVyZQogICAgIC8vIGNvb3JkaW5hdGVzLgotICAgIGNsYXNzIFZlcnRl
eCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVydGV4IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVmVydGV4KTsKICAgICBwdWJsaWM6CiAgICAgICAgIFZlcnRleCgp
CiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9QT0RBcmVuYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BP
REFyZW5hLmgKaW5kZXggZjY4YmFlZi4uNmVkYzFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTE1OCw3ICsxNTgsOCBAQCBwcml2
YXRlOgogICAgIH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2
aWR1YWwgYWxsb2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENodW5rKTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9m
IG1lbW9yeSBvZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxs
b2NhdG9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPREludGVydmFsVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L1BPREludGVydmFsVHJlZS5oCmluZGV4IDMyMGNlNjAuLjViZjNkZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmgK
QEAgLTQ0LDggKzQ0LDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZp
Y2llbnQgKE8obGcgbikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGlu
dGVydmFscyBpbiB0aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0g
dm9pZCo+Ci1jbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQs
IFVzZXJEYXRhPiA+IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFj
a1RyZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBPREludGVydmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2Ug
dHlwaW5nIHdoZW4gZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0
aGlzIHRyZWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvUE9EUmVkQmxhY2tUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvUE9EUmVkQmxhY2tUcmVlLmgKaW5kZXggNmQ1OTU0Yy4uYmQwODk4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUu
aApAQCAtMTk4LDcgKzE5OCw4IEBAIHByb3RlY3RlZDoKICAgICAvLyBUaGUgYmFzZSBOb2RlIGNs
YXNzIHdoaWNoIGlzIHN0b3JlZCBpbiB0aGUgdHJlZS4gTm9kZXMgYXJlIG9ubHkKICAgICAvLyBh
biBpbnRlcm5hbCBjb25jZXB0OyB1c2VycyBvZiB0aGUgdHJlZSBkZWFsIG9ubHkgd2l0aCB0aGUg
ZGF0YQogICAgIC8vIHRoZXkgc3RvcmUgaW4gaXQuCi0gICAgY2xhc3MgTm9kZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgTm9kZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE5vZGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gQ29uc3RydWN0b3IuIE5ld2x5LWNy
ZWF0ZWQgbm9kZXMgYXJlIGNvbG9yZWQgcmVkLgogICAgICAgICBleHBsaWNpdCBOb2RlKGNvbnN0
IFQmIGRhdGEpCkBAIC02NTksNyArNjYwLDggQEAgcHJpdmF0ZToKICAgICAvLyBIZWxwZXIgY2xh
c3MgZm9yIHNpemUoKQogCiAgICAgLy8gQSBWaXNpdG9yIHdoaWNoIHNpbXBseSBjb3VudHMgdGhl
IG51bWJlciBvZiB2aXNpdGVkIGVsZW1lbnRzLgotICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMg
VmlzaXRvciwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb3VudGVyIDogcHVibGlj
IFZpc2l0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb3VudGVyKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIENvdW50ZXIoKQogICAgICAgICAgICAgOiBtX2NvdW50KDApIHsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1
YmQ4ZGUuLjRmNjJjYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9TaGFkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvU2hhZGVyLmgKQEAgLTQwLDcgKzQwLDggQEAgY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xh
c3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBDb2xvcjsKIAotY2xhc3MgU2hhZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNoYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU2hhZGVyKTsKIHByb3RlY3RlZDoKICAgICBTaGFkZXIoR3JhcGhpY3NDb250ZXh0M0QqLCB1
bnNpZ25lZCBwcm9ncmFtKTsKICAgICB+U2hhZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAppbmRleCAxYmRjNTFhLi5kMTE0MGJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5n
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdE
YXRhLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRmxvYXRS
ZWN0OwogY2xhc3MgSW50UmVjdDsKIAotY2xhc3MgVGlsaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBUaWxpbmdEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxp
bmdEYXRhKTsKIHB1YmxpYzoKICAgICBUaWxpbmdEYXRhKGludCBtYXhUZXh0dXJlU2l6ZSwgaW50
IHRvdGFsU2l6ZVgsIGludCB0b3RhbFNpemVZLCBib29sIGhhc0JvcmRlclRleGVscyk7CiAgICAg
aW50IG1heFRleHR1cmVTaXplKCkgY29uc3QgeyByZXR1cm4gbV9tYXhUZXh0dXJlU2l6ZTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dl
YktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCBlMTBlNjFm
Li4zNmI0OWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNw
cApAQCAtMzYsNyArMzYsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3Mg
U3RyZWFtaW5nQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5k
bGVDbGllbnQgeworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxl
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAg
IHB1YmxpYzoKICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwogICAgICAg
ICB2aXJ0dWFsIH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
CkBAIC0yNCwxNCArMjQsMTQgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNs
dWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNs
YXNzIEZvbnRQbGF0Zm9ybURhdGE7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCi0gICAgc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250
Q3VzdG9tUGxhdGZvcm1EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEoKSB7IH0KICAgICAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGMxMTg1OGMuLjcwNDNkN2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaApAQCAtMzYsNyArMzYsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRh
KTsKK3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEFUU0ZvbnRDb250YWluZXJS
ZWYgY29udGFpbmVyLCBDR0ZvbnRSZWYgY2dGb250KQogICAgICAgICA6IG1fYXRzQ29udGFpbmVy
KGNvbnRhaW5lcikKICAgICAgICAgLCBtX2NnRm9udChjZ0ZvbnQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRl
eCAzMmYxZmU1Li4zZjE0OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xh
c3MgVGlsZWRJbWFnZU9wZW5WRzsKIAogc3RydWN0IFBsYXRmb3JtUGFpbnRlclN0YXRlOwogCi1j
bGFzcyBQYWludGVyT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhaW50ZXJP
cGVuVkcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhaW50ZXJPcGVuVkcpOwogcHVibGlj
OgogICAgIGZyaWVuZCBjbGFzcyBTdXJmYWNlT3BlblZHOwogICAgIGZyaWVuZCBzdHJ1Y3QgUGxh
dGZvcm1QYWludGVyU3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2Li4xOWQ5NWQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFj
ZU9wZW5WRy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9T
dXJmYWNlT3BlblZHLmgKQEAgLTQyLDcgKzQyLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNp
ZmRlZnMgYW5kIHNob3VsZCBtYWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2Nv
bnRleHQKICAqIGltcGxlbWVudGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9w
ZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1h
a2VDdXJyZW50TW9kZSB7CiAgICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNo
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcuLjU0ZmE2NzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDYgKzI0LDcgQEAKIAogI2luY2x1ZGUgIkZvbnRPcmll
bnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCisjaW5jbHVkZSA8d3Rm
L0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCkBAIC0zMiw3ICszMywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3Qg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZv
cm1EYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSgpIHsgfQogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CiAKICAg
ICAvLyBmb3IgdXNlIHdpdGggUUZvbnREYXRhYmFzZTo6YWRkQXBwbGljYXRpb25Gb250L3JlbW92
ZUFwcGxpY2F0aW9uRm9udApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IDFjNTdlMjkuLmYyNjgzNzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZv
cm1EYXRhLmgKQEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBG
b250UGxhdGZvcm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBs
YXRmb3JtRGF0YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSgpCiAgICAgICAgIDogcmVmQ291bnQoMSkKQEAgLTYy
LDggKzYzLDEwIEBAIHB1YmxpYzoKIAogCiAKLWNsYXNzIEZvbnRQbGF0Zm9ybURhdGEgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBGb250UGxhdGZvcm1EYXRhKCkgeyB9CiAg
ICAgRm9udFBsYXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSk7
CiAgICAgRm9udFBsYXRmb3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhICYpOwogICAgIEZv
bnRQbGF0Zm9ybURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbWljU3RyaW5n
JiBmYW1pbHlOYW1lLCBpbnQgd29yZFNwYWNpbmcgPSAwLCBpbnQgbGV0dGVyU3BhY2luZyA9IDAp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NDb250ZXh0UXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3Jh
cGhpY3NDb250ZXh0UXQuY3BwCmluZGV4IGMyMWI0ZWUuLjA1OTI4MjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRR
dC5jcHAKQEAgLTE3NCw3ICsxNzQsOCBAQCBzdGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0
RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQog
Ci1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUoUVBhaW50ZXIqLCBjb25zdCBRQ29sb3ImIGluaXRpYWxTb2xpZENvbG9yKTsKICAgICB+R3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA1YjJmOGIy
Li5lNDgyOGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9UcmFuc3BhcmVuY3lMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKQEAgLTQyLDcgKzQyLDkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1zdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgOiBGYXN0QWxsb2NCYXNlIHsK
K3N0cnVjdCBUcmFuc3BhcmVuY3lMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitwdWJsaWM6CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0
IFFSZWN0ICZyZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAg
IDogcGl4bWFwKHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5
KG9wYWNpdHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGU1MWI2YjYuLjQyMjhi
NDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtNDksNyArNDksOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVm
ZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICNpZiBPUyhXSU5ET1dTKQogICAgIEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYg
bmFtZSkKICAgICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0
UGxhdGZvcm1Qcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVlMTJhZDYuLjQ0ODM1YTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhp
Y3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaApAQCAtMzEsMTQg
KzMxLDE0IEBACiAjaWZuZGVmIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZV9oCiAjZGVm
aW5lIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYTsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAvLyBUaGlzIGNsYXNzIGp1c3QgaG9sZHMgb250byBhIFBsYXRmb3JtQ29udGV4
dFNraWEgZm9yIEdyYXBoaWNzQ29udGV4dC4KLWNsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dFBs
YXRmb3JtUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlKFBsYXRmb3JtQ29udGV4dFNraWEqIHBsYXRmb3JtQ29udGV4dCkKICAgICAgICAgOiBtX2Nv
bnRleHQocGxhdGZvcm1Db250ZXh0KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKaW5kZXggMTFi
MzExYS4uMDMwNDQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKQEAgLTY3LDcgKzY3LDggQEAg
Y2xhc3MgVGV4dHVyZTsKIC8vIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyB0aGUgcGFpbnRpbmcg
c3RhdGUgd2hpY2ggaXMgc3RvcmUgaW4gc2VwYXJhdGUKIC8vIFNrUGFpbnQgb2JqZWN0cy4gVGhp
cyBjbGFzcyBwcm92aWRlcyB0aGUgYWRhcHRvciB0aGF0IGFsbG93cyB0aGUgcGFpbnRpbmcKIC8v
IHN0YXRlIHRvIGJlIHB1c2hlZCBhbmQgcG9wcGVkIGFsb25nIHdpdGggdGhlIGJpdG1hcC4KLWNs
YXNzIFBsYXRmb3JtQ29udGV4dFNraWEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGxh
dGZvcm1Db250ZXh0U2tpYSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGxhdGZvcm1Db250
ZXh0U2tpYSk7CiBwdWJsaWM6CiAgICAgLy8gRm9yIHByaW50aW5nLCB0aGVyZSBzaG91bGRuJ3Qg
YmUgYW55IGNhbnZhcy4gY2FudmFzIGNhbiBiZSBOVUxMLiBJZiB5b3UKICAgICAvLyBzdXBwbHkg
YSBOVUxMIGNhbnZhcywgeW91IGNhbiBhbHNvIGNhbGwgc2V0Q2FudmFzIGxhdGVyLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVU
cmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
QWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggMmFkYmIzOS4uNTBkMDY1NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmlu
ZVRyYW5zZm9ybS5oCkBAIC01NSw3ICs1NSw4IEBAIGNsYXNzIEludFBvaW50OwogY2xhc3MgSW50
UmVjdDsKIGNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4OwogCi1jbGFzcyBBZmZpbmVUcmFuc2Zv
cm0gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBZmZpbmVUcmFuc2Zvcm0geworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIFRy
YW5zZm9ybVs2XTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaAppbmRleCBjMGRh
Mzc3Li45ODFlMWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEs
NyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJh
dGlvbnMgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25z
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUcmFuc2Zvcm1P
cGVyYXRpb25zKGJvb2wgbWFrZUlkZW50aXR5ID0gZmFsc2UpOwogICAgIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlv
bk1hdHJpeC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9U
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oCmluZGV4IDY4NGIxNGMuLmM4ODM2NzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRp
b25NYXRyaXguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKQEAgLTY0LDcgKzY0LDggQEAgY2xhc3MgRmxvYXRQ
b2ludDNEOwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFu
c2Zvcm1hdGlvbk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9y
bWF0aW9uTWF0cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICB0eXBlZGVmIGRvdWJsZSBNYXRyaXg0WzRdWzRdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aAppbmRleCAxYmRmMjcwLi5kZTMzYzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTM0LDcgKzM0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0
YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5n
JiBuYW1lKQogICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQogICAgICAg
ICAsIG1fbmFtZShuYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCmluZGV4
IDNhYjUyYjguLjljNjcwMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgK
QEAgLTMzLDcgKzMzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3Jt
RGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAg
ICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShjYWlyb19mb250X2ZhY2VfdCogZm9udEZhY2UpCiAg
ICAgICAgIDogbV9mb250RmFjZShmb250RmFjZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaApp
bmRleCBjMjE2MTQwLi41OTUxZTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMx
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsV2luZG93c0NvbnRleHQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsV2luZG93c0NvbnRleHQpOwogcHVibGljOgogICAg
IExvY2FsV2luZG93c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNv
bnN0IEludFJlY3QmIHJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1h
eUNyZWF0ZUJpdG1hcCA9IHRydWUpCiAgICAgICAgIDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhp
Y3NDb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1FUTW92aWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FU
TW92aWUuY3BwCmluZGV4IGVmYWYyMTguLmRmYTFkMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKQEAgLTYzLDcgKzYzLDggQEAgdW5p
b24gVXBwUGFyYW0gewogc3RhdGljIFZlY3RvcjxDRlN0cmluZ1JlZj4qIGdTdXBwb3J0ZWRUeXBl
cyA9IDA7CiBzdGF0aWMgU0ludDMyIHF1aWNrVGltZVZlcnNpb24gPSAwOwogCi1jbGFzcyBRVE1v
dmllUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFFUTW92aWVUYXNrQ2xpZW50
IHsKK2NsYXNzIFFUTW92aWVQcml2YXRlIDogcHVibGljIFFUTW92aWVUYXNrQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVE1vdmllUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRN
b3ZpZVByaXZhdGUoKTsKICAgICB+UVRNb3ZpZVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcAppbmRleCAwOTE0MmJjLi5iZjgw
YTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRU
cmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJh
Y2suY3BwCkBAIC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLWNsYXNz
IFFUVHJhY2tQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJhY2tQcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBwdWJsaWM6
CiAgICAgUVRUcmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1
c2hlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRl
eHRGbHVzaGVyLmgKaW5kZXggMTdlYzQxZC4uNzhlODQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVy
LmgKQEAgLTM2LDcgKzM2LDggQEAgc3RydWN0IFdLQ0FDRkNvbnRleHQ7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgV0tDQUNGQ29udGV4dEZsdXNoZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgV0tDQUNGQ29udGV4dEZsdXNoZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdLQ0FDRkNvbnRleHRGbHVzaGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV0tDQUNGQ29u
dGV4dEZsdXNoZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAppbmRleCAwMmNkYmRi
Li5jYzlkZmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAgLTYwLDcgKzYwLDggQEAgcHVibGlj
OgogLy8gRklYTUU6IEN1cnJlbnRseSB0aGVyZSBpcyBhIFdLQ0FDRkxheWVyUmVuZGVyZXIgZm9y
IGVhY2ggV2ViVmlldyBhbmQgZWFjaAogLy8gaGFzIGl0cyBvd24gQ0FSZW5kZXJPR0xDb250ZXh0
IGFuZCBEaXJlY3QzRERldmljZTksIHdoaWNoIGlzIGluZWZmaWNpZW50LgogLy8gKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTg1NSkKLWNsYXNzIFdLQ0FDRkxheWVy
UmVuZGVyZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tDQUNGTGF5ZXJSZW5kZXJlcik7CiAgICAg
ZnJpZW5kIFBsYXRmb3JtQ0FMYXllcjsKIAogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCmluZGV4IGFiZGMwZjIuLjA1MDgyNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKQEAgLTM3LDcgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIHZvaWQgdW5yZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAg
IH07CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsK
KyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6
IG1fbmFtZShuYW1lKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKaW5k
ZXggMWI4YTcwNC4uOWI2NzJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcApAQCAt
NDM4LDcgKzQzOCw4IEBAIHN0YXRpYyB2b2lkIHJvdGF0ZUJpdG1hcChTaGFyZWRCaXRtYXAqIGRl
c3RCbXAsIGNvbnN0IFNoYXJlZEJpdG1hcCogc291cmNlQm1wLCBjCiAgICAgICAgIF9yb3RhdGVC
aXRtYXA8dW5zaWduZWQsIGZhbHNlPihkZXN0Qm1wLCBzb3VyY2VCbXAsIHRyYW5zZm9ybSk7CiB9
CiAKLWNsYXNzIFRyYW5zcGFyZW50TGF5ZXJEQyA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5z
cGFyZW50TGF5ZXJEQyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbnRMYXll
ckRDKTsKIHB1YmxpYzoKICAgICBUcmFuc3BhcmVudExheWVyREMoR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlKiBkYXRhLCBJbnRSZWN0JiBvcmlnUmVjdCwgY29uc3QgSW50UmVjdCogcmVj
dEJlZm9yZVRyYW5zZm9ybSA9IDAsIGludCBhbHBoYSA9IDI1NSwgYm9vbCBwYWludEltYWdlID0g
ZmFsc2UpOwogICAgIH5UcmFuc3BhcmVudExheWVyREMoKTsKQEAgLTU1OCw3ICs1NTksOCBAQCB2
b2lkIFRyYW5zcGFyZW50TGF5ZXJEQzo6ZmlsbEFscGhhQ2hhbm5lbCgpCiAgICAgfQogfQogCi1j
bGFzcyBTY29wZURDUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBTY29wZURDUHJvdmlk
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlRENQcm92aWRlcik7CiBwdWJsaWM6
CiAgICAgZXhwbGljaXQgU2NvcGVEQ1Byb3ZpZGVyKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZSogZGF0YSkKICAgICAgICAgOiBtX2RhdGEoZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aAppbmRleCBjYzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0y
NCwxNCArMjQsMTQgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJG
b250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZv
bnRQbGF0Zm9ybURhdGE7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCi0gICAgc3RydWN0IEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9t
UGxhdGZvcm1EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEoKSB7IH0KICAgICAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaAppbmRleCBlMTRhNTgzLi4wYzA3YzA3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCkBAIC0zOSw2ICsz
OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5n
IElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgLy8gQ3Jl
YXRlZCBmcm9tIHRoZSBFdmVudEhhbmRsZXJHdGsgdG8gYmUgdXNlZCBieSB0aGUgZG9tCiAgICAg
Y2xhc3MgQ2xpcGJvYXJkR3RrIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291
cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRHdGs+IGNyZWF0ZShDbGlwYm9h
cmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBHdGtDbGlwYm9hcmQqIGNsaXBib2FyZCwgRnJhbWUqIGZy
YW1lKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCmluZGV4IDM5ZGVlZTIuLjI0YmNkY2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rl
ci5oCkBAIC0yMjEsNyArMjIxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHNldE1h
eE51bVBpeGVscygpIHRvIHNwZWNpZnkgdGhlIGJpZ2dlc3Qgc2l6ZSB0aGF0IGRlY29kZWQgaW1h
Z2VzIGNhbgogICAgIC8vIGhhdmUuIEltYWdlIGRlY29kZXJzIHdpbGwgZGVmbGF0ZSB0aG9zZSBp
bWFnZXMgdGhhdCBhcmUgYmlnZ2VyIHRoYW4KICAgICAvLyBtX21heE51bVBpeGVscy4gKE5vdCBz
dXBwb3J0ZWQgYnkgYWxsIGltYWdlIGRlY29kZXJzIHlldCkKLSAgICBjbGFzcyBJbWFnZURlY29k
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEltYWdlRGVjb2RlciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRGVjb2Rlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgSW1hZ2VEZWNvZGVyKEltYWdlU291cmNlOjpB
bHBoYU9wdGlvbiBhbHBoYU9wdGlvbiwgSW1hZ2VTb3VyY2U6OkdhbW1hQW5kQ29sb3JQcm9maWxl
T3B0aW9uIGdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uKQogICAgICAgICAgICAgOiBtX3NjYWxl
ZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9h
cmRNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRl
eCA3MTg3ZWNmLi4zOWVhZGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvQ2xpcGJvYXJkTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBi
b2FyZE1hYy5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgRmlsZUxpc3Q7
CiAKIGNsYXNzIENsaXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRS
ZXNvdXJjZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBj
bGlwYm9hcmRUeXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1Bv
bGljeSBwb2xpY3ksIEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmgKaW5kZXgg
OTBiZWI0MC4uOGZkZTJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaApAQCAtMzEsNyArMzEsOCBAQCBj
bGFzcyBHcmFwaGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkg
c2F2ZXMgYW5kIHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8g
ZnVuY3Rpb25zIHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJy
ZW50Q29udGV4dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCk7
CiBwdWJsaWM6CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4
dCogZ3JhcGhpY3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKaW5kZXggMWZmNjM0
NC4uYzFmNTUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEu
aApAQCAtMTQ1LDYgKzE0NSw3IEBAIHByaXZhdGU6CiB0eXBlZGVmIFZlY3RvcjxCbG9iRGF0YUl0
ZW0+IEJsb2JEYXRhSXRlbUxpc3Q7CiAKIGNsYXNzIEJsb2JEYXRhIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxCbG9iRGF0YT4g
Y3JlYXRlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Rm9ybURhdGFCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1E
YXRhQnVpbGRlci5oCmluZGV4IDg3ZDBlZjMuLjExMmUzMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0
IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRh
QnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFRleHRFbmNvZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmlu
ZyYgYWNjZXB0Q2hhcnNldCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCmluZGV4
IGQxZjJkYjQuLjI2ZjhkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5k
ZWYgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogI2RlZmluZSBOZXR3b3JrU3RhdGVOb3RpZmllcl9o
CiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNjEsNyArNjIsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllclByaXZhdGU7CiAjZW5kaWYKIAot
Y2xhc3MgTmV0d29ya1N0YXRlTm90aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TmV0d29ya1N0YXRlTm90aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5ldHdvcmtT
dGF0ZU5vdGlmaWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgTmV0
d29ya1N0YXRlTm90aWZpZXIoKTsKICAgICB2b2lkIHNldE5ldHdvcmtTdGF0ZUNoYW5nZWRGdW5j
dGlvbih2b2lkICgqKSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKaW5kZXggZDgzM2UzMi4uZWQ2Njk0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZUludGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9u
OwogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50Owog
Ci0gICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwoUmVzb3VyY2VI
YW5kbGUqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhh
bmRsZUNsaWVudCogYywgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlm
ZikKICAgICAgICAgICAgIDogbV9jbGllbnQoYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggNWNiN2VlMy4uZGNl
MzNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZVJlcXVlc3RCYXNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICAvLyBEbyBu
b3QgdXNlIHRoaXMgdHlwZSBkaXJlY3RseS4gIFVzZSBSZXNvdXJjZVJlcXVlc3QgaW5zdGVhZC4K
LSAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3RCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdEJhc2UgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3Vy
Y2VSZXF1ZXN0LCBiYXNlZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAg
ICAgZW51bSBUYXJnZXRUeXBlIHsKQEAgLTIwNyw3ICsyMDgsMTAgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBh
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6
OmNvbXBhcmUoYSwgYik7IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVx
dWVzdCYgYSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0K
IAotICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29w
eWFibGUgeworICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3RE
YXRhQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKKyAgICAgICAg
Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSgpIHsgfQogICAgICAgICBLVVJMIG1f
dXJsOwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IG1fY2FjaGVQb2xpY3k7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVz
cG9uc2VCYXNlLmgKaW5kZXggOWM1NGJhYi4uZTA3NzRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtNDEs
NyArNDEsOCBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IENyb3NzVGhyZWFkUmVz
b3VyY2VSZXNwb25zZURhdGE7CiAKIC8vIERvIG5vdCB1c2UgdGhpcyBjbGFzcyBkaXJlY3RseSwg
dXNlIHRoZSBjbGFzcyBSZXNwb25zZVJlc3BvbnNlIGluc3RlYWQKLWNsYXNzIFJlc291cmNlUmVz
cG9uc2VCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZUJhc2UgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJl
YWRSZXNvdXJjZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEwIEBAIHByaXZhdGU6
CiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9uc2VCYXNlOjpjb21w
YXJlKGEsIGIpOyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIGEsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQog
Ci1zdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25jb3B5YWJs
ZSB7CitzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKTsK
K3B1YmxpYzoKKyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSgpIHsgfQog
ICAgIEtVUkwgbV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgbG9uZyBsb25nIG1f
ZXhwZWN0ZWRDb250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCBlYmI2YzVm
Li5hNzE3MGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNjAsNyArNjAsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICNkZWZpbmUgUkVBRF9CVUZGRVJfU0laRSA4MTkyCiAKLWNsYXNz
IFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1
YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoKICAgICBXZWJDb3JlU3luY2hyb25vdXNM
b2FkZXIoUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UgJiwgVmVjdG9yPGNoYXI+Jik7
CiAgICAgfldlYkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4
IDM4ZDljZDEuLmY1MDU0MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKQEAgLTc2LDcgKzc2LDggQEAg
c3RhdGljIFN0cmluZyBxdWVyeUhUVFBIZWFkZXIoSElOVEVSTkVUIHJlcXVlc3RIYW5kbGUsIERX
T1JEIGluZm9MZXZlbCkKIH0KIAogCi1jbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBw
dWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJs
aWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJj
ZVJlc3BvbnNlJiwgVmVjdG9yPGNoYXI+JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAg
IH5XZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9D
bGlwYm9hcmRRdC5oCmluZGV4IDVhY2ExYTYuLmZiNWFiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcXQvQ2xpcGJvYXJkUXQuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFn
IGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMg
Q2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENsaXBib2FyZFF0PiBjcmVhdGUoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgY29uc3Qg
UU1pbWVEYXRhKiByZWFkYWJsZUNsaXBib2FyZCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5MjczLi5kYTUzYWNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaApAQCAtNTAs
NyArNTAsOCBAQCBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdFNjaGVtYTsKIGV4dGVybiBjb25z
dCBpbnQgU1FMUmVzdWx0RnVsbDsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0SW50ZXJydXB0
OwogCi1jbGFzcyBTUUxpdGVEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
UUxpdGVEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlRGF0YWJhc2Up
OwogICAgIGZyaWVuZCBjbGFzcyBTUUxpdGVUcmFuc2FjdGlvbjsKIHB1YmxpYzoKICAgICBTUUxp
dGVEYXRhYmFzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NR
TGl0ZVN0YXRlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRl
bWVudC5oCmluZGV4IDE0NDRmMGUuLmZkMWFiZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1FMaXRlU3RhdGVtZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgU1FMaXRlU3RhdGVtZW50KFNRTGl0ZURhdGFiYXNlJiwgY29uc3QgU3RyaW5n
Jik7CiAgICAgflNRTGl0ZVN0YXRlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFmLi5iYTY4NmJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaApAQCAtMjYs
MTQgKzI2LDE1IEBACiAjaWZuZGVmIFNRTGl0ZVRyYW5zYWN0aW9uX2gKICNkZWZpbmUgU1FMaXRl
VHJhbnNhY3Rpb25faAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxp
dGVEYXRhYmFzZTsKIAotY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24gOiBwdWJsaWMgTm9uY29weWFi
bGUKLXsKK2NsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTUUxpdGVUcmFuc2FjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFNRTGl0ZVRyYW5zYWN0aW9uKFNRTGl0ZURhdGFiYXNlJiBkYiwgYm9vbCByZWFkT25seSA9
IGZhbHNlKTsKICAgICB+U1FMaXRlVHJhbnNhY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCmluZGV4IDFmODcxMTUuLjk3YjkzNzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApAQCAtMTI2LDcgKzEyNiw4
IEBAIHN0cnVjdCBCaWRpQ2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25l
eHQ7CiB9OwogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlk
aVJlc29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRv
ciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEJpZGlSZXNvbHZlcik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAg
IDogbV9kaXJlY3Rpb24oV1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKaW5kZXggZjE2MTFlNS4u
NTM2ZWQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFy
RXhwcmVzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4
cHJlc3Npb24uaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFJlZ3VsYXJFeHByZXNzaW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUmVn
dWxhckV4cHJlc3Npb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFJlZ3VsYXJFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkp
OwogICAgIH5SZWd1bGFyRXhwcmVzc2lvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
VGV4dENvZGVjLmgKaW5kZXggYzZhZjM4YS4uMzUyMjlhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRDb2RlYy5oCkBAIC01Nyw4ICs1NywxMCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5WzMyXTsK
IAotICAgIGNsYXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VGV4dENvZGVjIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVjKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAgICBUZXh0Q29kZWMoKSB7
IH0KICAgICAgICAgdmlydHVhbCB+VGV4dENvZGVjKCk7CiAKICAgICAgICAgU3RyaW5nIGRlY29k
ZShjb25zdCBjaGFyKiBzdHIsIHNpemVfdCBsZW5ndGgsIGJvb2wgZmx1c2ggPSBmYWxzZSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJh
bnNjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRU
cmFuc2NvZGVyLmgKaW5kZXggNjdkYjk3Ny4uNjk5MGExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKQEAg
LTQwLDcgKzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udERlc2NyaXB0aW9u
OwogY2xhc3MgVGV4dEVuY29kaW5nOwogCi1jbGFzcyBGb250VHJhbnNjb2RlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBGb250VHJhbnNjb2RlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRm9udFRyYW5zY29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICB2b2lkIGNvbnZlcnQoU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBj
b25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CiAgICAgYm9vbCBuZWVkc1RyYW5zY29kaW5n
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyogPSAwKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAppbmRleCBjZTY0Yjg1
Li43NzlkYTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJv
YXJkV2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5o
CkBAIC00MSw2ICs0MSw3IEBAIGNsYXNzIFdDRGF0YU9iamVjdDsKIAogLy8gU3RhdGUgYXZhaWxh
YmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQog
Y2xhc3MgQ2xpcGJvYXJkV2luIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291
cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0ZShDbGlwYm9hcmRUeXBlIGNsaXBi
b2FyZFR5cGUsIElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kg
cG9saWN5LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oCmluZGV4IGU3ODU2ZTcuLmQz
NmMyMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNz
YWdlQnJvYWRjYXN0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93
TWVzc2FnZUJyb2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNz
YWdlTGlzdGVuZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlcik7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dN
ZXNzYWdlTGlzdGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdO
RCwgV2luZG93TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bHVnaW5zL1BsdWdpbkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRh
dGFiYXNlLmgKaW5kZXggYjE0NjA1Zi4uYzQxMmMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luRGF0YWJhc2UuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFBsdWdpblBhY2thZ2U+LCBQbHVnaW5QYWNrYWdl
SGFzaD4gUGx1Z2luU2V0OwogCi0gICAgY2xhc3MgUGx1Z2luRGF0YWJhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNlIHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUGx1Z2luRGF0YWJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIFBsdWdpbkRhdGFiYXNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvU291cmNlL1dl
YkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKaW5kZXggNjEwZTg5Yy4u
MjliYzRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhy
ZWFkU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhy
ZWFkU2NoZWR1bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgdm9pZCBNYWluVGhyZWFk
RnVuY3Rpb24odm9pZCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpblZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IDA0
NGQ2ZTIuLjhmOGYxM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
Vmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC05NSw3
ICs5NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUGx1Z2luU3RhdHVzTG9hZGVk
U3VjY2Vzc2Z1bGx5CiAgICAgfTsKIAotICAgIGNsYXNzIFBsdWdpblJlcXVlc3QgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFBsdWdpblJlcXVlc3QgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbHVnaW5SZXF1ZXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3Qm
IGZyYW1lTG9hZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0
YSwgYm9vbCBzaG91bGRBbGxvd1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1
ZXN0KGZyYW1lTG9hZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvQ29sdW1uSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApp
bmRleCA1ZTZmNjE5Li5kNzdkNmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvQ29sdW1uSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZv
LmgKQEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb2x1
bW5JbmZvIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENvbHVtbkluZm8geworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENvbHVtbkluZm8pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBDb2x1bW5JbmZvKCkKICAgICAgICAgOiBtX2Rlc2lyZWRDb2x1bW5XaWR0
aCgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAppbmRleCAwZDA2Y2IxLi5j
NDk5NDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMzcsNyAr
MzcsOCBAQCBjbGFzcyBSZW5kZXJBcmVuYTsKIGNsYXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRl
ck9iamVjdDsKIAotY2xhc3MgTGF5b3V0U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgTGF5b3V0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlKTsK
IHB1YmxpYzoKICAgICBMYXlvdXRTdGF0ZSgpCiAgICAgICAgIDogbV9jbGlwcGVkKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi5lMWZmNTM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaApAQCAtMzYsMTMgKzM2LDE1
IEBACiAjZGVmaW5lIFJlbmRlckFyZW5hX2gKIAogI2luY2x1ZGUgIkFyZW5hLmgiCisjaW5jbHVk
ZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3Qgc2l6ZV90IGdNYXhSZWN5Y2xlZFNp
emUgPSA0MDA7CiAKLWNsYXNzIFJlbmRlckFyZW5hIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFJlbmRlckFyZW5hIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJBcmVuYSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbmRlckFyZW5hKHVuc2ln
bmVkIGFyZW5hU2l6ZSA9IDQwOTYpOwogICAgIH5SZW5kZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA5NTI5YmQ2Li5mODgyOWVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzYwLDcgKzM2MCw5IEBAIHByaXZhdGU6
CiAgICAgICAgIGJvb2wgZXZlckhhZExheW91dDsKICAgICB9OwogCi0gICAgc3RydWN0IEZsb2F0
aW5nT2JqZWN0IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICAvLyBOb3RlIHRoYXQgVHlwZSB1c2Vz
IGJpdHMgc28geW91IGNhbiB1c2UgRmxvYXRCb3RoIGFzIGEgbWFzayB0byBxdWVyeSBmb3IgYm90
aCBsZWZ0IGFuZCByaWdodC4KICAgICAgICAgZW51bSBUeXBlIHsgRmxvYXRMZWZ0ID0gMSwgRmxv
YXRSaWdodCA9IDIsIEZsb2F0Qm90aCA9IDMgfTsKIApAQCAtNjc4LDcgKzY4MCw5IEBAIHByaXZh
dGU6CiAgICAgUG9zaXRpb25lZE9iamVjdHNMaXN0SGFzaFNldCogbV9wb3NpdGlvbmVkT2JqZWN0
czsKIAogICAgIC8vIEFsbG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMgaGF2
ZSBub24tZGVmYXVsdCB2YWx1ZXMKLSAgICBzdHJ1Y3QgUmVuZGVyQmxvY2tSYXJlRGF0YSA6IE5v
bmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgUmVuZGVyQmxvY2tSYXJlRGF0YSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckJsb2NrUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIFJlbmRlckJsb2NrUmFyZURhdGEoY29uc3Qg
UmVuZGVyQmxvY2sqIGJsb2NrKSAKICAgICAgICAgICAgIDogbV9tYXJnaW5zKHBvc2l0aXZlTWFy
Z2luQmVmb3JlRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQmVmb3JlRGVmYXVsdChibG9j
ayksIHBvc2l0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5BZnRl
ckRlZmF1bHQoYmxvY2spKQogICAgICAgICAgICAgLCBtX3BhZ2luYXRpb25TdHJ1dCgwKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5k
ZXggZmIwMjRmYy4uZjI0MTJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC02Myw3ICs2Myw4IEBAIHR5cGVkZWYgSGFzaE1h
cDxMYXN0UGFpbnRTaXplTWFwS2V5LCBJbnRTaXplPiBMYXN0UGFpbnRTaXplTWFwOwogdHlwZWRl
ZiBIYXNoTWFwPGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiwgUmVuZGVyQm94TW9kZWxPYmpl
Y3QqPiBDb250aW51YXRpb25NYXA7CiBzdGF0aWMgQ29udGludWF0aW9uTWFwKiBjb250aW51YXRp
b25NYXAgPSAwOwogCi1jbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEltYWdlUXVhbGl0eUNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91
bGRQYWludEF0TG93UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVj
dCosIEltYWdlKiwgY29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKaW5kZXggZDBhYjM0Ni4uMWU1MTFkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKQEAgLTczLDcgKzcz
LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgaW50IG5vU3BsaXQgPSAt
MTsKIAotICAgIGNsYXNzIEdyaWRBeGlzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBHcmlkQXhpcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyaWRBeGlzKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEdyaWRBeGlzKCk7CiAgICAgICAgIHZvaWQgcmVzaXplKGludCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJj
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRl
eCAyMzQ2NzEyLi5hMjBjNTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2VSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZVJlc291cmNlLmgKQEAgLTI5LDEzICsyOSwxMyBAQAogI2luY2x1ZGUgIkNhY2hlZElt
YWdlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJTdHls
ZUltYWdlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBSZW5kZXJJbWFnZVJlc291cmNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckltYWdlUmVzb3VyY2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckltYWdlUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRl
eCA1YzZlZDEyLi43MjZiNzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5oCkBAIC01Myw3ICs1Myw4IEBAIGVudW0gQ29tcG9zaXRpbmdMYXllclR5
cGUgewogLy8gCiAvLyBUaGVyZSBpcyBvbmUgUmVuZGVyTGF5ZXJCYWNraW5nIGZvciBlYWNoIFJl
bmRlckxheWVyIHRoYXQgaXMgY29tcG9zaXRlZC4KIAotY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5n
IDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyTGF5ZXJCYWNraW5nKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyTGF5ZXJCYWNraW5nKFJlbmRlckxheWVyKik7
CiAgICAgflJlbmRlckxheWVyQmFja2luZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNYXJxdWVlLmgKaW5kZXggNzk5OThlZC4uOThmZGRiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8t
c2Nyb2xsaW5nIG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVy
TWFycXVlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyTWFycXVlZShSZW5kZXJMYXllciop
OwogICAgIHZpcnR1YWwgflJlbmRlck1hcnF1ZWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck92ZXJmbG93LmgKaW5kZXggN2RjMmJjYi4uMzNlOGNmZmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlCiAvLyBFeGFtcGxlcyBvZiB2aXN1YWwgb3ZlcmZsb3cgYXJlIHNoYWRvd3MsIHRl
eHQgc3Ryb2tlIChhbmQgZXZlbnR1YWxseSBvdXRsaW5lIGFuZCBib3JkZXItaW1hZ2UpLgogCiAv
LyBUaGlzIG9iamVjdCBpcyBhbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRz
IGhhdmUgbm9uLWRlZmF1bHQgdmFsdWVzIGluIHRoZSBvd25pbmcgYm94LgotY2xhc3MgUmVuZGVy
T3ZlcmZsb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyT3ZlcmZsb3cgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlck92ZXJmbG93KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyT3ZlcmZsb3coY29uc3QgSW50UmVjdCYgbGF5
b3V0UmVjdCwgY29uc3QgSW50UmVjdCYgdmlzdWFsUmVjdCkgCiAgICAgICAgIDogbV90b3BMYXlv
dXRPdmVyZmxvdyhsYXlvdXRSZWN0LnkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyU2VsZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEuLjQ1Y2E4MTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaApAQCAtMzAsNyArMzAs
OCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlclNlbGVjdGlvbkluZm9C
YXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlclNlbGVjdGlvbkluZm9CYXNl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlvbkluZm9C
YXNlKCkKICAgICAgICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmgKaW5kZXggMWRmZDRjZS4uN2U1YjRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlldy5oCkBAIC0yNjQsNyArMjY0LDggQEAgdm9pZCB0b1JlbmRlclZpZXcoY29uc3QgUmVu
ZGVyVmlldyopOwogCiAKIC8vIFN0YWNrLWJhc2VkIGNsYXNzIHRvIGFzc2lzdCB3aXRoIExheW91
dFN0YXRlIHB1c2gvcG9wCi1jbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMYXlvdXRTdGF0ZU1haW50YWluZXIpOwogcHVibGljOgogICAgIC8vIGN0b3Ig
dG8gcHVzaCBub3cKICAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmlldyogdmlldywg
UmVuZGVyQm94KiByb290LCBJbnRTaXplIG9mZnNldCwgYm9vbCBkaXNhYmxlU3RhdGUgPSBmYWxz
ZSwgaW50IHBhZ2VIZWlnaHQgPSAwLCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0gZmFsc2UsIENv
bHVtbkluZm8qIGNvbEluZm8gPSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlcldpZGdldFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKQEAgLTMwLDcg
KzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJXaWRnZXRQcm90
ZWN0b3IgOiBwcml2YXRlIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlcldpZGdldFByb3RlY3Rv
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKTsKIHB1
YmxpYzoKICAgICBSZW5kZXJXaWRnZXRQcm90ZWN0b3IoUmVuZGVyV2lkZ2V0KiBvYmplY3QpCiAg
ICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1RhYmxlTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlv
dXQuaAppbmRleCBlMGZhOGVlLi5jNWY2MWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvVGFibGVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGFi
bGVMYXlvdXQuaApAQCAtMjEsMTMgKzIxLDE1IEBACiAjaWZuZGVmIFRhYmxlTGF5b3V0X2gKICNk
ZWZpbmUgVGFibGVMYXlvdXRfaAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNp
bmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBSZW5kZXJUYWJsZTsKIAotY2xhc3MgVGFibGVMYXlvdXQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVGFibGVMYXlvdXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhYmxlTGF5
b3V0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGFibGVMYXlvdXQo
UmVuZGVyVGFibGUqIHRhYmxlKQogICAgICAgICA6IG1fdGFibGUodGFibGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCmluZGV4IDBiNGNhNDYuLjM2ZmM2ZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEs
MTQgQEAKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5j
bHVkZSAiVHJhbnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFRyYW5zZm9ybVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9y
bVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJs
aWM6CiAgICAgZW51bSBUcmFuc2Zvcm1EaXJlY3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlv
biwgVW5hcHBseUludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9y
bUFjY3VtdWxhdGlvbiB7IEZsYXR0ZW5UcmFuc2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2Fj
aGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaApp
bmRleCA0ZGVhZWY1Li5iMjViMmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCkBAIC0zOCw3ICszOCw4IEBAIGNvbnN0IGludCBQb3Np
dGlvblRvcCA9IC0weDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uQm90dG9tID0gMHg3ZmZm
ZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvblVuZGVmaW5lZCA9IDB4ODAwMDAwMDA7CiAKLWNsYXNz
IFZlcnRpY2FsUG9zaXRpb25DYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWZXJ0
aWNhbFBvc2l0aW9uQ2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZlcnRpY2FsUG9z
aXRpb25DYWNoZSk7CiBwdWJsaWM6CiAgICAgVmVydGljYWxQb3NpdGlvbkNhY2hlKCkKICAgICB7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5kZXgg
NGY5NjRhMi4uMTVmNjkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0NvbnRlbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Nv
bnRlbnREYXRhLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBTdHlsZUltYWdlOwogCi1zdHJ1Y3QgQ29udGVudERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgQ29udGVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRlbnREYXRhKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAg
ICAgICA6IG1fdHlwZShDT05URU5UX05PTkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9Db3VudGVyQ29udGVudC5oCmluZGV4IDUyNzU3YWQuLjgxNDAzOWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oCkBAIC0zMCw3
ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ291bnRlckNvbnRlbnQg
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb3VudGVyQ29udGVudCB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ291bnRlckNvbnRlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiBpZGVudGlmaWVyLCBFTGlzdFN0eWxlVHlwZSBzdHlsZSwgY29uc3QgQXRv
bWljU3RyaW5nJiBzZXBhcmF0b3IpCiAgICAgICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKaW5kZXggNDlmYjI5
NC4uODQ3ZThkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Zp
bGxMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIu
aApAQCAtNTksNyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6
ZTsKIH07CiAKLWNsYXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNz
IEZpbGxMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
RmlsbExheWVyKEVGaWxsTGF5ZXJUeXBlKTsKICAgICB+RmlsbExheWVyKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRleCBmYjU5MjZkLi4wYmUzZmMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKQEAgLTI2
LDcgKzI2LDYgQEAKICNkZWZpbmUgU2hhZG93RGF0YV9oCiAKICNpbmNsdWRlICJDb2xvci5oIgot
I2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMzcsNyArMzYsOCBAQCBlbnVtIFNoYWRvd1N0eWxlIHsgTm9ybWFsLCBJbnNldCB9OwogCiAv
LyBUaGlzIHN0cnVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCBzaGFkb3dzIGZvciB0aGUgdGV4
dC1zaGFkb3cgYW5kIGJveC1zaGFkb3cgcHJvcGVydGllcy4KIAotY2xhc3MgU2hhZG93RGF0YSA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFNoYWRvd0RhdGEgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAgICA6IG1f
eCgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
ZXNvdXJjZUNsaXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZH
UmVzb3VyY2VDbGlwcGVyLmgKaW5kZXggN2Y4NjJhNy4uOTk4NjFkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5o
CkBAIC0zNSw3ICszNSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBw
ZXJEYXRhIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gY2xp
cE1hc2tJbWFnZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdJbWFnZUJ1ZmZlclRvb2xzLmgKaW5kZXggY2ZiMTViMi4uMTE1NzdjMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKQEAgLTMy
LDcgKzMyLDggQEAgY2xhc3MgRmxvYXRTaXplOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xh
c3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNWR0ltYWdlQnVmZmVyVG9vbHMpOwogcHVibGljOgogICAgIHN0YXRpYyBib29s
IGNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVUYXJnZXRSZWN0LCBj
b25zdCBGbG9hdFJlY3QmIGNsYW1wZWRBYnNvbHV0ZVRhcmdldFJlY3QsIE93blB0cjxJbWFnZUJ1
ZmZlcj4mLCBDb2xvclNwYWNlKTsKICAgICBzdGF0aWMgdm9pZCByZW5kZXJTdWJ0cmVlVG9JbWFn
ZUJ1ZmZlcihJbWFnZUJ1ZmZlciosIFJlbmRlck9iamVjdCosIGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdNYXJrZXJM
YXlvdXRJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR01hcmtlckxheW91
dEluZm8uaAppbmRleCA1ZTc1ZjBiLi4zMjMxN2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR01hcmtlckxheW91dEluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR01hcmtlckxheW91dEluZm8uaApAQCAtNDMsNyArNDMsOCBAQCBz
dHJ1Y3QgTWFya2VyTGF5b3V0IHsKICAgICBBZmZpbmVUcmFuc2Zvcm0gbWF0cml4OwogfTsKIAot
Y2xhc3MgU1ZHTWFya2VyTGF5b3V0SW5mbyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdNYXJrZXJMYXlvdXRJbmZvIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdNYXJrZXJM
YXlvdXRJbmZvKTsKIHB1YmxpYzoKICAgICBTVkdNYXJrZXJMYXlvdXRJbmZvKCk7CiAgICAgflNW
R01hcmtlckxheW91dEluZm8oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVzb3VyY2VzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jl
c291cmNlcy5oCmluZGV4IGRkMzI4YjguLjQ4Y2NhMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuaApAQCAtMzgsNyArMzgsOCBAQCBjbGFzcyBSZW5kZXJT
VkdSZXNvdXJjZU1hc2tlcjsKIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogCiAvLyBIb2xkcyBhIHNl
dCBvZiByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIGEgUmVuZGVyT2JqZWN0Ci1jbGFzcyBTVkdS
ZXNvdXJjZXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVzb3VyY2VzIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oCmluZGV4IDMwZWFlY2EuLmJjNzNm
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2Vz
Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0Nh
Y2hlLmgKQEAgLTMxLDcgKzMxLDggQEAgY2xhc3MgUmVuZGVyU3R5bGU7CiBjbGFzcyBSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lcjsKIGNsYXNzIFNWR1Jlc291cmNlczsKIAotY2xhc3MgU1ZHUmVz
b3VyY2VzQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVzb3VyY2VzQ2Fj
aGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlc0NhY2hlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGUoKTsKICAg
ICB+U1ZHUmVzb3VyY2VzQ2FjaGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCAwNjUzMzA0Li4wOTlmOTFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0N5
Y2xlU29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJj
ZXNDeWNsZVNvbHZlci5oCkBAIC0yOSw3ICsyOSw4IEBAIGNsYXNzIFJlbmRlck9iamVjdDsKIGNs
YXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1j
bGFzcyBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZH
UmVzb3VyY2VzQ3ljbGVTb2x2ZXIpOwogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0N5Y2xlU29s
dmVyKFJlbmRlck9iamVjdCosIFNWR1Jlc291cmNlcyopOwogICAgIH5TVkdSZXNvdXJjZXNDeWNs
ZVNvbHZlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0Q2h1bmtCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRD
aHVua0J1aWxkZXIuaAppbmRleCAzNjM0MmU3Li4zMjFmMzkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaApAQCAtMzUsNyArMzUs
OCBAQCBzdHJ1Y3QgU1ZHVGV4dEZyYWdtZW50OwogLy8gUGhhc2UgdHdvIHBlcmZvcm1lZCB0aGUg
YWN0dWFsIHBlci1jaGFyYWN0ZXIgbGF5b3V0LCBjb21wdXRpbmcgdGhlIGZpbmFsIHBvc2l0aW9u
cyBmb3IgZWFjaCBjaGFyYWN0ZXIsIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBvYmpl
Y3RzIChTVkdUZXh0RnJhZ21lbnQpLgogLy8gUGhhc2UgdGhyZWUgcGVyZm9ybXMgYWxsIG1vZGlm
aWNhdGlvbnMgdGhhdCBoYXZlIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCBpbmRpdmlkdWFsIHRleHQg
Y2h1bmsgKHRleHQtYW5jaG9yICYgdGV4dExlbmd0aCkuCiAKLWNsYXNzIFNWR1RleHRDaHVua0J1
aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dENodW5rQnVpbGRlcik7CiBwdWJsaWM6
CiAgICAgU1ZHVGV4dENodW5rQnVpbGRlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaApp
bmRleCBmMjlhYzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKQEAgLTM4
LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHVGV4dDsKIC8vIHRvIGNyZWF0ZSB0aGUgSW5saW5l
Qm94IHRyZWUgYmFzZWQgb24gdGV4dCBjaHVuayBib3VuZGFyaWVzICYgQmlEaSBpbmZvcm1hdGlv
bi4KIC8vIFRoZSBzZWNvbmQgbGF5b3V0IHBoYXNlIGlzIGNhcnJpZWQgb3V0IGJ5IFNWR1RleHRM
YXlvdXRFbmdpbmUuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRl
cik7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyKCk7CiAgICAg
dm9pZCBidWlsZExheW91dEF0dHJpYnV0ZXNGb3JUZXh0U3VidHJlZShSZW5kZXJTVkdUZXh0Kik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZS5oCmluZGV4IGFkMDU4ZDguLjYzMWU0Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNz
IFNWR1JlbmRlclN0eWxlOwogLy8gUmVuZGVyU1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29t
cHV0ZSB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJl
IHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0
TGF5b3V0RW5naW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRF
bmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwog
cHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWls
ZGVyJiBjaHVua0xheW91dEJ1aWxkZXIoKSB7IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0
RW5naW5lQmFzZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExh
eW91dEVuZ2luZUJhc2VsaW5lLmgKaW5kZXggZDc1M2IzOS4uNjc5NGJmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVC
YXNlbGluZS5oCkBAIC0zMyw3ICszMyw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3Mg
U1ZHVGV4dE1ldHJpY3M7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRF
bmdpbmUgdG8gaGFuZGxlICdhbGlnbm1lbnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2VsaW5l
JyBhbmQgJ2Jhc2VsaW5lLXNoaWZ0Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGlu
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGlu
ZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZvbnQm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0RW5naW5lU3BhY2luZy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0
TGF5b3V0RW5naW5lU3BhY2luZy5oCmluZGV4IDBhNmQ3MzYuLjcxZDQ3MDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVT
cGFjaW5nLmgKQEAgLTMwLDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBT
VkdFbGVtZW50OwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5l
IHRvIGhhbmRsZSAna2VybmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5n
Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4
dExheW91dEVuZ2luZVNwYWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZVRhc2suaAppbmRleCBiNjFlNDY1Li5lMWRmNTkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2VUYXNrLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAvLyBDYW4gYmUgdXNlZCB0byB3YWl0IHVudGlsIERhdGFiYXNlVGFzayBpcyBjb21wbGV0ZWQu
CiAvLyBIYXMgdG8gYmUgcGFzc2VkIGludG8gRGF0YWJhc2VUYXNrOjpjcmVhdGUgdG8gYmUgYXNz
b2NpYXRlZCB3aXRoIHRoZSB0YXNrLgotY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNrU3luY2hyb25pemVyKTsKIHB1Ymxp
YzoKICAgICBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIoKTsKIApAQCAtNjcsNyArNjgsOCBAQCBw
cml2YXRlOgogI2VuZGlmCiB9OwogCi1jbGFzcyBEYXRhYmFzZVRhc2sgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
YXRhYmFzZVRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5EYXRhYmFzZVRhc2soKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFj
a2VyLmgKaW5kZXggNzE0NWU2Yi4uYTFhNWJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0Rh
dGFiYXNlVHJhY2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNs
aWVudDsKIHN0cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0o
Q0hST01JVU0pCiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEYXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFi
YXNlVHJhY2tlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGluaXRpYWxpemVUcmFja2VyKGNvbnN0IFN0cmluZyYgZGF0YWJhc2VQYXRoKTsKICAg
ICBzdGF0aWMgRGF0YWJhc2VUcmFja2VyJiB0cmFja2VyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCmluZGV4IDc4M2E3
MzEuLjViYzZhY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGlu
Z1RyYW5zYWN0aW9uTW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVu
ZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZTsKIC8vIEZJWE1FOiBtb3ZlIHRoZSB2ZWN0b3Igb2YgdHJh
bnNhY3Rpb25zIHRvIFRMUy4gS2VlcGluZyBpdCBzdGF0aWMKIC8vIHdpbGwgbm90IHdvcmsgb25j
ZSB3ZSBhZGQgc3VwcG9ydCBmb3Igd29ya2Vycy4gQW5vdGhlciBwb3NzaWJsZQogLy8gc29sdXRp
b24gaXMgdG8ga2VlcCB0aGUgdmVjdG9yIGluIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0Lgot
Y2xhc3MgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBhZGRQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlKik7CiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlUGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3Rv
cmFnZVRhc2suaAppbmRleCBhMmUzNWVhLi4yN2E4ZWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0xvY2FsU3RvcmFnZVRhc2suaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkOwogCiAgICAgLy8gRklYTUU6IFJlbmFt
ZSB0aGlzIGNsYXNzIHRvIFN0b3JhZ2VUYXNrCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsU3RvcmFnZVRhc2spOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQs
IEFyZWFTeW5jLCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKaW5kZXggNmYwNTkxMS4u
YTJjNzhjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VU
aHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5o
CkBAIC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBMb2NhbFN0
b3JhZ2VUYXNrOwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIGNsYXNzIHRvIFN0b3JhZ2VU
aHJlYWQKLSAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvY2FsU3RvcmFnZVRocmVhZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
IHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGhyZWFkPiBj
cmVhdGUoKTsKICAgICAgICAgfkxvY2FsU3RvcmFnZVRocmVhZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKaW5kZXggZWM5NjIwYy4uODJkN2M3NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0
MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFz
cyBPcmlnaW5Vc2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgT3JpZ2luUXVvdGFNYW5hZ2VyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAppbmRleCBhODMwZTY4Li43NTU3ZWFhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCkBAIC0zOSw3ICszOSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gT2JqZWN0cyBvZiB0aGlzIGNsYXNzIGNhbiBiZSB1
c2VkIGZyb20gbXVsdGlwbGUgdGhyZWFkcyB3aXRoIGV4dGVybmFsIHN5bmNocm9uaXphdGlvbi4K
IC8vIFN0cmluZyBhcmd1bWVudHMgYXJlIGFsc28gc3VwcG9zZWQgdG8gYmUgZGVlcGx5IGNvcGll
ZCBieSB0aGUgY2FsbGVyIHdoZW4gbmVjZXNzYXJ5LgotY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE9yaWdpblVzYWdlUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgT3JpZ2luVXNhZ2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2NTcuLjNjNWVj
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmgK
QEAgLTMzLDYgKzMzLDcgQEAKIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKIAorI2luY2x1ZGUgPHd0
Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQxLDggKzQyLDEwIEBAIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7
CiAKIC8vIEEgY2xpZW50IHRvIHRoZSBTUUxUcmFuc2FjdGlvbiBjbGFzcy4gQWxsb3dzIFNRTFRy
YW5zYWN0aW9uIHRvIG5vdGlmeSBpbnRlcmVzdGVkCiAvLyBwYXJ0aWVzIHRoYXQgY2VydGFpbiB0
aGluZ3MgaGF2ZSBoYXBwZW5lZCBpbiBhIHRyYW5zYWN0aW9uLgotY2xhc3MgU1FMVHJhbnNhY3Rp
b25DbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMVHJhbnNhY3Rpb25DbGll
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTFRyYW5zYWN0aW9uQ2xpZW50KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU1FMVHJhbnNhY3Rpb25DbGllbnQo
KSB7IH0KICAgICB2b2lkIGRpZENvbW1pdFdyaXRlVHJhbnNhY3Rpb24oQWJzdHJhY3REYXRhYmFz
ZSopOwogICAgIHZvaWQgZGlkRXhlY3V0ZVN0YXRlbWVudChBYnN0cmFjdERhdGFiYXNlKik7CiAg
ICAgYm9vbCBkaWRFeGNlZWRRdW90YShBYnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCmluZGV4IDk0MzYw
YzAuLmZkNzY3ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25Db29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25Db29yZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9u
Q29vcmRpbmF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0
aW9uQ29vcmRpbmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2Fj
dGlvbkNvb3JkaW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgor
ICAgICAgICBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKCkgeyB9CiAgICAgICAgIHZvaWQgYWNx
dWlyZUxvY2soU1FMVHJhbnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCByZWxlYXNlTG9jayhTUUxU
cmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHNodXRkb3duKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMGVkNjJhOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaApAQCAtMzgsNyArMzgsOCBA
QCBjbGFzcyBTVkdTdHlsZWRFbGVtZW50OwogY2xhc3MgU1ZHU01JTEVsZW1lbnQ7CiBjbGFzcyBT
VkdTVkdFbGVtZW50OwogCi1jbGFzcyBTVkdEb2N1bWVudEV4dGVuc2lvbnMgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTVkdEb2N1bWVudEV4dGVuc2lvbnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+
ID4gU1ZHUGVuZGluZ0VsZW1lbnRzOwogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVu
dCopOwpAQCAtNjgsOSArNjksNiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5n
LCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNW
R1Jlc291cmNlc0NhY2hlPiBtX3Jlc291cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRl
bnNpb25zKGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0
ZW5zaW9ucyYgb3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJs
aWM6CiAgICAgLy8gVGhpcyBIYXNoTWFwIGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291
cmNlcy4gUGVuZGluZyByZXNvdXJjZXMsIGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVy
ZW5jZWQgYnkgYW55IG9iamVjdCBpbiB0aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0
IHlldC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAppbmRleCA0Mjc2YzRh
Li4zMzE4ZGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVE
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0z
MSw3ICszMSw4IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50Owog
Y2xhc3MgU1ZHRWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBTVkdFbGVtZW50UmFyZURhdGEoKQogICAgICAgICA6IG1fY3Vy
c29yRWxlbWVudCgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li5mMjAy
ZDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaApAQCAtMjUsNyArMjUsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR0ZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR0ZvbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdGb250
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0ZvbnREYXRh
KFNWR0ZvbnRGYWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCmluZGV4IGMwYWU3ZjMuLjhlNDNiOTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCkBAIC0yMywxMSArMjMsMTEgQEAKICNpZiBFTkFC
TEUoU1ZHKQogI2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhT
b3VyY2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTVkdQYXRoQmxlbmRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTVkdQYXRoQmxlbmRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aEJsZW5k
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdQYXRoQmxlbmRl
cigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0u
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCmluZGV4IGI4ODgyYjYu
LmE0NDRhYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVh
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC00Myw3
ICs0Myw4IEBAIHR5cGVkZWYgdW5pb24gewogICAgIHVuc2lnbmVkIGNoYXIgYnl0ZXNbc2l6ZW9m
KHVuc2lnbmVkIHNob3J0KV07CiB9IFVuc2lnbmVkU2hvcnRCeXRlOwogCi1jbGFzcyBTVkdQYXRo
Qnl0ZVN0cmVhbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQnl0ZVN0cmVh
bSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aEJ5dGVTdHJlYW0pOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxTVkdQYXRo
Qnl0ZVN0cmVhbT4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aENvbnN1bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVy
LmgKaW5kZXggYjdjNWU3My4uYWYzZjc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhDb25zdW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3Vt
ZXIuaApAQCAtMjYsNiArMjYsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9h
dFBvaW50LmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsOCArNDEsMTAgQEAg
ZW51bSBQYXRoUGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNz
IFNWR1BhdGhDb25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29u
c3VtZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNWR1BhdGhDb25zdW1lcigpIHsgfQog
ICAgIHZpcnR1YWwgdm9pZCBpbmNyZW1lbnRQYXRoU2VnbWVudENvdW50KCkgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBjb250aW51ZUNvbnN1bWluZygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xl
YW51cCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2Vy
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLjA5
NjEzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaApAQCAtMjksMTIgKzI5LDEyIEBA
CiAjaW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNlZy5oIgog
I2luY2x1ZGUgIlNWR1BhdGhTb3VyY2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR1BhdGhQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aFBh
cnNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aFBhcnNlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoU291cmNlLmgKaW5kZXggZDFhNjE0OS4uNzdiZjlmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNvdXJjZS5oCkBAIC0yNSw4ICsyNSwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFNWR1BhdGhTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U1ZHUGF0aFNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aFNvdXJjZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNWR1BhdGhTb3VyY2UoKSB7
IH0KICAgICB2aXJ0dWFsIH5TVkdQYXRoU291cmNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wg
aGFzTW9yZURhdGEoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVmlld1NwZWMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCmluZGV4IDY4
NmNlYzMuLmNkMTBjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3Bl
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zMiw4ICszMiw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIGNsYXNzIFNWR1Zp
ZXdTcGVjIDogcHVibGljIFNWR0ZpdFRvVmlld0JveCwKLSAgICAgICAgICAgICAgICAgICAgcHVi
bGljIFNWR1pvb21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdab29tQW5kUGFuIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdWaWV3U3BlYyk7CiBwdWJsaWM6CiAgICAgU1ZHVmlld1NwZWMo
U1ZHRWxlbWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3Mv
U1ZHSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApp
bmRleCA5N2Y4NmJlLi5mYzJmZDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvU1ZHSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHAKQEAgLTU1LDcgKzU1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDogcHVibGljIEVtcHR5
Q2hyb21lQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdJbWFnZUNocm9tZUNs
aWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0ltYWdlQ2hy
b21lQ2xpZW50KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oIGIvU291
cmNlL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCmluZGV4IDY4NmMxN2MuLmNj
NzkxZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlz
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgKQEAg
LTM5LDcgKzM5LDggQEAgY2xhc3MgRmxvYXQzMkFycmF5OwogY2xhc3MgVWludDhBcnJheTsKICNl
bmRpZgogCi1jbGFzcyBSZWFsdGltZUFuYWx5c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFJlYWx0aW1lQW5hbHlzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlYWx0aW1l
QW5hbHlzZXIpOwogcHVibGljOgogICAgIFJlYWx0aW1lQW5hbHlzZXIoKTsKICAgICB2aXJ0dWFs
IH5SZWFsdGltZUFuYWx5c2VyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2Nr
ZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4uOTU2ZTBmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaApAQCAtNDMsOCArNDMsMTAgQEAgY2xhc3MgS1VSTDsKIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCi1jbGFz
cyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwpOwogcHVibGljOgorICAgIFRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsKCkgeyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViU29ja2V0Q2hh
bm5lbENsaWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKTsKIAogICAg
IHZpcnR1YWwgdm9pZCBjb25uZWN0KCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuaAppbmRleCA5YzUyMzc3Li5hMzljZDBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDksNiArNDksNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAog
ICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRD
aGFubmVsPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJTb2NrZXRDaGFubmVsPiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2ViU29ja2V0Q2hhbm5lbENs
aWVudCogY2xpZW50LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpIHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJTb2NrZXRDaGFubmVsKGNvbnRleHQsIGNsaWVudCwgdXJs
LCBwcm90b2NvbCkpOyB9CiAgICAgICAgIHZpcnR1YWwgfldlYlNvY2tldENoYW5uZWwoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1
YjQyNjAuLjM3MWQ4NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2Vi
U29ja2V0SGFuZHNoYWtlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2Nr
ZXRIYW5kc2hha2UuaApAQCAtMzcsMTMgKzM3LDEzIEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAi
V2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIAotICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV2ViU29ja2V0SGFuZHNoYWtlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0g
TW9kZSB7CiAgICAgICAgICAgICBJbmNvbXBsZXRlLCBOb3JtYWwsIEZhaWxlZCwgQ29ubmVjdGVk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMzY2ZTRmYS4uOWYwYjAxYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdl
YlNvY2tldENoYW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94
eTsKIGNsYXNzIFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWw+LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwg
V2ViU29ja2V0Q2hhbm5lbENsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpCiAgICAgewpAQCAtNzcsNyAr
NzgsOCBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIC8vIEdlbmVyYXRlZCBieSB0aGUgYnJp
ZGdlLiAgVGhlIFBlZXIgYW5kIGl0cyBicmlkZ2Ugc2hvdWxkIGhhdmUgaWRlbnRpY2FsCiAgICAg
Ly8gbGlmZXRpbWVzLgotICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENs
aWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQZWVyIDogcHVibGljIFdlYlNv
Y2tldENoYW5uZWxDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZWVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGVl
ciogY3JlYXRlKFJlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbENsaWVudFdyYXBwZXI+
IGNsaWVudFdyYXBwZXIsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKaW5k
ZXggMjFlMTRhMS4uNDM1YjYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9E
ZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtNTMsNyArNTMsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyUHJveHk7CiAKICAgICAvLyBQ
bGF0Zm9ybS1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2hhcmVkV29ya2VyUmVwb3Np
dG9yeSBzdGF0aWMgaW50ZXJmYWNlLgotICAgIGNsYXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlZmF1bHRTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9h
ZGVkIHRvIGZpcmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2Ny
aXB0TG9hZGVkKFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IFN0cmluZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAppbmRleCBhMGRiYWFlLi5iYjI2
Njg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTQ1LDcgKzE0
NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpc0Nsb3NpbmcoKSB7IHJl
dHVybiBtX2Nsb3Npbmc7IH0KIAogICAgICAgICAvLyBBbiBvYnNlcnZlciBpbnRlcmZhY2UgdG8g
YmUgbm90aWZpZWQgd2hlbiB0aGUgd29ya2VyIHRocmVhZCBpcyBnZXR0aW5nIHN0b3BwZWQuCi0g
ICAgICAgIGNsYXNzIE9ic2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xh
c3MgT2JzZXJ2ZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT2JzZXJ2ZXIp
OwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBPYnNlcnZlcihXb3JrZXJDb250ZXh0Kik7
CiAgICAgICAgICAgICB2aXJ0dWFsIH5PYnNlcnZlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLmFiNjExM2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTQ2LDcg
KzQ2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ7CiAgICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJv
eHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHks
IHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1Ymxp
YyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdvcmtlck1lc3NhZ2luZ1Byb3h5KFdv
cmtlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxv
b3AuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4
M2YyNDNmLi43YjMxNDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clJ1bkxvb3AuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5j
cHAKQEAgLTEwNCw3ICsxMDQsOCBAQCBTdHJpbmcgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUo
KQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotY2xhc3MgUnVuTG9vcFNldHVwIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJ1bkxvb3BTZXR1cCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUnVuTG9vcFNldHVwKTsKIHB1YmxpYzoKICAgICBSdW5Mb29wU2V0dXAoV29ya2VyUnVu
TG9vcCYgcnVuTG9vcCkKICAgICAgICAgOiBtX3J1bkxvb3AocnVuTG9vcCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKaW5kZXggOWQ0ZWRmZC4uM2ZlYjRlOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUoKTsKIAotICAg
ICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFz
ayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3du
UHRyPFRhc2s+IGNyZWF0ZShQYXNzT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+
IHRhc2ssIGNvbnN0IFN0cmluZyYgbW9kZSk7CiAgICAgICAgICAgICB+VGFzaygpIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLmUxZjFhNjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTYxLDcgKzYxLDgg
QEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJu
IG1fdGhyZWFkQ291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5v
bmNvcHlhYmxlIHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXb3JrZXJUaHJlYWRTdGFy
dHVwRGF0YT4gY3JlYXRlKGNvbnN0IEtVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hN
TEh0dHBSZXF1ZXN0LmNwcAppbmRleCBlZTllMjBmLi4wZjk1MDYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTY0LDcgKzY0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogc3RhdGljIFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyIHhtbEh0dHBSZXF1ZXN0Q291bnRl
cigiWE1MSHR0cFJlcXVlc3QiKTsKICNlbmRpZgogCi1zdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0
aWNEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgWE1MSHR0cFJlcXVlc3RTdGF0aWNE
YXRhKCk7CiAgICAgU3RyaW5nIG1fcHJveHlIZWFkZXJQcmVmaXg7CiAgICAgU3RyaW5nIG1fc2Vj
SGVhZGVyUHJlZml4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCBiYzY4MTVk
Li5iMTVkMzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDQsNiArNDQs
NyBAQCBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsK
IAogY2xhc3MgWE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVz
dD4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBw
dWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxIdHRwUmVxdWVzdD4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBYTUxIdHRw
UmVxdWVzdChjb250ZXh0KSk7IH0KICAgICB+WE1MSHR0cFJlcXVlc3QoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmggYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0NWIuLjRiNWJhYTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaApAQCAtMzksNyArMzksOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogICAgICAgICAKLSAg
ICAgICAgc3RydWN0IEV2YWx1YXRpb25Db250ZXh0IDogRmFzdEFsbG9jQmFzZSB7CisgICAgICAg
IHN0cnVjdCBFdmFsdWF0aW9uQ29udGV4dCB7CisgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5vZGU7
CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemU7CiAgICAgICAgICAgICB1bnNpZ25lZCBs
b25nIHBvc2l0aW9uOwpAQCAtNTMsNyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgICAgICB2aXJ0dWFsIH5QYXJzZU5vZGUoKSB7IH0KICAgICAgICAgfTsKIAotICAgICAgICBj
bGFzcyBFeHByZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSwgcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICAgICAgY2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUgeworICAgICAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXhwcmVzc2lvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRl
eHQmIGV2YWx1YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aE5vZGVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAppbmRl
eCBkNWM0N2JlLi42MTlkOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhO
b2RlU2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCkBAIC0zNyw3
ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAK
LSAgICAgICAgY2xhc3MgTm9kZVNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
Y2xhc3MgTm9kZVNldCB7CisgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgTm9kZVNldCgpIDogbV9pc1NvcnRlZCh0cnVlKSwg
bV9zdWJ0cmVlc0FyZURpc2pvaW50KGZhbHNlKSB7IH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFBhdGhQYXJzZXIuaAppbmRleCAwZWU0NDdhLi5mNDliNDRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQ
YXJzZXIuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAg
ICBUb2tlbihpbnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQog
ICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQYXJzZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAgICAg
ICAgICAgIH5QYXJzZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBy
ZWRpY2F0ZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKaW5kZXggNWYy
NDgyYS4uMzYwMDE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGlj
YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKQEAgLTEwNSw3
ICsxMDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIFZhbHVl
OjpUeXBlIHJlc3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9
CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgUHJlZGljYXRlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICAgICAgY2xhc3MgUHJlZGljYXRlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFByZWRpY2F0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBw
dWJsaWM6CiAgICAgICAgICAgICBQcmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAgICAgICAgICAg
flByZWRpY2F0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5o
IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oCmluZGV4IGVjMDIyYjMuLmIwMzFiYWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNz
IFN0ZXAgOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBj
bGFzcyBTdGVwIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTdGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIGVudW0gQXhpcyB7CiAgICAgICAgICAgICAgICAgQW5jZXN0b3JBeGlzLCBB
bmNlc3Rvck9yU2VsZkF4aXMsIEF0dHJpYnV0ZUF4aXMsCkBAIC00OSw3ICs1MCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgICAgICBTZWxmQXhpcwogICAgICAgICAgICAgfTsK
ICAgICAgICAgICAgIAotICAgICAgICAgICAgY2xhc3MgTm9kZVRlc3QgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CisgICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCB7CisgICAgICAgICAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICAgICAgZW51bSBLaW5kIHsKICAgICAgICAgICAgICAgICAgICAgVGV4dE5vZGVUZXN0LCBDb21t
ZW50Tm9kZVRlc3QsIFByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBBbnlOb2RlVGVzdCwg
TmFtZVRlc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCmluZGV4IGYzYTkzMTguLjVjMGNh
OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUsNiArMzUsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCiBjbGFzcyBYU0xJ
bXBvcnRSdWxlIDogcHVibGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8WFNMSW1wb3J0UnVsZT4gY3JlYXRlKFhTTFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0
LCBjb25zdCBTdHJpbmcmIGhyZWYpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkYzg5NTU4Li44OGUwNWQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAxLTIwICBab2x0YW4gSG9ydmF0aCAg
PHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxsb2NhdGlvbiBmcmFtZXdv
cmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3
CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBv
YmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLgorICAgICAgICBUaGUg
bW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNz
ZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAgZXF1aXZhbGVudCBtYWNy
byBpbXBsZW1lbnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4KKwogMjAxMS0wMS0xNyAg
RGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVk
IGJ5IE1hcmsgUm93ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Jv
dW5kT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmlu
ZGV4IDc2OWU4M2YuLjM5NGZmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0JvdW5kT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRP
YmplY3QuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIC8vIEJvdW5kT2Jq
ZWN0IGlzIGEgaGVscGVyIGNsYXNzIHRoYXQgbGV0cyB5b3UgbWFwIEphdmFTY3JpcHQgbWV0aG9k
IGNhbGxzCiAvLyBkaXJlY3RseSB0byBDKysgbWV0aG9kIGNhbGxzLiBJdCBzaG91bGQgYmUgZGVz
dHJveWVkIG9uY2UgSlMgb2JqZWN0IGlzCiAvLyBidWlsdC4KLWNsYXNzIEJvdW5kT2JqZWN0IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJvdW5kT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShCb3VuZE9iamVjdCk7CiBwdWJsaWM6CiAgICAgQm91bmRPYmplY3Qodjg6Okhh
bmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCwgdm9pZCogdjhUaGlzLCBjb25zdCBjaGFyKiBvYmpl
Y3ROYW1lKTsKICAgICB2aXJ0dWFsIH5Cb3VuZE9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEu
LmI3NmJjZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2Vy
QWdlbnRNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dl
ckFnZW50TWFuYWdlci5jcHAKQEAgLTU1LDcgKzU1LDggQEAgYm9vbCBEZWJ1Z2dlckFnZW50TWFu
YWdlcjo6c19leHBvc2VWOERlYnVnZ2VyUHJvdG9jb2wgPSBmYWxzZTsKIAogbmFtZXNwYWNlIHsK
IAotY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhbGxlcklkV3JhcHBlciA6IHB1YmxpYyB2ODo6
RGVidWc6OkNsaWVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxlcklkV3Jh
cHBlcik7CiBwdWJsaWM6CiAgICAgQ2FsbGVySWRXcmFwcGVyKCkgOiBtX2NhbGxlcklzTWFuYW5h
Z2VyKHRydWUpLCBtX2NhbGxlcklkKDApIHsgfQogICAgIGV4cGxpY2l0IENhbGxlcklkV3JhcHBl
cihpbnQgY2FsbGVySWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9E
ZWJ1Z2dlckFnZW50TWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdn
ZXJBZ2VudE1hbmFnZXIuaAppbmRleCA2NmJkNzE0Li5hMzIzMzExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKQEAgLTYzLDcgKzYz
LDggQEAgY2xhc3MgV2ViVmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qgc29tZSBhY3Rpb25zIGZy
b20gdGhlIGhhbmRsZXIuIElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRlCiAvLyBkZWJ1Z2dlciBh
Z2VudCB0byBoYW5kbGUgc3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3aWxsIHBlcmZvcm0gdGhl
IGFjdGlvbgogLy8gaXRzZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcgd2FpdGluZyBmb3IgdGhl
IGFjdGlvbi4KLWNsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEZWJ1Z2dlckFnZW50TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVidWdB
dHRhY2goRGVidWdnZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwogICAgIHN0YXRpYyB2b2lk
IGRlYnVnRGV0YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJ
bXBsLmgKaW5kZXggZmMyMWYzZS4uMjg2NzkxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAgLTQ0LDgg
KzQ0LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xp
ZW50OwogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZy
b250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVu
dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxl
ICB7CitjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRJbXBsKFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2Vi
RGV2VG9vbHNGcm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENs
aWVudEltcGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRl
dlRvb2xzRnJvbnRlbmRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZU
b29sc0Zyb250ZW5kSW1wbC5oCmluZGV4IDg2NmExY2IuLmRjN2QyZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaApAQCAt
NTUsOCArNTUsOCBAQCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogdXNpbmcgV1RG
OjpTdHJpbmc7CiAKLWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktp
dDo6V2ViRGV2VG9vbHNGcm9udGVuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJs
aWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAgICAgV2ViRGV2VG9vbHNGcm9u
dGVuZEltcGwoCiAgICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwqIHdlYlZpZXdJbXBsLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggYTEzZWVjMC4u
NGQxOTA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3Bw
CkBAIC0yODQsNyArMjg0LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2ViRnJhbWVJbXBs
OjpwbHVnaW5Db250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBTaW1wbGUgY2xh
c3MgdG8gb3ZlcnJpZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNvbWUgb2YgdGhl
IG1ldGhvZHMKIC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBi
eSBDaHJvbWVQbHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBw
dWJsaWMgUHJpbnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2hyb21lUHJp
bnRDb250ZXh0IDogcHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ2hyb21lUHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmludENvbnRleHQo
RnJhbWUqIGZyYW1lKQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAppbmRleCBiOGVmN2JhLi40MWE5
NTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJ
bXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5o
CkBAIC01Niw2ICs1Niw3IEBAIHN0cnVjdCBXZWJSZWN0OwogY2xhc3MgV2ViUG9wdXBNZW51SW1w
bCA6IHB1YmxpYyBXZWJQb3B1cE1lbnUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlj
IFdlYkNvcmU6OkZyYW1lbGVzc1Njcm9sbFZpZXdDbGllbnQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHVibGljIFJlZkNvdW50ZWQ8V2ViUG9wdXBNZW51SW1wbD4geworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIC8vIFdlYldpZGdldAogICAgIHZpcnR1YWwg
dm9pZCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oCmluZGV4IDRiYmFlMjUu
LjY3YzQ2MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDgg
QEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggZDRiYmVhMi4uM2ZiOGIxNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxN
ZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigp
OwogICAgIHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDYwYjhlNmQuLmE3ODkwYzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcApAQCAtNTcs
NyArNTcsOCBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAqIG91dCB3aGF0IGlzIHRvIGJl
IGRvd25sb2FkZWQsIGFuZCBkbyBpdCBpdHNlbGYuCiAgKi8KIAotY2xhc3MgRG93bmxvYWRDbGll
bnQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7Citj
bGFzcyBEb3dubG9hZENsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRG93bmxvYWRDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgRG93bmxvYWRDbGllbnQoV2ViS2l0RG93bmxvYWQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNl
UHJveHkuaAppbmRleCBmNzg0YWRlLi40ZjJjNTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJv
eHkuaApAQCAtMzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBkZW1hcnNoYWxWYWx1
ZUZyb21BcnJheShKU0M6OkV4ZWNTdGF0ZSosIE5TQXJyYXkgKmFycmF5LCBOU1VJbnRlZ2VyJiBp
bmRleCwgSlNDOjpKU1ZhbHVlJiByZXN1bHQpOwogICAgIHZvaWQgZGVtYXJzaGFsVmFsdWVzKEpT
Qzo6RXhlY1N0YXRlKiwgZGF0YV90IHZhbHVlc0RhdGEsIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3Qg
dmFsdWVzTGVuZ3RoLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiByZXN1bHQpOwogCi0gICAg
Y2xhc3MgTG9jYWxPYmplY3RNYXAgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxPYmpl
Y3RNYXAgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbE9iamVjdE1hcCk7CiAg
ICAgcHVibGljOgogICAgICAgICBMb2NhbE9iamVjdE1hcCgpOwogICAgICAgICB+TG9jYWxPYmpl
Y3RNYXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJh
c2VUcmFja2VyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFz
ZVRyYWNrZXJDbGllbnQubW0KaW5kZXggMjkxMzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KQEAg
LTUyLDcgKzUyLDggQEAgV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Ojp+V2ViRGF0YWJhc2VUcmFj
a2VyQ2xpZW50KCkKIHsKIH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEaWRNb2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9p
ZCBkaXNwYXRjaFRvTWFpblRocmVhZChXZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQqIGNsaWVudCwg
U2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DT01FbnVtVmFyaWFudC5oIGIvU291cmNlL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQu
aAppbmRleCBhOTNhM2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9D
T01FbnVtVmFyaWFudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgK
QEAgLTI5LDEyICsyOSwxMiBAQAogI2RlZmluZSBOT01JTk1BWAogI2luY2x1ZGUgPHVua253bi5o
PgogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlICJDT01WYXJpYW50
U2V0dGVyLmgiCiAKIHRlbXBsYXRlPHR5cGVuYW1lIENvbnRhaW5lclR5cGU+Ci1jbGFzcyBDT01F
bnVtVmFyaWFudCA6IHB1YmxpYyBJRW51bVZBUklBTlQsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBDT01FbnVtVmFyaWFudCA6IHB1YmxpYyBJRW51bVZBUklBTlQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENPTUVudW1WYXJpYW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09NRW51
bVZhcmlhbnQqIGFkb3B0KENvbnRhaW5lclR5cGUmKTsKICAgICBzdGF0aWMgQ09NRW51bVZhcmlh
bnQqIGNyZWF0ZUluc3RhbmNlKGNvbnN0IENvbnRhaW5lclR5cGUmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9DT01Q
cm9wZXJ0eUJhZy5oCmluZGV4IDYxMGMzNjcuLjYyMDQ1OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ09NUHJv
cGVydHlCYWcuaApAQCAtMzUsNyArMzUsOCBAQAogI2luY2x1ZGUgIkNPTVZhcmlhbnRTZXR0ZXIu
aCINCiANCiB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUgPSB0
eXBlbmFtZSBXVEY6OlN0cmluZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFtZSBXVEY6OlN0
cmluZ0hhc2g+DQotY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBw
dWJsaWMgSVByb3BlcnR5QmFnMiwgTm9uY29weWFibGUgew0KK2NsYXNzIENPTVByb3BlcnR5QmFn
IDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIElQcm9wZXJ0eUJhZzIgew0KKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDT01Qcm9wZXJ0eUJhZyk7DQogcHVibGljOg0KICAgICB0eXBlZGVm
IEhhc2hNYXA8S2V5VHlwZSwgVmFsdWVUeXBlLCBIYXNoVHlwZT4gSGFzaE1hcFR5cGU7DQogDQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDZi
NTZhYjUuLmE2NTUyOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyLmgKQEAgLTEwMiw3ICsxMDIsOCBAQCBwcml2YXRlOgogICAgIGludCBtX2RyYWdT
dGFydE9mZnNldDsKIH07CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxh
eWVyUHJpdmF0ZUZ1bGxzY3JlZW5DbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAppbmRleCBiZGNiNTQ5Li5lMmI4
MWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcg
KzUyLDggQEAgc3RhdGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBz
MikKICAgICByZXR1cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFp
bHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUlu
c3RhbmNlKGNvbnN0IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNl
KAogICAgIHJldHVybiBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VN
YW5hZ2VyLCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViSW5zcGVj
dG9yLmgKaW5kZXggMDUzYTU5My4uZTJkMmZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vV2ViSW5zcGVjdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgK
QEAgLTM0LDcgKzM0LDggQEAKIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9y
IDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVj
dG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYkluc3BlY3Rvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3Jl
YXRlSW5zdGFuY2UoV2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViTG9jYWxpemFi
bGVTdHJpbmdzLmNwcAppbmRleCBkYTZiMjIxLi5lOWI5OWFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKQEAgLTcyLDcgKzcyLDggQEAgc3RhdGljIExv
Y2FsaXplZFN0cmluZ01hcCBmcmFtZXdvcmtMb2NTdHJpbmdzKCkKICAgICByZXR1cm4gbWFwOwog
fQogCi1jbGFzcyBMb2NhbGl6ZWRTdHJpbmcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TG9jYWxpemVkU3RyaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbGl6ZWRTdHJp
bmcpOwogcHVibGljOgogICAgIExvY2FsaXplZFN0cmluZyhDRlN0cmluZ1JlZiBzdHJpbmcpCiAg
ICAgICAgIDogbV9jZlN0cmluZyhzdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJTY3JpcHRXb3JsZC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaApp
bmRleCBmMDg4YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJT
Y3JpcHRXb3JsZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKQEAg
LTMxLDcgKzMxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdyYXBwZXJX
b3JsZDsKIH0KIAotY2xhc3MgV2ViU2NyaXB0V29ybGQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1
YmxpYyBJV2ViU2NyaXB0V29ybGQgeworY2xhc3MgV2ViU2NyaXB0V29ybGQgOiBwdWJsaWMgSVdl
YlNjcmlwdFdvcmxkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJTY3JpcHRXb3JsZCk7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlNjcmlwdFdvcmxkKiBzdGFuZGFyZFdvcmxkKCk7CiAg
ICAgc3RhdGljIENPTVB0cjxXZWJTY3JpcHRXb3JsZD4gY3JlYXRlSW5zdGFuY2UoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCmluZGV4IGEyZDZkNTYuLjZlMzc0N2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKKysr
IGIvU291cmNlL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAtMzQsNyArMzQs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVl
OwogfQogCi1jbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwg
cHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1
ZVByaXZhdGUgeworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgSVdlYlNlcmlh
bGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVibGljOgogICAg
IHN0YXRpYyBDT01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3RhbmNlKCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5o
IGIvU291cmNlL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKaW5kZXggZThm
NmI2Ny4uNDI4NTRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQ
YXR0ZXJuLmgKQEAgLTMyLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFVzZXJDb250ZW50VVJMUGF0dGVybjsKIH0KIAotY2xhc3MgV2ViVXNlckNvbnRlbnRVUkxQYXR0
ZXJuIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlVzZXJDb250ZW50VVJMUGF0dGVy
biB7CitjbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgSVdlYlVzZXJDb250
ZW50VVJMUGF0dGVybiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViVXNlckNvbnRlbnRV
UkxQYXR0ZXJuKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09NUHRyPFdlYlVzZXJDb250ZW50VVJM
UGF0dGVybj4gY3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGRjNmRjNWIuLjVhN2U4
YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMS0yMCAgWm9sdGFuIEhvcnZh
dGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJh
bWV3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00
OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQg
aW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAgICAg
VGhlIG1vZGlmaWNhdGlvbiByZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBj
bGFzc2VzIGFuZCB0aGVzZSBpbmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxlbnQg
bWFjcm8gaW1wbGVtZW50YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMuCisKIDIwMTEtMDEt
MTkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4
IHRoZSBXZWJLaXQyIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
TW9kdWxlLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAppbmRleCAwODI1YmY2
Li5lYzc1MjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaApAQCAtMzksNyArMzksOCBAQAog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgTW9kdWxlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIE1vZHVsZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTW9kdWxlKTsKIHB1
YmxpYzoKICAgICBNb2R1bGUoY29uc3QgU3RyaW5nJiBwYXRoKTsKICAgICB+TW9kdWxlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCmluZGV4IDA1ZGMwZGQuLjk4NTQxMzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBAIC01Miw3ICs1Miw4IEBA
IHB1YmxpYzoKICAgICAgICAgUmVhZFdyaXRlCiAgICAgfTsKIAotICAgIGNsYXNzIEhhbmRsZSA6
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIYW5kbGUgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShIYW5kbGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgSGFuZGxlKCk7CiAgICAgICAg
IH5IYW5kbGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNz
LmgKaW5kZXggZDdmNTkyZS4uNmMyMjFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgV2ViUHJvY2Vzc0Nv
bm5lY3Rpb247CiBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICAgICAg
ICAgCiBjbGFzcyBQbHVnaW5Qcm9jZXNzIDogQ2hpbGRQcm9jZXNzIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJv
Y2VzcyYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGls
ZFByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3
OGZlMWY0Li44YzVlOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQ
cm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCkBAIC0y
NywxMyArMjcsMTEgQEAKICNkZWZpbmUgQ2hpbGRQcm9jZXNzX2gKIAogI2luY2x1ZGUgIkNvbm5l
Y3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIENoaWxkUHJvY2VzcyA6IHByb3RlY3RlZCBDb3JlSVBDOjpDb25uZWN0aW9u
OjpDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENoaWxkUHJvY2Vzcyk7Ci0KIHBy
b3RlY3RlZDoKICAgICBDaGlsZFByb2Nlc3MoKTsKICAgICB+Q2hpbGRQcm9jZXNzKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAppbmRleCA5MzI1NGQ5Li5jNTBkM2Jm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKQEAgLTY5LDggKzY5
LDggQEAgc3RydWN0IFdlYk1lbW9yeVN0YXRpc3RpY3MKICAgICBWZWN0b3I8c2l6ZV90PiB2YWx1
ZXM7CiB9OwogICAgIAotY2xhc3MgV2ViTWVtb3J5U2FtcGxlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7Ci0KK2NsYXNzIFdlYk1lbW9yeVNhbXBsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdlYk1lbW9yeVNhbXBsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJNZW1vcnlTYW1wbGVy
KiBzaGFyZWQoKTsKICAgICB2b2lkIHN0YXJ0KGNvbnN0IGRvdWJsZSBpbnRlcnZhbD0wKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NN
YW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
TWFuYWdlci5oCmluZGV4IGMyNjVmMmUyLi5hMTUwZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKQEAgLTQx
LDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7
CiBjbGFzcyBXZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDog
Tm9uY29weWFibGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBsdWdpblByb2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcApp
bmRleCA0ODVmODkyLi4xZTBjMjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcApAQCAtMjUzLDcg
KzI1Myw4IEBAIFZlY3RvcjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6cGx1Z2luc0RpcmVjdG9y
aWVzKCkKICAgICByZXR1cm4gZGlyZWN0b3JpZXM7CiB9CiAKLWNsYXNzIFBhdGhXYWxrZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGF0aFdhbGtlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUGF0aFdhbGtlcik7CiBwdWJsaWM6CiAgICAgUGF0aFdhbGtlcihjb25zdCBTdHJp
bmcmIGRpcmVjdG9yeSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvVmlzaXRlZExpbmtQcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0
ZWRMaW5rUHJvdmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKQEAgLTMxLDEzICszMSwxMyBA
QAogI2luY2x1ZGUgPFdlYkNvcmUvTGlua0hhc2guaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDb250ZXh0OwogICAgIAotY2xhc3Mg
VmlzaXRlZExpbmtQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZpc2l0ZWRMaW5rUHJv
dmlkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZpc2l0ZWRMaW5rUHJvdmlkZXIpOwog
cHVibGljOgogICAgIGV4cGxpY2l0IFZpc2l0ZWRMaW5rUHJvdmlkZXIoV2ViQ29udGV4dCopOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9h
ZC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAppbmRl
eCAyMzE5ZWM3Li5iYWNkZDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0Rvd25sb2Fkcy9Eb3dubG9hZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkLmgKQEAgLTYzLDcgKzYzLDYgQEAgY2xhc3MgV2ViUGFnZTsKIAogY2xh
c3MgRG93bmxvYWQgOiBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlcjxEb3dubG9hZD4gewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvd25sb2FkKTsKLQogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPERvd25sb2FkPiBjcmVhdGUodWludDY0X3QgZG93bmxvYWRJRCwgY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgfkRvd25sb2FkKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3Qu
aAppbmRleCA2NzM3YmQ0Li4zNTE4MjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKQEAgLTQwLDcgKzQwLDgg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBOUFJ1bnRpbWVPYmplY3RNYXA7CiAgICAgCiAv
LyBOUEpTT2JqZWN0IGlzIGFuIE5QT2JqZWN0IHRoYXQgd3JhcHMgYSBKU09iamVjdC4KLWNsYXNz
IE5QSlNPYmplY3QgOiBwdWJsaWMgTlBPYmplY3QsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5QSlNP
YmplY3QgOiBwdWJsaWMgTlBPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5QSlNP
YmplY3QpOwogcHVibGljOgogICAgIHN0YXRpYyBOUEpTT2JqZWN0KiBjcmVhdGUoTlBSdW50aW1l
T2JqZWN0TWFwKiBvYmplY3RNYXAsIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjhiNjBmMTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbk1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiAKIGNsYXNzIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOwogICAgICAgICAK
LWNsYXNzIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciA6IE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA0OTJjNGQuLmVlYWQz
NzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMS0wMS0yMCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
ZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIElu
aGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5n
IGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlvbiBy
ZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVzZSBp
bmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50YXRp
b24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMuCiAyMDExLTAxLTE5ICBEaXJrIFByYW5rZSAgPGRw
cmFua2VAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGJ1aWxkIGZpeCAtIEkg
cHVsbGVkIHRoaXMgcGF0Y2ggaW4gdG8gZml4IGFuIGlzc3VlCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmggYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKaW5kZXggNmNiNjM4ZS4uNjE1MWE5YyAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaApAQCAtNTgs
NyArNTgsOCBAQCB0eXBlZGVmIFZlY3RvcjxDcHBWYXJpYW50PiBDcHBBcmd1bWVudExpc3Q7CiAK
IC8vIENwcEJvdW5kQ2xhc3MgbGV0cyB5b3UgbWFwIEphdmFzY3JpcHQgbWV0aG9kIGNhbGxzIGFu
ZCBwcm9wZXJ0eSBhY2Nlc3NlcwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscyBhbmQg
Q3BwVmFyaWFudCogdmFyaWFibGUgYWNjZXNzLgotY2xhc3MgQ3BwQm91bmRDbGFzcyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBDcHBCb3VuZENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDcHBCb3VuZENsYXNzKTsKIHB1YmxpYzoKICAgICBjbGFzcyBQcm9wZXJ0eUNhbGxi
YWNrIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9EUlREZXZUb29sc0FnZW50LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
UlREZXZUb29sc0FnZW50LmgKaW5kZXggZTE0NzhkMC4uNjY1NDM1YyAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaApAQCAtNDksOCArNDks
OCBAQCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogY2xhc3MgRFJURGV2VG9vbHND
bGllbnQ7CiAKLWNsYXNzIERSVERldlRvb2xzQWdlbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZU
b29sc0FnZW50Q2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIERSVERldlRvb2xzQWdlbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29s
c0FnZW50Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0FnZW50
KTsKIHB1YmxpYzoKICAgICBEUlREZXZUb29sc0FnZW50KCk7CiAgICAgdmlydHVhbCB+RFJURGV2
VG9vbHNBZ2VudCgpIHt9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9EUlREZXZUb29sc0NsaWVudC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJU
RGV2VG9vbHNDbGllbnQuaAppbmRleCA5Y2ExNDAyLi4wY2JhNTFjIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKQEAgLTQ4LDggKzQ4
LDggQEAgY2xhc3MgV2ViVmlldzsKIAogY2xhc3MgRFJURGV2VG9vbHNBZ2VudDsKIAotY2xhc3Mg
RFJURGV2VG9vbHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xp
ZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEUlREZXZUb29sc0NsaWVudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmRD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQ2xpZW50KTsKIHB1
YmxpYzoKICAgICBEUlREZXZUb29sc0NsaWVudChEUlREZXZUb29sc0FnZW50KiwgV2ViS2l0OjpX
ZWJWaWV3Kik7CiAgICAgdmlydHVhbCB+RFJURGV2VG9vbHNDbGllbnQoKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5o
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVy
LmgKaW5kZXggYjY3MTQ4OS4uODUwMmE5NiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKQEAgLTExMSw3ICsx
MTEsOCBAQCBwdWJsaWM6CiAKIC8vIFRlc3Qgc2hlbGwncyBOYXZpZ2F0aW9uQ29udHJvbGxlci4g
VGhlIGdvYWwgaXMgdG8gYmUgYXMgY2xvc2UgdG8gdGhlIENocm9tZQogLy8gdmVyc2lvbiBhcyBw
b3NzaWJsZS4KLWNsYXNzIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcjogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGVzdE5hdmlnYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBUZXN0TmF2
aWdhdGlvbkNvbnRyb2xsZXIoTmF2aWdhdGlvbkhvc3QqKTsKICAgICB+VGVzdE5hdmlnYXRpb25D
b250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJUaGVtZUNvbnRyb2xEUlRXaW4uaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlRoZW1lQ29udHJvbERSVFdpbi5oCmluZGV4IDRlMjI0NjEuLmVkZTE0NTggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVFdpbi5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVFdpbi5o
CkBAIC00Niw3ICs0Niw4IEBACiAvLyBTa2lhIGZvcndhcmQgZGVjbGFyYXRpb25zCiBzdHJ1Y3Qg
U2tJUmVjdDsKIAotY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUV2luIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFdlYlRoZW1lQ29udHJvbERSVFdpbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV2ViVGhlbWVDb250cm9sRFJUV2luKTsKIHB1YmxpYzoKICAgICAvLyBUaGlzIGxpc3Qg
b2Ygc3RhdGVzIG1vc3RseSBtaXJyb3JzIHRoZSBsaXN0IGluIFdlYkNvcmUvcGxhdGZvcm0vVGhl
bWVUeXBlcy5oCiAgICAgLy8gYnV0IGlzIG1haW50YWluZWQgc2VwYXJhdGVseSBzaW5jZSB0aGF0
IGlzbid0IHB1YmxpYyBhbmQgYWxzbyB0byBtaW5pbWl6ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRXaW4uaCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJUV2luLmgKaW5kZXggMmUxNWNmOC4u
OWIxZTgxNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhl
bWVFbmdpbmVEUlRXaW4uaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJU
aGVtZUVuZ2luZURSVFdpbi5oCkBAIC01MCw3ICs1MCw4IEBACiAjaW5jbHVkZSAid2luL1dlYlRo
ZW1lRW5naW5lLmgiCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdlYlRo
ZW1lRW5naW5lRFJUV2luIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVFdpbiA6IHB1YmxpYyBXZWJLaXQ6
OldlYlRoZW1lRW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2lu
ZURSVFdpbik7CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlRXaW4oKSB7fQogCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1Rvb2xzL1dlYktpdEFQ
SVRlc3QvSG9zdFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLjJhYWE4NWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1Rvb2xzL1dlYktpdEFQSVRlc3Qv
SG9zdFdpbmRvdy5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0
IHsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0
V2luZG93IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0V2luZG93KTsKIHB1YmxpYzoK
ICAgICBIb3N0V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRBUElUZXN0L1Rl
c3RzQ29udHJvbGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0QVBJVGVz
dC9UZXN0c0NvbnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSA8d2luZG93
cy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsK
IAogY2xhc3MgVGVzdDsKIAotY2xhc3MgVGVzdHNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFRlc3RzQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGVzdHNDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgVGVzdHNDb250cm9sbGVyJiBz
aGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2Nh
dGlvbi5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZl
YzFmN2EuLmVmYzY2MzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgK
QEAgLTMxLDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdUUiB7CiAKLWNsYXNzIFRlc3RJbnZvY2F0
aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RJbnZvY2F0aW9uIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShUZXN0SW52b2NhdGlvbik7CiBwdWJsaWM6CiAgICAgVGVzdElu
dm9jYXRpb24oY29uc3QgY2hhciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79566</attachid>
            <date>2011-01-20 02:21:30 -0800</date>
            <delta_ts>2011-01-20 02:35:58 -0800</delta_ts>
            <desc>proposed patch (review candidate) + efl fix</desc>
            <filename>fab5.patch</filename>
            <type>text/plain</type>
            <size>296827</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKaW5kZXggNTA2MjA5My4uMDk3MTcw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKQEAgLTM0LDcgKzM0LDkg
QEAKICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ1B0ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAKLXN0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
U3RhdGljVmFsdWVFbnRyeSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CiAgICAgU3RhdGljVmFsdWVFbnRyeShKU09iamVjdEdldFByb3BlcnR5Q2FsbGJhY2sgX2dldFBy
b3BlcnR5LCBKU09iamVjdFNldFByb3BlcnR5Q2FsbGJhY2sgX3NldFByb3BlcnR5LCBKU1Byb3Bl
cnR5QXR0cmlidXRlcyBfYXR0cmlidXRlcykKICAgICAgICAgOiBnZXRQcm9wZXJ0eShfZ2V0UHJv
cGVydHkpLCBzZXRQcm9wZXJ0eShfc2V0UHJvcGVydHkpLCBhdHRyaWJ1dGVzKF9hdHRyaWJ1dGVz
KQogICAgIHsKQEAgLTQ1LDcgKzQ3LDkgQEAgc3RydWN0IFN0YXRpY1ZhbHVlRW50cnkgOiBGYXN0
QWxsb2NCYXNlIHsKICAgICBKU1Byb3BlcnR5QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwogfTsKIAot
c3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0
aWNGdW5jdGlvbkVudHJ5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBf
Y2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAg
ICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5jdGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0
ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8g
QW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMgY3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwg
c28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29udGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBn
cm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xkcyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFj
cm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoT3BhcXVl
SlNDbGFzcyopOwogICAgIH5PcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4Li5kNmRlNDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtNDgwLDcgKzQ4
MCw5IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVm
IGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
c3RydWN0IE9wYXF1ZUpTUHJvcGVydHlOYW1lQXJyYXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEo
Z2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDk1M2I5NjUuLmU5YTFhYzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAxLTIwICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxs
b2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2Ug
Y2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkp
LgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0
QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAg
ZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4K
KworICAgICAgICAqIHd0Zi9GYXN0QWxsb2NCYXNlLmg6IFR1cm4gRmFzdEFsbG9jQmFzZSdzIGlt
cGxlbWVudGF0aW9uIGludG8gYSBtYWNyby4KKwogMjAxMS0wMS0xOCAgR2VvZmZyZXkgR2FyZW4g
IDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtCdWZmZXIuaAppbmRleCBlMzhi
OWQ0Li5jNWE3ZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0xpbmtCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0xpbmtC
dWZmZXIuaApAQCAtNTAsNyArNTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIC8vICAgKiBUaGUgYWRk
cmVzcyBvZiBhIExhYmVsIHBvaW50aW5nIGludG8gdGhlIGNvZGUgbWF5IGJlIHJlc29sdmVkLgog
Ly8gICAqIFRoZSB2YWx1ZSByZWZlcmVuY2VkIGJ5IGEgRGF0YUxhYmVsIG1heSBiZSBzZXQuCiAv
LwotY2xhc3MgTGlua0J1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMaW5rQnVm
ZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMaW5rQnVmZmVyKTsKICAgICB0eXBlZGVm
IE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBDb2RlUmVmOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJs
ZXJDb2RlUHRyIENvZGVQdHI7CiAgICAgdHlwZWRlZiBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgTGFi
ZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKaW5kZXggN2Vj
YTcyYS4uMWNkMDg2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suaApAQCAtMjQyLDcgKzI0Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH0KICNlbmRpZgog
Ci0gICAgY2xhc3MgQ29kZUJsb2NrIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IENvZGVCbG9jayB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBm
cmllbmQgY2xhc3MgSklUOwogICAgIHByb3RlY3RlZDoKICAgICAgICAgQ29kZUJsb2NrKFNjcmlw
dEV4ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgQ29kZVR5cGUsIEpTR2xvYmFsT2JqZWN0Kiwg
UGFzc1JlZlB0cjxTb3VyY2VQcm92aWRlcj4sIHVuc2lnbmVkIHNvdXJjZU9mZnNldCwgU3ltYm9s
VGFibGUqIHN5bWJvbFRhYmxlLCBib29sIGlzQ29uc3RydWN0b3IpOwpAQCAtNTc4LDcgKzU3OSw5
IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIFN5bWJvbFRhYmxlKiBtX3N5bWJvbFRhYmxl
OwogCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBz
dHJ1Y3QgUmFyZURhdGEgeworICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAg
ICAgICAgcHVibGljOgogICAgICAgICAgICAgVmVjdG9yPEhhbmRsZXJJbmZvPiBtX2V4Y2VwdGlv
bkhhbmRsZXJzOwogCiAgICAgICAgICAgICAvLyBSYXJlIENvbnN0YW50cwpAQCAtNTk5LDYgKzYw
Miw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgVmVjdG9yPENhbGxSZXR1cm5PZmZz
ZXRUb0J5dGVjb2RlT2Zmc2V0PiBtX2NhbGxSZXR1cm5JbmRleFZlY3RvcjsKICNlbmRpZgogICAg
ICAgICB9OworI2lmIFBMQVRGT1JNKFdJTikKKyAgICAgICAgZnJpZW5kIHZvaWQgV1RGOjpkZWxl
dGVPd25lZFB0cjxSYXJlRGF0YT4oUmFyZURhdGEqKTsKKyNlbmRpZgogICAgICAgICBPd25QdHI8
UmFyZURhdGE+IG1fcmFyZURhdGE7CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAppbmRleCBjNjQ2OGE1Li5mMDc3Y2JmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvSW5zdHJ1Y3Rpb24uaApAQCAtNTQsNyArNTQsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFzcyBTdHJ1Y3R1cmVDaGFpbjsKIAogICAgIC8vIFN0
cnVjdHVyZSB1c2VkIGJ5IG9wX2dldF9ieV9pZF9zZWxmX2xpc3QgYW5kIG9wX2dldF9ieV9pZF9w
cm90b19saXN0IGluc3RydWN0aW9uIHRvIGhvbGQgZGF0YSBvZmYgdGhlIG1haW4gb3Bjb2RlIHN0
cmVhbS4KLSAgICBzdHJ1Y3QgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0IDogRmFzdEFs
bG9jQmFzZSB7CisgICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgc3Ry
dWN0IFBvbHltb3JwaGljU3R1YkluZm8gewogICAgICAgICAgICAgYm9vbCBpc0NoYWluOwogICAg
ICAgICAgICAgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0U3R1YlJvdXRpbmVUeXBlIHN0
dWJSb3V0aW5lOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1Nh
bXBsaW5nVG9vbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1NhbXBsaW5nVG9v
bC5oCmluZGV4IDhlM2VkOWUuLjljYTU0ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rvb2wuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKQEAgLTE0Miw3ICsxNDIsOCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgZnJpZW5kIGNsYXNzIEhvc3RDYWxsUmVjb3JkOwogICAgICAgICAKICNpZiBF
TkFCTEUoT1BDT0RFX1NBTVBMSU5HKQotICAgICAgICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCB7CisgICAgICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3JkKTsKICAgICAgICAgcHVibGljOgogICAgICAg
ICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wqIHNhbXBsaW5nVG9vbCkKICAgICAgICAgICAg
ICAgICA6IG1fc2FtcGxpbmdUb29sKHNhbXBsaW5nVG9vbCkKQEAgLTE3Miw3ICsxNzMsOCBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIH0KICAgICAgICAgfTsKICNlbHNlCi0gICAgICAg
IGNsYXNzIENhbGxSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBD
YWxsUmVjb3JkIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxSZWNvcmQp
OwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBDYWxsUmVjb3JkKFNhbXBsaW5nVG9vbCop
CiAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggOGIwY2M0MC4uZGUxNmY4ZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5l
cmF0b3IuaApAQCAtNDAsNyArNDAsNiBAQAogI2luY2x1ZGUgIlN5bWJvbFRhYmxlLmgiCiAjaW5j
bHVkZSAiRGVidWdnZXIuaCIKICNpbmNsdWRlICJOb2Rlcy5oIgotI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
U2VnbWVudGVkVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtODUsNyArODQs
OCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHByb3BlcnR5
UmVnaXN0ZXI7CiAgICAgfTsKIAotICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9yIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEJ5dGVjb2RlR2VuZXJhdG9yIHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB0eXBlZGVmIERl
Y2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayBWYXJTdGFjazsKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayBGdW5jdGlvblN0YWNrOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lzdGVySUQuaAppbmRleCAzNTMyYWQ4Li43
OGQ0OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1Jl
Z2lzdGVySUQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL1JlZ2lz
dGVySUQuaApAQCAtMzAsMTIgKzMwLDEyIEBACiAjZGVmaW5lIFJlZ2lzdGVySURfaAogCiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xh
c3MgUmVnaXN0ZXJJRCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUmVnaXN0ZXJJ
RCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVySUQpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgUmVnaXN0ZXJJRCgpCiAgICAgICAgICAgICA6IG1fcmVmQ291bnQoMCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWNoZWRDYWxsLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5oCmluZGV4IGRm
YmU2NTguLjc0MDAwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9DYWNoZWRDYWxsLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0NhY2hlZENhbGwuaApAQCAtMzIsNyArMzIsOCBAQAogI2luY2x1ZGUgIkludGVycHJldGVyLmgi
CiAKIG5hbWVzcGFjZSBKU0MgewotICAgIGNsYXNzIENhY2hlZENhbGwgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENhY2hlZENhbGwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDYWNoZWRDYWxsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBDYWNoZWRDYWxsKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiwgaW50IGFyZ0NvdW50KQogICAgICAgICAgICAgOiBtX3ZhbGlkKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuaAppbmRleCA0Nzc5
MGNmLi43NTNkOTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuaApAQCAtMzAsNyArMzAsNiBAQAogI2RlZmluZSBJbnRlcnByZXRlcl9oCiAK
ICNpbmNsdWRlICJBcmdMaXN0LmgiCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgogI2luY2x1
ZGUgIkpTQ2VsbC5oIgogI2luY2x1ZGUgIkpTVmFsdWUuaCIKICNpbmNsdWRlICJKU09iamVjdC5o
IgpAQCAtNjUsNyArNjQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0geyBNYXhMYXJn
ZVRocmVhZFJlZW50cnlEZXB0aCA9IDI1NiwgTWF4U21hbGxUaHJlYWRSZWVudHJ5RGVwdGggPSAz
MiB9OwogCi0gICAgY2xhc3MgSW50ZXJwcmV0ZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgY2xhc3MgSW50ZXJwcmV0ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICAgICAgZnJpZW5kIGNsYXNzIEpJVDsKICAgICAgICAgZnJpZW5kIGNsYXNzIENhY2hlZENh
bGw7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL1JlZ2lzdGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVn
aXN0ZXIuaAppbmRleCAzOGQxNjQ3Li4zOTQ0NjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAi
SlNWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+CiAKIG5hbWVzcGFj
ZSBKU0MgewpAQCAtNDcsNyArNDYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIHR5cGVkZWYg
RXhlY1N0YXRlIENhbGxGcmFtZTsKIAotICAgIGNsYXNzIFJlZ2lzdGVyIDogcHVibGljIFdURjo6
RmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVnaXN0ZXIgeworICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFJlZ2lzdGVyKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9SZWdpc3RlckZpbGUuaAppbmRleCA3
NWZkNzg0Li4zNDk4ZTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvUmVnaXN0ZXJGaWxlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL1JlZ2lzdGVyRmlsZS5oCkBAIC04OSw3ICs4OSw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgY2xhc3MgSlNHbG9iYWxPYmplY3Q7CiAKLSAgICBjbGFzcyBSZWdpc3RlckZpbGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVyRmlsZSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlZ2lzdGVyRmlsZSk7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIENhbGxGcmFtZUhlYWRlckVudHJ5IHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCBkZmRiMjJjLi5kNDE0NWMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBK
U0MgewogCiAgICAgY2xhc3MgUmVnRXhwOwogCi0gICAgY2xhc3MgTGV4ZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIExleGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTGV4ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IC8vIENoYXJhY3RlciBtYW5pcHVsYXRpb24gZnVuY3Rpb25zLgogICAgICAgICBzdGF0aWMgYm9v
bCBpc1doaXRlU3BhY2UoaW50IGNoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVzLmgKaW5kZXggNTRiNzIzMS4uNmU3M2MwMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXMuaApAQCAtMTM3Niw3ICsxMzc2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFBh
cmFtZXRlck5vZGUqIG1fbmV4dDsKICAgICB9OwogCi0gICAgc3RydWN0IFNjb3BlTm9kZURhdGEg
OiBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgU2NvcGVOb2RlRGF0YSB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZWNs
YXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVjbGFy
YXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKIApAQCAtMTQ3Miw2ICsx
NDc0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgfTsKIAogICAgIGNsYXNzIEZ1bmN0aW9uUGFy
YW1ldGVycyA6IHB1YmxpYyBWZWN0b3I8SWRlbnRpZmllcj4sIHB1YmxpYyBSZWZDb3VudGVkPEZ1
bmN0aW9uUGFyYW1ldGVycz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZ1bmN0aW9uUGFyYW1ldGVycz4g
Y3JlYXRlKFBhcmFtZXRlck5vZGUqIGZpcnN0UGFyYW1ldGVyKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgRnVuY3Rpb25QYXJhbWV0ZXJzKGZpcnN0UGFyYW1ldGVyKSk7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggYjI1N2I2OC4uNTgzOThkMSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC00NSw4ICs0NSwxMCBAQCBuYW1lc3BhY2UgSlND
IHsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFyc2VyQXJlbmFEYXRhIDog
UGFyc2VyQXJlbmFEZWxldGFibGUgeyBUIGRhdGE7IH07CiAKLSAgICBjbGFzcyBQYXJzZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhcnNlciB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKKyAgICAgICAgUGFyc2VyKCkgeyB9CiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBQYXJzZWRO
b2RlPgogICAgICAgICBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBEZWJ1Z2dlciosIEV4ZWNTdGF0ZSosIGNvbnN0IFNvdXJj
ZUNvZGUmIHNvdXJjZSwgRnVuY3Rpb25QYXJhbWV0ZXJzKiwgSlNQYXJzZXJTdHJpY3RuZXNzIHN0
cmljdG5lc3MsIEpTT2JqZWN0KiogZXhjZXB0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJBcmVuYS5oCmluZGV4IDdjMTgwOWUuLjgyZmI4MDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUGFyc2VyQXJlbmFEZWxldGFibGU7CiAgICAgY2xhc3Mg
UGFyc2VyQXJlbmFSZWZDb3VudGVkOwogCi0gICAgY2xhc3MgSWRlbnRpZmllckFyZW5hIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lO
TElORSBjb25zdCBJZGVudGlmaWVyJiBtYWtlSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBjb25z
dCBVQ2hhciogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCk7CiAgICAgICAgIGNvbnN0IElkZW50
aWZpZXImIG1ha2VOdW1lcmljSWRlbnRpZmllcihKU0dsb2JhbERhdGEqLCBkb3VibGUgbnVtYmVy
KTsKQEAgLTU5LDcgKzYwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBtX2lk
ZW50aWZpZXJzLmxhc3QoKTsKICAgICB9CiAKLSAgICBjbGFzcyBQYXJzZXJBcmVuYSA6IE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXJBcmVuYSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBhcnNlckFyZW5hKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhcnNlckFyZW5hKCk7
CiAgICAgICAgIH5QYXJzZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BjcmUvcGNyZV9leGVjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVf
ZXhlYy5jcHAKaW5kZXggNzg5ZjgwYS4uYjcwMThhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9leGVjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGNyZS9wY3JlX2V4ZWMuY3BwCkBAIC0xMTIsNyArMTEyLDkgQEAgc3RydWN0IEJyYWNrZXRDaGFp
bk5vZGUgewogICAgIGNvbnN0IFVDaGFyKiBicmFja2V0U3RhcnQ7CiB9OwogCi1zdHJ1Y3QgTWF0
Y2hGcmFtZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IE1hdGNoRnJhbWUgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFJldHVybkxvY2F0aW9uIHJldHVybkxv
Y2F0aW9uOwogICAgIHN0cnVjdCBNYXRjaEZyYW1lKiBwcmV2aW91c0ZyYW1lOwogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvQ2FsbElkZW50aWZpZXIuaAppbmRleCA3
NmMxNDcwLi5hOTgyN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmls
ZXIvQ2FsbElkZW50aWZpZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIv
Q2FsbElkZW50aWZpZXIuaApAQCAtMjgsMTMgKzI4LDE0IEBACiAjZGVmaW5lIENhbGxJZGVudGlm
aWVyX2gKIAogI2luY2x1ZGUgPHJ1bnRpbWUvVVN0cmluZy5oPgotI2luY2x1ZGUgIkZhc3RBbGxv
Y0Jhc2UuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIHN0cnVjdCBDYWxsSWRl
bnRpZmllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBzdHJ1Y3QgQ2FsbElkZW50aWZp
ZXIgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAg
ICAgIFVTdHJpbmcgbV9uYW1lOwogICAgICAgICBVU3RyaW5nIG1fdXJsOwogICAgICAgICB1bnNp
Z25lZCBtX2xpbmVOdW1iZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvUHJvZmlsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9Qcm9maWxl
ci5oCmluZGV4IGY5YzJjY2IuLmY4ODc0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wcm9maWxlci9Qcm9maWxlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9m
aWxlci9Qcm9maWxlci5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNs
YXNzIFVTdHJpbmc7CiAgICAgc3RydWN0IENhbGxJZGVudGlmaWVyOyAgICAKIAotICAgIGNsYXNz
IFByb2ZpbGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFByb2ZpbGVyIHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBz
dGF0aWMgUHJvZmlsZXIqKiBlbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKQogICAgICAgICB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKaW5kZXggY2Q1NjNhMi4uNTdlM2My
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaApAQCAtMjUsMTQgKzI1
LDE0IEBACiAjaW5jbHVkZSAiQ2FsbEZyYW1lLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXIuaCIKICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBNYXJr
U3RhY2s7CiAKLSAgICBjbGFzcyBNYXJrZWRBcmd1bWVudEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShNYXJrZWRBcmd1bWVudEJ1ZmZlcik7CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGlubGluZUNhcGFjaXR5ID0gODsKICAgICAgICAgdHlw
ZWRlZiBWZWN0b3I8UmVnaXN0ZXIsIGlubGluZUNhcGFjaXR5PiBWZWN0b3JUeXBlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAppbmRleCA3MTVhMmFjLi5mZTkwMGEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuaApAQCAtMzMsNyAr
MzMsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSA6
IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgQXJndW1lbnRzRGF0YSB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFyZ3VtZW50c0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
KyAgICBwdWJsaWM6CisgICAgICAgIEFyZ3VtZW50c0RhdGEoKSB7IH0KICAgICAgICAgSlNBY3Rp
dmF0aW9uKiBhY3RpdmF0aW9uOwogCiAgICAgICAgIHVuc2lnbmVkIG51bVBhcmFtZXRlcnM7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlv
bk9wdGltaXplci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5z
aXRpb25PcHRpbWl6ZXIuaAppbmRleCA3NDA4OWE1Li5kYjJkMWQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFuc2l0aW9uT3B0aW1p
emVyLmgKQEAgLTI3LDEyICsyNywxMiBAQAogI2lmbmRlZiBCYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplcl9oCiAjZGVmaW5lIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyX2gKIAotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgIkpTT2JqZWN0LmgiCiAKIG5hbWVzcGFjZSBK
U0MgewogCi0gICAgY2xhc3MgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIpOwogICAg
IHB1YmxpYzoKICAgICAgICAgQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIoSlNPYmplY3QqIG9i
amVjdCkKICAgICAgICAgICAgIDogbV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggMWUyMmI2YS4uNjU4
N2E4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVu
dGlmaWVycy5oCkBAIC04NCw3ICs4NCw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgY2xh
c3MgQ29tbW9uSWRlbnRpZmllcnMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENv
bW1vbklkZW50aWZpZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29tbW9uSWRl
bnRpZmllcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAg
ICBDb21tb25JZGVudGlmaWVycyhKU0dsb2JhbERhdGEqKTsKICAgICAgICAgZnJpZW5kIGNsYXNz
IEpTR2xvYmFsRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0hlYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuaAppbmRleCAyNDNi
YmEzLi4zZTFkODg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9I
ZWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSGVhcC5oCkBAIC00NSw3
ICs0NSw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBPcGVyYXRpb25JblByb2dyZXNz
IHsgTm9PcGVyYXRpb24sIEFsbG9jYXRpb24sIENvbGxlY3Rpb24gfTsKIAotICAgIGNsYXNzIEhl
YXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEhlYXAgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShIZWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZvaWQgZGVzdHJv
eSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aAppbmRleCBhMjJiMGFhLi4yNGJjMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTQ2NSw3ICs0NjUsOCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgcmV0dXJuIG5ldyAoZXhlYykgSlNBcnJheShleGVjLT5sZXhpY2FsR2xvYmFs
T2JqZWN0KCktPmFycmF5U3RydWN0dXJlKCksIHZhbHVlcyk7CiAgICAgfQogCi0gICAgY2xhc3Mg
RHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRHluYW1p
Y0dsb2JhbE9iamVjdFNjb3BlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBKU0dsb2JhbE9iamVjdCog
ZHluYW1pY0dsb2JhbE9iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTTG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNMb2Nr
LmgKaW5kZXggMDViMzg4Yy4uN2IwN2I0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNMb2NrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNMb2NrLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIEpT
TG9ja0JlaGF2aW9yIHsgU2lsZW5jZUFzc2VydGlvbnNPbmx5LCBMb2NrRm9yUmVhbCB9OwogCi0g
ICAgY2xhc3MgSlNMb2NrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBKU0xvY2sg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU0xvY2spOwogICAgIHB1YmxpYzoKICAg
ICAgICAgSlNMb2NrKEV4ZWNTdGF0ZSopOwogICAgICAgICBKU0xvY2soSlNHbG9iYWxEYXRhKik7
CkBAIC04OSw3ICs5MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIEpTTG9ja0JlaGF2
aW9yIG1fbG9ja0JlaGF2aW9yOwogCi0gICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIERyb3BBbGxMb2NrcyB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEcm9wQWxsTG9ja3MpOwogICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICBEcm9wQWxsTG9ja3MoRXhlY1N0YXRlKiBleGVjKTsKICAgICAgICAgICAgIERy
b3BBbGxMb2NrcyhKU0xvY2tCZWhhdmlvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT05PYmplY3QuY3BwCmluZGV4IDllNjMwMjcuLmRmNGJlNTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCkBAIC03MCw3ICs3MCw4IEBAIHBy
aXZhdGU6CiAgICAgbXV0YWJsZSBKU1ZhbHVlIG1fdmFsdWU7CiB9OwogCi1jbGFzcyBTdHJpbmdp
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU3RyaW5naWZpZXIpOwogcHVibGljOgogICAgIFN0cmluZ2lmaWVy
KEV4ZWNTdGF0ZSosIEpTVmFsdWUgcmVwbGFjZXIsIEpTVmFsdWUgc3BhY2UpOwogICAgIH5TdHJp
bmdpZmllcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9v
a3VwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaAppbmRleCA5YmM4
MWQ0Li4wZDZkOThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9M
b29rdXAuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Mb29rdXAuaApAQCAt
NTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB0eXBlZGVmIFByb3BlcnR5U2xvdDo6
R2V0VmFsdWVGdW5jIEdldEZ1bmN0aW9uOwogICAgIHR5cGVkZWYgdm9pZCAoKlB1dEZ1bmN0aW9u
KShFeGVjU3RhdGUqLCBKU09iamVjdCogYmFzZU9iamVjdCwgSlNWYWx1ZSB2YWx1ZSk7CiAKLSAg
ICBjbGFzcyBIYXNoRW50cnkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFz
aEVudHJ5IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICB2b2lkIGluaXRpYWxpemUoU3RyaW5nSW1wbCoga2V5LCB1bnNpZ25lZCBjaGFyIGF0
dHJpYnV0ZXMsIGludHB0cl90IHYxLCBpbnRwdHJfdCB2MgogI2lmIEVOQUJMRShKSVQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hY2hpbmVTdGFja01hcmtlci5oCmlu
ZGV4IGU4MGZlMDUuLmIxODY4MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hY2hpbmVTdGFja01hcmtlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL01hY2hpbmVTdGFja01hcmtlci5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgIGNsYXNzIEhlYXA7CiAgICAgY2xhc3MgTWFya1N0YWNrOwogCi0gICAgY2xhc3Mg
TWFjaGluZVN0YWNrTWFya2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYWNo
aW5lU3RhY2tNYXJrZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYWNoaW5lU3Rh
Y2tNYXJrZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgTWFjaGluZVN0YWNrTWFya2VyKEhlYXAq
KTsKICAgICAgICAgfk1hY2hpbmVTdGFja01hcmtlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXJrU3RhY2suaAppbmRleCA3YmNjYWRmLi5mNTRjZmE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2suaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9NYXJrU3RhY2suaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAKICAgICBlbnVtIE1hcmtTZXRQcm9wZXJ0aWVzIHsgTWF5Q29udGFpbk51
bGxWYWx1ZXMsIE5vTnVsbFZhbHVlcyB9OwogICAgIAotICAgIGNsYXNzIE1hcmtTdGFjayA6IE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBNYXJrU3RhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNYXJrU3RhY2spOwogICAgIHB1YmxpYzoKICAgICAgICAgTWFya1N0YWNrKHZvaWQq
IGpzQXJyYXlWUHRyKQogICAgICAgICAgICAgOiBtX2pzQXJyYXlWUHRyKGpzQXJyYXlWUHRyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3BhY2UuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZFNwYWNlLmgKaW5kZXggNzhmOTE4
Yy4uM2IwYzVlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFy
a2VkU3BhY2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrZWRTcGFj
ZS5oCkBAIC02Myw3ICs2Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAgICAgfTsK
IAotICAgIGNsYXNzIE1hcmtlZFNwYWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBNYXJrZWRTcGFjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1hcmtlZFNwYWNl
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtlZFNwYWNlKEpTR2xvYmFsRGF0YSopOwogICAg
ICAgICB2b2lkIGRlc3Ryb3koUHJvdGVjdENvdW50U2V0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaAppbmRleCA1OGFiZGU1Li4xNzE0
YmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0
cnVjdG9yLmgKQEAgLTMxLDcgKzMxLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgUmVn
RXhwUHJvdG90eXBlOwogICAgIHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGU7CiAKLSAg
ICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlIDogRmFzdEFsbG9jQmFzZSB7CisgICAg
c3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgLy8gR2xvYmFsIHNlYXJjaCBjYWNoZSAv
IHNldHRpbmdzCiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSgpCiAgICAgICAgICAg
ICA6IGxhc3ROdW1TdWJQYXR0ZXJucygwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWdFeHBPYmplY3QuaAppbmRleCBjOGNhZTI4Li45OWM4NGRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuaApAQCAtNTgsNyArNTgsOSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICBwcml2YXRlOgogICAgICAgICBib29sIG1hdGNoKEV4ZWNTdGF0ZSop
OwogCi0gICAgICAgIHN0cnVjdCBSZWdFeHBPYmplY3REYXRhIDogRmFzdEFsbG9jQmFzZSB7Cisg
ICAgICAgIHN0cnVjdCBSZWdFeHBPYmplY3REYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBSZWdFeHBPYmplY3RE
YXRhKE5vbk51bGxQYXNzUmVmUHRyPFJlZ0V4cD4gcmVnRXhwLCBkb3VibGUgbGFzdEluZGV4KQog
ICAgICAgICAgICAgICAgIDogcmVnRXhwKHJlZ0V4cCkKICAgICAgICAgICAgICAgICAsIGxhc3RJ
bmRleChsYXN0SW5kZXgpCkBAIC02OCw3ICs3MCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICAgICAgUmVmUHRyPFJlZ0V4cD4gcmVnRXhwOwogICAgICAgICAgICAgZG91YmxlIGxhc3RJbmRl
eDsKICAgICAgICAgfTsKLQorI2lmIFBMQVRGT1JNKFdJTikKKyAgICAgICAgZnJpZW5kIHZvaWQg
V1RGOjpkZWxldGVPd25lZFB0cjxSZWdFeHBPYmplY3REYXRhPihSZWdFeHBPYmplY3REYXRhKik7
CisjZW5kaWYKICAgICAgICAgT3duUHRyPFJlZ0V4cE9iamVjdERhdGE+IGQ7CiAgICAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5oCmluZGV4IDBiMTViNjcu
LmIxMDRlNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3Bl
Q2hhaW4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmgK
QEAgLTIxLDcgKzIxLDcgQEAKICNpZm5kZWYgU2NvcGVDaGFpbl9oCiAjZGVmaW5lIFNjb3BlQ2hh
aW5faAogCi0jaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCkBAIC0zMSw3ICszMSw4IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgIGNsYXNzIE1hcmtTdGFjazsKICAgICBjbGFzcyBTY29wZUNoYWluSXRlcmF0
b3I7CiAgICAgCi0gICAgY2xhc3MgU2NvcGVDaGFpbk5vZGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CisgICAgY2xhc3MgU2NvcGVDaGFpbk5vZGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNjb3BlQ2hhaW5Ob2RlKFNjb3BlQ2hhaW5O
b2RlKiBuZXh0LCBKU09iamVjdCogb2JqZWN0LCBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBnbG9iYWxUaGlzKQogICAgICAg
ICAgICAgOiBuZXh0KG5leHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21h
bGxTdHJpbmdzLmNwcAppbmRleCBmMzU4NzI3Li41NjE0OTMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5jcHAKQEAgLTQwLDcgKzQwLDggQEAgc3Rh
dGljIGlubGluZSBib29sIGlzTWFya2VkKEpTU3RyaW5nKiBzdHJpbmcpCiAgICAgcmV0dXJuIHN0
cmluZyAmJiBIZWFwOjppc0NlbGxNYXJrZWQoc3RyaW5nKTsKIH0KIAotY2xhc3MgU21hbGxTdHJp
bmdzU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTbWFsbFN0cmluZ3NTdG9y
YWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTbWFsbFN0cmluZ3NTdG9yYWdlKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU21hbGxTdHJpbmdzU3RvcmFnZSgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5oCmluZGV4
IGQxZWJmYjEzLi5hYzg0ZmU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TbWFsbFN0cmluZ3MuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
bWFsbFN0cmluZ3MuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBjbGFz
cyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU21hbGxTdHJpbmdzU3RvcmFnZTsKIAotICAgIGNsYXNz
IFNtYWxsU3RyaW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU21hbGxTdHJp
bmdzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU21hbGxTdHJpbmdzKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTbWFsbFN0cmluZ3MoKTsK
ICAgICAgICAgflNtYWxsU3RyaW5ncygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N5bWJvbFRhYmxlLmgKaW5kZXggMWIxNjM2ZC4uMjYzNTUwMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TeW1ib2xUYWJsZS5oCkBAIC0xMjIsNiArMTIyLDcgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxTdHJpbmdJbXBsPiwgU3ltYm9s
VGFibGVFbnRyeSwgSWRlbnRpZmllclJlcEhhc2gsIEhhc2hUcmFpdHM8UmVmUHRyPFN0cmluZ0lt
cGw+ID4sIFN5bWJvbFRhYmxlSW5kZXhIYXNoVHJhaXRzPiBTeW1ib2xUYWJsZTsKIAogICAgIGNs
YXNzIFNoYXJlZFN5bWJvbFRhYmxlIDogcHVibGljIFN5bWJvbFRhYmxlLCBwdWJsaWMgUmVmQ291
bnRlZDxTaGFyZWRTeW1ib2xUYWJsZT4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZFN5bWJvbFRh
YmxlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU2hhcmVkU3ltYm9sVGFibGUpOyB9
CiAgICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtHQ01hcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvV2Vha0dDTWFwLmgK
aW5kZXggMmQ0ZTU5ZC4uMzE2Nzk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvV2Vha0dDTWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
V2Vha0dDTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgY2xhc3MgSlNDZWxsOwogCiAvLyBBIEhhc2hN
YXAgd2hvc2UgZ2V0KCkgZnVuY3Rpb24gcmV0dXJucyBlbXB0eVZhbHVlKCkgZm9yIGNlbGxzIGF3
YWl0aW5nIGRlc3RydWN0aW9uLgogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZSwgdHlwZW5hbWUg
TWFwcGVkVHlwZT4KLWNsYXNzIFdlYWtHQ01hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2Ns
YXNzIFdlYWtHQ01hcCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgLyoKICAg
ICBJbnZhcmlhbnRzOgogICAgICAgICAqIEEgdmFsdWUgZW50ZXJzIHRoZSBXZWFrR0NNYXAgbWFy
a2VkLiAoR3VhcmFudGVlZCBieSBzZXQoKS4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9XZWFrR0NQdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtHQ1B0ci5oCmluZGV4IDZjYzc1YTUuLjQ5NDZlZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1dlYWtHQ1B0ci5oCkBAIC0yOCwxMiArMjgsMTIgQEAKIAogI2luY2x1ZGUg
IkhlYXAuaCIKICNpbmNsdWRlICJHQ0hhbmRsZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAogLy8gQSBzbWFydCBwb2ludGVyIHdob3NlIGdldCgp
IGZ1bmN0aW9uIHJldHVybnMgMCBmb3IgY2VsbHMgYXdhaXRpbmcgZGVzdHJ1Y3Rpb24uCi10ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2Vha0dDUHRyIDogTm9uY29weWFibGUgewordGVtcGxh
dGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoV2Vha0dDUHRyKTsKIHB1YmxpYzoKICAgICBXZWFrR0NQdHIoKQogICAgICAgICA6IG1fcHRy
KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVm
Q291bnRlZC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50
ZWQuaAppbmRleCAwYzBlOTk3Li44YjY1OTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmgKQEAgLTUxLDcgKzUxLDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgLy8gd2l0aCByZXNwZWN0IHRvIHRoZSBvcmlnaW5hbCBhbmQgYW55IG90
aGVyIGNvcGllcy4gIFRoZSB1bmRlcmx5aW5nIG1fZGF0YSBpcyBqb2ludGx5CiAgICAgLy8gb3du
ZWQgYnkgdGhlIG9yaWdpbmFsIGluc3RhbmNlIGFuZCBhbGwgY29waWVzLgogICAgIHRlbXBsYXRl
PGNsYXNzIFQ+Ci0gICAgY2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc1RocmVhZFJlZkNvdW50ZWQgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlZkNvdW50ZWQpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q3Jvc3NUaHJlYWRSZWZDb3VudGVkPFQ+ID4gY3JlYXRl
KFQqIGRhdGEpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvRGF0ZU1hdGguaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaAppbmRl
eCA4ZDBkOTMyLi40MWJkNGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L0RhdGVNYXRoLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EYXRlTWF0aC5oCkBA
IC00NCw2ICs0NCw3IEBACiAjZGVmaW5lIERhdGVNYXRoX2gKIAogI2luY2x1ZGUgPG1hdGguaD4K
KyNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx0aW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CkBAIC0xMjAsNyArMTIxLDkgQEAgZG91
YmxlIHBhcnNlRGF0ZUZyb21OdWxsVGVybWluYXRlZENoYXJhY3RlcnMoRXhlY1N0YXRlKiwgY29u
c3QgY2hhciogZGF0ZVN0cmluZykKIAogLy8gSW50ZW50aW9uYWxseSBvdmVycmlkZGluZyB0aGUg
ZGVmYXVsdCB0bSBvZiB0aGUgc3lzdGVtLgogLy8gVGhlIG1lbWJlcnMgb2YgdG0gZGlmZmVyIG9u
IHZhcmlvdXMgb3BlcmF0aW5nIHN5c3RlbXMuCi1zdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgR3JlZ29yaWFuRGF0ZVRpbWUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEdyZWdvcmlhbkRhdGVUaW1lKTsKK3B1YmxpYzoKICAgICBHcmVnb3JpYW5EYXRl
VGltZSgpCiAgICAgICAgIDogc2Vjb25kKDApCiAgICAgICAgICwgbWludXRlKDApCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RlcXVlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0RlcXVlLmgKaW5kZXggNzQ1ZTBiNi4uMWIxNmFmYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvRGVxdWUuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBEZXF1ZUNvbnN0UmV2ZXJzZUl0ZXJhdG9yOwogCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBjbGFzcyBEZXF1ZSA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBEZXF1ZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBEZXF1ZUl0ZXJhdG9yPFQ+IGl0ZXJhdG9y
OwogICAgICAgICB0eXBlZGVmIERlcXVlQ29uc3RJdGVyYXRvcjxUPiBjb25zdF9pdGVyYXRvcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKaW5kZXggYmIxODI1ZS4u
ZTQ4OTlhYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NC
YXNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAg
LTMyLDggKzMyLDggQEAKIC8vIFByb3ZpZGVzIGN1c3RvbWl6YWJsZSBvdmVycmlkZXMgb2YgZmFz
dE1hbGxvYy9mYXN0RnJlZSBhbmQgb3BlcmF0b3IgbmV3L2RlbGV0ZQogLy8KIC8vIFByb3ZpZGVk
IGZ1bmN0aW9uYWxpdHk6CisvLyAgICBNYWNybzogV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKIC8v
ICAgIG5hbWVzcGFjZSBXVEYgewotLy8gICAgICAgIGNsYXNzIEZhc3RBbGxvY0Jhc2U7CiAvLwog
Ly8gICAgICAgIFQqICAgIGZhc3ROZXc8VD4oKTsKIC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+
KGFyZyk7CkBAIC00OCw3ICs0OCwxNiBAQAogLy8gRmFzdERlbGV0ZSBhc3N1bWVzIHRoYXQgdGhl
IHVuZGVybHlpbmcKIC8vCiAvLyBFeGFtcGxlIHVzYWdlOgotLy8gICAgY2xhc3MgV2lkZ2V0IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeyAuLi4gfTsKKy8vICAgIGNsYXNzIFdpZGdldCB7CisvLyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8vICAgIC4uLgorLy8gICAgfTsKKy8vCisv
LyAgICBzdHJ1Y3QgRGF0YSB7CisvLyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQKKy8v
ICAgIHB1YmxpYzoKKy8vICAgIC4uLgorLy8gICAgfTsKIC8vCiAvLyAgICBjaGFyKiBjaGFyUHRy
ID0gZmFzdE5ldzxjaGFyPigpOwogLy8gICAgZmFzdERlbGV0ZShjaGFyUHRyKTsKQEAgLTgzLDgg
KzkyLDYgQEAKICNpbmNsdWRlICJGYXN0TWFsbG9jLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5o
IgogCi1uYW1lc3BhY2UgV1RGIHsKLQogI2RlZmluZSBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRCBc
CiBwdWJsaWM6IFwKICAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lkKiBwKSB7IHJl
dHVybiBwOyB9IFwKQEAgLTExNSwxMSArMTIyLDEwIEBAIHB1YmxpYzogXAogICAgICAgICAgOjpX
VEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9j
VHlwZUNsYXNzTmV3QXJyYXkpOyBcCiAgICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKICAg
ICB9IFwKLXByaXZhdGU6Citwcml2YXRlOiBcCit0eXBlZGVmIGludCBUaGlzSXNIZXJlVG9Gb3Jj
ZUFTZW1pY29sb25BZnRlclRoaXNNYWNybwogCi1jbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRCAgCi19OworbmFtZXNwYWNlIFdURiB7CiAKICAgICAvLyBm
YXN0TmV3IC8gZmFzdERlbGV0ZQogCkBAIC00MTAsNyArNDE2LDYgQEAgY2xhc3MgRmFzdEFsbG9j
QmFzZSB7CiAKIH0gLy8gbmFtZXNwYWNlIFdURgogCi11c2luZyBXVEY6OkZhc3RBbGxvY0Jhc2U7
CiB1c2luZyBXVEY6OmZhc3REZWxldGVTa2lwcGluZ0Rlc3RydWN0b3I7CiAKICNlbmRpZiAvLyBG
YXN0QWxsb2NCYXNlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFz
aENvdW50ZWRTZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaENvdW50ZWRTZXQu
aAppbmRleCA0ZWQ3NWM1Li5iOTdkOGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0hhc2hDb3VudGVkU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9I
YXNoQ291bnRlZFNldC5oCkBAIC0yMiwxNCArMjIsMTQgQEAKICNkZWZpbmUgV1RGX0hhc2hDb3Vu
dGVkU2V0X2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKLSNpbmNsdWRlICJGYXN0QWxsb2NC
YXNlLmgiCiAjaW5jbHVkZSAiSGFzaE1hcC5oIgogI2luY2x1ZGUgIlZlY3Rvci5oIgogCiBuYW1l
c3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBIYXNo
RnVuY3Rpb25zID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWU+OjpIYXNoLAotICAgICAgICB0
eXBlbmFtZSBUcmFpdHMgPSBIYXNoVHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFtZSBUcmFpdHMgPSBIYXNo
VHJhaXRzPFZhbHVlPiA+IGNsYXNzIEhhc2hDb3VudGVkU2V0IHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFZh
bHVlLCB1bnNpZ25lZCwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzPiBJbXBsVHlwZTsKICAgICBwdWJs
aWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCmluZGV4IDA5MDk0ZDEuLjc3MzE1NDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaE1hcC5oCkBAIC0yOSw3ICsyOSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5QXJnLCB0eXBlbmFtZSBNYXBw
ZWRBcmcsIHR5cGVuYW1lIEhhc2hBcmcgPSB0eXBlbmFtZSBEZWZhdWx0SGFzaDxLZXlBcmc+OjpI
YXNoLAogICAgICAgICB0eXBlbmFtZSBLZXlUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPEtleUFyZz4s
IHR5cGVuYW1lIE1hcHBlZFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8TWFwcGVkQXJnPiA+Ci0gICAg
Y2xhc3MgSGFzaE1hcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBIYXNoTWFw
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgdHlwZWRlZiBLZXlUcmFpdHNBcmcgS2V5VHJhaXRzOwogICAgICAgICB0eXBlZGVmIE1hcHBl
ZFRyYWl0c0FyZyBNYXBwZWRUcmFpdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0hhc2hTZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCmlu
ZGV4IDY2NjM5ZTQuLmJlNmI5M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvSGFzaFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvSGFzaFNldC5oCkBA
IC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHN0cnVjdCBJZGVudGl0eUV4dHJhY3RvcjsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVl
QXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpI
YXNoLAotICAgICAgICB0eXBlbmFtZSBUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+
IGNsYXNzIEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHR5cGVuYW1l
IFRyYWl0c0FyZyA9IEhhc2hUcmFpdHM8VmFsdWVBcmc+ID4gY2xhc3MgSGFzaFNldCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVk
ZWYgSGFzaEFyZyBIYXNoRnVuY3Rpb25zOwogICAgICAgICB0eXBlZGVmIFRyYWl0c0FyZyBWYWx1
ZVRyYWl0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hT
ZXQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaAppbmRleCBlMTRh
YzQ1Li5lOTE2ZWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RI
YXNoU2V0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0SGFzaFNldC5oCkBA
IC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZh
bHVlQXJnLCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVBbGxv
Y2F0b3I7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eSwgdHlwZW5hbWUgSGFzaEFyZz4gc3RydWN0IExpc3RIYXNoU2V0Tm9kZUhhc2hGdW5jdGlv
bnM7CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFj
aXR5ID0gMjU2LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVB
cmc+OjpIYXNoPiBjbGFzcyBMaXN0SGFzaFNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMjU2
LCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8VmFsdWVBcmc+OjpIYXNo
PiBjbGFzcyBMaXN0SGFzaFNldCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hTZXROb2RlPFZhbHVlQXJnLCBp
bmxpbmVDYXBhY2l0eT4gTm9kZTsKICAgICAgICAgdHlwZWRlZiBMaXN0SGFzaFNldE5vZGVBbGxv
Y2F0b3I8VmFsdWVBcmcsIGlubGluZUNhcGFjaXR5PiBOb2RlQWxsb2NhdG9yOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvTG9ja2VyLmgKaW5kZXggNDE4MTNkMy4uYzQ2NWI5OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Mb2NrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0xvY2tlci5oCkBAIC0zMiw3ICszMiw4IEBACiAKIG5hbWVzcGFjZSBXVEYgewogCi10
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBMb2NrZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvY2tlcik7CiBwdWJsaWM6CiAgICAgTG9ja2VyKFQmIGxvY2thYmxlKSA6IG1fbG9j
a2FibGUobG9ja2FibGUpIHsgbV9sb2NrYWJsZS5sb2NrKCk7IH0KICAgICB+TG9ja2VyKCkgeyBt
X2xvY2thYmxlLnVubG9jaygpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL01lc3NhZ2VRdWV1ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9NZXNzYWdlUXVl
dWUuaAppbmRleCAxNDEwMGM5Li43YzE4YTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL01lc3NhZ2VRdWV1ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
TWVzc2FnZVF1ZXVlLmgKQEAgLTQ4LDcgKzQ4LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8g
d2hlbiBtZXNzYWdlcyBhcmUgZmV0Y2hlZCBmcm9tIHRoZSBxdWV1ZS4KICAgICAvLyBFc3NlbnRp
YWxseSwgTWVzc2FnZVF1ZXVlIGFjdHMgYXMgYSBxdWV1ZSBvZiBPd25QdHI8RGF0YVR5cGU+Lgog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIERhdGFUeXBlPgotICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWVzc2FnZVF1ZXVlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2FnZVF1ZXVlKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IE1lc3NhZ2VRdWV1ZSgpIDogbV9raWxsZWQoZmFsc2UpIHsgfQogICAgICAgICB+TWVzc2FnZVF1
ZXVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKaW5kZXggMjg1ZWQy
ZS4uY2M2YmM1NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5
YWJsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29weWFibGUuaApAQCAt
NDEsMjMgKzQxLDQgQEAKICAgICAgICAgICAgIENsYXNzTmFtZSYgb3BlcmF0b3I9KGNvbnN0IENs
YXNzTmFtZSYpCiAjZW5kaWYKIAotLy8gV2UgZG9uJ3Qgd2FudCBhcmd1bWVudC1kZXBlbmRlbnQg
bG9va3VwIHRvIHB1bGwgaW4gZXZlcnl0aGluZyBmcm9tIHRoZSBXVEYKLS8vIG5hbWVzcGFjZSB3
aGVuIHlvdSB1c2UgTm9uY29weWFibGUsIHNvIHB1dCBpdCBpbiBpdHMgb3duIG5hbWVzcGFjZS4K
LQotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKLQotbmFtZXNwYWNlIFdURk5vbmNvcHlhYmxl
IHsKLQotICAgIGNsYXNzIE5vbmNvcHlhYmxlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgewotICAg
ICAgICBOb25jb3B5YWJsZShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgICAgICBOb25jb3B5YWJs
ZSYgb3BlcmF0b3I9KGNvbnN0IE5vbmNvcHlhYmxlJik7Ci0gICAgcHJvdGVjdGVkOgotICAgICAg
ICBOb25jb3B5YWJsZSgpIHsgfQotICAgICAgICB+Tm9uY29weWFibGUoKSB7IH0KLSAgICB9Owot
Ci19IC8vIG5hbWVzcGFjZSBXVEZOb25jb3B5YWJsZQotCi11c2luZyBXVEZOb25jb3B5YWJsZTo6
Tm9uY29weWFibGU7Ci0KICNlbmRpZiAvLyBXVEZfTm9uY29weWFibGVfaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCmluZGV4IDY0M2I5MGIuLmRiZDM0YWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNw
YWNlIFdURiB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duQXJyYXlQdHI7CiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duQXJyYXlQdHI8VD4gYWRvcHRBcnJheVB0cihUKik7
CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBPd25BcnJheVB0ciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgewogcHVi
bGljOgogICAgIHR5cGVkZWYgVCogUHRyVHlwZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL093bkZhc3RNYWxsb2NQdHIuaAppbmRleCA4YjZjYmY0Li45ZDQ4NDFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkZhc3RNYWxsb2NQdHIuaApAQCAtMjMsMTEgKzIzLDEx
IEBACiAjZGVmaW5lIE93bkZhc3RNYWxsb2NQdHJfaAogCiAjaW5jbHVkZSAiRmFzdE1hbGxvYy5o
IgotI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgiCiAKIG5hbWVzcGFjZSBXVEYgewogCi0gICAgdGVt
cGxhdGU8Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1hbGxvY1B0ciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgT3duRmFzdE1hbGxvY1B0ciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE93bkZhc3RNYWxsb2NQdHIpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgZXhwbGljaXQgT3duRmFzdE1hbGxvY1B0cihUKiBwdHIpIDogbV9wdHIocHRyKQog
ICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAppbmRleCBjZGMyNzdjLi5mYjU5
NDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKQEAgLTIyLDcgKzIyLDYgQEAKICNk
ZWZpbmUgV1RGX093blB0cl9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAi
Tm9uY29weWFibGUuaCIKICNpbmNsdWRlICJOdWxsUHRyLmgiCiAjaW5jbHVkZSAiT3duUHRyQ29t
bW9uLmgiCiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgpAQCAtMzksNyArMzgsNyBAQCBuYW1lc3Bh
Y2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzT3duUHRyOwogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFBhc3NPd25QdHI8VD4gYWRvcHRQdHIoVCopOwogCi0gICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBPd25QdHIgewogICAgIHB1YmxpYzoKICAg
ICAgICAgdHlwZWRlZiB0eXBlbmFtZSBSZW1vdmVQb2ludGVyPFQ+OjpUeXBlIFZhbHVlVHlwZTsK
ICAgICAgICAgdHlwZWRlZiBWYWx1ZVR5cGUqIFB0clR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmQ291bnRlZC5oCmluZGV4IDhkOGIzMDIuLmRhMTc4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvUmVmQ291bnRlZC5oCkBAIC0yMiw2ICsyMiw3IEBACiAjZGVmaW5lIFJlZkNvdW50
ZWRfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgorI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2Uu
aCIKICNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKQEAgLTEzMSw3
ICsxMzIsOCBAQCBpbmxpbmUgdm9pZCBhZG9wdGVkKFJlZkNvdW50ZWRCYXNlKiBvYmplY3QpCiAK
ICNlbmRpZgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZDb3VudGVkIDogcHVibGlj
IFJlZkNvdW50ZWRCYXNlLCBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1YmxpYyBSZWZDb3VudGVkQmFzZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVmQ291bnRlZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTE0MCw2ICsxNDIsNyBAQCBwdWJsaWM6
CiAgICAgfQogCiBwcm90ZWN0ZWQ6CisgICAgUmVmQ291bnRlZCgpIHsgfQogICAgIH5SZWZDb3Vu
dGVkKCkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZQdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKaW5kZXggZDU3
Zjg4YS4uMzUzYmQzNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQ
dHIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCkBAIC0zNiw3ICsz
Niw4IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgZW51bSBIYXNoVGFibGVEZWxldGVkVmFsdWVU
eXBlIHsgSGFzaFRhYmxlRGVsZXRlZFZhbHVlIH07CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgUmVmUHRyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cigpIDogbV9wdHIoMCkg
eyB9CiAgICAgICAgIEFMV0FZU19JTkxJTkUgUmVmUHRyKFQqIHB0cikgOiBtX3B0cihwdHIpIHsg
cmVmSWZOb3ROdWxsKHB0cik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRySGFzaE1hcC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHJIYXNo
TWFwLmgKaW5kZXggYjllN2VlYS4uZGJlYWJmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZWZQdHJIYXNoTWFwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZWZQdHJIYXNoTWFwLmgKQEAgLTQ1LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
fTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIE1hcHBlZEFyZywgdHlwZW5h
bWUgSGFzaEFyZywgdHlwZW5hbWUgS2V5VHJhaXRzQXJnLCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNB
cmc+Ci0gICAgY2xhc3MgSGFzaE1hcDxSZWZQdHI8VD4sIE1hcHBlZEFyZywgSGFzaEFyZywgS2V5
VHJhaXRzQXJnLCBNYXBwZWRUcmFpdHNBcmc+IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAg
IGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtleVRyYWl0c0Fy
ZywgTWFwcGVkVHJhaXRzQXJnPiB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAg
ICAgICAgdHlwZWRlZiBNYXBwZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMu
aAppbmRleCAzYWY4N2E4Li5lZDFiYTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHMuaApAQCAtMzEsMTQgKzMx
LDE0IEBACiAjaWZuZGVmIFRocmVhZElkZW50aWZpZXJEYXRhUHRocmVhZHNfaAogI2RlZmluZSBU
aHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdURiB7CiAKIC8v
IEhvbGRzIFRocmVhZElkZW50aWZpZXIgaW4gdGhlIHRocmVhZC1zcGVjaWZpYyBzdG9yYWdlIGFu
ZCBlbXBsb3lzIHB0aHJlYWRzLXNwZWNpZmljIDItcGFzcyBkZXN0cnVjdGlvbiB0byByZWxpYWJs
eSByZW1vdmUKIC8vIFRocmVhZElkZW50aWZpZXIgZnJvbSB0aHJlYWRNYXAuIEl0IGFzc3VtZXMg
cmVndWxhciBUaHJlYWRTcGVjaWZpYyB0eXBlcyBkb24ndCB1c2UgbXVsdGlwbGUtcGFzcyBkZXN0
cnVjdGlvbi4KLWNsYXNzIFRocmVhZElkZW50aWZpZXJEYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFRocmVhZElkZW50aWZpZXJEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShUaHJlYWRJZGVudGlmaWVyRGF0YSk7CiBwdWJsaWM6CiAgICAgflRocmVhZElkZW50aWZpZXJE
YXRhKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2Fm
ZVNoYXJlZC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgK
aW5kZXggMzNjNjYxMi4uYTZhMWNmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9UaHJlYWRTYWZlU2hhcmVkLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9U
aHJlYWRTYWZlU2hhcmVkLmgKQEAgLTYyLDEyICs2MiwxMiBAQAogI2luY2x1ZGUgIlBsYXRmb3Jt
LmgiCiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAKIG5hbWVzcGFjZSBX
VEYgewogCi1jbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUaHJlYWRTYWZlU2hhcmVkQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkU2FmZVNoYXJlZEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBUaHJlYWRTYWZlU2hhcmVkQmFzZShpbnQgaW5pdGlhbFJlZkNvdW50ID0gMSkKICAgICAg
ICAgOiBtX3JlZkNvdW50KGluaXRpYWxSZWZDb3VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkU3BlY2lmaWMuaAppbmRleCA5M2VkNDY2Li5mYTlhMzkzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oCkBAIC02MSw3ICs2MSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogdm9pZCBUaHJlYWRTcGVjaWZpY1RocmVhZEV4aXQoKTsKICNlbmRpZgogCi10
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUaHJlYWRTcGVjaWZpYyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7Cit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUaHJlYWRTcGVjaWZpYyB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkU3BlY2lmaWMpOwogcHVibGljOgogICAgIFRocmVh
ZFNwZWNpZmljKCk7CiAgICAgVCogb3BlcmF0b3ItPigpOwpAQCAtODQsNyArODUsOSBAQCBwcml2
YXRlOgogICAgIHZvaWQgc3RhdGljIGRlc3Ryb3kodm9pZCogcHRyKTsKIAogI2lmIFVTRShQVEhS
RUFEUykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKEdUSykgfHwgT1MoV0lORE9XUykKLSAg
ICBzdHJ1Y3QgRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRGF0YSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRGF0YShU
KiB2YWx1ZSwgVGhyZWFkU3BlY2lmaWM8VD4qIG93bmVyKSA6IHZhbHVlKHZhbHVlKSwgb3duZXIo
b3duZXIpIHt9CiAjaWYgUExBVEZPUk0oUVQpCiAgICAgICAgIH5EYXRhKCkgeyBvd25lci0+ZGVz
dHJveSh0aGlzKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJl
YWRTcGVjaWZpY1dpbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNp
ZmljV2luLmNwcAppbmRleCBmMmMwY2FkLi5kNzI5OTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljV2luLmNwcApAQCAtMjEsNyArMjEsNiBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAiVGhyZWFkU3BlY2lmaWMuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogI2lmIFVTRShQVEhSRUFEUykKICNlcnJvciBUaGlzIGZp
bGUgc2hvdWxkIG5vdCBiZSBjb21waWxlZCBieSBwb3J0cyB0aGF0IGRvIG5vdCB1c2UgV2luZG93
cyBuYXRpdmUgVGhyZWFkU3BlY2lmaWMgaW1wbGVtZW50YXRpb24uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1RocmVhZGluZy5jcHAKaW5kZXggNDlkZTU5ZS4uZjJlMDU2NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcApAQCAtMzAsNyArMzAsOSBAQAogCiBuYW1lc3Bh
Y2UgV1RGIHsKIAotc3RydWN0IE5ld1RocmVhZENvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKK3N0
cnVjdCBOZXdUaHJlYWRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1
YmxpYzoKICAgICBOZXdUaHJlYWRDb250ZXh0KFRocmVhZEZ1bmN0aW9uIGVudHJ5UG9pbnQsIHZv
aWQqIGRhdGEsIGNvbnN0IGNoYXIqIG5hbWUpCiAgICAgICAgIDogZW50cnlQb2ludChlbnRyeVBv
aW50KQogICAgICAgICAsIGRhdGEoZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKaW5kZXggYzExYTZjYi4uODA5YzNlMiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmgKQEAgLTM0LDYg
KzM0LDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybS5oIgogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Mb2Nr
ZXIuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIApAQCAtOTYsNyArOTcsOCBAQCB0
eXBlZGVmIHZvaWQqIFBsYXRmb3JtUmVhZFdyaXRlTG9jazsKIHR5cGVkZWYgdm9pZCogUGxhdGZv
cm1Db25kaXRpb247CiAjZW5kaWYKICAgICAKLWNsYXNzIE11dGV4IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE11dGV4IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNdXRleCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE11dGV4KCk7CiAgICAgfk11dGV4
KCk7CkBAIC0xMTMsNyArMTE1LDggQEAgcHJpdmF0ZToKIAogdHlwZWRlZiBMb2NrZXI8TXV0ZXg+
IE11dGV4TG9ja2VyOwogCi1jbGFzcyBSZWFkV3JpdGVMb2NrIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFJlYWRXcml0ZUxvY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlYWRX
cml0ZUxvY2spOwogcHVibGljOgogICAgIFJlYWRXcml0ZUxvY2soKTsKICAgICB+UmVhZFdyaXRl
TG9jaygpOwpAQCAtMTMwLDcgKzEzMyw4IEBAIHByaXZhdGU6CiAgICAgUGxhdGZvcm1SZWFkV3Jp
dGVMb2NrIG1fcmVhZFdyaXRlTG9jazsKIH07CiAKLWNsYXNzIFRocmVhZENvbmRpdGlvbiA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRDb25kaXRpb24geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFRocmVhZENvbmRpdGlvbik7CiBwdWJsaWM6CiAgICAgVGhyZWFkQ29uZGl0
aW9uKCk7CiAgICAgflRocmVhZENvbmRpdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVmVjdG9y
LmgKaW5kZXggZjczNzkzZi4uNmQ4ZGQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9WZWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rvci5o
CkBAIC0yNzcsNyArMjc3LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgVmVjdG9yQnVmZmVyQmFzZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFZlY3RvckJ1ZmZlckJhc2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgdm9p
ZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKQEAgLTQ4OCw3
ICs0ODksOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMD4KLSAgICBjbGFzcyBWZWN0b3IgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgVmVjdG9yIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdHlwZWRlZiBWZWN0b3JCdWZm
ZXI8VCwgaW5saW5lQ2FwYWNpdHk+IEJ1ZmZlcjsKICAgICAgICAgdHlwZWRlZiBWZWN0b3JUeXBl
T3BlcmF0aW9uczxUPiBUeXBlT3BlcmF0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9X
VEZUaHJlYWREYXRhLmgKaW5kZXggNTJjMjY3YS4uMjQzYWE5MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9XVEZUaHJlYWREYXRhLmgKQEAgLTUyLDcgKzUyLDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAKIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBjaGFyKiwgUmVmUHRyPFN0cmluZ0ltcGw+LCBQ
dHJIYXNoPGNvbnN0IGNoYXIqPiA+IExpdGVyYWxJZGVudGlmaWVyVGFibGU7CiAKLWNsYXNzIElk
ZW50aWZpZXJUYWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJU
YWJsZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgfklkZW50
aWZpZXJUYWJsZSgpOwogCkBAIC04NSw3ICs4Niw4IEBAIGNsYXNzIEF0b21pY1N0cmluZ1RhYmxl
OwogCiB0eXBlZGVmIHZvaWQgKCpBdG9taWNTdHJpbmdUYWJsZURlc3RydWN0b3IpKEF0b21pY1N0
cmluZ1RhYmxlKik7CiAKLWNsYXNzIFdURlRocmVhZERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgV1RGVGhyZWFkRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV1RGVGhy
ZWFkRGF0YSk7CiBwdWJsaWM6CiAgICAgV1RGVGhyZWFkRGF0YSgpOwogICAgIH5XVEZUaHJlYWRE
YXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAppbmRleCBjODljMDM2Li5iNWIxMjYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKQEAgLTQxNCw3ICs0MTQsMTAgQEAgc3Rh
dGljIHZvaWQgbXVsdChCaWdJbnQmIGFSZWYsIGNvbnN0IEJpZ0ludCYgYlJlZikKICAgICBhUmVm
ID0gYzsKIH0KIAotc3RydWN0IFA1Tm9kZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQNU5vZGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFA1Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgorICAgIFA1Tm9kZSgpIHsgfQogICAgIEJpZ0ludCB2YWw7CiAgICAgUDVO
b2RlKiBuZXh0OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZ29i
amVjdC9HT3duUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dvYmplY3QvR093blB0
ci5oCmluZGV4IGNlYzNlNDMuLjQxMzZmMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvZ29iamVjdC9HT3duUHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9nb2JqZWN0L0dPd25QdHIuaApAQCAtNDEsNyArNDEsOCBAQCB0ZW1wbGF0ZTw+IHZvaWQgZnJl
ZU93bmVkR1B0cjxHUGF0dGVyblNwZWM+KEdQYXR0ZXJuU3BlYyopOwogdGVtcGxhdGU8PiB2b2lk
IGZyZWVPd25lZEdQdHI8R0Rpcj4oR0RpciopOwogdGVtcGxhdGU8PiB2b2lkIGZyZWVPd25lZEdQ
dHI8R0ZpbGU+KEdGaWxlKik7CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3duUHRy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBHT3du
UHRyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHT3duUHRyKTsKIHB1YmxpYzoKICAgICBl
eHBsaWNpdCBHT3duUHRyKFQqIHB0ciA9IDApIDogbV9wdHIocHRyKSB7IH0KICAgICB+R093blB0
cigpIHsgZnJlZU93bmVkR1B0cihtX3B0cik7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvdGV4dC9TdHJpbmdCdWZmZXIuaAppbmRleCBhNTQ2YmYzLi5lNzNkMzhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCkBAIC0zMCwxMyArMzAs
MTMgQEAKICNkZWZpbmUgU3RyaW5nQnVmZmVyX2gKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUv
VW5pY29kZS5oPgogI2luY2x1ZGUgPGxpbWl0cz4KIAogbmFtZXNwYWNlIFdURiB7CiAKLWNsYXNz
IFN0cmluZ0J1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdHJpbmdCdWZmZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ0J1ZmZlcik7CiBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgU3RyaW5nQnVmZmVyKHVuc2lnbmVkIGxlbmd0aCkKICAgICAgICAgOiBtX2xlbmd0
aChsZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3Ry
aW5nSW1wbEJhc2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBs
QmFzZS5oCmluZGV4IDY1Njc2NzIuLjI2YmMxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5k
ZWYgU3RyaW5nSW1wbEJhc2VfaAogI2RlZmluZSBTdHJpbmdJbXBsQmFzZV9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAK
IG5hbWVzcGFjZSBXVEYgewogCi1jbGFzcyBTdHJpbmdJbXBsQmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTdHJpbmdJbXBsQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U3RyaW5nSW1wbEJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBi
b29sIGlzU3RyaW5nSW1wbCgpIHsgcmV0dXJuIChtX3JlZkNvdW50QW5kRmxhZ3MgJiBzX3JlZkNv
dW50SW52YWxpZEZvclN0cmluZ0ltcGwpICE9IHNfcmVmQ291bnRJbnZhbGlkRm9yU3RyaW5nSW1w
bDsgfQogICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CkBA
IC00NSw5ICs0NSw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgQnVmZmVyU2hhcmVkLAogICAgIH07
CiAKLSAgICB1c2luZyBOb25jb3B5YWJsZTo6b3BlcmF0b3IgbmV3OwotICAgIHZvaWQqIG9wZXJh
dG9yIG5ldyhzaXplX3QsIHZvaWQqIGluUGxhY2UpIHsgQVNTRVJUKGluUGxhY2UpOyByZXR1cm4g
aW5QbGFjZTsgfQotCiAgICAgLy8gRm9yIFNtYWxsU3RyaW5nU3RvcmFnZSwgd2hpY2ggYWxsb2Nh
dGVzIGFuIGFycmF5IGFuZCB1c2VzIGFuIGluLXBsYWNlIG5ldy4KICAgICBTdHJpbmdJbXBsQmFz
ZSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUv
Q29sbGF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvci5o
CmluZGV4IGZlNmE4MDkuLjAwYWIxNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdW5pY29kZS9Db2xsYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
dW5pY29kZS9Db2xsYXRvci5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaWZuZGVmIFdURl9Db2xsYXRv
cl9oCiAjZGVmaW5lIFdURl9Db2xsYXRvcl9oCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFz
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgpAQCAtMzksNyArNDAsOCBA
QCBzdHJ1Y3QgVUNvbGxhdG9yOwogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIGNsYXNzIENvbGxh
dG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb2xsYXRvciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENvbGxhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFJlc3VsdCB7IEVxdWFsID0gMCwgR3JlYXRlciA9
IDEsIExlc3MgPSAtMSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFy
ci9ZYXJySW50ZXJwcmV0ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJJbnRl
cnByZXRlci5oCmluZGV4IGJlNzAzYTkuLmVlYTUyNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS95YXJyL1lhcnJJbnRlcnByZXRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS95YXJyL1lhcnJJbnRlcnByZXRlci5oCkBAIC0yOTksNyArMjk5LDggQEAgc3RydWN0IEJ5
dGVUZXJtIHsKICAgICB9CiB9OwogCi1jbGFzcyBCeXRlRGlzanVuY3Rpb24gOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBCeXRlRGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIEJ5dGVEaXNqdW5jdGlvbih1bnNpZ25lZCBudW1TdWJw
YXR0ZXJucywgdW5zaWduZWQgZnJhbWVTaXplKQogICAgICAgICA6IG1fbnVtU3VicGF0dGVybnMo
bnVtU3VicGF0dGVybnMpCkBAIC0zMTIsNyArMzEzLDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVk
IG1fZnJhbWVTaXplOwogfTsKIAotc3RydWN0IEJ5dGVjb2RlUGF0dGVybiA6IEZhc3RBbGxvY0Jh
c2Ugeworc3RydWN0IEJ5dGVjb2RlUGF0dGVybiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgQnl0ZWNvZGVQYXR0ZXJuKFBhc3NPd25QdHI8Qnl0ZURpc2p1bmN0
aW9uPiBib2R5LCBWZWN0b3I8Qnl0ZURpc2p1bmN0aW9uKj4gYWxsUGFyZW50aGVzZXNJbmZvLCBZ
YXJyUGF0dGVybiYgcGF0dGVybiwgQnVtcFBvaW50ZXJBbGxvY2F0b3IqIGFsbG9jYXRvcikKICAg
ICAgICAgOiBtX2JvZHkoYm9keSkKICAgICAgICAgLCBtX2lnbm9yZUNhc2UocGF0dGVybi5tX2ln
bm9yZUNhc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0
dGVybi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBhdHRlcm4uaAppbmRleCAy
MTcyZGRhLi5kODBmNjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9Z
YXJyUGF0dGVybi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJu
LmgKQEAgLTYzLDcgKzYzLDkgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi1zdHJ1Y3QgQ2hhcmFj
dGVyQ2xhc3MgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDaGFyYWN0ZXJDbGFzcyB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgLy8gQWxsIENoYXJhY3RlckNs
YXNzIGluc3RhbmNlcyBoYXZlIHRvIGhhdmUgdGhlIGZ1bGwgc2V0IG9mIG1hdGNoZXMgYW5kIHJh
bmdlcywKICAgICAvLyB0aGV5IG1heSBoYXZlIGFuIG9wdGlvbmFsIHRhYmxlIGZvciBmYXN0ZXIg
bG9va3VwcyAod2hpY2ggbXVzdCBtYXRjaCB0aGUKICAgICAvLyBzcGVjaWZpZWQgbWF0Y2hlcyBh
bmQgcmFuZ2VzKQpAQCAtMjA0LDcgKzIwNiw5IEBAIHN0cnVjdCBQYXR0ZXJuVGVybSB7CiAgICAg
fQogfTsKIAotc3RydWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSA6IEZhc3RBbGxvY0Jhc2Ugeworc3Ry
dWN0IFBhdHRlcm5BbHRlcm5hdGl2ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CiAgICAgUGF0dGVybkFsdGVybmF0aXZlKFBhdHRlcm5EaXNqdW5jdGlvbiogZGlzanVu
Y3Rpb24pCiAgICAgICAgIDogbV9wYXJlbnQoZGlzanVuY3Rpb24pCiAgICAgICAgICwgbV9vbmNl
VGhyb3VnaChmYWxzZSkKQEAgLTI0NSw3ICsyNDksOSBAQCBzdHJ1Y3QgUGF0dGVybkFsdGVybmF0
aXZlIDogRmFzdEFsbG9jQmFzZSB7CiAgICAgYm9vbCBtX2NvbnRhaW5zQk9MIDogMTsKIH07CiAK
LXN0cnVjdCBQYXR0ZXJuRGlzanVuY3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBQYXR0
ZXJuRGlzanVuY3Rpb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgog
ICAgIFBhdHRlcm5EaXNqdW5jdGlvbihQYXR0ZXJuQWx0ZXJuYXRpdmUqIHBhcmVudCA9IDApCiAg
ICAgICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICAgICAsIG1faGFzRml4ZWRTaXplKGZhbHNl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDU2ZDI0YjMuLjFmNmRiNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxMS0wMS0yMCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3Rvcmlu
ZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcg
ZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAo
YnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlvbiByZXBsYWNlcyBO
b25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVzZSBpbmhlcml0cyB3
aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50YXRpb24gYXQgdGhl
IG5lY2Vzc2FyeSBwbGFjZXMuCisKIDIwMTEtMDEtMTkgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5p
Y2NAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggNjcwZDZlMC4u
MDBlN2ZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmgKQEAgLTYwLDcgKzYwLDggQEAgc3RydWN0IFRleHRNYXJrZXJEYXRhIHsKIAogZW51bSBQb3N0
VHlwZSB7IFBvc3RTeW5jaHJvbm91c2x5LCBQb3N0QXN5bmNocm9ub3VzbHkgfTsKIAotY2xhc3Mg
QVhPYmplY3RDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBWE9iamVjdENhY2hl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBWE9iamVjdENhY2hlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQVhPYmplY3RDYWNoZShjb25zdCBEb2N1bWVudCop
OwogICAgIH5BWE9iamVjdENhY2hlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaAppbmRleCBlYTY4ZDEwLi45YmFl
OGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRT
b3VyY2VQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNj
cmlwdFNvdXJjZVByb3ZpZGVyLmgKQEAgLTM2LDYgKzM2LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIGNsYXNzIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyIDogcHVibGljIFNjcmlw
dFNvdXJjZVByb3ZpZGVyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyPiBjcmVhdGUoQ2FjaGVkU2NyaXB0KiBj
YWNoZWRTY3JpcHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWNoZWRTY3JpcHRTb3VyY2VQcm92
aWRlcihjYWNoZWRTY3JpcHQpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9HQ0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0dDQ29u
dHJvbGxlci5oCmluZGV4IDRjMjU0MDcuLjkxZjFlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0dDQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5oCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpZm5kZWYgR0NDb250
cm9sbGVyX2gKICNkZWZpbmUgR0NDb250cm9sbGVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAg
IGNsYXNzIEdDQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR0ND
b250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR0NDb250cm9sbGVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIGZyaWVuZCBHQ0NvbnRyb2xsZXImIGdj
Q29udHJvbGxlcigpOwogCiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKaW5kZXggOTRiNmY3OC4uZTExMzhlZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCkBAIC0zNyw3ICsz
Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vICAgICAtIHdyYXBwZXJzIGJlaW5nIGRlbGV0
ZWQgd2l0aG91dCBiZWluZyByZW1vdmVkIGZyb20gdGhlIGNhY2hlCiAvLyAgICAgLSB3cmFwcGVy
cyBiZWluZyBjYWNoZWQgdHdpY2UKIAotY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgSlNEZWJ1Z1dyYXBwZXJTZXQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEpTRGVidWdXcmFwcGVyU2V0KTsKICAgICBmcmllbmQgY2xhc3MgV1RGOjpUaHJl
YWRTcGVjaWZpYzxKU0RlYnVnV3JhcHBlclNldD47CiBwdWJsaWM6CiAgICAgc3RhdGljIEpTRGVi
dWdXcmFwcGVyU2V0JiBzaGFyZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgKaW5kZXggODE5M2Q3Yy4uMzQ5ZGMxNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmgK
QEAgLTMwLDExICszMCwxMSBAQAogI2lmbmRlZiBOREVCVUcKICNpbmNsdWRlIDx3dGYvTWFpblRo
cmVhZC5oPgogI2VuZGlmCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEpTTWFpblRocmVhZEV4ZWNTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNNYWluVGhyZWFkRXhlY1N0YXRlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlND
OjpFeGVjU3RhdGUqIGN1cnJlbnRTdGF0ZSgpCiAgICAgeyAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjaGVkdWxlZEFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKaW5kZXggNmM5ZDBiYS4uNTlhZDZmYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmgKQEAgLTQxLDcgKzQx
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICogdGltZSBpbnRlcnZhbCwgZWl0aGVyIG9u
Y2Ugb3IgcmVwZWF0ZWRseS4gVXNlZCBmb3Igd2luZG93LnNldFRpbWVvdXQoKQogICAgICogYW5k
IHdpbmRvdy5zZXRJbnRlcnZhbCgpCiAgICAgKi8KLSAgICBjbGFzcyBTY2hlZHVsZWRBY3Rpb24g
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEFjdGlvbik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8U2NoZWR1
bGVkQWN0aW9uPiBjcmVhdGUoSlNDOjpFeGVjU3RhdGUqLCBET01XcmFwcGVyV29ybGQqIGlzb2xh
dGVkV29ybGQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRDYWNoZWRGcmFtZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENh
Y2hlZEZyYW1lRGF0YS5oCmluZGV4IDE1YzIzYzUuLjVmNjkxZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oCkBAIC00MCw3ICs0
MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XaW5kb3c7CiAgICAgY2xh
c3MgRE9NV3JhcHBlcldvcmxkOwogCi0gICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDwgUmVmUHRyPERP
TVdyYXBwZXJXb3JsZD4sIEpTQzo6UHJvdGVjdGVkUHRyPEpTRE9NV2luZG93PiA+IEpTRE9NV2lu
ZG93U2V0OwogCiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdERlYnVnU2VydmVyLmgKaW5kZXggZGUyNzRkYi4uYmRlNDczNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC01Niw3ICs1Niw4IEBA
IGNsYXNzIFBhZ2VHcm91cDsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiBjbGFzcyBKYXZh
U2NyaXB0Q2FsbEZyYW1lOwogCi1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6RGVidWdn
ZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IEpTQzo6
RGVidWdnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdERlYnVnU2VydmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVn
U2VydmVyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0UHJvZmlsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFBy
b2ZpbGVyLmgKaW5kZXggMDVlN2EyNS4uZDRkZDYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCkBAIC0zMiwxMSArMzIsMTEgQEAKICNpbmNsdWRlICJT
Y3JpcHRQcm9maWxlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNjcmlwdFBy
b2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2ZpbGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlwdFN0YXRlKiBz
dGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0U3RhdGUuaAppbmRleCAwYzA4NjExLi5lMTljMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFN0YXRlLmgKQEAgLTUyLDcgKzUyLDggQEAgY2xhc3MgUGFnZTsKIC8vIEZv
ciBub3csIHRoZSBzZXBhcmF0aW9uIGlzIHB1cmVseSBieSBjb252ZW50aW9uLgogdHlwZWRlZiBK
U0M6OkV4ZWNTdGF0ZSBTY3JpcHRTdGF0ZTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQ
dHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKTsKIHB1
YmxpYzoKICAgICBleHBsaWNpdCBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSop
OwogICAgIH5TY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDVkMDMzMjguLjZlMmQ3YmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRh
LmgKQEAgLTI0LDE3ICsyNCwxOCBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAj
aW5jbHVkZSAiRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1
YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6Q2xpZW50RGF0YSwgcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbERhdGE6OkNs
aWVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgSlNHbG9iYWxEYXRh
V29ybGRJdGVyYXRvcjsKICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRh
KEpTQzo6SlNHbG9iYWxEYXRhKik7CiAKIHB1YmxpYzoKKyAgICBXZWJDb3JlSlNDbGllbnREYXRh
KCkgeyB9CiAgICAgdmlydHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAg
ICBBU1NFUlQobV93b3JsZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgK
aW5kZXggYmU3ZGE0ZC4uNDU3ODkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApAQCAtMzEsNyArMzEsNiBAQAogCiAjaW5j
bHVkZSA8cnVudGltZS9Qcm90ZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewpAQCAtNDUsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgU2NyaXB0VmFsdWU7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAotICAgIGNsYXNz
IFdvcmtlclNjcmlwdENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFdvcmtlclNjcmlwdENvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
b3JrZXJTY3JpcHRDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBXb3JrZXJTY3JpcHRDb250cm9sbGVyKFdvcmtlckNvbnRleHQqKTsKICAg
ICAgICAgfldvcmtlclNjcmlwdENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0RPTURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RP
TURhdGEuaAppbmRleCA3OGVkZjkyLi5iMDQyNjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9ET01EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
RE9NRGF0YS5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyB0
aHJlYWQuICBUaGUgRE9NRGF0YSBmb3IgdGhlIG1haW4gdGhyZWFkIGFuZCB0aGUgRE9NRGF0YSBm
b3IgY2hpbGQgdGhyZWFkcwogICAgIC8vIHVzZSBkaWZmZXJlbnQgc3ViY2xhc3Nlcy4KICAgICAv
LwotICAgIGNsYXNzIERPTURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERP
TURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIERPTURhdGEoKTsKICAgICAgICAgdmlydHVhbCB+RE9NRGF0YSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaAppbmRleCBjZmUyMjBlLi5kYmVh
ZDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaApAQCAtMTQ5
LDcgKzE0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBUaGlzIGNsYXNzIGRvZXNu
J3QgbWFuYWdlIHRoZSBsaWZldGltZSBvZiB0aGUgc3RvcmUuICBUaGUgZGF0YSBzdG9yZQogICAg
IC8vIGxpZmV0aW1lIGlzIG1hbmFnZWQgYnkgc3ViY2xhc3Nlcy4KICAgICAvLwotICAgIGNsYXNz
IERPTURhdGFTdG9yZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9NRGF0YVN0
b3JlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRE9NRGF0YVN0b3JlKTsKICAgICBw
dWJsaWM6CiAgICAgICAgIGVudW0gRE9NV3JhcHBlck1hcFR5cGUgewogICAgICAgICAgICAgRE9N
Tm9kZU1hcCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENh
Y2hlZEZyYW1lRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVk
RnJhbWVEYXRhLmgKaW5kZXggMWFhMWY2Mi4uMzc2YjVmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTYwLDE0ICs2MCwx
NCBAQCBwdWJsaWM6CiAKICNpbmNsdWRlICJPd25IYW5kbGUuaCIKICNpbmNsdWRlIDx2OC5oPgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIEZyYW1lOwogY2xhc3MgRE9NV2luZG93OwogCi1jbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURh
dGEgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0YSAg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdENhY2hlZEZyYW1lRGF0YSk7CiBwdWJs
aWM6CiAgICAgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKEZyYW1lKik7CiAgICAgflNjcmlwdENhY2hl
ZEZyYW1lRGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0RGVidWdTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERl
YnVnU2VydmVyLmgKaW5kZXggNDBkZDVmYy4uOGZhNzIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCkBAIC00OCw3ICs0OCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBTY3JpcHREZWJ1Z0xpc3RlbmVyOwog
Ci1jbGFzcyBTY3JpcHREZWJ1Z1NlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
Y3JpcHREZWJ1Z1NlcnZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdT
ZXJ2ZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBTY3JpcHREZWJ1Z1NlcnZlciYgc2hhcmVkKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCmluZGV4IGI3
NWEwNTQuLmUwOTY5ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdFByb2ZpbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJv
ZmlsZXIuaApAQCAtMzYsMTMgKzM2LDEzIEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgog
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiAKLWNsYXNz
IFNjcmlwdFByb2ZpbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdFByb2Zp
bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRQcm9maWxlcik7CiBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgc3RhcnQoU2NyaXB0U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcm
IHRpdGxlKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JpcHRQcm9maWxlPiBzdG9wKFNjcmlw
dFN0YXRlKiBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0U3RhdGUuaAppbmRleCAxMTgxM2IwLi4wZmVjZWU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKQEAgLTQyLDcgKzQyLDggQEAgY2xhc3MgRnJh
bWU7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgU2NyaXB0U3RhdGUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNjcmlwdFN0YXRlKTsKIHB1YmxpYzoKICAgICBib29sIGhhZEV4Y2VwdGlvbigpIHsg
cmV0dXJuICFtX2V4Y2VwdGlvbi5Jc0VtcHR5KCk7IH0KICAgICB2b2lkIHNldEV4Y2VwdGlvbih2
ODo6TG9jYWw8djg6OlZhbHVlPiBleGNlcHRpb24pCkBAIC03OSw3ICs4MCw4IEBAIHB1YmxpYzoK
ICAgICB+RW1wdHlTY3JpcHRTdGF0ZSgpIHsgfQogfTsKIAotY2xhc3MgU2NyaXB0U3RhdGVQcm90
ZWN0ZWRQdHIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0U3RhdGVQcm90ZWN0
ZWRQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRy
KTsKIHB1YmxpYzoKICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cigpIDogbV9zY3JpcHRTdGF0
ZSgwKSB7IH0KICAgICBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0cihTY3JpcHRTdGF0ZSogc2NyaXB0
U3RhdGUpIDogbV9zY3JpcHRTdGF0ZShzY3JpcHRTdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmluZGV4IDZhYzRhNjUu
LjZmYjJlZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFs
aXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMTI4LDcgKzEyOCw4IEBAIHByaXZhdGU6CiAKIC8vIFdy
aXRlciBpcyByZXNwb25zaWJsZSBmb3Igc2VyaWFsaXppbmcgcHJpbWl0aXZlIHR5cGVzIGFuZCBz
dG9yaW5nCiAvLyBpbmZvcm1hdGlvbiB1c2VkIHRvIHJlY29uc3RydWN0IGNvbXBvc2l0ZSB0eXBl
cy4KLWNsYXNzIFdyaXRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdyaXRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoV3JpdGVyKTsKIHB1YmxpYzoKICAgICBXcml0ZXIoKQogICAgICAg
ICA6IG1fcG9zaXRpb24oMCkKQEAgLTM3Nyw3ICszNzgsOCBAQCBwdWJsaWM6CiAgICAgfQogCiBw
cml2YXRlOgotICAgIGNsYXNzIFN0YXRlQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgU3RhdGVCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RhdGVCYXNl
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflN0YXRlQmFzZSgpIHsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvQnJpZGdlLmggYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvQnJpZGdlLmgKaW5kZXggNTBlZmM2NC4uMDBkNmYzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL0JyaWRnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9Ccmlk
Z2UuaApAQCAtMjgsMTQgKzI4LDE1IEBACiAjZGVmaW5lIEJyaWRnZV9oCiAKICNpbmNsdWRlICJC
cmlkZ2VKU0MuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIEpT
QyAgewogCiBuYW1lc3BhY2UgQmluZGluZ3MgewogCi1jbGFzcyBNZXRob2QgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgTWV0aG9kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZXRo
b2QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBNZXRob2QoKSB7IH0K
ICAgICB2aXJ0dWFsIGludCBudW1QYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVh
bCB+TWV0aG9kKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRp
ZmllclJlcC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaAppbmRleCA5
OWJhZTBiLi44NjQ2ZTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRp
ZmllclJlcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlmaWVyUmVwLmgKQEAg
LTMzLDcgKzMzLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgSWRlbnRp
ZmllclJlcCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIElkZW50aWZpZXJSZXAgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBJZGVudGlm
aWVyUmVwKiBnZXQoaW50KTsKICAgICBzdGF0aWMgSWRlbnRpZmllclJlcCogZ2V0KGNvbnN0IGNo
YXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCmluZGV4IDk2OTc0ZDkuLmVi
Y2ZhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaApAQCAtNTksOCArNTks
MTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkZpZWxkKCkgeyB9CiB9OwogCi1jbGFzcyBDbGFz
cyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDbGFzcyB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ2xhc3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBD
bGFzcygpIHsgfQogICAgIHZpcnR1YWwgTWV0aG9kTGlzdCBtZXRob2RzTmFtZWQoY29uc3QgSWRl
bnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgRmllbGQqIGZpZWxk
TmFtZWQoY29uc3QgSWRlbnRpZmllciYsIEluc3RhbmNlKikgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgSlNWYWx1ZSBmYWxsYmFja09iamVjdChFeGVjU3RhdGUqLCBJbnN0YW5jZSosIGNvbnN0IElk
ZW50aWZpZXImKSB7IHJldHVybiBqc1VuZGVmaW5lZCgpOyB9CkBAIC0xMjUsNyArMTI3LDggQEAg
cHJpdmF0ZToKICAgICBXZWFrR0NQdHI8UnVudGltZU9iamVjdD4gbV9ydW50aW1lT2JqZWN0Owog
fTsKIAotY2xhc3MgQXJyYXkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJyYXkgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFycmF5KTsKIHB1YmxpYzoKICAgICBBcnJheShQYXNz
UmVmUHRyPFJvb3RPYmplY3Q+KTsKICAgICB2aXJ0dWFsIH5BcnJheSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbWFnZVZhbHVlLmgKaW5kZXggODMzZDdmZS4uMTc0ZjFlZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5oCkBAIC0zMiw2ICszMiw3IEBAIGNsYXNzIFN0eWxlQ2FjaGVkSW1hZ2U7CiBj
bGFzcyBTdHlsZUltYWdlOwogCiBjbGFzcyBDU1NJbWFnZVZhbHVlIDogcHVibGljIENTU1ByaW1p
dGl2ZVZhbHVlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZh
bHVlPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSW1hZ2VWYWx1ZSk7IH0KICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1
cmwpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbWFnZVZhbHVlKHVybCkpOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0ltcG9ydFJ1bGUuaAppbmRleCAxMGQzMDI2Li5hZDRlOTdkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbXBvcnRSdWxlLmgKQEAgLTM0LDYgKzM0LDcgQEAgY2xhc3MgQ2FjaGVkQ1NTU3R5bGVT
aGVldDsKIGNsYXNzIE1lZGlhTGlzdDsKIAogY2xhc3MgQ1NTSW1wb3J0UnVsZSA6IHB1YmxpYyBD
U1NSdWxlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NJbXBvcnRSdWxl
PiBjcmVhdGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGhyZWYsIFBhc3NS
ZWZQdHI8TWVkaWFMaXN0PiBtZWRpYSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTTmFtZXNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTmFtZXNwYWNlLmgK
aW5kZXggNjIyNWMzNi4uOTI2MzhmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U05hbWVzcGFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaApAQCAt
MjYsNyArMjYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBzdHJ1Y3QgQ1NTTmFt
ZXNwYWNlIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBDU1NOYW1lc3BhY2UgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NOYW1lc3BhY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIEF0b21pY1N0cmluZyBwcmVmaXg7CiAgICAgICAg
IEF0b21pY1N0cmluZyB1cmk7CiAgICAgICAgIE93blB0cjxDU1NOYW1lc3BhY2U+IHBhcmVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA0OTZhMjFhLi5kMzI2ODEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5oCkBAIC0zNDAsNyArMzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGlu
dCBjc3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYpOwogICAgIGludCBjc3NWYWx1ZUtleXdvcmRJ
RChjb25zdCBDU1NQYXJzZXJTdHJpbmcmKTsKIAotICAgIGNsYXNzIFNob3J0aGFuZFNjb3BlIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFNob3J0aGFuZFNjb3BlIHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTaG9ydGhh
bmRTY29wZShDU1NQYXJzZXIqIHBhcnNlciwgaW50IHByb3BJZCkgOiBtX3BhcnNlcihwYXJzZXIp
CiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCA5OTNhZTI4
Li45OTZlNzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC01OSw3ICs1
OSw4IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
Y3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKLWNsYXNzIENTU1BhcnNlclZhbHVlTGlzdCA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENTU1BhcnNlclZhbHVlTGlzdCB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KCkKICAg
ICAgICAgOiBtX2N1cnJlbnQoMCkKQEAgLTgzLDcgKzg0LDkgQEAgcHJpdmF0ZToKICAgICBWZWN0
b3I8Q1NTUGFyc2VyVmFsdWUsIDQ+IG1fdmFsdWVzOwogfTsKIAotc3RydWN0IENTU1BhcnNlckZ1
bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ1NTUGFyc2VyRnVuY3Rpb24geworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIENTU1BhcnNlclN0cmluZyBu
YW1lOwogICAgIE93blB0cjxDU1NQYXJzZXJWYWx1ZUxpc3Q+IGFyZ3M7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHkuaAppbmRleCAxMDYxNzFkLi4xMGU1OTNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IENTU1Byb3BlcnR5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUHJvcGVydHkg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENTU1Byb3BlcnR5
KGludCBwcm9wSUQsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlLCBib29sIGltcG9ydGFudCA9
IGZhbHNlLCBpbnQgc2hvcnRoYW5kSUQgPSAwLCBib29sIGltcGxpY2l0ID0gZmFsc2UpCiAgICAg
ICAgIDogbV9pZChwcm9wSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAppbmRleCA0MDBk
ZDQwLi5jYTM4MTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKQEAgLTM3LDggKzM3
LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsK
IAotY2xhc3MgQ1NTU2VsZWN0b3JCYWcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NT
U2VsZWN0b3JCYWcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yQmFnKTsK
IHB1YmxpYzoKKyAgICBDU1NTZWxlY3RvckJhZygpIHsgfQogICAgIH5DU1NTZWxlY3RvckJhZygp
CiAgICAgewogICAgICAgICBBU1NFUlQoaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmgKaW5kZXggNTQ1NmJlNi4uYjkzMDM1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgKQEAg
LTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENTU1NlbGVjdG9y
QmFnOwogCiAgICAgLy8gdGhpcyBjbGFzcyByZXByZXNlbnRzIGEgc2VsZWN0b3IgZm9yIGEgU3R5
bGVSdWxlCi0gICAgY2xhc3MgQ1NTU2VsZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIENTU1NlbGVjdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2Vs
ZWN0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENT
U1NlbGVjdG9yKCkKICAgICAgICAgICAgIDogbV9yZWxhdGlvbihEZXNjZW5kYW50KQpAQCAtMzA2
LDcgKzMwNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdW5zaWduZWQgc3BlY2lm
aWNpdHlGb3JQYWdlKCkgY29uc3Q7CiAgICAgICAgIHZvaWQgZXh0cmFjdFBzZXVkb1R5cGUoKSBj
b25zdDsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgICAg
IHN0cnVjdCBSYXJlRGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSYXJl
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJsaWM6CiAgICAgICAg
ICAgICBSYXJlRGF0YShQYXNzT3duUHRyPENTU1NlbGVjdG9yPiB0YWdIaXN0b3J5KQogICAgICAg
ICAgICAgICAgIDogbV9hKDApCiAgICAgICAgICAgICAgICAgLCBtX2IoMCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTZWxlY3Rvckxpc3QuaAppbmRleCA3YWRjNmI5Li5hYmQ5YmM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3JMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1NlbGVjdG9yTGlzdC5oCkBAIC0yNywxMSArMjcsMTEgQEAKICNkZWZpbmUgQ1NTU2Vs
ZWN0b3JMaXN0X2gKIAogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLWNsYXNzIENTU1NlbGVj
dG9yTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NTZWxlY3Rvckxpc3Qgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1NlbGVjdG9yTGlzdCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIENTU1NlbGVjdG9yTGlzdCgpIDogbV9zZWxlY3RvckFy
cmF5KDApIHsgfQogICAgIH5DU1NTZWxlY3Rvckxpc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcAppbmRleCBmYzA3MjJhLi4yN2I0NGQyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC0zNTIsNyArMzUyLDggQEAgaWYgKGlkID09IHBy
b3BJRCkgeyBcCiAgICAgcmV0dXJuOyBcCiB9CiAKLWNsYXNzIENTU1J1bGVEYXRhIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDU1NSdWxlRGF0YSk7CiBwdWJsaWM6CiAgICAgQ1NTUnVsZURhdGEodW5zaWduZWQgcG9z
LCBDU1NTdHlsZVJ1bGUqIHIsIENTU1NlbGVjdG9yKiBzZWwsIENTU1J1bGVEYXRhKiBwcmV2ID0g
MCkKICAgICAgICAgOiBtX3Bvc2l0aW9uKHBvcykKQEAgLTM4MCw3ICszODEsOCBAQCBwcml2YXRl
OgogICAgIENTU1J1bGVEYXRhKiBtX25leHQ7CiB9OwogCi1jbGFzcyBDU1NSdWxlRGF0YUxpc3Qg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ1NTUnVsZURhdGFMaXN0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDU1NSdWxlRGF0YUxpc3QpOwogcHVibGljOgogICAgIENTU1J1bGVE
YXRhTGlzdCh1bnNpZ25lZCBwb3MsIENTU1N0eWxlUnVsZSogcnVsZSwgQ1NTU2VsZWN0b3IqIHNl
bCkKICAgICAgICAgOiBtX2ZpcnN0KG5ldyBDU1NSdWxlRGF0YShwb3MsIHJ1bGUsIHNlbCkpCkBA
IC00MTAsNyArNDEyLDggQEAgcHJpdmF0ZToKICAgICBDU1NSdWxlRGF0YSogbV9sYXN0OwogfTsK
IAotY2xhc3MgQ1NTUnVsZVNldCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxl
U2V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NSdWxlU2V0KTsKIHB1YmxpYzoKICAg
ICBDU1NSdWxlU2V0KCk7CiAgICAgfkNTU1J1bGVTZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5oCmluZGV4IGVlYWNlNTcuLmUwMzVhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2VsZWN0b3IuaApAQCAtNjksNyArNjksOCBAQCBjbGFzcyBTdHlsZWRFbGVtZW50Owog
Y2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOwogY2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZTsKIAotY2xhc3MgTWVkaWFRdWVyeVJlc3VsdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBNZWRpYVF1ZXJ5UmVzdWx0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5
UmVzdWx0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgTWVkaWFRdWVy
eVJlc3VsdChjb25zdCBNZWRpYVF1ZXJ5RXhwJiBleHByLCBib29sIHJlc3VsdCkKICAgICAgICAg
OiBtX2V4cHJlc3Npb24oZXhwcikKQEAgLTgyLDcgKzgzLDggQEAgcHVibGljOgogfTsKIAogICAg
IC8vIFRoaXMgY2xhc3Mgc2VsZWN0cyBhIFJlbmRlclN0eWxlIGZvciBhIGdpdmVuIGVsZW1lbnQg
YmFzZWQgb24gYSBjb2xsZWN0aW9uIG9mIHN0eWxlc2hlZXRzLgotICAgIGNsYXNzIENTU1N0eWxl
U2VsZWN0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENTU1N0eWxlU2VsZWN0
b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTdHlsZVNlbGVjdG9yKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDU1NTdHlsZVNlbGVj
dG9yKERvY3VtZW50KiwgU3R5bGVTaGVldExpc3QqIGF1dGhvclNoZWV0cywgQ1NTU3R5bGVTaGVl
dCogbWFwcGVkRWxlbWVudFNoZWV0LAogICAgICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxl
U2hlZXQqIHBhZ2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4g
PiogcGFnZUdyb3VwVXNlclNoZWV0cywKQEAgLTIxNCw3ICsyMTYsOCBAQCBwdWJsaWM6CiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHN0eWxlTm90WWV0QXZhaWxhYmxl
KCkgeyByZXR1cm4gc19zdHlsZU5vdFlldEF2YWlsYWJsZTsgfQogCi0gICAgICAgIGNsYXNzIFNl
bGVjdG9yQ2hlY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFNlbGVj
dG9yQ2hlY2tlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3RvckNo
ZWNrZXIpOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBTZWxlY3RvckNoZWNrZXIoRG9j
dW1lbnQqLCBib29sIHN0cmljdFBhcnNpbmcpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaAppbmRl
eCAyODEwMDliLi5hNjM4YWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmgKQEAgLTM3LDcgKzM3
LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE1lZGlhUXVlcnlFeHA7CiAKLWNsYXNz
IE1lZGlhUXVlcnkgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVkaWFRdWVyeSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFRdWVyeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIGVudW0gUmVzdHJpY3RvciB7CiAgICAgICAgIE9ubHksIE5vdCwg
Tm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXggMDBhYzM5
NC4uMDdjNGQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFs
dWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBA
IC00OSw3ICs0OSw4IEBAIGNsYXNzIE1lZGlhUXVlcnlFeHA7CiAgKiB0aGUgZGV2aWNlIGNoYXJh
Y3RlcmlzdGljcyBhcmUgbm90IGtub3duLiBUaGlzIGNhbiBiZSB1c2VkIHRvIHBydW5lIHRoZSBs
b2FkaW5nCiAgKiBvZiBzdHlsZXNoZWV0cyB0byBvbmx5IHRob3NlIHdoaWNoIGFyZSBwcm9iYWJs
ZSB0byBtYXRjaC4KICAqLwotY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsKKyAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWVkaWFRdWVyeUV2YWx1YXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIC8qKiBDcmVhdGVzIGV2YWx1YXRvciB3aGljaCBldmFsdWF0ZXMgb25seSBz
aW1wbGUgbWVkaWEgcXVlcmllcwogICAgICAqICBFdmFsdWF0b3IgcmV0dXJucyB0cnVlIGZvciAi
YWxsIiwgYW5kIHJldHVybnMgdmFsdWUgb2YgXG1lZGlhRmVhdHVyZVJlc3VsdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5RXhwLmgKaW5kZXggNzJkM2ZmZi4uN2U0ZDQ3NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUV4cC5oCkBAIC0zOCw3ICszOCw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CiAKLWNsYXNzIE1lZGlhUXVlcnlFeHAgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CitjbGFzcyBNZWRpYVF1ZXJ5RXhwIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxNZWRpYVF1ZXJ5RXhw
PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBtZWRpYUZlYXR1cmUsIENTU1BhcnNlclZhbHVl
TGlzdCogdmFsdWVzKTsKICAgICB+TWVkaWFRdWVyeUV4cCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0FzeW5jU2NyaXB0UnVubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXN5
bmNTY3JpcHRSdW5uZXIuaAppbmRleCAyMzI2ZjY3Li42YTc1MzIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vQXN5bmNTY3JpcHRSdW5uZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBEb2N1bWVudDsK
IGNsYXNzIFBlbmRpbmdTY3JpcHQ7CiBjbGFzcyBTY3JpcHRFbGVtZW50OwogICAgIAotY2xhc3Mg
QXN5bmNTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNTY3Jp
cHRSdW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jU2NyaXB0UnVubmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
QXN5bmNTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpIHsgcmV0dXJuIG5l
dyBBc3luY1NjcmlwdFJ1bm5lcihkb2N1bWVudCk7IH0KICAgICB+QXN5bmNTY3JpcHRSdW5uZXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAppbmRleCA4NmEyMmIwLi43NzJhNzAwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCi1jbGFz
cyBET01TdHJpbmdNYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NU3RyaW5nTWFw
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01TdHJpbmdNYXApOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5ET01TdHJpbmdNYXAoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggY2UwNWEwOS4uMGQwNThhYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC00Njg0LDcgKzQ2ODQsOSBAQCB2b2lkIERvY3VtZW50OjphZGRNZXNzYWdl
KE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbAog
ICAgICAgICB3aW5kb3ctPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVs
LCBtZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwpOwogfQogCi1zdHJ1Y3QgUGVyZm9ybVRh
c2tDb250ZXh0IDogTm9uY29weWFibGUgeworc3RydWN0IFBlcmZvcm1UYXNrQ29udGV4dCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVyZm9ybVRhc2tDb250ZXh0KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUGVyZm9ybVRhc2tDb250ZXh0KFBhc3NSZWZQdHI8
RG9jdW1lbnRXZWFrUmVmZXJlbmNlPiBkb2N1bWVudFJlZmVyZW5jZSwgUGFzc093blB0cjxTY3Jp
cHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrKQogICAgICAgICA6IGRvY3VtZW50UmVmZXJl
bmNlKGRvY3VtZW50UmVmZXJlbmNlKQogICAgICAgICAsIHRhc2sodGFzaykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAppbmRleCA4MzE3N2ZjLi4yZGMy
YjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9s
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5o
CkBAIC0zOCw4ICszOCwxMCBAQCBjbGFzcyBJbnRSZWN0OwogY2xhc3MgTm9kZTsKIGNsYXNzIFJh
bmdlOwogCi1jbGFzcyBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIoKSB7IH0KICAgICB+RG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyBkZXRhY2goKTsgfQogCiAgICAgdm9pZCBkZXRhY2go
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50LmgKaW5kZXggODU2MmNhZC4uODUxYjIwMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAg
LTI0LDEzICsyNCwxMyBAQAogI2lmbmRlZiBFdmVudF9oCiAjZGVmaW5lIEV2ZW50X2gKIAorI2lu
Y2x1ZGUgIkNsaXBib2FyZC5oIgogI2luY2x1ZGUgIkRPTVRpbWVTdGFtcC5oIgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIENsaXBib2FyZDsKICAgICBjbGFzcyBF
dmVudFRhcmdldDsKIAogICAgIGNsYXNzIEV2ZW50IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnQ+
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDcyNzY4ZDIuLjQzOWU5ZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaApAQCAtMTgwLDcgKzE4MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBcCiAvLyBlbmQgb2YgRE9NX0VWRU5UX05BTUVTX0ZPUl9FQUNICiAKLSAgICBjbGFzcyBF
dmVudE5hbWVzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudE5hbWVzIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnROYW1lcyk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgICAgICBpbnQgZHVtbXk7IC8vIE5lZWRlZCB0byBtYWtlIGluaXRpYWxp
emF0aW9uIG1hY3JvIHdvcmsuCiAgICAgICAgIC8vIFByaXZhdGUgdG8gcHJldmVudCBhY2NpZGVu
dGFsIGNhbGwgdG8gRXZlbnROYW1lcygpIGluc3RlYWQgb2YgZXZlbnROYW1lcygpCiAgICAgICAg
IEV2ZW50TmFtZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggZGRjYjY2My4uODFl
ZWI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTgzLDcgKzgzLDkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgVmVjdG9yPFJlZ2lzdGVyZWRFdmVudExpc3RlbmVy
LCAxPiBFdmVudExpc3RlbmVyVmVjdG9yOwogICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJp
bmcsIEV2ZW50TGlzdGVuZXJWZWN0b3IqPiBFdmVudExpc3RlbmVyTWFwOwogCi0gICAgc3RydWN0
IEV2ZW50VGFyZ2V0RGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRUYXJnZXRE
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRUYXJnZXREYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAgICAgICBFdmVudFRhcmdldERh
dGEoKTsKICAgICAgICAgfkV2ZW50VGFyZ2V0RGF0YSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5o
CmluZGV4IDlkMTgzNWEuLjI2ZjdmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9J
Z25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oCkBAIC0yNywx
MSArMjcsMTEgQEAKICNkZWZpbmUgSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50
ZXJfaAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRl
Q291bnRJbmNyZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJZ25vcmVEZXN0
cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIpOwogcHVibGljOgogICAgIGV4
cGxpY2l0IElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKERvY3VtZW50KiBk
b2N1bWVudCkKICAgICAgICAgOiBtX2NvdW50KGRvY3VtZW50ID8gJmRvY3VtZW50LT5tX2lnbm9y
ZURlc3RydWN0aXZlV3JpdGVDb3VudCA6IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTWVzc2FnZVBvcnRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRD
aGFubmVsLmgKaW5kZXggZjMwOGEyOS4uMDc2NjhhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNz
YWdlUG9ydENoYW5uZWwuaApAQCAtNTUsNyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAvLyBNZXNzYWdlUG9ydENoYW5uZWwgaXMgYSBwbGF0Zm9ybS1pbmRlcGVuZGVudCBpbnRl
cmZhY2UgdG8gdGhlIHJlbW90ZSBzaWRlIG9mIGEgbWVzc2FnZSBjaGFubmVsLgogICAgIC8vIEl0
IGFjdHMgYXMgYSB3cmFwcGVyIGFyb3VuZCB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IFBsYXRmb3Jt
TWVzc2FnZVBvcnRDaGFubmVsIGltcGxlbWVudGF0aW9uIHdoaWNoIGVuc3VyZXMgdGhhdCB0aGUg
cGxhdGZvcm0tZGVwZW5kZW50IGNsb3NlKCkgbWV0aG9kIGlzIGludm9rZWQgYmVmb3JlIGRlc3Ry
dWN0aW9uLgotICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWVzc2FnZVBvcnRDaGFubmVsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFubmVsKFBhc3NSZWZQdHI8
TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CiAKQEAgLTc4LDcgKzc5LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHBy
b3h5IGN1cnJlbnRseSBjb250YWlucyBtZXNzYWdlcyBmb3IgdGhpcyBwb3J0LgogICAgICAgICBi
b29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIGNsYXNzIEV2ZW50RGF0YSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIEV2ZW50RGF0YSB7CisgICAgICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8RXZlbnRE
YXRhPiBjcmVhdGUoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNzT3duUHRy
PE1lc3NhZ2VQb3J0Q2hhbm5lbEFycmF5Pik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlUmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApp
bmRleCBhYjIwOGQyLi43MzUwZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0z
NCw3ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IE5vZGVMaXN0c05v
ZGVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShOb2RlTGlzdHNOb2RlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgogICAgIHR5cGVkZWYgSGFzaFNldDxEeW5hbWljTm9kZUxpc3QqPiBO
b2RlTGlzdFNldDsKICAgICBOb2RlTGlzdFNldCBtX2xpc3RzV2l0aENhY2hlczsKICAgICAKQEAg
LTY3LDcgKzY5LDggQEAgcHJpdmF0ZToKICAgICB9CiB9OwogICAgIAotY2xhc3MgTm9kZVJhcmVE
YXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5vZGVSYXJlRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTm9kZVJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6ICAgIAogICAgIE5vZGVSYXJlRGF0YSgpCiAgICAgICAgIDogbV90YWJJbmRleCgw
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKaW5kZXggMzRmYzA2OS4uY2I5NWYyMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0zMiw3ICszMiw4IEBAIHN0cnVjdCBRdWFs
aWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9Owog
Ci1jbGFzcyBRdWFsaWZpZWROYW1lIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUXVh
bGlmaWVkTmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
Y2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBwdWJsaWMgUmVmQ291bnRlZDxRdWFsaWZpZWROYW1l
SW1wbD4gewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5oCmluZGV4IDA3
YzU5ZGIuLjUyNTBmM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuaApAQCAtMzIsNiAr
MzIsNyBAQCBjbGFzcyBTY3JpcHRFbGVtZW50OwogY2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAog
Y2xhc3MgU2NyaXB0RWxlbWVudCA6IHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNjcmlwdEVsZW1lbnQoRWxl
bWVudCosIGJvb2wgY3JlYXRlZEJ5UGFyc2VyLCBib29sIGlzRXZhbHVhdGVkKTsKICAgICB2aXJ0
dWFsIH5TY3JpcHRFbGVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaAppbmRleCBlNDczYTRiLi44MDRmMmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgpAQCAtMTEwLDggKzExMSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZvaWQgcmVmKCkgeyByZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KICAgICAgICAgdm9p
ZCBkZXJlZigpIHsgZGVyZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KIAotICAgICAgICBj
bGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFzayB7Cisg
ICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIFRhc2soKSB7IH0KICAgICAgICAg
ICAgIHZpcnR1YWwgflRhc2soKTsKICAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFz
ayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgPSAwOwogICAgICAgICAgICAgLy8gQ2VydGFpbiB0
YXNrcyBnZXQgbWFya2VkIHNwZWNpYWxseSBzbyB0aGF0IHRoZXkgYXJlbid0IGRpc2NhcmRlZCwg
YW5kIGFyZSBleGVjdXRlZCwgd2hlbiB0aGUgY29udGV4dCBpcyBzaHV0dGluZyBkb3duIGl0cyBt
ZXNzYWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRT
dHJpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgKaW5kZXggODI2
ZTZiZC4uNmViODkzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRT
dHJpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5oCkBAIC0y
OCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFNwYWNlU3Bs
aXRTdHJpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTcGFjZVNwbGl0
U3RyaW5nRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwYWNlU3BsaXRTdHJp
bmdEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBT
cGFjZVNwbGl0U3RyaW5nRGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzaG91bGRGb2xk
Q2FzZSkKICAgICAgICAgICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRGb2xkQ2FzZShz
aG91bGRGb2xkQ2FzZSksIG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmFu
c2Zvcm1Tb3VyY2UuaAppbmRleCBmOTdhZmNmLi42M2RjNzhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Ry
YW5zZm9ybVNvdXJjZS5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtVHJhbnNmb3JtU291cmNlOwogI2VuZGlmCiAKLSAgICBj
bGFzcyBUcmFuc2Zvcm1Tb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRy
YW5zZm9ybVNvdXJjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zZm9ybVNv
dXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgVHJh
bnNmb3JtU291cmNlKGNvbnN0IFBsYXRmb3JtVHJhbnNmb3JtU291cmNlJiBzb3VyY2UpOwogICAg
ICAgICB+VHJhbnNmb3JtU291cmNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUlu
ZGljYXRvci5oCmluZGV4IDE3ZWEzMTkuLmIxZWQ5NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9V
c2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0zNiw3ICszNiw4IEBAIGVudW0gUHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlU3RhdGUgewogICAgIERlZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNlckdlc3R1cmUK
IH07CiAKLWNsYXNzIFVzZXJHZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFVzZXJHZXN0dXJlSW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShV
c2VyR2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKCkgeyByZXR1cm4gc19wcm9jZXNzaW5nVXNlckdlc3R1cmUgPT0gRGVmaW5p
dGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQogICAgIHN0YXRpYyBQcm9jZXNzaW5nVXNlckdl
c3R1cmVTdGF0ZSBnZXRVc2VyR2VzdHVyZVN0YXRlKCkgeyByZXR1cm4gc19wcm9jZXNzaW5nVXNl
ckdlc3R1cmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5k
aWNhdG9yLmgKaW5kZXggNmM3MTA3OS4uMjFmNGM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBVc2VyVHlw
aW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyVHlw
aW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclR5cGlu
Z0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHByb2Nlc3NpbmdV
c2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxlbWVudEF0R2Vz
dHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQ
YXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IDc1
MzNjNWIuLjFhYWQ5YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVu
dFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5oCkBA
IC03MSw2ICs3MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAgICAgY2xhc3Mg
WE1MRG9jdW1lbnRQYXJzZXIgOiBwdWJsaWMgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLCBwdWJs
aWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTERvY3VtZW50UGFy
c2VyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGcmFtZVZpZXcqIHZpZXcpCiAgICAgICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnht
bDIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAK
aW5kZXggMGY2YjRiNC4uMTBkNmUwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1hN
TERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1hNTERv
Y3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTc1LDggKzc1LDEwIEBAIHVzaW5nIG5hbWVzcGFj
ZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQZW5kaW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAgICBQZW5kaW5n
Q2FsbGJhY2tzKCkgeyB9CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsKICAgICAgICAg
ZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9j
dW1lbnRQYXJzZXJTY29wZS5oCmluZGV4IDU4ZThhNmIuLmY2MDQ3MWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaApAQCAtMzYsNyArMzYsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKIAotICAg
IGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShYTUxEb2N1bWVudFBhcnNlclNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFhNTERv
Y3VtZW50UGFyc2VyU2NvcGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9h
ZGVyKTsKICAgICAgICAgflhNTERvY3VtZW50UGFyc2VyU2NvcGUoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKaW5kZXggMTI4NmMwNy4uNGQ5
MjhjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9s
bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFzcyBSZW5kZXJP
YmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVCdXR0b25Db250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRvbkNvbnRyb2xs
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBEZWxldGVCdXR0b25Db250cm9s
bGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggMjRjZmE0MS4uZjQ3Y2I0ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKQEAgLTYyLDcg
KzYyLDggQEAgZW51bSBFRnJhZ21lbnRUeXBlIHsgRW1wdHlGcmFnbWVudCwgU2luZ2xlVGV4dE5v
ZGVGcmFnbWVudCwgVHJlZUZyYWdtZW50IH07CiAKIC8vIC0tLSBSZXBsYWNlbWVudEZyYWdtZW50
IGhlbHBlciBjbGFzcwogCi1jbGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFJlcGxhY2VtZW50RnJhZ21lbnQpOwogcHVibGljOgogICAgIFJlcGxhY2VtZW50RnJh
Z21lbnQoRG9jdW1lbnQqLCBEb2N1bWVudEZyYWdtZW50KiwgYm9vbCBtYXRjaFN0eWxlLCBjb25z
dCBWaXNpYmxlU2VsZWN0aW9uJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rp
b25Db250cm9sbGVyLmgKaW5kZXggZWU1MjE4Ny4uM2Y4MDVkMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTQ4LDcgKzQ4LDggQEAgY2xhc3Mg
VmlzaWJsZVBvc2l0aW9uOwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsgTWFrZU5vbkRp
cmVjdGlvbmFsU2VsZWN0aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsKIAotY2xhc3Mg
U2VsZWN0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWxlY3Rp
b25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rpb25Db250cm9s
bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBFQWx0ZXJh
dGlvbiB7IEFsdGVyYXRpb25Nb3ZlLCBBbHRlcmF0aW9uRXh0ZW5kIH07CiAgICAgZW51bSBDdXJz
b3JBbGlnbk9uU2Nyb2xsIHsgQWxpZ25DdXJzb3JPblNjcm9sbElmTmVlZGVkLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXggZjYyMTVkMi4uODFiYjUxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCkBAIC01NCw3ICs1NCw4IEBAIHByaXZhdGU6CiAg
ICAgaW50IG1fbGVuZ3RoOwogfTsKIAotY2xhc3MgU3BlbGxDaGVja2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNwZWxsQ2hlY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U3BlbGxDaGVja2VyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTcGVsbENoZWNrZXIoRnJhbWUq
LCBFZGl0b3JDbGllbnQqKTsKICAgICB+U3BlbGxDaGVja2VyKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCAyMjc1MzBmLi44YjVjNjkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKQEAgLTcyLDcgKzcy
LDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIGludCBtX2NoZWNraW5nTGVuZ3RoOwogfTsKIAot
Y2xhc3MgVGV4dENoZWNraW5nSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRl
eHRDaGVja2luZ0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENoZWNraW5n
SGVscGVyKTsKIHB1YmxpYzoKICAgICBUZXh0Q2hlY2tpbmdIZWxwZXIoRWRpdG9yQ2xpZW50Kiwg
UGFzc1JlZlB0cjxSYW5nZT4pOwogICAgIH5UZXh0Q2hlY2tpbmdIZWxwZXIoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCBjMjRiY2IyLi4xZmM3NjA2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC02MSw3ICs2MSw4IEBAIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBDYXNlIGZvbGRpbmcgaXMgYWxzbyBkb25lIGlm
IHRoZSBDYXNlSW5zZW5zaXRpdmUgb3B0aW9uIGlzIHNwZWNpZmllZC4KIC8vIE1hdGNoZXMgYXJl
IGZ1cnRoZXIgZmlsdGVyZWQgaWYgdGhlIEF0V29yZFN0YXJ0cyBvcHRpb24gaXMgc3BlY2lmaWVk
LCBhbHRob3VnaCBzb21lCiAvLyBtYXRjaGVzIGluc2lkZSBhIHdvcmQgYXJlIHBlcm1pdHRlZCBp
ZiBUcmVhdE1lZGlhbENhcGl0YWxBc1dvcmRTdGFydCBpcyBzcGVjaWZpZWQgYXMgd2VsbC4KLWNs
YXNzIFNlYXJjaEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTZWFyY2hCdWZm
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlYXJjaEJ1ZmZlcik7CiBwdWJsaWM6CiAg
ICAgU2VhcmNoQnVmZmVyKGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBGaW5kT3B0aW9ucyk7CiAgICAg
flNlYXJjaEJ1ZmZlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxl
VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaAppbmRleCBkN2Fh
YmY3Li40NTIwNWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJl
YWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApAQCAtNTQsNyAr
NTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQgc3RvcCgpOwogCi0g
ICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGFzayB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoKICAgICAgICAg
dmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soKSA9
IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5o
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAppbmRleCBiNzc5YTVm
Li4xMmE3MDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5
c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKQEAg
LTQ1LDcgKzQ1LDggQEAgY2xhc3MgRmlsZVN5c3RlbUNhbGxiYWNrOwogY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKIAogLy8gS2VlcHMgcGVyLXByb2Nlc3MgaW5mb3JtYXRpb24gYW5kIHBy
b3ZpZGVzIGFuIGVudHJ5IHBvaW50IHRvIG9wZW4gYSBmaWxlIHN5c3RlbS4KLWNsYXNzIExvY2Fs
RmlsZVN5c3RlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEZpbGVTeXN0ZW0g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAg
ICAgLy8gUmV0dXJucyBhIHBlci1wcm9jZXNzIGluc3RhbmNlIG9mIExvY2FsRmlsZVN5c3RlbS4K
ICAgICAvLyBOb3RlIHRoYXQgTG9jYWxGaWxlU3lzdGVtOjppbml0aWFsaXplTG9jYWxGaWxlU3lz
dGVtIG11c3QgYmUgY2FsbGVkIGJlZm9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvU3luY0Nh
bGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIwYWM0OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCkBAIC01OCw3ICs1OCw4IEBAIGNsYXNzIEZp
bGVFbnRyeVN5bmM7CiAKIC8vIEEgaGVscGVyIHRlbXBsYXRlIGZvciBGaWxlU3lzdGVtU3luYyBp
bXBsZW1lbnRhdGlvbi4KIHRlbXBsYXRlIDx0eXBlbmFtZSBTdWNjZXNzQ2FsbGJhY2ssIHR5cGVu
YW1lIE9ic2VydmVyVHlwZSwgdHlwZW5hbWUgQ2FsbGJhY2tBcmcsIHR5cGVuYW1lIFJlc3VsdFR5
cGU+Ci1jbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU3luY0NhbGxiYWNrSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTeW5jQ2Fs
bGJhY2tIZWxwZXIpOwogcHVibGljOgogICAgIHR5cGVkZWYgU3luY0NhbGxiYWNrSGVscGVyPFN1
Y2Nlc3NDYWxsYmFjaywgT2JzZXJ2ZXJUeXBlLCBDYWxsYmFja0FyZywgUmVzdWx0VHlwZT4gSGVs
cGVyVHlwZTsKICAgICBTeW5jQ2FsbGJhY2tIZWxwZXIoT2JzZXJ2ZXJUeXBlKiBvYnNlcnZlciA9
IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJv
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaApp
bmRleCBlODllMzJiLi4xMjg4NGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5
L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFj
a0ZvcndhcmRDb250cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgQmFja0ZvcndhcmRM
aXN0OwogY2xhc3MgSGlzdG9yeUl0ZW07CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBCYWNrRm9yd2Fy
ZENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQmFja0ZvcndhcmRDb250
cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCYWNrRm9yd2FyZENvbnRyb2xsZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBCYWNrRm9yd2FyZENvbnRy
b2xsZXIoUGFnZSosIFBhc3NSZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAgfkJhY2tGb3J3
YXJkQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdl
Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKaW5kZXggNzFhZTVh
ZC4uOTEyYmQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0zOSw3ICszOSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsKICAgICBjbGFz
cyBQYWdlOwogICAgIAotICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUGFnZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFn
ZUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBm
cmllbmQgUGFnZUNhY2hlKiBwYWdlQ2FjaGUoKTsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9D
b2xsZWN0aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZhLi44ZTRhMDY2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIDogRmFzdEFsbG9j
QmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBDb2xsZWN0aW9uQ2Fj
aGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNhY2hlJiBvcGVyYXRv
cj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9N
U2V0dGFibGVUb2tlbkxpc3QuaAppbmRleCAyYjcxMWI0Li44ZjZmZDRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oCkBAIC0zNSw2ICszNSw3IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERPTVNldHRhYmxlVG9rZW5MaXN0IDogcHVibGljIERP
TVRva2VuTGlzdCwgcHVibGljIFJlZkNvdW50ZWQ8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxET01TZXR0YWJsZVRva2VuTGlzdD4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9ET01U
b2tlbkxpc3QuaAppbmRleCA1ZGYyZWRlLi4wYjc1YjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0RPTVRva2VuTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9r
ZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5o
IgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShE
T01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBET01U
b2tlbkxpc3QoKSB7IH0KICAgICB2aXJ0dWFsIH5ET01Ub2tlbkxpc3QoKSB7fTsKIAogICAgIHZp
cnR1YWwgdm9pZCByZWYoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQYXJzZXJRdWlya3MuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5o
CmluZGV4IDUwZGU3MTAuLjNiZjIyYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFBhcnNlclF1aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNlclF1
aXJrcy5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFBhcnNlclF1aXJrc19oCiAK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhUTUxQYXJzZXJR
dWlya3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBhcnNlclF1aXJrcyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclF1aXJrcyk7CiBwdWJsaWM6CiAgICAg
SFRNTFBhcnNlclF1aXJrcygpIHsgfQogICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJRdWlya3MoKSB7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGVhNDU0MWYuLmU2Y2ViOTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9JbnB1dFR5cGUuaApAQCAtMzMsNiArMzMsNyBAQAogI2RlZmluZSBJbnB1dFR5cGVfaAog
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC01NiwxNyArNTcsMTggQEAgY2xhc3MgV2hlZWxF
dmVudDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIHN0cnVjdCBDbGlja0hhbmRsaW5n
U3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIGJvb2wg
Y2hlY2tlZDsKICAgICBib29sIGluZGV0ZXJtaW5hdGU7CiAgICAgUmVmUHRyPEhUTUxJbnB1dEVs
ZW1lbnQ+IGNoZWNrZWRSYWRpb0J1dHRvbjsKLQotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
CiB9OwogCiAvLyBBbiBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIHR5cGUtc3BlY2lm
aWMgcGFydCBvZiBhbiBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90IGV4cG9zZSBpbnN0YW5j
ZXMgb2YgSW5wdXRUeXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBpdCB0byBjbGFzc2VzCiAv
LyBvdGhlciB0aGFuIEhUTUxJbnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1dFR5cGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJbnB1dFR5cGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50KiwgY29uc3Qg
U3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGVUZXh0KEhU
TUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJh
bmdlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCmluZGV4IGNlMDQ0ZWEuLjJm
YTEzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAKLWNsYXNzIFN0ZXBSYW5n
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFuZ2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYXNTdGVwOwogICAg
IGRvdWJsZSBzdGVwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9u
TWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCmluZGV4
IDVmYTFmOTYuLjdjZDBjYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRh
dGlvbk1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdl
LmgKQEAgLTQyLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9ybUFzc29j
aWF0ZWRFbGVtZW50OwogY2xhc3MgSFRNTEVsZW1lbnQ7CiAKLWNsYXNzIFZhbGlkYXRpb25NZXNz
YWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkYXRpb25NZXNzYWdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGF0aW9uTWVzc2FnZSk7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8VmFsaWRhdGlvbk1lc3NhZ2U+IGNyZWF0ZShGb3JtQXNzb2NpYXRl
ZEVsZW1lbnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxp
ZGl0eVN0YXRlLmgKaW5kZXggZTE0MGM0OS4uNGE5NjQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxp
ZGl0eVN0YXRlLmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBWYWxpZGl0eVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkaXR5
U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGl0
eVN0YXRlPiBjcmVhdGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBjb250cm9sKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQu
aAppbmRleCBhMjVlOGExLi5hMTQzNTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNz
IEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmplY3Q7CiAKLWNs
YXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FudmFz
UmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQoSFRNTENhbnZhc0VsZW1lbnQqKTsKICAgICB2aXJ0dWFs
IH5DYW52YXNSZW5kZXJpbmdDb250ZXh0KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKQEAgLTM1LDcg
KzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBIVE1M
VG9rZW47CiAKLWNsYXNzIENTU1ByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIENTU1ByZWxvYWRTY2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NQ
cmVsb2FkU2Nhbm5lcik7CiBwdWJsaWM6CiAgICAgQ1NTUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQq
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVj
dGlvblNpdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25T
aXRlLmgKaW5kZXggOGIwOWJmNS4uNWE0YTY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC00MCw3ICs0MCw4IEBAIGNsYXNz
IEF0b21pY0hUTUxUb2tlbjsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIAotY2xh
c3MgSFRNTENvbnN0cnVjdGlvblNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRN
TENvbnN0cnVjdGlvblNpdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxDb25zdHJ1
Y3Rpb25TaXRlKTsKIHB1YmxpYzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShEb2N1bWVudCos
IEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFnbWVudCk7CiAg
ICAgfkhUTUxDb25zdHJ1Y3Rpb25TaXRlKCk7CkBAIC04OSw3ICs5MCw4IEBAIHB1YmxpYzoKICAg
ICBIVE1MRm9ybUVsZW1lbnQqIGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0uZ2V0KCk7IH0K
ICAgICBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAotICAgIGNsYXNz
IFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9uU2l0ZSYgdHJl
ZSkKICAgICAgICAgICAgIDogbV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IDgwY2E3MjcuLmY5MjUyNjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCkBAIC01
MCw2ICs1MCw3IEBAIGNsYXNzIFNjcmlwdENvbnRyb2xsZXI7CiBjbGFzcyBTY3JpcHRTb3VyY2VD
b2RlOwogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXIgOiAgcHVibGljIFNjcmlwdGFibGVEb2N1
bWVudFBhcnNlciwgSFRNTFNjcmlwdFJ1bm5lckhvc3QsIENhY2hlZFJlc291cmNlQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxIVE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBi
b29sIHJlcG9ydEVycm9ycykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRWxlbWVudFN0YWNrLmgKaW5kZXggOGE4ZTE2MC4uYWQ4Yjk0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaApAQCAtMzksMTIgKzM5LDE0IEBA
IGNsYXNzIFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVjIHVzZXMgYSBi
YWNrd2FyZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAvLyBtb3JlIHN0
YW5kYXJkIChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgotY2xhc3MgSFRN
TEVsZW1lbnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRWxlbWVudFN0
YWNrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNrKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSFRNTEVsZW1lbnRTdGFjaygpOwogICAg
IH5IVE1MRWxlbWVudFN0YWNrKCk7CiAKLSAgICBjbGFzcyBFbGVtZW50UmVjb3JkIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFbGVtZW50UmVjb3JkIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRWxlbWVudFJlY29yZCk7CiAgICAgcHVibGljOgogICAgICAgICB+RWxl
bWVudFJlY29yZCgpOyAvLyBQdWJsaWMgZm9yIH5QYXNzT3duUHRyKCkKICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3Qu
aAppbmRleCBhY2EwNWJiLi5mNzVmYTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCkBAIC0zNSw3ICszNSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiAKIC8vIFRoaXMgbWF5IGVuZCB1
cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNrLgotY2xhc3MgSFRNTEZvcm1hdHRpbmdFbGVt
ZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRm9ybWF0dGluZ0VsZW1l
bnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRm9ybWF0dGluZ0VsZW1lbnRM
aXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CiAgICAgfkhU
TUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTElucHV0U3RyZWFtLmgKaW5kZXggMWJmYmFmOS4uZDk1ZWMzMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUgbGFzdCBvZiB0
aGUgYWZ0ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsgYWRkcyBkYXRh
IGF0IHRoZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAvLyB0aGVtIHRv
IHRoZSAibGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJlYW0oKQogICAg
ICAgICA6IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOSw3ICsxMzAsOCBAQCBwcml2YXRlOgogICAg
IFNlZ21lbnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNv
cmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRSZWNvcmQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsKIHB1YmxpYzoK
ICAgICBleHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJlYW0mIGlucHV0
U3RyZWFtKQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaAppbmRleCBj
MzEzNmY1Li40NWZiYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MTWV0YUNoYXJzZXRQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MTWV0YUNoYXJzZXRQYXJzZXIuaApAQCAtMzYsNyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBIVE1MVG9rZW5pemVyOwogY2xhc3MgVGV4dENvZGVjOwogCi1jbGFzcyBIVE1M
TWV0YUNoYXJzZXRQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTE1ldGFD
aGFyc2V0UGFyc2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MTWV0YUNoYXJzZXRQ
YXJzZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxNZXRhQ2hhcnNldFBh
cnNlcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRQdHIobmV3IEhUTUxNZXRhQ2hhcnNldFBhcnNl
cigpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFy
c2VyU2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2No
ZWR1bGVyLmgKaW5kZXggM2EyMGIyYi4uYzQxNWM2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4LDE0IEBACiAK
ICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1jbGFzcyBI
VE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUGFy
c2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyU2NoZWR1
bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8SFRNTFBhcnNlclNjaGVkdWxlcj4gY3JlYXRlKEhUTUxEb2N1bWVudFBhcnNlciogcGFy
c2VyKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
cmVsb2FkU2Nhbm5lci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRT
Y2FubmVyLmgKaW5kZXggOTRhOTBlNi4uYmVkNzdmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNs
dWRlICJDU1NQcmVsb2FkU2Nhbm5lci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbi5oIgogI2luY2x1
ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgSFRNTFRva2VuOwog
Y2xhc3MgSFRNTFRva2VuaXplcjsKIGNsYXNzIFNlZ21lbnRlZFN0cmluZzsKIAotY2xhc3MgSFRN
TFByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQcmVsb2Fk
U2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFByZWxvYWRTY2FubmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSFRNTFByZWxvYWRTY2FubmVy
KERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxTY3JpcHRSdW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRS
dW5uZXIuaAppbmRleCA2Y2Y3NGQ4Li45ODZmN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSAi
UGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDcgKzQx
LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9zdDsKIGNsYXNzIFNj
cmlwdFNvdXJjZUNvZGU7CiAKLWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSFRNTFNjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShEb2N1bWVudCog
ZG9jdW1lbnQsIEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKaW5kZXggNDJjZGRiOC4uMWNiYzE1MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmlu
ZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAiTmFtZWROb2RlTWFwLmgiCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSFRNTFRva2VuIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgZW51bSBUeXBlIHsKICAgICAgICAgVW5pbml0aWFsaXplZCwKQEAgLTMxMyw3ICszMTMsOCBA
QCBwcml2YXRlOgogICAgIC8vIHdhbnQgdG8gZW5kIHVwIHdpdGggYSBjbGVhbmVyIGludGVyZmFj
ZSBiZXR3ZWVuIHRoZSB0d28gY2xhc3Nlcy4KICAgICBmcmllbmQgY2xhc3MgQXRvbWljSFRNTFRv
a2VuOwogCi0gICAgY2xhc3MgRG9jdHlwZURhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIERvY3R5cGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdHlw
ZURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRG9jdHlwZURhdGEoKQogICAgICAgICAgICAg
OiBtX2hhc1B1YmxpY0lkZW50aWZpZXIoZmFsc2UpCkBAIC0zNTIsNyArMzUzLDggQEAgcHJpdmF0
ZToKIAogLy8gRklYTUU6IFRoaXMgY2xhc3Mgc2hvdWxkIGV2ZW50dWFsbHkgYmUgbmFtZWQgSFRN
TFRva2VuIG9uY2Ugd2UgbW92ZSB0aGUKIC8vIGV4aXRpbmcgSFRNTFRva2VuIHRvIGJlIGludGVy
bmFsIHRvIHRoZSBIVE1MVG9rZW5pemVyLgotY2xhc3MgQXRvbWljSFRNTFRva2VuIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF0b21pY0hUTUxUb2tlbiB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQXRvbWljSFRNTFRva2VuKTsKIHB1YmxpYzoKICAgICBBdG9taWNIVE1MVG9rZW4o
SFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX3R5cGUodG9rZW4udHlwZSgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4IGYxNmIwNDkuLmZhNDVj
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKQEAgLTM5
LDcgKzM5LDggQEAgY2xhc3MgRWxlbWVudDsKIGNsYXNzIEZyYW1lOwogY2xhc3MgSFRNTFRva2Vu
OwogCi1jbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhU
TUxUb2tlbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbml6ZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFN0YXRlIHsKICAgICAg
ICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Myw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAg
ICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNw
cmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAgICBjbGFzcyBJbnB1dFN0cmVhbVByZXBy
b2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW5wdXRTdHJlYW1QcmVw
cm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1dFN0cmVhbVByZXBy
b2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJbnB1dFN0cmVhbVByZXByb2Nlc3NvcihI
VE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAgICAgICA6IG1fdG9rZW5pemVyKHRva2Vu
aXplcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3Bw
CmluZGV4IDAyNzEzZTUuLjk3Y2VlMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMjQxLDcgKzI0MSw4IEBAIEhUTUxGb3JtRWxlbWVu
dCogY2xvc2VzdEZvcm1BbmNlc3RvcihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8vIG5hbWVzcGFj
ZQogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENo
YXJhY3RlclRva2VuQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFeHRlcm5hbENo
YXJhY3RlclRva2VuQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRlcm5hbENoYXJh
Y3RlclRva2VuQnVmZmVyKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV9jdXJy
ZW50KHRva2VuLmNoYXJhY3RlcnMoKS5kYXRhKCkpCkBAIC0yMzQyLDcgKzIzNDMsOCBAQCB2b2lk
IEhUTUxUcmVlQnVpbGRlcjo6cmVwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4p
CiAgICAgcHJvY2Vzc0VuZFRhZyh0b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6
RmFrZUluc2VydGlvbk1vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVC
dWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRmFr
ZUluc2VydGlvbk1vZGUpOwogcHVibGljOgogICAgIEZha2VJbnNlcnRpb25Nb2RlKEhUTUxUcmVl
QnVpbGRlciogdHJlZUJ1aWxkZXIsIEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAgICAgOiBtX3Ry
ZWVCdWlsZGVyKHRyZWVCdWlsZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VHJlZUJ1aWxkZXIuaAppbmRleCAxN2I3N2I3Li4zMDlhYzZmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaApAQCAtNTEsNyArNTEsOCBAQCBjbGFzcyBI
VE1MRG9jdW1lbnQ7CiBjbGFzcyBOb2RlOwogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwogCi1j
bGFzcyBIVE1MVHJlZUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRy
ZWVCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVHJlZUJ1aWxkZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxI
VE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNlciwgSFRNTERv
Y3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMsIGJvb2wgdXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MpCiAgICAgewpAQCAtMjA0LDcgKzIwNSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBw
cm9jZXNzRm9yZWlnbkNvbnRlbnRVc2luZ0luQm9keU1vZGVBbmRSZXNldE1vZGUoQXRvbWljSFRN
TFRva2VuJiB0b2tlbik7CiAgICAgdm9pZCByZXNldEZvcmVpZ25JbnNlcnRpb25Nb2RlKCk7CiAK
LSAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRnJhZ21lbnRQYXJzaW5nQ29udGV4dCk7CiAgICAgcHVibGljOgogICAgICAgICBG
cmFnbWVudFBhcnNpbmdDb250ZXh0KCk7CiAgICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQo
RG9jdW1lbnRGcmFnbWVudCosIEVsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBGcmFnbWVudFNjcmlw
dGluZ1Blcm1pc3Npb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
TmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL05l
c3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5o
CkBAIC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTmVzdGlu
Z0xldmVsSW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmVzdGluZ0xl
dmVsSW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRl
cih1bnNpZ25lZCYgbmVzdGluZ0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xldmVsKCZuZXN0
aW5nTGV2ZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1l
c3NhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCmluZGV4
IDMxMGFhOGUuLjdjMzM0OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVz
c2FnZS5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlwdENhbGxGcmFtZTsKIGNsYXNzIFNj
cmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFZhbHVlOwogCi1jbGFzcyBDb25zb2xlTWVzc2Fn
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb25zb2xlTWVzc2FnZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlVHlw
ZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIHVuc2lnbmVkIGxpLCBjb25zdCBTdHJp
bmcmIHUpOwogICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VUeXBlLCBN
ZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgUGFzc1JlZlB0cjxTY3JpcHRBcmd1bWVudHM+
LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCmluZGV4IDNk
OWU0OTQuLmFjMGFjYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTQxLDcgKzQxLDggQEAgY2xh
c3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9yVmFsdWU7CiBjbGFzcyBSZXNvdXJj
ZVJlc3BvbnNlOwogCi1jbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JBcHBsaWNh
dGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlciwg
SW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oCmluZGV4IDUzN2JkYTEuLjZhZjMxZTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdn
ZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCcm93c2Vy
RGVidWdnZXJBZ2VudC5oCkBAIC00OCw3ICs0OCw4IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xs
ZXI7CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBOb2RlOwogCi1jbGFzcyBJbnNwZWN0
b3JCcm93c2VyRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNw
ZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5z
cGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3du
UHRyPEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJv
bGxlciogaW5zcGVjdG9yQ29udHJvbGxlcikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKaW5kZXggOTdmY2IzZi4uYTNlNmE1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2Vu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQu
aApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFzcyBTY3JpcHRD
YWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JDb25zb2xl
QWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb25zb2xlQWdlbnQpOwogcHVi
bGljOgogICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudChJbnNwZWN0b3JDb250cm9sbGVyKiwgSW5z
cGVjdG9yU3RhdGUqKTsKICAgICB+SW5zcGVjdG9yQ29uc29sZUFnZW50KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBhYjgzNzdkLi5i
MDliZjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmgKQEAgLTEwNSw3ICsxMDUsOCBAQCBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0
OwogY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2U7CiAjZW5kaWYKIAotY2xhc3MgSW5z
cGVjdG9yQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JD
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb250cm9sbGVy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IENvbnNvbGVQYW5lbDsKICAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgRWxl
bWVudHNQYW5lbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JEZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVi
dWdnZXJBZ2VudC5oCmluZGV4IDk4YWMxZjkuLjRjYjlmOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaApAQCAtNTMsNyArNTMsOCBA
QCBlbnVtIERlYnVnZ2VyRXZlbnRUeXBlIHsKICAgICBOYXRpdmVCcmVha3BvaW50RGVidWdnZXJF
dmVudFR5cGUKIH07CiAKLWNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgU2Ny
aXB0RGVidWdMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckRl
YnVnZ2VyQWdlbnQgOiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckRlYnVnZ2VyQWdl
bnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKiwgSW5zcGVjdG9yRnJvbnRlbmQqKTsKICAg
ICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAppbmRleCA5
ZGNhYTVhLi4xOWY2YWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3Mg
SW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9zdDsKIGNsYXNz
IFBhZ2U7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBwdWJsaWMgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0
b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwogICAgIHZpcnR1YWwgfklu
c3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCmluZGV4IGU2Nzg0OGQuLjE2MDhkYTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQu
aApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBTY3JpcHRI
ZWFwU25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0b3JQcm9m
aWxlckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclByb2ZpbGVy
QWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2ZpbGVyQWdlbnQp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxJbnNwZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciopOwog
ICAgIHZpcnR1YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaAppbmRleCBhMTNlYjU5Li5iNGYz
NzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGlt
ZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVB
Z2VudC5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIEluamVjdGVkU2NyaXB0SG9zdDsKIGNsYXNz
IEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOwogCi1jbGFzcyBJbnNwZWN0
b3JSdW50aW1lQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yUnVu
dGltZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JSdW50aW1lQWdl
bnQpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvclJ1bnRpbWVBZ2Vu
dD4gY3JlYXRlKEluamVjdGVkU2NyaXB0SG9zdCogaW5qZWN0ZWRTY3JpcHRIb3N0KQogICAgIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
CmluZGV4IDMzZTI3MzcuLmNhZTVhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAsNyArNzAsOCBAQCBlbnVtIFRpbWVs
aW5lUmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3RUaW1lbGluZVJlY29y
ZFR5cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdD
RXZlbnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250ZW5kKiBmcm9u
dGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCmluZGV4
IDEwMTZhZWQuLmRkZDUwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSFRUUEhlYWRlck1hcDsKICAgICBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZUl0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxp
Z2h0UmVzdWx0Q2FjaGVJdGVtIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NP
cmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVt
KGJvb2wgY3JlZGVudGlhbHMpCiAgICAgICAgICAgICA6IG1fYWJzb2x1dGVFeHBpcnlUaW1lKDAp
CkBAIC02Myw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSGVhZGVyc1Nl
dCBtX2hlYWRlcnM7CiAgICAgfTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc09y
aWdpblByZWZsaWdodFJlc3VsdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBzdGF0aWMgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSYg
c2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRo
cmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li4zYTNjYzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50OwogCiAg
ICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8RG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIsIHByaXZhdGUg
U3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50Kiwg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRo
cmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRXcml0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRl
ci5oCmluZGV4IDVmYjNkYzEuLmZiOTM2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudFdyaXRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dFdyaXRlci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgU2VjdXJpdHlP
cmlnaW47CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogCi1jbGFzcyBEb2N1bWVudFdyaXRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudFdyaXRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRXcml0ZXIpOwogcHVibGljOgogICAgIERvY3VtZW50
V3JpdGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCBl
NGNlZmM1Li5mNjcwMDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0y
MTQsOCArMjE0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgRW1wdHlGcmFtZUxv
YWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGll
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RnJhbWVMb2FkZXJDbGllbnQpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1lTG9hZGVyQ2xp
ZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgpIHsgIH0KICAg
ICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAtMzg3LDggKzM4
OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0Nv
bnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1JlZlB0cjxGcmFt
ZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRvckNsaWVudCA6
IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUVk
aXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CisgICAgRW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUVkaXRvckNs
aWVudCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGVzdHJveWVkKCkgeyB9CiAKQEAgLTUw
MSw4ICs1MDUsMTAgQEAgcHVibGljOgogfTsKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQot
Y2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBDb250ZXh0TWVudUNsaWVudCwg
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJs
aWMgQ29udGV4dE1lbnVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5Q29u
dGV4dE1lbnVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBF
bXB0eUNvbnRleHRNZW51Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlDb250ZXh0TWVu
dUNsaWVudCgpIHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVEZXN0cm95ZWQoKSB7
IH0KIApAQCAtNTI4LDggKzUzNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYgLy8gRU5BQkxFKENPTlRF
WFRfTUVOVVMpCiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotY2xhc3MgRW1wdHlEcmFnQ2xp
ZW50IDogcHVibGljIERyYWdDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRW1wdHlEcmFnQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Cisg
ICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFnQ2xpZW50KCkg
e30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxs
UGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50UG9pbnQm
LCBDbGlwYm9hcmQqKSB7IH0KQEAgLTU0MSw4ICs1NDksMTAgQEAgcHVibGljOgogfTsKICNlbmRp
ZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6
IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0
eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CisgICAgRW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFs
IH5FbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3Rv
ckRlc3Ryb3llZCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1T
dWJtaXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24uaAppbmRl
eCBkNzI0ODM1Li43ZjU4ZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9y
bVN1Ym1pc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Npb24u
aApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBGb3JtU3VibWlzc2lvbiA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEZvcm1TdWJtaXNzaW9uPiB7CiBwdWJsaWM6CiAgICAgZW51bSBNZXRob2QgeyBHZXRNZXRo
b2QsIFBvc3RNZXRob2QgfTsKIAotICAgIGNsYXNzIEF0dHJpYnV0ZXMgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEF0dHJpYnV0ZXMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBdHRyaWJ1dGVzKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEF0dHJpYnV0ZXMoKQogICAg
ICAgICAgICAgOiBtX21ldGhvZChHZXRNZXRob2QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCmluZGV4IDdmZjVkYmQuLmFmOTdmYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAogYm9vbCBpc0Jh
Y2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1lTG9hZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXIoRnJhbWUq
LCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAppbmRleCBjMzQwOGMyLi5m
ZTM3ZWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0
ZU1hY2hpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1h
Y2hpbmUuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIEVuY2Fw
c3VsYXRlcyBhIHN0YXRlIG1hY2hpbmUgZm9yIEZyYW1lTG9hZGVyLiBOb3RlIHRoYXQgdGhpcyBp
cyBkaWZmZXJlbnQgZnJvbSBGcmFtZVN0YXRlLAogLy8gd2hpY2ggc3RvcmVzIHRoZSBzdGF0ZSBv
ZiB0aGUgY3VycmVudCBsb2FkIHRoYXQgRnJhbWVMb2FkZXIgaXMgZXhlY3V0aW5nLgotY2xhc3Mg
RnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJh
bWVMb2FkZXJTdGF0ZU1hY2hpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9h
ZGVyU3RhdGVNYWNoaW5lKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCmluZGV4IDE3Zjgw
ZWIuLjA2MWYyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5o
CkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgSGlzdG9yeUl0ZW07CiBjbGFz
cyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiAKLWNsYXNzIEhpc3RvcnlDb250cm9sbGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhpc3RvcnlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShIaXN0b3J5Q29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgZW51bSBIaXN0
b3J5VXBkYXRlVHlwZSB7IFVwZGF0ZUFsbCwgVXBkYXRlQWxsRXhjZXB0QmFja0ZvcndhcmRMaXN0
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IGE3N2U4YzAuLjA2
OWI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtNTcsNyArNTcs
OCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1ZUNoZWNrPFdlYkNvcmU6OkltYWdlTG9hZGVyKj4g
ewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEltYWdlRXZlbnRTZW5kZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VFdmVudFNlbmRlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAK
aW5kZXggMTc1MjE5Yy4uZDUxNTc1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZp
Z2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHVuc2lnbmVkIE5hdmlnYXRpb25EaXNhYmxlckZvckJlZm9yZVVubG9hZDo6c19uYXZpZ2F0
aW9uRGlzYWJsZUNvdW50ID0gMDsKIAotY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbiA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgU2NoZWR1bGVkTmF2aWdhdGlvbihkb3VibGUgZGVsYXksIGJvb2wg
bG9ja0hpc3RvcnksIGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlzdCwgYm9vbCB3YXNEdXJpbmdMb2Fk
LCBib29sIGlzTG9jYXRpb25DaGFuZ2UpCiAgICAgICAgIDogbV9kZWxheShkZWxheSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUGluZ0xvYWRlci5oCmluZGV4IDNhMDc2ZmIuLjU5ODhiNjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0byBlbnN1cmUg
dGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFzIHNvb24gYXMg
YSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwgdGhpcyBjbGFz
cyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgotY2xhc3MgUGlu
Z0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGxvYWRJbWFnZShGcmFtZSosIGNvbnN0IEtV
UkwmIHVybCk7CiAgICAgc3RhdGljIHZvaWQgc2VuZFBpbmcoRnJhbWUqLCBjb25zdCBLVVJMJiBw
aW5nVVJMLCBjb25zdCBLVVJMJiBkZXN0aW5hdGlvblVSTCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Bv
bGljeUNoZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Qb2xpY3lDaGVja2VyLmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xhc3MgTmF2aWdhdGlvbkFjdGlv
bjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFz
cyBQb2xpY3lDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBvbGljeUNoZWNr
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvbGljeUNoZWNrZXIpOwogcHVibGljOgog
ICAgIFBvbGljeUNoZWNrZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jl
c3NUcmFja2VyLmNwcAppbmRleCBjZDE1NDMzLi42NWRkMWM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0aWMgY29uc3Qg
ZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlhbFByb2dyZXNz
VmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0aW1hdGVkTGVu
Z3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29weWFibGUgewor
c3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NJ
dGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUHJvZ3Jlc3NJdGVt
KGxvbmcgbG9uZyBsZW5ndGgpIAogICAgICAgICA6IGJ5dGVzUmVjZWl2ZWQoMCkKICAgICAgICAg
LCBlc3RpbWF0ZWRMZW5ndGgobGVuZ3RoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVz
c1RyYWNrZXIuaAppbmRleCA1ZDViNmIyLi5lYTVmN2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Byb2dyZXNzVHJhY2tlci5oCkBAIC0zNiw3ICszNiw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3Mg
UmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBQcm9ncmVzc0l0ZW07CiAKLWNsYXNzIFByb2dyZXNz
VHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9ncmVzc1RyYWNrZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJhY2tlcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIFByb2dyZXNzVHJhY2tlcigpOwogICAgIH5Qcm9ncmVz
c1RyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWROb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVy
LmgKaW5kZXggMmYxMDg1Ni4uYTZkOTJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZE5vdGlmaWVyLmgKQEAgLTQzLDcgKzQzLDggQEAgY2xhc3MgUmVzb3VyY2VMb2Fk
ZXI7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogCi1j
bGFzcyBSZXNvdXJjZUxvYWROb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBS
ZXNvdXJjZUxvYWROb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VM
b2FkTm90aWZpZXIpOwogcHVibGljOgogICAgIFJlc291cmNlTG9hZE5vdGlmaWVyKEZyYW1lKik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAppbmRl
eCAxNjNiNjdlLi5mMmU2MjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZFNjaGVkdWxlci5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFJlc291cmNlUmVxdWVzdDsK
IGNsYXNzIFN1YnJlc291cmNlTG9hZGVyOwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQ7
CiAKLWNsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJl
c291cmNlTG9hZFNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAgZnJpZW5kIFJlc291cmNlTG9hZFNj
aGVkdWxlciogcmVzb3VyY2VMb2FkU2NoZWR1bGVyKCk7CiAKQEAgLTY5LDcgKzcwLDggQEAgcHJp
dmF0ZToKICAgICB2b2lkIHNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMoKTsKICAgICB2b2lk
IHJlcXVlc3RUaW1lckZpcmVkKFRpbWVyPFJlc291cmNlTG9hZFNjaGVkdWxlcj4qKTsKIAotICAg
IGNsYXNzIEhvc3RJbmZvcm1hdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
SG9zdEluZm9ybWF0aW9uIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdEluZm9y
bWF0aW9uKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEhvc3RJbmZvcm1hdGlvbihjb25zdCBTdHJp
bmcmLCB1bnNpZ25lZCk7CiAgICAgICAgIH5Ib3N0SW5mb3JtYXRpb24oKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uYmE2M2E1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAgLTU0LDcgKzU0LDggQEAgY2xhc3MgTm9k
ZTsKIGNsYXNzIFdpZGdldDsKIAogLy8gVGhpcyBpcyBhIHNsaWdodCBtaXNub21lci4gSXQgaGFu
ZGxlcyB0aGUgaGlnaGVyIGxldmVsIGxvZ2ljIG9mIGxvYWRpbmcgYm90aCBzdWJmcmFtZXMgYW5k
IHBsdWdpbnMuCi1jbGFzcyBTdWJmcmFtZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBTdWJmcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3ViZnJhbWVM
b2FkZXIpOwogcHVibGljOgogICAgIFN1YmZyYW1lTG9hZGVyKEZyYW1lKik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGY0MWE3NzQuLmY1NzRjOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAtNjUsNyArNjUsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBVc2VmdWwgZm9yIGRvaW5nIGxvYWRlciBv
cGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90IHRocmVhZHNhZmUsIAogICAgIC8vIGp1c3Qg
YWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBtYWluIHRocmVhZCkuCi0gICAg
Y2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFi
bGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNl
U3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRp
b25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGNyZWF0
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CkBAIC03
NSw2ICs3Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkZXJlZigpIHsg
ZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhy
ZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyKCkg
eyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKaW5kZXggYmNmNjhiZS4u
Y2VhOGIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2Fk
ZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNs
aWVudC5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dF9oCiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRfaAogCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFJlc291cmNl
RXJyb3I7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNzIFRocmVhZGFi
bGVMb2FkZXJDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZGFi
bGVMb2FkZXJDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25nIC8qYnl0ZXNT
ZW50Ki8sIHVuc2lnbmVkIGxvbmcgbG9uZyAvKnRvdGFsQnl0ZXNUb0JlU2VudCovKSB7IH0KIApA
QCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DYW5jZWxsYXRpb24oY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpIHsgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50KCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXJDbGllbnQoKSB7IH0K
ICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFk
YWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2Fk
ZXIuaAppbmRleCA4MWRhMmUwLi42NWNjNjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAg
ICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2Vy
VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBs
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdvcmtlckNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2VyVGhyZWFkYWJsZUxvYWRl
cj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJD
bGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
R3JvdXAuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
R3JvdXAuaAppbmRleCAyZDhiODNlLi5mM2ExMTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCkBAIC01Myw3ICs1
Myw4IEBAIGVudW0gQXBwbGljYXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB7CiAgICAgQXBwbGljYXRp
b25DYWNoZVVwZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRleHQKIH07CiAKLWNsYXNzIEFwcGxpY2F0
aW9uQ2FjaGVHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgUmVzb3VyY2VIYW5kbGVDbGllbnQg
eworY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVHcm91cCk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFwcGxpY2F0aW9uQ2FjaGVHcm91cChjb25z
dCBLVVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBpc0NvcHkgPSBmYWxzZSk7ICAgIAogICAgIH5BcHBs
aWNhdGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKaW5kZXggOGFjNTM1Ny4uYTFmMjg0MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVIb3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlv
bkNhY2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBwbGljYXRpb25D
YWNoZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hl
SG9zdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8g
VGhlIFN0YXR1cyBudW1lcmljIHZhbHVlcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBIVE1MNSBzcGVj
LgogICAgICAgICBlbnVtIFN0YXR1cyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdkYjM0ZTYuLjhi
ZmRmMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlU3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCkBAIC00NCw3ICs0NCw4IEBAIHRlbXBsYXRlIDxjbGFz
cyBUPgogY2xhc3MgU3RvcmFnZUlESm91cm5hbDsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogCi1j
bGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBw
bGljYXRpb25DYWNoZVN0b3JhZ2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBlbnVtIEZhaWx1cmVSZWFzb24gewogICAgICAgICBPcmlnaW5RdW90YVJlYWNoZWQsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VD
b2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3Vy
Y2VDb2xsZWN0aW9uLmgKaW5kZXggOWQ2MzBkMS4uZmQyZGRiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24u
aApAQCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXJjaGl2
ZVJlc291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJjaGl2ZVJl
c291cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCAzNjAwYTAyLi41YzhiMzhmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtNTAsNyArNTAsOCBA
QCBjbGFzcyBQdXJnZWFibGVCdWZmZXI7CiAvLyBBIHJlc291cmNlIHRoYXQgaXMgaGVsZCBpbiB0
aGUgY2FjaGUuIENsYXNzZXMgd2hvIHdhbnQgdG8gdXNlIHRoaXMgb2JqZWN0IHNob3VsZCBkZXJp
dmUKIC8vIGZyb20gQ2FjaGVkUmVzb3VyY2VDbGllbnQsIHRvIGdldCB0aGUgZnVuY3Rpb24gY2Fs
bHMgaW4gY2FzZSB0aGUgcmVxdWVzdGVkIGRhdGEgaGFzIGFycml2ZWQuCiAvLyBUaGlzIGNsYXNz
IGFsc28gZG9lcyB0aGUgYWN0dWFsIGNvbW11bmljYXRpb24gd2l0aCB0aGUgbG9hZGVyIHRvIG9i
dGFpbiB0aGUgcmVzb3VyY2UgZnJvbSB0aGUgbmV0d29yay4KLWNsYXNzIENhY2hlZFJlc291cmNl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hlZFJlc291cmNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAgICBmcmllbmQgY2xhc3MgSW5zcGVj
dG9yUmVzb3VyY2U7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUNsaWVudC5oCmluZGV4IDI3NWQzMzEuLjFjNTZmMTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCkBAIC00
NSw4ICs0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0IGZyb20gdGhp
cyBjbGFzcyBhbmQgb3ZlcmxvYWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAgICAqCiAgICAg
ICovCi0gICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZQotICAgIHsKKyAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+Q2FjaGVk
UmVzb3VyY2VDbGllbnQoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCAzNGVmNzAwLi5hNTQwYTQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaApA
QCAtNDksNyArNDksOCBAQCBjbGFzcyBJbWFnZUxvYWRlcjsKIGNsYXNzIEtVUkw7CiAKIC8vIFRo
ZSBDYWNoZWRSZXNvdXJjZUxvYWRlciBtYW5hZ2VzIHRoZSBsb2FkaW5nIG9mIHNjcmlwdHMvaW1h
Z2VzL3N0eWxlc2hlZXRzIGZvciBhIHNpbmdsZSBkb2N1bWVudC4KLWNsYXNzIENhY2hlZFJlc291
cmNlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hlZFJlc291cmNlTG9h
ZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZUxvYWRlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVyOwogCiBwdWJs
aWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmluZGV4IGU5MjZk
N2MuLmRkOGI4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5o
CkBAIC03MCw3ICs3MCw4IEBAIGNsYXNzIEtVUkw7CiAvLyBpdHMgbWVtYmVyIHZhcmlhYmxlcykg
YXJlIGFsbG9jYXRlZCBpbiBub24tcHVyZ2VhYmxlIFRDLW1hbGxvYydkIG1lbW9yeSBzbyB3ZSB3
b3VsZCBzZWUgc2xpZ2h0bHkKIC8vIG1vcmUgbWVtb3J5IHVzZSBkdWUgdG8gdGhpcy4KIAotY2xh
c3MgTWVtb3J5Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVtb3J5Q2FjaGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lbW9yeUNhY2hlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBtZW1vcnlDYWNoZSgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCmluZGV4IDYxNDZh
YTYuLmUwOGRjZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25E
YXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5o
CkBAIC02Miw4ICs2Miw4IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAgSWNvbkxvYWRV
bmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgewot
CitjbGFzcyBJY29uRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25EYXRh
YmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogLy8gKioqIE1haW4gVGhyZWFkIE9ubHkg
KioqCiBwdWJsaWM6CiAgICAgdm9pZCBzZXRDbGllbnQoSWNvbkRhdGFiYXNlQ2xpZW50Kik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCmluZGV4
IGMyMTBkN2QuLmY5N2EyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29u
L0ljb25EYXRhYmFzZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0lj
b25EYXRhYmFzZUNsaWVudC5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaWZuZGVmIEljb25EYXRhYmFz
ZUNsaWVudF9oCiAjZGVmaW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKKyNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKQEAgLTM3LDggKzM4LDEwIEBACiAgCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIEljb25EYXRhYmFzZUNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJY29uRGF0YWJhc2VDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25E
YXRhYmFzZUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIElj
b25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkljb25EYXRhYmFzZUNsaWVudCgp
IHsgfQogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4gdHJ1ZTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlbW92ZUFsbEljb25zKCkgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKaW5kZXggMWViYWM0OC4uMjk4NTM5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaApAQCAtMzcsNyArMzcsOCBAQCBj
bGFzcyBGcmFtZTsKIGNsYXNzIEtVUkw7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLWNsYXNzIElj
b25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGll
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25Mb2FkZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJY29uTG9hZGVyPiBj
cmVhdGUoRnJhbWUqKTsKICAgICB+SWNvbkxvYWRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2ljb24vUGFnZVVSTFJlY29yZC5oCmluZGV4IGY3Y2NiOGYuLjc5MzVkYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKQEAgLTUxLDcgKzUxLDggQEAgcHVi
bGljOgogICAgIFN0cmluZyBpY29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJlY29yZCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShQYWdlVVJMUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgUGFnZVVSTFJlY29yZChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpOwogICAgIH5QYWdl
VVJMUmVjb3JkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
aAppbmRleCBmMTRhMzAyLi43MzEzMWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9ub3Rp
ZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJs
aWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJs
aWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2ZW50VGFyZ2V0IHsKKyAgICAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVmUHRyPE5vdGlm
aWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb3Rp
ZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYgY29udGVudHMsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggYWI5Mjc5Ni4uZTZhMGEwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCkBAIC00MSw3ICs0MSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBFdmVudDsKICAgICBjbGFzcyBQYWdlOwog
Ci0gICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb250ZXh0TWVudUNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51Q29udHJvbGxlcihQYWdlKiwgQ29udGV4
dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRNZW51Q29udHJvbGxlcigpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDEwYmI1ZjguLjBmMTc2YjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFJhbmdlOwogICAgIGNsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXI7
CiAgICAgCi0gICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIERyYWdDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RHJhZ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIERyYWdDb250cm9sbGVyKFBhZ2UqLCBEcmFnQ2xpZW50Kik7CiAgICAgICAgIH5EcmFn
Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggMGMxODQ1MC4u
ZDEyYTU2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC04MSw3ICs4MSw4IEBA
IGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwogCiBlbnVtIEhpdFRlc3RT
Y3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERvbnRIaXRUZXN0U2Nyb2xsYmFy
cyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXIpOwog
cHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAgIH5FdmVudEhhbmRsZXIoKTsK
QEAgLTIyNCw3ICsyMjUsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgUGVyZm9ybURyYWdBbmREcm9w
CiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgOiBOb25jb3B5YWJs
ZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlKCkgeyB9CiAg
ICAgICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVsZW1lbnQgdGhhdCBtYXkgYmUgYSBk
cmFnIHNvdXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdlc3R1cmUKICAgICAgICAgYm9vbCBt
X2RyYWdTcmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNJbWFnZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi4xMGFkNmJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5oCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiAgICAgY2xhc3MgRXZlbnRTb3VyY2UgOiBwdWJsaWMg
UmVmQ291bnRlZDxFdmVudFNvdXJjZT4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAgICAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxFdmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5FdmVudFNvdXJj
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKaW5kZXggYmU1MWM3Ny4uNTBm
YTJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCkBAIC00MCw3ICs0MCw4
IEBAIGNsYXNzIEtleWJvYXJkRXZlbnQ7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKIAotY2xh
c3MgRm9jdXNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvY3VzQ29u
dHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9jdXNDb250cm9sbGVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9jdXNDb250cm9sbGVyKFBhZ2Uq
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKaW5kZXggOTRiOGQxNi4uYmFjNTQ3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVlKEZyYW1lKiB0
aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1fdGhpc0ZyYW1l
KHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBiY2M4YjlmLi5lMDNl
ZjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMDgsNyArMTA4LDEwIEBAIGRv
dWJsZSBGcmFtZVZpZXc6OnNfZGVmZXJyZWRSZXBhaW50RGVsYXlJbmNyZW1lbnREdXJpbmdMb2Fk
aW5nID0gMDsKIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiB1cGRhdGVXaWRnZXRzIGl0ZXJhdGlv
bnMgdGhhdCBzaG91bGQgYmUgZG9uZSBiZWZvcmUgcmV0dXJuaW5nLgogc3RhdGljIGNvbnN0IHVu
c2lnbmVkIG1heFVwZGF0ZVdpZGdldHNJdGVyYXRpb25zID0gMjsKIAotc3RydWN0IFNjaGVkdWxl
ZEV2ZW50IDogTm9uY29weWFibGUgeworc3RydWN0IFNjaGVkdWxlZEV2ZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRFdmVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgorICAgIFNjaGVkdWxlZEV2ZW50KCkgeyB9CiAgICAgUmVmUHRyPEV2ZW50PiBt
X2V2ZW50OwogICAgIFJlZlB0cjxOb2RlPiBtX2V2ZW50VGFyZ2V0OwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDdkYjE5NTEuLjFhMmNlNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaApAQCAtNDAs
NyArNDAsOCBAQCBjbGFzcyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9jYXRpb25Qb3Np
dGlvbjsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgR2Vv
bG9jYXRpb25Db250cm9sbGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwogICAgIH5HZW9s
b2NhdGlvbkNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR3Jv
dXBTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKaW5kZXgg
ZmI2ZjZiNS4uMWJiYWQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Hcm91cFNl
dHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdzLmgKQEAgLTMz
LDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdlR3JvdXA7CiAKLWNs
YXNzIEdyb3VwU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JvdXBTZXR0
aW5ncyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5ncyk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEdyb3VwU2V0
dGluZ3M+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA3NDEzYmI2Li4wNzFiMTQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaApAQCAtOTAsMTIgKzkwLDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJkLCBGaW5kRGly
ZWN0aW9uQmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2VkU3R5bGVSZWNh
bGNGb3JBbGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBwbGF0Zm9ybSB0
byBlbnN1cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVyZSByZXF1aXJl
ZC4KLSAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgeworICAgICAgICBz
dHJ1Y3QgUGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFn
ZUNsaWVudHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgUGFnZUNsaWVudHMoKTsKICAgICAgICAgICAgIH5QYWdlQ2xpZW50cygpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCBjYzQ3ZmJhLi42NDNjNWU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIFBhZ2U7CiAgICAgY2xhc3MgU3RvcmFnZU5hbWVzcGFjZTsKIAotICAgIGNsYXNzIFBhZ2VH
cm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3VwIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdyb3VwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3JvdXAoY29uc3QgU3RyaW5nJiBuYW1lKTsK
ICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91
cExvYWREZWZlcnJlci5oCmluZGV4IGQ0NDNlYmQuLmY3OTU2YzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaApAQCAtMjgsNyArMjgsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgUGFnZTsKIAotICAgIGNs
YXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFnZUdyb3VwTG9hZERlZmVycmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cExv
YWREZWZlcnJlcihQYWdlKiwgYm9vbCBkZWZlclNlbGYpOwogICAgICAgICB+UGFnZUdyb3VwTG9h
ZERlZmVycmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBhZjhiMzFlLi41
Yjk2ZDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKQEAgLTM1LDcgKzM1LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIYWx0YWJsZVBsdWdpbjsKIAotY2xhc3MgUGx1
Z2luSGFsdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpbkhhbHRlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luSGFsdGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVyKFBsdWdpbkhhbHRlckNsaWVudCopOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggZjQ2MzBkZS4uNDIwZGFjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaApAQCAtNTAsNyArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IFRleHREaXJlY3Rpb25TdWJtZW51QWx3YXlzSW5jbHVkZWQKICAgICB9OwogCi0gICAgY2xhc3Mg
U2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNldHRpbmdzIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TcGVlY2hJbnB1dC5oCmluZGV4IDI3MGY1MDAuLjUyZDZjMDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nw
ZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJTcGVlY2hJbnB1dExpc3Rl
bmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTQ4LDcgKzQ3LDggQEAgY2xhc3MgU3BlZWNoSW5wdXRMaXN0ZW5lcjsKIC8vIFRoaXMgY2xh
c3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJlcXVpcmluZyBzcGVlY2ggaW5wdXQgd2l0
aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVjaCByZWNvZ25pdGlvbiBlbmdpbmUuIEl0
IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50cyB0byBhY3RpdmF0ZSBzcGVl
Y2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZvciB0aGUgc3BlZWNoIHJlY29nbml0aW9u
IGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0cy4KLWNsYXNzIFNwZWVjaElucHV0IDog
cHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5lciB7CitjbGFzcyBT
cGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6CiAgICAgU3BlZWNoSW5wdXQoU3BlZWNo
SW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVlY2hJbnB1dCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Vz
ZXJTY3JpcHQuaAppbmRleCAwNjUyNDM5Li4wNTE0MDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTY3Jp
cHQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVz
ZXJTY3JpcHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclNjcmlwdCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclNjcmlwdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtV
UkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0
ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1VzZXJTdHlsZVNoZWV0LmgKaW5kZXggZmE0MmUyYy4uMDY4ZGYxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyU3R5bGVT
aGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFVzZXJTdHlsZVNo
ZWV0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAg
ICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxW
ZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvWFNTQXVkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKaW5kZXgg
MmI3ODFmMS4uNWJlZWQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9YU1NBdWRp
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAgLTY5LDcgKzY5
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICogSFRNTERvY3VtZW50UGFyc2VyOjpz
aG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4dGVybmFsIEph
dmFTY3JpcHQgc2NyaXB0cy4KICAgICAvLyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0
IC0gdXNlZCB0byBsb2FkIDxvYmplY3Q+LzxlbWJlZD4gZWxlbWVudHMuCiAgICAgLy8KLSAgICBj
bGFzcyBYU1NBdWRpdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBYU1NBdWRp
dG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRvcihGcmFtZSop
OwogICAgICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25CYXNlLmNwcAppbmRleCAxNGE0NGQyLi45YTkwNmUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcApAQCAtMjIzLDcg
KzIyMyw4IEBAIGNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2U7CiBzdGF0aWMgdm9pZCBhZGRTaG9y
dGhhbmRQcm9wZXJ0aWVzKCk7CiBzdGF0aWMgUHJvcGVydHlXcmFwcGVyQmFzZSogd3JhcHBlckZv
clByb3BlcnR5KGludCBwcm9wZXJ0eUlEKTsKIAotY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQcm9wZXJ0eVdyYXBwZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvcGVydHlXcmFwcGVyQmFzZShpbnQgcHJvcCkKICAg
ICAgICAgOiBtX3Byb3AocHJvcCkKQEAgLTQ0Niw3ICs0NDcsOCBAQCBwdWJsaWM6CiB9OwogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRl
ciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlLCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVibGljIEZpbGxM
YXllclByb3BlcnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZpbGxM
YXllclByb3BlcnR5V3JhcHBlckdldHRlcik7CiBwdWJsaWM6CiAgICAgRmlsbExheWVyUHJvcGVy
dHlXcmFwcGVyR2V0dGVyKFQgKEZpbGxMYXllcjo6KmdldHRlcikoKSBjb25zdCkKICAgICAgICAg
OiBtX2dldHRlcihnZXR0ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1h
dGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA2ODEyZTA5Li4xODZk
ZDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Fu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgTm9kZTsK
IGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi1jbGFzcyBBbmltYXRp
b25Db250cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRp
b25Db250cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSopOwogICAgIH5BbmltYXRpb25Db250
cm9sbGVyUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZl
bnRIYW5kbGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFj
Lm1tCmluZGV4IDJkNGQ4NmIuLjYwMTE4NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9F
dmVudEhhbmRsZXJNYWMubW0KQEAgLTc3LDcgKzc3LDggQEAgTlNFdmVudCAqRXZlbnRIYW5kbGVy
OjpjdXJyZW50TlNFdmVudCgpCiAgICAgcmV0dXJuIGN1cnJlbnROU0V2ZW50U2xvdCgpLmdldCgp
OwogfQogCi1jbGFzcyBDdXJyZW50RXZlbnRTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBDdXJyZW50RXZlbnRTY29wZSB7CisgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEN1cnJl
bnRFdmVudFNjb3BlKTsKIHB1YmxpYzoKICAgICBDdXJyZW50RXZlbnRTY29wZShOU0V2ZW50ICop
OwogICAgIH5DdXJyZW50RXZlbnRTY29wZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3lu
Y0ZpbGVTeXN0ZW0uaAppbmRleCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBBc3luY0Zp
bGVTeXN0ZW1DYWxsYmFja3M7CiBjbGFzcyBBc3luY0ZpbGVXcml0ZXJDbGllbnQ7CiAKIC8vIFRo
aXMgY2xhc3MgcHJvdmlkZXMgYXN5bmMgaW50ZXJmYWNlIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBm
aWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi4gIE5vdGUgdGhhdCBhbGwgdGhlIG1ldGhvZHMgdGFr
ZSBwbGF0Zm9ybSBwYXRocy4KLWNsYXNzIEFzeW5jRmlsZVN5c3RlbSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEFzeW5jRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+QXN5bmNGaWxlU3lzdGVt
KCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5
c3RlbUNhbGxiYWNrcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVt
Q2FsbGJhY2tzLmgKaW5kZXggMjkwYTY2OS4uY2VlOGQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQxLDggKzQxLDEx
IEBAIGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlcjsKIHN0cnVj
dCBGaWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBwdWJsaWM6Cisg
ICAgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8gQ2FsbGVkIHdo
ZW4gYSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCiAgICAg
dmlydHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
QXV0b2RyYWluZWRQb29sLmgKaW5kZXggZDQ0ZWUxZS4uZjAzZWM4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgTlNB
dXRvcmVsZWFzZVBvb2w7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQXV0b2RyYWlu
ZWRQb29sIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1dG9kcmFpbmVkUG9vbCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXV0b2RyYWluZWRQb29sKTsKIHB1YmxpYzoKICAgICBB
dXRvZHJhaW5lZFBvb2woaW50IGl0ZXJhdGlvbkxpbWl0ID0gMSk7CiAgICAgfkF1dG9kcmFpbmVk
UG9vbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXggNTc1Yzg2ZC4u
Mjk3Nzc0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCkBAIC00MSw4ICs0
MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJv
bGxlcjsKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDogcHVibGljIE5vbmNvcHlhYmxlCi0gICAg
eworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAg
ICAgIENvbnRleHRNZW51KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0NvbnRleHRNZW51SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJ
dGVtLmgKaW5kZXggMTQ1ZDc5NS4uNmU4NDEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmgKQEAgLTIyMyw3ICsyMjMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb247CiAjZW5kaWYK
IAotICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICBjbGFzcyBDb250ZXh0TWVudUl0ZW0geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51SXRlbShDb250ZXh0TWVudUl0ZW1U
eXBlLCBDb250ZXh0TWVudUFjdGlvbiwgY29uc3QgU3RyaW5nJiwgQ29udGV4dE1lbnUqIHN1Yk1l
bnUgPSAwKTsKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKENvbnRleHRNZW51SXRlbVR5cGUsIENv
bnRleHRNZW51QWN0aW9uLCBjb25zdCBTdHJpbmcmLCBib29sIGVuYWJsZWQsIGJvb2wgY2hlY2tl
ZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlz
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAppbmRleCA0
N2NkNTM4Li5jMDdkMTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXBy
ZWNhdGVkUHRyTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQ
dHJMaXN0LmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0ZW1wbGF0
ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAotdGVtcGxhdGUg
PGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ug
ewordGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBEZXByZWNhdGVkUHRyTGlzdCgpIDog
aW1wbChkZWxldGVGdW5jKSwgZGVsX2l0ZW0oZmFsc2UpIHsgfQogICAgIH5EZXByZWNhdGVkUHRy
TGlzdCgpIHsgaW1wbC5jbGVhcihkZWxfaXRlbSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMuLmM2MzM3NDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBs
LmNwcApAQCAtMjksMTIgKzI5LDEzIEBACiAjaW5jbHVkZSA8Y3N0ZGRlZj4KICNpbmNsdWRlIDxh
bGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZQoteworY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEZXByZWNhdGVkTGlzdE5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBEZXByZWNhdGVkTGlzdE5vZGUodm9pZCAqZCkgOiBkYXRhKGQpLCBuZXh0KDApLCBwcmV2
KDApIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3Au
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCmluZGV4IGIwNTA3ZjcuLjEy
OGU5MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCkBAIC0zMCw3ICszMCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEV2ZW50TG9vcCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZlbnRMb29wIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRXZlbnRMb29wKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEV2ZW50TG9vcCgpCiAg
ICAgICAgICAgICA6IG1fZW5kZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dl
b2xvY2F0aW9uU2VydmljZS5oCmluZGV4IDE1ODVmNjUuLjkyMTFmOGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC00Miw3ICs0Miw4IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJlZChH
ZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlvblNlcnZpY2Ug
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGljOgogICAgIHN0
YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZpY2VDbGllbnQq
KTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0hvc3RXaW5kb3cuaAppbmRleCA3ODgyZDQ4Li4yMjU4ODRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vSG9zdFdpbmRvdy5oCkBAIC0yNiwxNSArMjYsMTYgQEAKICNpZm5kZWYgSG9zdFdpbmRv
d19oCiAjZGVmaW5lIEhvc3RXaW5kb3dfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ3Vy
c29yOwogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhv
c3RXaW5kb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RXaW5kb3cpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBIb3N0V2luZG93KCkgeyB9CiAgICAgdmly
dHVhbCB+SG9zdFdpbmRvdygpIHsgfQogCiAgICAgLy8gUmVxdWVzdHMgdGhlIGhvc3QgaW52YWxp
ZGF0ZSB0aGUgd2luZG93LCBub3QgdGhlIGNvbnRlbnRzLiAgSWYgaW1tZWRpYXRlIGlzIHRydWUg
ZG8gc28gc3luY2hyb25vdXNseSwgb3RoZXJ3aXNlIGFzeW5jLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tp
bGxSaW5nLmgKaW5kZXggOGUyNzM1MC4uYjY4NzI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vS2lsbFJpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LaWxs
UmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEtp
bGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2b2lk
IGFwcGVuZChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHByZXBlbmQoY29uc3QgU3RyaW5nJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLjlkYTcxYzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0xlbmd0aC5oCkBAIC0zNSw3ICszNSw5IEBAIGNvbnN0IGludCBpbnRNaW5Gb3JM
ZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFsdWUgZm9yIGEgMjgtYml0IGludAog
CiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4ZWQsIFN0YXRp
YywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKIAotc3RydWN0IExlbmd0aCA6IEZhc3RBbGxv
Y0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDApCiAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IDc4YTQwYjMuLjUwYTljYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTgxLDcgKzgxLDggQEAgY2xhc3MgTm9kZTsK
IGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291cmNlOwogICAgIAotY2xhc3MgUGFzdGVi
b2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXN0ZWJvYXJkIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIC8vSGVscGVyIGZ1bmN0aW9ucyB0byBhbGxv
dyBDbGlwYm9hcmQgdG8gc2hhcmUgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
bGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0Li5hZWU5NWI0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaApAQCAtNzUsNyAr
NzUsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHVpbnQzMjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi0gICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsK
ICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3VjaCBhcyBNYWMg
T1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3RoIHBoeXNpY2Fs
IHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9QdXJnZWFibGVCdWZmZXIuaAppbmRleCA5YmRhMmQ1Li40NDEzNmMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVm
aW5lIFB1cmdlYWJsZUJ1ZmZlcl9oCiAKICNpbmNsdWRlICJQdXJnZVByaW9yaXR5LmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKLSAgICBj
bGFzcyBQdXJnZWFibGVCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFB1
cmdlYWJsZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFB1cmdlYWJsZUJ1
ZmZlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxQdXJnZWFibGVC
dWZmZXI+IGNyZWF0ZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QpOwogICAgICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhjNTI5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKQEAgLTMwLDE1ICszMCwxNiBAQAog
I2RlZmluZSBSdW5Mb29wVGltZXJfaAogCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWlyLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRpbWUgaW50ZXJ2YWxzIGFyZSBhbGwgaW4gc2Vjb25k
cy4KIAotY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBSdW5Mb29wVGltZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29wVGlt
ZXJCYXNlKTsKIHB1YmxpYzoKKyAgICBSdW5Mb29wVGltZXJCYXNlKCkgeyB9CiAgICAgdmlydHVh
bCB+UnVuTG9vcFRpbWVyQmFzZSgpOwogCiAgICAgdm9pZCBzY2hlZHVsZShjb25zdCBTY2hlZHVs
ZVBhaXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRo
ZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCmluZGV4IDRl
OWUyNGIuLmVmNTJiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUu
aApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50OwogY2xhc3MgU2Ny
b2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xhc3MgU2Nyb2xsYmFyVGhlbWUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CisgICAgU2Nyb2xsYmFyVGhlbWUoKSB7IH0KICAgICB2aXJ0dWFsIH5TY3JvbGxiYXJUaGVt
ZSgpIHt9OwogCiAgICAgdmlydHVhbCBib29sIHBhaW50KFNjcm9sbGJhciosIEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IEludFJlY3QmIC8qZGFtYWdlUmVjdCovKSB7IHJldHVybiBmYWxzZTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4uMTZlMGQwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCkBAIC0yNiw2ICsyNiw3IEBACiAj
aWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCisjaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewpAQCAtMzMsOCArMzQsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIC8vIEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBvZiBzaGFyZWQg
dGltZXIsIHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8gVGhpcyBpbnN0
YW5jZSBpcyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAgIC8vIE5vdCBp
bnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNzIGluc3RlYWQu
Ci0gICAgY2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFNoYXJlZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhcmVkVGltZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFNoYXJlZFRp
bWVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflNoYXJlZFRpbWVyKCkge30KICAgICAgICAgdmly
dHVhbCB2b2lkIHNldEZpcmVkRnVuY3Rpb24odm9pZCAoKikoKSkgPSAwOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKaW5kZXggOWY1N2YwMC4uNzYzNzdiNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaApAQCAtNDUsNyAr
NDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IFRFQ0NvbnZlcnRlcldyYXBw
ZXI7CiAgICAgY2xhc3MgVGhyZWFkVGltZXJzOwogCi0gICAgY2xhc3MgVGhyZWFkR2xvYmFsRGF0
YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkR2xvYmFsRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZEdsb2JhbERhdGEpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAgICAgICB+VGhyZWFkR2xvYmFsRGF0
YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBhYjQyNTk4Li4z
ZDdiNWY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKQEAgLTM3LDcg
KzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFzZTsKIAogICAg
IC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBUaHJlYWRHbG9i
YWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhy
ZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBUaHJlYWRUaW1lcnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXggYzQ0NDNkYS4u
YzMzMWUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xhc3MgVGltZXJC
YXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbWVyQmFzZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKaW5kZXggOWQ5YWMxZi4uOWUyN2M1ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaApAQCAtMzIsNyArMzIsOCBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBhZG9w
dGVkKFRyZWVTaGFyZWQ8VD4qKTsKICNlbmRpZgogCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFz
cyBUcmVlU2hhcmVkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIFRyZWVTaGFyZWQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyZWVTaGFyZWQp
OwogcHVibGljOgogICAgIFRyZWVTaGFyZWQoKQogICAgICAgICA6IG1fcmVmQ291bnQoMSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCmlu
ZGV4IDlhMzM0Y2EuLmJmOGZmOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7
CitjbGFzcyBBbmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBBbmltYXRpb25MaXN0KCkgeyB9CiAgICAgQW5pbWF0aW9uTGlzdChjb25zdCBB
bmltYXRpb25MaXN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb0J1cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaApp
bmRleCA0MzE4YjgxLi44ODhmNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1
ZGlvQnVzLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gQW4gQXVk
aW9CdXMgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2Ygb25lIG9yIG1vcmUgQXVkaW9DaGFubmVs
cy4KIC8vIFRoZSBkYXRhIGxheW91dCBpcyAicGxhbmFyIiBhcyBvcHBvc2VkIHRvICJpbnRlcmxl
YXZlZCIuCiAvLyBBbiBBdWRpb0J1cyB3aXRoIG9uZSBjaGFubmVsIGlzIG1vbm8sIGFuIEF1ZGlv
QnVzIHdpdGggdHdvIGNoYW5uZWxzIGlzIHN0ZXJlbywgZXRjLgotY2xhc3MgQXVkaW9CdXMgIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQnVzIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShBdWRpb0J1cyk7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIENoYW5uZWxM
ZWZ0ID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgK
aW5kZXggNjgxNjgzMC4uNzMyNWU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9DaGFubmVsLmgKQEAgLTMwLDE0ICszMCwxNCBAQAogI2RlZmluZSBBdWRpb0NoYW5u
ZWxfaAogCiAjaW5jbHVkZSAiQXVkaW9BcnJheS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogLy8gQW4gQXVkaW9DaGFubmVsIHJlcHJlc2VudHMgYSBidWZmZXIgb2Ygbm9uLWludGVybGVh
dmVkIGZsb2F0aW5nLXBvaW50IGF1ZGlvIHNhbXBsZXMuCiAvLyBUaGUgUENNIHNhbXBsZXMgYXJl
IG5vcm1hbGx5IGFzc3VtZWQgdG8gYmUgaW4gYSBub21pbmFsIHJhbmdlIC0xLjAgLT4gKzEuMAot
Y2xhc3MgQXVkaW9DaGFubmVsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQ2hh
bm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVkaW9DaGFubmVsKTsKIHB1YmxpYzoK
ICAgICAvLyBNZW1vcnkgY2FuIGJlIGV4dGVybmFsbHkgcmVmZXJlbmNlZCwgb3IgY2FuIGJlIGlu
dGVybmFsbHkgYWxsb2NhdGVkIHdpdGggYW4gQXVkaW9GbG9hdEFycmF5LgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCmluZGV4IGMzM2IzOGYuLmJmMTNh
M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFz
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCkBA
IC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFJURktlcm5lbDsK
IAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZE
YXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFJURkRhdGFiYXNlKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIUlRGRGF0YWJhc2U+IGNyZWF0ZShkb3VibGUgc2Ft
cGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRp
b24uaAppbmRleCBiMzg4YjM0Li4yNGI3ODIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogLy8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhSVEZLZXJuZWxz
IChvbmUgbGVmdCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5nbGUpIGZvciBh
IHBhcnRpY3VsYXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEhSVEZFbGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCByZXR1cm5zIGFu
IEhSVEZFbGV2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJqZWN0IG5hbWUg
YW5kIGVsZXZhdGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmspIHJlc291cmNl
cy4KICAgICAvLyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xlIEhSVEYgZGF0
YWJhc2Ugc2V0LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5IG9mIG11bHRp
cGxlIG9uZXMgd2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAppbmRleCAxZDY5OTIxLi5kNWFk
YTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9h
cmRDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBi
b2FyZENocm9taXVtLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGNsYXNzIEludFBvaW50OwogCiAgICAgY2xhc3MgQ2xpcGJvYXJkQ2hyb21pdW0gOiBwdWJsaWMg
Q2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIH5DbGlwYm9hcmRDaHJvbWl1
bSgpIHt9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFn
ZS5oCmluZGV4IDVhNTQ5NjMuLmU5Njc4YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3QgRnJhbWVEYXRh
IDogTm9uY29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAgICAgICA6IG1f
ZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCmluZGV4IGVmMGQzMWMuLmRhOThkZDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaApAQCAtNzgsNyArNzgsOCBAQCBpbmxp
bmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiA4KSAm
IDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiBj
b2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBjb2xvcikgeyBy
ZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCksIG1fdmFsaWQoZmFsc2UpIHsgfQog
ICAgIENvbG9yKFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wpLCBtX3ZhbGlkKHRydWUpIHsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKaW5kZXgg
MTQ5ZWE3OS4uY2ZjYTk4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Q2FjaGUuY3BwCkBAIC01Myw3ICs1Myw5IEBAIEZvbnRDYWNoZTo6Rm9udENhY2hlKCkK
IHsKIH0KIAotc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSA6IEZhc3RBbGxvY0Jhc2Ug
eworc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5KGNvbnN0IEF0
b21pY1N0cmluZyYgZmFtaWx5ID0gQXRvbWljU3RyaW5nKCksIHVuc2lnbmVkIHNpemUgPSAwLCB1
bnNpZ25lZCB3ZWlnaHQgPSAwLCBib29sIGl0YWxpYyA9IGZhbHNlLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBib29sIGlzUHJpbnRlckZvbnQgPSBmYWxzZSwgRm9udFJlbmRlcmluZ01v
ZGUgcmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRlcmluZ01vZGUsIEZvbnRPcmllbnRhdGlvbiBv
cmllbnRhdGlvbiA9IEhvcml6b250YWwpCiAgICAgICAgIDogbV9zaXplKHNpemUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGU2ODQ1ZDkuLjg2
ZjhjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5o
CkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIEZvbnRTZWxl
Y3RvcjsKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250Q2FjaGUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRm9udENhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGb250Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBmcmll
bmQgRm9udENhY2hlKiBmb250Q2FjaGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uM2QzNWQyYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZu
ZGVmIEZvbnREYXRhX2gKICNkZWZpbmUgRm9udERhdGFfaAogCisjaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTM0LDcgKzM1
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTaW1wbGVGb250RGF0YTsKIAotY2xh
c3MgRm9udERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udERhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgRm9udERhdGEoKQogICAgICAgICA6IG1fbWF4R2x5cGhQYWdlVHJlZUxl
dmVsKDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlw
aE1ldHJpY3NNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0
cmljc01hcC5oCmluZGV4IGZhODViY2MuLjNlMTNmYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCkBAIC00MCw3ICs0MCw4IEBA
IHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAKIGNvbnN0IGZsb2F0IGNHbHlwaFNpemVV
bmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIEdseXBoTWV0cmljc01hcCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBHbHlwaE1ldHJp
Y3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdseXBoTWV0cmljc01hcCk7CiBwdWJs
aWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxlZFByaW1hcnlQYWdlKGZhbHNlKSB7
IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggYTQ1OWIzNy4uMzU4MjRkYzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dC5oCkBAIC0yMDYsNyArMjA2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29s
IHNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zIDogMTsKICAgICB9OwogCi0gICAgY2xhc3MgR3JhcGhp
Y3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFwaGljc0NvbnRl
eHQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEdyYXBoaWNzQ29udGV4
dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopOwogICAgICAgICB+R3JhcGhpY3NDb250ZXh0KCk7
CkBAIC00MjQsNyArNDI1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNl
dFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvdWxkSW5j
bHVkZUNoaWxkV2luZG93cygpIGNvbnN0OwogCi0gICAgICAgIGNsYXNzIFdpbmRvd3NCaXRtYXAg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBXaW5kb3dzQml0bWFwIHsKKyAg
ICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd3NCaXRtYXApOwogICAgICAgICBw
dWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dzQml0bWFwKEhEQywgSW50U2l6ZSk7CiAgICAgICAg
ICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDVmZGY3MzguLjc4YzFlNzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTk0LDcg
Kzk0LDggQEAgY2xhc3MgVGltaW5nRnVuY3Rpb247CiAvLyBCYXNlIGNsYXNzIGZvciBhbmltYXRp
b24gdmFsdWVzIChhbHNvIHVzZWQgZm9yIHRyYW5zaXRpb25zKS4gSGVyZSB0bwogLy8gcmVwcmVz
ZW50IHZhbHVlcyBmb3IgcHJvcGVydGllcyBiZWluZyBhbmltYXRlZCB2aWEgdGhlIEdyYXBoaWNz
TGF5ZXIsCiAvLyB3aXRob3V0IHB1bGxpbmcgaW4gc3R5bGUtcmVsYXRlZCBkYXRhIGZyb20gb3V0
c2lkZSBvZiB0aGUgcGxhdGZvcm0gZGlyZWN0b3J5LgotY2xhc3MgQW5pbWF0aW9uVmFsdWUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uVmFsdWUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEFuaW1hdGlvblZhbHVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgQW5pbWF0aW9uVmFsdWUoZmxvYXQga2V5VGltZSwgUGFzc1JlZlB0cjxUaW1p
bmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24gPSAwKQogICAgICAgICA6IG1fa2V5VGltZShrZXlU
aW1lKQpAQCAtMTQ2LDcgKzE0Nyw4IEBAIHByaXZhdGU6CiAKIC8vIFVzZWQgdG8gc3RvcmUgYSBz
ZXJpZXMgb2YgdmFsdWVzIGluIGEga2V5ZnJhbWUgbGlzdC4gVmFsdWVzIHdpbGwgYWxsIGJlIG9m
IHRoZSBzYW1lIHR5cGUsCiAvLyB3aGljaCBjYW4gYmUgaW5mZXJyZWQgZnJvbSB0aGUgcHJvcGVy
dHkuCi1jbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBLZXlmcmFtZVZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoS2V5ZnJhbWVW
YWx1ZUxpc3QpOwogcHVibGljOgogCiAgICAgS2V5ZnJhbWVWYWx1ZUxpc3QoQW5pbWF0ZWRQcm9w
ZXJ0eUlEIHByb3BlcnR5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlQnVmZmVyLmgKaW5kZXggYzQ2Y2M5MC4uYTZjYzBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC02Myw3ICs2Myw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgQWNjZWxlcmF0ZWQKICAgICB9OwogCi0gICAgY2xhc3Mg
SW1hZ2VCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEltYWdlQnVmZmVy
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0dXJuIGEgbnVs
bCBwb2ludGVyIG9uIGFsbG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGljIFBhc3NPd25Q
dHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xvclNwYWNlIGNv
bG9yU3BhY2UgPSBDb2xvclNwYWNlRGV2aWNlUkdCLCBSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01v
ZGUgPSBVbmFjY2VsZXJhdGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlU291cmNlLmgKaW5kZXggNzAxOGE1Yy4uM2YxNmQwNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCkBAIC0xMTcsNyArMTE3LDggQEAg
Y29uc3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IDA7CiBjb25zdCBpbnQgY0FuaW1hdGlvbkxv
b3BJbmZpbml0ZSA9IC0xOwogY29uc3QgaW50IGNBbmltYXRpb25Ob25lID0gLTI7CiAKLWNsYXNz
IEltYWdlU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlU291cmNlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVNvdXJjZSk7CiBwdWJsaWM6CiAgICAgZW51
bSBBbHBoYU9wdGlvbiB7CiAgICAgICAgIEFscGhhUHJlbXVsdGlwbGllZCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBhYmY1MTA1
Li5iYTE5ZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9N
ZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVk
aWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyArMTQ3LDkgQEAgc3RhdGljIE1lZGlhUGxheWVyUHJpdmF0
ZUludGVyZmFjZSogY3JlYXRlTnVsbE1lZGlhUGxheWVyKE1lZGlhUGxheWVyKiBwbGF5ZXIpCiAK
IC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0cnVjdCBNZWRpYVBsYXllckZhY3RvcnkgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShNZWRpYVBsYXllckZhY3RvcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1Ymxp
YzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3JlYXRlTWVkaWFFbmdpbmVQbGF5ZXIgY29uc3Ry
dWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlwZXMgZ2V0U3VwcG9ydGVkVHlwZXMsIE1lZGlh
RW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZUFuZENvZGVjcykgCiAgICAgICAgIDogY29u
c3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAgICwgZ2V0U3VwcG9ydGVkVHlwZXMoZ2V0U3Vw
cG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXIuaAppbmRleCBjN2Q3ZWYzLi4xY2JiZTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTE0OSw3ICsxNDksOCBAQCBwdWJsaWM6
CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXll
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogCiAgICAgc3RhdGljIFBhc3NP
d25QdHI8TWVkaWFQbGF5ZXI+IGNyZWF0ZShNZWRpYVBsYXllckNsaWVudCogY2xpZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZh
dGUuaAppbmRleCBkOTU2Mjg2Li42YWJlMjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMzYsOCArMzYsMTAg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW50UmVjdDsKIGNsYXNzIEludFNpemU7CiAK
LWNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogICAg
IHZpcnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAgICAgdmlydHVh
bCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1BhdGguaAppbmRleCA0MjNhNzkyLi44NTJkODhlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCkBAIC0xMDAsNyArMTAwLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgdHlwZWRlZiB2b2lkICgqUGF0aEFwcGxpZXJGdW5jdGlvbikodm9pZCog
aW5mbywgY29uc3QgUGF0aEVsZW1lbnQqKTsKIAotICAgIGNsYXNzIFBhdGggOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGF0aCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGF0aCgpOwogICAgICAgICB+UGF0aCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5n
U3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0
b3JlLmgKaW5kZXggNTg0NzdkYi4uMDZjN2ZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3ICszNiw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFRpbGVk
QmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBUaWxlZEJhY2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNsaWVudCopOwog
ICAgIH5UaWxlZEJhY2tpbmdTdG9yZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IGRhYzMxZjguLjUwZWEwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0
YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiBwdWJsaWM6CiAgICAg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YShGVF9GYWNlLCBTaGFyZWRCdWZmZXIqKTsKICAgICB+Rm9u
dEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5kZXggNmZjMWEwZS4uODlhNzli
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
R0xFUzJDYW52YXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9HTEVTMkNhbnZhcy5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZsb2F0UmVjdDsKIGNs
YXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250ZXh0M0Q7CiAK
LWNsYXNzIEdMRVMyQ2FudmFzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdMRVMyQ2Fu
dmFzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBwdWJsaWM6CiAg
ICAgR0xFUzJDYW52YXMoU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5nQnVmZmVyKiwg
Y29uc3QgSW50U2l6ZSYpOwogICAgIH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUuaAppbmRl
eCA3MTFlNjg3Li5iNjBkZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUuaApAQCAtMjgsNiArMjgsNyBAQAog
I2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFuYWdlci5oIgogCisjaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAg
LTM3LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0
M0Q7CiBjbGFzcyBUZXh0dXJlTWFuYWdlcjsKIAotY2xhc3MgTGF5ZXJUZXh0dXJlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheWVyVGV4dHVyZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTGF5ZXJUZXh0dXJlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8TGF5ZXJUZXh0dXJlPiBjcmVhdGUoR3JhcGhpY3NDb250ZXh0
M0QqIGNvbnRleHQsIFRleHR1cmVNYW5hZ2VyKiBtYW5hZ2VyKQogICAgIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGlsZXJDaHJv
bWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJU
aWxlckNocm9taXVtLmgKaW5kZXggMDVmNTI0Mi4uZTA5NjkzZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUaWxlckNocm9taXVtLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUaWxl
ckNocm9taXVtLmgKQEAgLTQzLDcgKzQzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBw
YWludChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0
KSA9IDA7CiB9OwogCi1jbGFzcyBMYXllclRpbGVyQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTGF5ZXJUaWxlckNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMYXllclRpbGVyQ2hyb21pdW0pOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPExh
eWVyVGlsZXJDaHJvbWl1bT4gY3JlYXRlKExheWVyUmVuZGVyZXJDaHJvbWl1bSogbGF5ZXJSZW5k
ZXJlciwgY29uc3QgSW50U2l6ZSYgdGlsZVNpemUpOwogCkBAIC02Miw3ICs2Myw4IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgTGF5ZXJUaWxlckNocm9taXVtKExheWVyUmVuZGVyZXJDaHJvbWl1
bSogbGF5ZXJSZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgdGlsZVNpemUpOwogCi0gICAgY2xhc3Mg
VGlsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGlsZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRpbGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgZXhwbGljaXQg
VGlsZShQYXNzT3duUHRyPExheWVyVGV4dHVyZT4gdGV4KSA6IG1fdGV4KHRleCkge30KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVy
U3VyZmFjZUNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAppbmRleCBhOTMyMThmLi42ODlhNmViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9SZW5kZXJT
dXJmYWNlQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBM
YXllckNocm9taXVtOwogY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogY2xhc3MgTGF5ZXJU
ZXh0dXJlOwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBMYXllclJlbmRl
cmVyQ2hyb21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFjZUNocm9taXVt
KExheWVyQ2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oCmluZGV4IDQ4OTFjYzcuLjgzMTA0
YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1RleHR1cmVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIklu
dFJlY3QuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9j
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0xpc3RIYXNo
U2V0Lmg+CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB0eXBlZGVm
IGludCBUZXh0dXJlVG9rZW47CiAKLWNsYXNzIFRleHR1cmVNYW5hZ2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFRleHR1cmVNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShUZXh0dXJlTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VGV4dHVy
ZU1hbmFnZXI+IGNyZWF0ZShHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgc2l6ZV90IG1lbW9y
eUxpbWl0Qnl0ZXMsIGludCBtYXhUZXh0dXJlU2l6ZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdp
bi5oCmluZGV4IGI2YmVmOTEuLjUzNWNiYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCkBAIC01
NCw3ICs1NCw4IEBAIGNsYXNzIFRyYW5zcGFyZW5jeVdpbl9PcGFxdWVDb21wb3NpdGVMYXllcl9U
ZXN0OwogLy8gdGhhdCBpcyBjb21wb3NpdGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlzIGlzIHRvIGdl
dCBhcm91bmQgV2luZG93cycgaW5hYmlsaXR5CiAvLyB0byBoYW5kbGUgdGhlIGFscGhhIGNoYW5u
ZWwsIHNlbWl0cmFuc3BhcmVudCB0ZXh0LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQogLy8gY29udHJv
bHMuCi1jbGFzcyBUcmFuc3BhcmVuY3lXaW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VHJhbnNwYXJlbmN5V2luIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVuY3lX
aW4pOwogcHVibGljOgogICAgIGVudW0gTGF5ZXJNb2RlIHsKICAgICAgICAgLy8gTm8gZXh0cmEg
bGF5ZXIgaXMgY3JlYXRlZC4gRHJhd2luZyB3aWxsIGhhcHBlbiB0byB0aGUgc291cmNlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZm
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVy
LmgKaW5kZXggZTBlMGVlMS4uODc3Y2FhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC04MCw4ICs4MCwxMCBAQCBw
dWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIGNsYXNzIFdpbGxQ
dWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdpbGxQdWJs
aXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaWxsUHVibGlzaENh
bGxiYWNrKTsKICAgICBwdWJsaWM6CisgICAgICAgIFdpbGxQdWJsaXNoQ2FsbGJhY2soKSB7IH0K
ICAgICAgICAgdmlydHVhbCB+V2lsbFB1Ymxpc2hDYWxsYmFjaygpIHsgfQogICAgICAgICAKICAg
ICAgICAgdmlydHVhbCB2b2lkIHdpbGxQdWJsaXNoKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgK
aW5kZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCkBAIC0zMCwxNCAr
MzAsMTQgQEAKICNpZm5kZWYgTG9vcEJsaW5uQ2xhc3NpZmllcl9oCiAjZGVmaW5lIExvb3BCbGlu
bkNsYXNzaWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRmxvYXRQb2ludDsKIAogLy8gQ2xhc3NpZmllcyBjdWJpYyBj
dXJ2ZXMgaW50byBzcGVjaWZpYyB0eXBlcy4KLWNsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTG9vcEJsaW5uQ2xhc3NpZmllcik7CiBwdWJsaWM6CiAgICAgLy8g
VGhlIHR5cGVzIG9mIGN1YmljIGN1cnZlcy4KICAgICBlbnVtIEN1cnZlVHlwZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxU
cmlhbmd1bGF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29w
Qmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCmluZGV4IGVhM2Q3ZTMuLmQwMWU2YzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRy
aWFuZ3VsYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9M
b29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAKICNpbmNsdWRl
ICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMuaCIKICNpbmNs
dWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRyaWFuZ3VsYXRp
b24gb2YgdGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZvdXIgY29u
dHJvbCBwb2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50LgotY2xhc3Mg
TG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExv
b3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUgdmVydGljZXMg
dGhhdCB0aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcgYm90aAogICAg
IC8vIHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJpYyB0ZXh0dXJl
CiAgICAgLy8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShW
ZXJ0ZXgpOwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAppbmRleCBmNjhi
YWVmLi42ZWRjMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvUE9EQXJlbmEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvUE9EQXJlbmEuaApAQCAtMTU4LDcgKzE1OCw4IEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAg
Ly8gTWFuYWdlcyBhIGNodW5rIG9mIG1lbW9yeSBhbmQgaW5kaXZpZHVhbCBhbGxvY2F0aW9ucyBv
dXQgb2YgaXQuCi0gICAgY2xhc3MgQ2h1bmsgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIENodW5rIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2h1bmspOwogICAgIHB1
YmxpYzoKICAgICAgICAgLy8gQWxsb2NhdGVzIGEgYmxvY2sgb2YgbWVtb3J5IG9mIHRoZSBnaXZl
biBzaXplIGZyb20gdGhlIHBhc3NlZAogICAgICAgICAvLyBBbGxvY2F0b3IuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmgK
aW5kZXggMzIwY2U2MC4uNWJmM2RlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtNDQsOCArNDQsOCBAQCBz
dHJ1Y3QgVmFsdWVUb1N0cmluZzsKIC8vIHN1cHBvcnRzIGVmZmljaWVudCAoTyhsZyBuKSkgaW5z
ZXJ0aW9uLCByZW1vdmFsIGFuZCBxdWVyeWluZyBvZgogLy8gaW50ZXJ2YWxzIGluIHRoZSB0cmVl
LgogdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgVXNlckRhdGEgPSB2b2lkKj4KLWNsYXNzIFBPRElu
dGVydmFsVHJlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworY2xh
c3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIFBPRFJlZEJsYWNrVHJlZTxQT0RJbnRlcnZhbDxU
LCBVc2VyRGF0YT4gPiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUE9ESW50ZXJ2YWxUcmVl
KTsKIHB1YmxpYzoKICAgICAvLyBUeXBlZGVmIHRvIHJlZHVjZSB0eXBpbmcgd2hlbiBkZWNsYXJp
bmcgaW50ZXJ2YWxzIHRvIGJlIHN0b3JlZCBpbgogICAgIC8vIHRoaXMgdHJlZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUu
aAppbmRleCA2ZDU5NTRjLi5iZDA4OTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC0xOTgsNyArMTk4LDgg
QEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBiYXNlIE5vZGUgY2xhc3Mgd2hpY2ggaXMgc3RvcmVk
IGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25seQogICAgIC8vIGFuIGludGVybmFsIGNvbmNlcHQ7
IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25seSB3aXRoIHRoZSBkYXRhCiAgICAgLy8gdGhleSBz
dG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZSk7CiAgICAgcHVi
bGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3bHktY3JlYXRlZCBub2RlcyBhcmUgY29s
b3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0IE5vZGUoY29uc3QgVCYgZGF0YSkKQEAgLTY1OSw3
ICs2NjAsOCBAQCBwcml2YXRlOgogICAgIC8vIEhlbHBlciBjbGFzcyBmb3Igc2l6ZSgpCiAKICAg
ICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIHZpc2l0ZWQg
ZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yLCBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50ZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgQ291
bnRlcigpCiAgICAgICAgICAgICA6IG1fY291bnQoMCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmgKaW5kZXggZTViZDhkZS4uNGY2MmNhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaApAQCAtNDAs
NyArNDAsOCBAQCBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBHcmFwaGljc0NvbnRleHQz
RDsKIGNsYXNzIENvbG9yOwogCi1jbGFzcyBTaGFkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU2hhZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTaGFkZXIpOwogcHJvdGVj
dGVkOgogICAgIFNoYWRlcihHcmFwaGljc0NvbnRleHQzRCosIHVuc2lnbmVkIHByb2dyYW0pOwog
ICAgIH5TaGFkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9UaWxpbmdEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmQxMTQwYmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaApAQCAtMzgsNyArMzgs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBJbnRSZWN0
OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGlu
Z0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGluZ0RhdGEpOwogcHVibGljOgog
ICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQgdG90YWxTaXplWCwgaW50IHRv
dGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBpbnQgbWF4VGV4dHVyZVNpemUo
KSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVh
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJL
aXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4IGUxMGU2MWYuLjM2YjQ5ZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJT
b3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCkBAIC0zNiw3ICszNiw4IEBA
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1jbGFzcyBTdHJlYW1pbmdDbGllbnQgOiBw
dWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBT
dHJlYW1pbmdDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFN0cmVhbWluZ0NsaWVudCk7CiAgICAgcHVibGljOgogICAgICAgICBT
dHJlYW1pbmdDbGllbnQoV2ViS2l0V2ViU3JjKik7CiAgICAgICAgIHZpcnR1YWwgflN0cmVhbWlu
Z0NsaWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
aGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGNjMzQ4ZTMuLjg2
Zjk5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBA
QAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdN
b2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0
YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEp
OwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAg
ICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgK
aW5kZXggYzExODU4Yy4uNzA0M2Q3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0z
Niw3ICszNiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7
CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDog
Tm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZv
bnRDdXN0b21QbGF0Zm9ybURhdGEoQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXIsIENHRm9u
dFJlZiBjZ0ZvbnQpCiAgICAgICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVyKQogICAgICAg
ICAsIG1fY2dGb250KGNnRm9udCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCmluZGV4IDMyZjFmZTUuLjNmMTQ5NGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWlu
dGVyT3BlblZHLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZn
L1BhaW50ZXJPcGVuVkcuaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBUaWxlZEltYWdlT3BlblZH
OwogCiBzdHJ1Y3QgUGxhdGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50ZXJPcGVuVkcg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJpZW5kIGNsYXNz
IFN1cmZhY2VPcGVuVkc7CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJm
YWNlT3BlblZHLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3Vy
ZmFjZU9wZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLjE5ZDk1ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaApAQCAt
NDIsNyArNDIsOCBAQCBjbGFzcyBJbnRTaXplOwogICogb2YgI2lmZGVmcyBhbmQgc2hvdWxkIG1h
a2UgaXQgZWFzeSB0byBhZGQgZGlmZmVyZW50IHN1cmZhY2UvY29udGV4dAogICogaW1wbGVtZW50
YXRpb25zIHRoYW4gRUdMLgogICovCi1jbGFzcyBTdXJmYWNlT3BlblZHIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFN1cmZhY2VPcGVuVkcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN1cmZhY2VPcGVuVkcpOwogcHVibGljOgogICAgIGVudW0gTWFrZUN1cnJlbnRNb2RlIHsKICAg
ICAgICAgQXBwbHlQYWludGVyU3RhdGVPblN1cmZhY2VTd2l0Y2gsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKaW5kZXggNmM0MWQ0Ny4uNTRmYTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApA
QCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVk
ZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
QEAgLTMyLDcgKzMzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9
CiAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKIAogICAgIC8vIGZvciB1c2Ugd2l0aCBR
Rm9udERhdGFiYXNlOjphZGRBcHBsaWNhdGlvbkZvbnQvcmVtb3ZlQXBwbGljYXRpb25Gb250CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZv
cm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZv
cm1EYXRhLmgKaW5kZXggMWM1N2UyOS4uZjI2ODM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAtMzIsNyAr
MzIsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEZvbnRQbGF0Zm9ybURhdGFQ
cml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGFQcml2
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250UGxhdGZvcm1EYXRhUHJpdmF0ZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFQ
cml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMsMTAgQEAgcHVibGlj
OgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgorICAgIEZvbnRQbGF0Zm9ybURhdGEoKSB7IH0KICAgICBGb250UGxhdGZvcm1EYXRh
KGZsb2F0IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBvYmxpcXVlKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEgJik7CiAgICAgRm9udFBsYXRmb3JtRGF0YShjb25z
dCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseU5hbWUsIGludCB3
b3JkU3BhY2luZyA9IDAsIGludCBsZXR0ZXJTcGFjaW5nID0gMCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAK
aW5kZXggYzIxYjRlZS4uMDU5MjgyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcApAQCAtMTc0LDcgKzE3
NCw4IEBAIHN0YXRpYyBpbmxpbmUgUXQ6OkZpbGxSdWxlIHRvUXRGaWxsUnVsZShXaW5kUnVsZSBy
dWxlKQogICAgIHJldHVybiBRdDo6T2RkRXZlbkZpbGw7CiB9CiAKLWNsYXNzIEdyYXBoaWNzQ29u
dGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBo
aWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRlciosIGNvbnN0
IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRleHRQbGF0Zm9y
bVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L1RyYW5zcGFyZW5jeUxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCmluZGV4IDViMmY4YjIuLmU0ODI4ZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5
TGF5ZXIuaApAQCAtNDIsNyArNDIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVj
dCBUcmFuc3BhcmVuY3lMYXllciA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFRyYW5zcGFyZW5j
eUxheWVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBUcmFu
c3BhcmVuY3lMYXllcihjb25zdCBRUGFpbnRlciogcCwgY29uc3QgUVJlY3QgJnJlY3QsIHFyZWFs
IG9wYWNpdHksIFFQaXhtYXAmIGFscGhhTWFzaykKICAgICAgICAgOiBwaXhtYXAocmVjdC53aWR0
aCgpLCByZWN0LmhlaWdodCgpKQogICAgICAgICAsIG9wYWNpdHkob3BhY2l0eSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZTUxYjZiNi4uNDIyOGI0MDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCkBAIC00OSw3ICs0OSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEpOworcHVibGljOgogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IG1f
Zm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlLmgKaW5kZXggNWUxMmFkNi4uNDQ4MzVhNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBo
aWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYg
R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKICNkZWZpbmUgR3JhcGhpY3NDb250ZXh0
UGxhdGZvcm1Qcml2YXRlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBjbGFz
cyBQbGF0Zm9ybUNvbnRleHRTa2lhOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRoaXMg
Y2xhc3MganVzdCBob2xkcyBvbnRvIGEgUGxhdGZvcm1Db250ZXh0U2tpYSBmb3IgR3JhcGhpY3ND
b250ZXh0LgotY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTsKIHB1
YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoUGxhdGZvcm1Db250ZXh0
U2tpYSogcGxhdGZvcm1Db250ZXh0KQogICAgICAgICA6IG1fY29udGV4dChwbGF0Zm9ybUNvbnRl
eHQpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9QbGF0Zm9ybUNvbnRleHRTa2lhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMWIzMTFhLi4wMzA0NDg2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29u
dGV4dFNraWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1Bs
YXRmb3JtQ29udGV4dFNraWEuaApAQCAtNjcsNyArNjcsOCBAQCBjbGFzcyBUZXh0dXJlOwogLy8g
cmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGljaCBpcyBzdG9y
ZSBpbiBzZXBhcmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRo
ZSBhZGFwdG9yIHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8gYmUgcHVzaGVk
IGFuZCBwb3BwZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZvcm1Db250ZXh0
U2tpYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsKIHB1YmxpYzoK
ICAgICAvLyBGb3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2FudmFzLiBjYW52
YXMgY2FuIGJlIE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2FudmFzLCB5b3Ug
Y2FuIGFsc28gY2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaApp
bmRleCAyYWRiYjM5Li41MGQwNjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKQEAgLTU1
LDcgKzU1LDggQEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgVHJhbnNm
b3JtYXRpb25NYXRyaXg7CiAKLWNsYXNzIEFmZmluZVRyYW5zZm9ybSA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIEFmZmluZVRyYW5zZm9ybSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBkb3VibGUgVHJhbnNmb3JtWzZdOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5z
Zm9ybU9wZXJhdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMwZGEzNzcuLjk4MWUxZjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNm
b3JtT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMoYm9vbCBtYWtl
SWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4
LmgKaW5kZXggNjg0YjE0Yy4uYzg4MzY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25N
YXRyaXguaApAQCAtNjQsNyArNjQsOCBAQCBjbGFzcyBGbG9hdFBvaW50M0Q7CiBjbGFzcyBGbG9h
dFJlY3Q7CiBjbGFzcyBGbG9hdFF1YWQ7CiAKLWNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRyaXggeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIE1h
dHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDFiZGYyNzAuLmRl
MzNjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMzQsNyArMzQsOSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVm
ZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhKEhBTkRMRSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgIDog
bV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCiAgICAgICAgICwgbV9uYW1lKG5hbWUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YUNhaXJvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4uOWM2NzAzNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGFDYWlyby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaApAQCAtMzMsNyArMzMsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVk
QnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsK
K3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhKGNhaXJvX2ZvbnRfZmFjZV90KiBmb250RmFjZSkKICAgICAgICAgOiBtX2ZvbnRGYWNl
KGZvbnRGYWNlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYxNDAuLjU5NTFl
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2Nh
bFdpbmRvd3NDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0xvY2FsV2luZG93c0NvbnRleHQuaApAQCAtMzEsNyArMzEsOCBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIExvY2FsV2luZG93c0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTG9jYWxXaW5kb3dzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxXaW5kb3dzQ29udGV4
dChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCwg
Ym9vbCBzdXBwb3J0QWxwaGFCbGVuZCA9IHRydWUsIGJvb2wgbWF5Q3JlYXRlQml0bWFwID0gdHJ1
ZSkKICAgICAgICAgOiBtX2dyYXBoaWNzQ29udGV4dChncmFwaGljc0NvbnRleHQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKaW5kZXggZWZh
ZjIxOC4uZGZhMWQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1FUTW92aWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9RVE1vdmllLmNwcApAQCAtNjMsNyArNjMsOCBAQCB1bmlvbiBVcHBQYXJhbSB7CiBzdGF0
aWMgVmVjdG9yPENGU3RyaW5nUmVmPiogZ1N1cHBvcnRlZFR5cGVzID0gMDsKIHN0YXRpYyBTSW50
MzIgcXVpY2tUaW1lVmVyc2lvbiA9IDA7CiAKLWNsYXNzIFFUTW92aWVQcml2YXRlIDogcHVibGlj
IE5vbmNvcHlhYmxlLCBwdWJsaWMgUVRNb3ZpZVRhc2tDbGllbnQgeworY2xhc3MgUVRNb3ZpZVBy
aXZhdGUgOiBwdWJsaWMgUVRNb3ZpZVRhc2tDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFFUTW92aWVQcml2YXRlKTsKIHB1YmxpYzoKICAgICBRVE1vdmllUHJpdmF0ZSgpOwogICAg
IH5RVE1vdmllUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1FUVHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKQEAgLTMxLDcgKzMx
LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAotY2xhc3MgUVRUcmFja1ByaXZhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUVRUcmFja1ByaXZhdGUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFFUVHJhY2tQcml2YXRlKTsKIHB1YmxpYzoKICAgICBRVFRyYWNrUHJpdmF0
ZSgpOwogICAgIH5RVFRyYWNrUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaAppbmRleCAx
N2VjNDFkLi43OGU4NDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMzYsNyArMzYsOCBA
QCBzdHJ1Y3QgV0tDQUNGQ29udGV4dDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBX
S0NBQ0ZDb250ZXh0Rmx1c2hlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZD
b250ZXh0Rmx1c2hlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tDQUNGQ29udGV4dEZs
dXNoZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciYgc2hhcmVk
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9X
S0NBQ0ZMYXllclJlbmRlcmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDAyY2RiZGIuLmNjOWRmY2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRl
cmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxh
eWVyUmVuZGVyZXIuaApAQCAtNjAsNyArNjAsOCBAQCBwdWJsaWM6CiAvLyBGSVhNRTogQ3VycmVu
dGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBXZWJWaWV3IGFuZCBl
YWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRleHQgYW5kIERpcmVjdDNERGV2aWNl
OSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKICAgICBmcmllbmQgUGxhdGZvcm1DQUxh
eWVyOwogCiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggYWJkYzBm
Mi4uMDUwODI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMzcsNyArMzcs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVy
Rm9udChjb25zdCBTdHJpbmcmIGZvbnROYW1lKSA9IDA7CiAgICAgfTsKIAotICAgIHN0cnVjdCBG
b250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgICAgIDogbV9uYW1lKG5hbWUpCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAppbmRleCAxYjhhNzA0Li45YjY3MmQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFw
aGljc0NvbnRleHRXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00MzgsNyArNDM4LDggQEAgc3Rh
dGljIHZvaWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29uc3QgU2hhcmVk
Qml0bWFwKiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNpZ25lZCwgZmFs
c2U+KGRlc3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3MgVHJhbnNwYXJl
bnRMYXllckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXllckRDIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVibGljOgogICAg
IFRyYW5zcGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEs
IEludFJlY3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJhbnNmb3JtID0g
MCwgaW50IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAgICAgflRyYW5z
cGFyZW50TGF5ZXJEQygpOwpAQCAtNTU4LDcgKzU1OSw4IEBAIHZvaWQgVHJhbnNwYXJlbnRMYXll
ckRDOjpmaWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3BlRENQcm92aWRl
ciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTY29w
ZURDUHJvdmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRhKQogICAgICAg
ICA6IG1fZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGNjMzQ4ZTMuLjg2
Zjk5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwxNCBAQAogI2lu
Y2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKICAg
ICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogICAg
IHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQogICAgICAgICB+
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0Ns
aXBib2FyZEd0ay5oCmluZGV4IGUxNGE1ODMuLjBjMDdjMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRy
YWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICAvLyBDcmVhdGVkIGZyb20gdGhlIEV2ZW50
SGFuZGxlckd0ayB0byBiZSB1c2VkIGJ5IHRoZSBkb20KICAgICBjbGFzcyBDbGlwYm9hcmRHdGsg
OiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPENsaXBib2FyZEd0az4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xp
Y3ksIEd0a0NsaXBib2FyZCogY2xpcGJvYXJkLCBGcmFtZSogZnJhbWUpCiAgICAgICAgIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVj
b2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNv
ZGVyLmgKaW5kZXggMzlkZWVlMi4uMjRiY2RjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTIyMSw3ICsyMjEs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0TWF4TnVtUGl4ZWxzKCkgdG8gc3Bl
Y2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVjb2RlZCBpbWFnZXMgY2FuCiAgICAgLy8gaGF2
ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRlIHRob3NlIGltYWdlcyB0aGF0IGFyZSBiaWdn
ZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90IHN1cHBvcnRlZCBieSBhbGwgaW1h
Z2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIEltYWdlRGVjb2RlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBJbWFnZURlY29kZXIoSW1hZ2VTb3VyY2U6OkFscGhhT3B0aW9uIGFscGhhT3B0
aW9uLCBJbWFnZVNvdXJjZTo6R2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24gZ2FtbWFBbmRDb2xv
clByb2ZpbGVPcHRpb24pCiAgICAgICAgICAgICA6IG1fc2NhbGVkKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCmluZGV4IDcxODdlY2YuLjM5ZWFkZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgKQEAgLTQ0LDYg
KzQ0LDcgQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBGaWxlTGlzdDsKIAogY2xhc3MgQ2xpcGJvYXJk
TWFjIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxDbGlwYm9hcmRNYWM+IGNyZWF0ZShDbGlwYm9hcmRUeXBlIGNsaXBib2FyZFR5cGUsIE5TUGFz
dGVib2FyZCAqcGFzdGVib2FyZCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJhbWUq
IGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9M
b2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaAppbmRleCA5MGJlYjQwLi44ZmRlMmNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhp
Y3NDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVu
dEdyYXBoaWNzQ29udGV4dC5oCkBAIC0zMSw3ICszMSw4IEBAIGNsYXNzIEdyYXBoaWNzQ29udGV4
dDsKICAgICAKIC8vIFRoaXMgY2xhc3MgYXV0b21hdGljYWxseSBzYXZlcyBhbmQgcmVzdG9yZXMg
dGhlIGN1cnJlbnQgTlNHcmFwaGljc0NvbnRleHQgZm9yCiAvLyBmdW5jdGlvbnMgd2hpY2ggY2Fs
bCBvdXQgaW50byBBcHBLaXQgYW5kIHJlbHkgb24gdGhlIGN1cnJlbnRDb250ZXh0IGJlaW5nIHNl
dAotY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KTsKIHB1YmxpYzoKICAgICBMb2Nh
bEN1cnJlbnRHcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQp
OwogICAgIH5Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAppbmRleCAxZmY2MzQ0Li5jMWY1NTIyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUsNiArMTQ1LDcg
QEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRhdGFJdGVtTGlz
dDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEJsb2JEYXRhPiBjcmVhdGUoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKaW5kZXgg
ODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0Zvcm1EYXRhQnVpbGRlci5oCkBAIC0yMywxNCArMjMsMTQgQEAKIAogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsK
IGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9ybURhdGFCdWlsZGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEZvcm1EYXRhQnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRm9ybURhdGFCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgVGV4dEVuY29kaW5n
IGVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQoY29uc3QgU3RyaW5nJiBhY2NlcHRDaGFyc2V0LCBE
b2N1bWVudCogZG9jdW1lbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKaW5kZXggZDFmMmRiNC4uMjZmOGQ4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVO
b3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0
YXRlTm90aWZpZXIuaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBOZXR3b3JrU3RhdGVOb3Rp
Zmllcl9oCiAjZGVmaW5lIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKIAorI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBQTEFU
Rk9STShNQUMpCkBAIC02MSw3ICs2Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE5l
dHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3b3JrU3RhdGVO
b3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmll
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90aWZpZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBOZXR3b3JrU3RhdGVOb3RpZmllcigp
OwogICAgIHZvaWQgc2V0TmV0d29ya1N0YXRlQ2hhbmdlZEZ1bmN0aW9uKHZvaWQgKCopKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZUludGVybmFsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlSW50ZXJuYWwuaAppbmRleCBkODMzZTMyLi5lZDY2OTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaApA
QCAtODAsNyArODAsOCBAQCBjbGFzcyBOU1VSTENvbm5lY3Rpb247CiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVDbGllbnQ7CiAKLSAgICBjbGFzcyBSZXNvdXJj
ZUhhbmRsZUludGVybmFsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZXNvdXJj
ZUhhbmRsZUludGVybmFsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjLCBib29s
IGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmKQogICAgICAgICAgICAgOiBt
X2NsaWVudChjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuaAppbmRleCA1Y2I3ZWUzLi5kY2UzM2RiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApA
QCAtNDksNyArNDksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IENyb3NzVGhy
ZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YTsKIAogICAgIC8vIERvIG5vdCB1c2UgdGhpcyB0eXBlIGRp
cmVjdGx5LiAgVXNlIFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkLgotICAgIGNsYXNzIFJlc291cmNl
UmVxdWVzdEJhc2UgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUmVzb3VyY2VS
ZXF1ZXN0QmFzZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgLy8gVGhlIHR5cGUgb2YgdGhpcyBSZXNvdXJjZVJlcXVlc3QsIGJhc2VkIG9u
IGhvdyB0aGUgcmVzb3VyY2Ugd2lsbCBiZSB1c2VkLgogICAgICAgICBlbnVtIFRhcmdldFR5cGUg
ewpAQCAtMjA3LDcgKzIwOCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW5saW5lIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y29tcGFyZShhLCBiKTsgfQog
ICAgIGlubGluZSBib29sIG9wZXJhdG9yIT0oUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi0gICAgc3RydWN0IENyb3Nz
VGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0
IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVhZFJlc291cmNl
UmVxdWVzdERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAgICAgICAgUmVz
b3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAppbmRleCA5
YzU0YmFiLi5lMDc3NGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIFJl
c291cmNlUmVzcG9uc2U7CiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YTsK
IAogLy8gRG8gbm90IHVzZSB0aGlzIGNsYXNzIGRpcmVjdGx5LCB1c2UgdGhlIGNsYXNzIFJlc3Bv
bnNlUmVzcG9uc2UgaW5zdGVhZAotY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2UgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8UmVzb3Vy
Y2VSZXNwb25zZT4gYWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VE
YXRhPik7CiAKQEAgLTE3NSw3ICsxNzYsMTAgQEAgcHJpdmF0ZToKIGlubGluZSBib29sIG9wZXJh
dG9yPT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
YikgeyByZXR1cm4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbXBhcmUoYSwgYik7IH0KIGlubGlu
ZSBib29sIG9wZXJhdG9yIT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgYikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLXN0cnVjdCBDcm9zc1RocmVh
ZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDcm9zc1Ro
cmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UpOworcHVibGljOgorICAgIENyb3Nz
VGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKCkgeyB9CiAgICAgS1VSTCBtX3VybDsKICAg
ICBTdHJpbmcgbV9taW1lVHlwZTsKICAgICBsb25nIGxvbmcgbV9leHBlY3RlZENvbnRlbnRMZW5n
dGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IGViYjZjNWYuLmE3MTcwZmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNv
dXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUhhbmRsZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
I2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3Vz
TG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxl
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2Fk
ZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9y
JiwgUmVzb3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2ViQ29yZVN5bmNo
cm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKaW5kZXggMzhkOWNkMS4uZjUwNTQwYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VI
YW5kbGVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2luL1Jl
c291cmNlSGFuZGxlV2luLmNwcApAQCAtNzYsNyArNzYsOCBAQCBzdGF0aWMgU3RyaW5nIHF1ZXJ5
SFRUUEhlYWRlcihISU5URVJORVQgcmVxdWVzdEhhbmRsZSwgRFdPUkQgaW5mb0xldmVsKQogfQog
CiAKLWNsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRs
ZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xv
YWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoKICAgICBXZWJDb3JlU3lu
Y2hyb25vdXNMb2FkZXIoUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8
Y2hhcj4mLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7CiAgICAgfldlYkNvcmVTeW5jaHJvbm91
c0xvYWRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJv
YXJkUXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKaW5kZXgg
NWFjYTFhNi4uZmI1YWJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQv
Q2xpcGJvYXJkUXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRR
dC5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFN0YXRl
IGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkv
cGFzdGUKICAgICBjbGFzcyBDbGlwYm9hcmRRdCA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBD
YWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkUXQ+IGNyZWF0
ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEqIHJlYWRhYmxl
Q2xpcGJvYXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcWwvU1FMaXRlRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVEYXRhYmFzZS5oCmluZGV4IGMzMjkyNzMuLmRhNTNhY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCkBAIC01MCw3ICs1MCw4IEBAIGV4dGVybiBj
b25zdCBpbnQgU1FMUmVzdWx0U2NoZW1hOwogZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRGdWxs
OwogZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRJbnRlcnJ1cHQ7CiAKLWNsYXNzIFNRTGl0ZURh
dGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZURhdGFiYXNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVEYXRhYmFzZSk7CiAgICAgZnJpZW5kIGNsYXNz
IFNRTGl0ZVRyYW5zYWN0aW9uOwogcHVibGljOgogICAgIFNRTGl0ZURhdGFiYXNlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5kZXggMTQ0NGYw
ZS4uZmQxYWJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0
ZVN0YXRlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0
ZW1lbnQuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNR
TFZhbHVlOwogCi1jbGFzcyBTUUxpdGVTdGF0ZW1lbnQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgU1FMaXRlU3RhdGVtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVT
dGF0ZW1lbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTUUxpdGVT
dGF0ZW1lbnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+U1FMaXRlU3Rh
dGVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRl
VHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2Fj
dGlvbi5oCmluZGV4IDkyNDI0MWYuLmJhNjg2YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCkBAIC0yNiwxNCArMjYsMTUgQEAKICNpZm5k
ZWYgU1FMaXRlVHJhbnNhY3Rpb25faAogI2RlZmluZSBTUUxpdGVUcmFuc2FjdGlvbl9oCiAKKyNp
bmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNlOwogCi1jbGFz
cyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xhc3MgU1FMaXRl
VHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRyYW5zYWN0aW9u
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1FMaXRlVHJhbnNhY3Rp
b24oU1FMaXRlRGF0YWJhc2UmIGRiLCBib29sIHJlYWRPbmx5ID0gZmFsc2UpOwogICAgIH5TUUxp
dGVUcmFuc2FjdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9CaWRpUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29s
dmVyLmgKaW5kZXggMWY4NzExNS4uOTdiOTM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L0JpZGlSZXNvbHZlci5oCkBAIC0xMjYsNyArMTI2LDggQEAgc3RydWN0IEJpZGlDaGFy
YWN0ZXJSdW4gewogICAgIEJpZGlDaGFyYWN0ZXJSdW4qIG1fbmV4dDsKIH07CiAKLXRlbXBsYXRl
IDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgOiBwdWJsaWMg
Tm9uY29weWFibGUgewordGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNz
IEJpZGlSZXNvbHZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmlkaVJlc29sdmVyKTsK
IHB1YmxpYyA6CiAgICAgQmlkaVJlc29sdmVyKCkKICAgICAgICAgOiBtX2RpcmVjdGlvbihXVEY6
OlVuaWNvZGU6Ok90aGVyTmV1dHJhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvUmVndWxhckV4cHJlc3Npb24uaAppbmRleCBmMTYxMWU1Li41MzZlZDQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCkBAIC0zMCw3
ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVndWxhckV4cHJlc3Np
b24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVzc2lvbiB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVndWxhckV4cHJlc3Np
b24oY29uc3QgU3RyaW5nJiwgVGV4dENhc2VTZW5zaXRpdml0eSk7CiAgICAgflJlZ3VsYXJFeHBy
ZXNzaW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRD
b2RlYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaAppbmRleCBj
NmFmMzhhLi4zNTIyOWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1RleHRDb2RlYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
LmgKQEAgLTU3LDggKzU3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYg
Y2hhciBVbmVuY29kYWJsZVJlcGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAgY2xhc3MgVGV4dENv
ZGVjIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29kZWMgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAgICB2aXJ0dWFs
IH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqIHN0ciwg
c2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAppbmRleCA2
N2RiOTc3Li42OTkwYTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250RGVzY3JpcHRpb247CiBjbGFzcyBUZXh0RW5jb2Rp
bmc7CiAKLWNsYXNzIEZvbnRUcmFuc2NvZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZvbnRUcmFuc2NvZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250VHJhbnNjb2Rl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZvaWQgY29udmVydChT
dHJpbmcmIHRleHQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyog
PSAwKSBjb25zdDsKICAgICBib29sIG5lZWRzVHJhbnNjb2RpbmcoY29uc3QgRm9udERlc2NyaXB0
aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCmluZGV4IGNlNjRiODUuLjc3OWRhMjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKQEAgLTQxLDYgKzQxLDcgQEAg
Y2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZl
bnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiBjbGFzcyBDbGlwYm9hcmRXaW4g
OiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENs
aXBib2FyZFdpbj4gY3JlYXRlKENsaXBib2FyZFR5cGUgY2xpcGJvYXJkVHlwZSwgSURhdGFPYmpl
Y3QqIGRhdGFPYmplY3QsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZyYW1lKiBmcmFt
ZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93
TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93
TWVzc2FnZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIu
aApAQCAtMzEsMTMgKzMxLDEzIEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0ZW5lcjsKIAotICAg
IGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IHN0YXRpYyB2b2lkIGFkZExpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VMaXN0ZW5lciopOwog
ICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlz
dGVuZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJh
c2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaAppbmRleCBiMTQ2
MDVmLi5jNDEyYzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRh
dGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCkBA
IC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgSGFzaFNl
dDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVnaW5TZXQ7CiAK
LSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5E
YXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
UGx1Z2luRGF0YWJhc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9Q
bHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdp
bk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi4yOWJjNGU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaApAQCAt
MzYsNyArMzYsOCBAQCB0eXBlZGVmIE5QUF90KiBOUFA7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdHlwZWRlZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2b2lkKik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oIGIvU291cmNl
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggMDQ0ZDZlMi4uOGY4ZjEzZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKQEAgLTk1LDcgKzk1LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBQbHVnaW5TdGF0dXNMb2FkZWRTdWNjZXNzZnVsbHkKICAgICB9
OwogCi0gICAgY2xhc3MgUGx1Z2luUmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUGx1Z2luUmVxdWVzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdp
blJlcXVlc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IFBsdWdpblJlcXVlc3QoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2FkUmVxdWVzdCwg
Ym9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRhLCBib29sIHNob3VsZEFsbG93
UG9wdXBzKQogICAgICAgICAgICAgOiBtX2ZyYW1lTG9hZFJlcXVlc3QoZnJhbWVMb2FkUmVxdWVz
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCmluZGV4IDVlNmY2MTkuLmQ3N2Q2
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMzEsNyArMzEsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm8gOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQ29sdW1uSW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Q29sdW1uSW5mbyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbHVt
bkluZm8oKQogICAgICAgICA6IG1fZGVzaXJlZENvbHVtbldpZHRoKDApCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IDBkMDZjYjEuLmM0OTk0MzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCkBAIC0zNyw3ICszNyw4IEBAIGNsYXNzIFJlbmRl
ckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBM
YXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRTdGF0ZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwogcHVibGljOgogICAgIExheW91
dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJBcmVuYS5oCmluZGV4IDMyMTM5ZmIuLmUxZmY1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJBcmVuYS5oCkBAIC0zNiwxMyArMzYsMTUgQEAKICNkZWZpbmUgUmVuZGVy
QXJlbmFfaAogCiAjaW5jbHVkZSAiQXJlbmEuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFz
ZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9IDQwMDsKIAotY2xhc3Mg
UmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyQXJlbmEgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyQXJlbmEodW5zaWduZWQgYXJlbmFTaXplID0gNDA5
Nik7CiAgICAgflJlbmRlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCmluZGV4IDk1MjliZDYuLmY4ODI5ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5oCkBAIC0zNjAsNyArMzYwLDkgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBldmVy
SGFkTGF5b3V0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3QgOiBOb25jb3B5
YWJsZSB7CisgICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRmxvYXRpbmdPYmplY3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBw
dWJsaWM6CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5b3UgY2FuIHVz
ZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5kIHJpZ2h0Lgog
ICAgICAgICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0gMiwgRmxvYXRC
b3RoID0gMyB9OwogCkBAIC02NzgsNyArNjgwLDkgQEAgcHJpdmF0ZToKICAgICBQb3NpdGlvbmVk
T2JqZWN0c0xpc3RIYXNoU2V0KiBtX3Bvc2l0aW9uZWRPYmplY3RzOwogCiAgICAgLy8gQWxsb2Nh
dGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZhdWx0IHZhbHVl
cwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFibGUgeworICAgIHN0
cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1Ymxp
YzoKICAgICAgICAgUmVuZGVyQmxvY2tSYXJlRGF0YShjb25zdCBSZW5kZXJCbG9jayogYmxvY2sp
IAogICAgICAgICAgICAgOiBtX21hcmdpbnMocG9zaXRpdmVNYXJnaW5CZWZvcmVEZWZhdWx0KGJs
b2NrKSwgbmVnYXRpdmVNYXJnaW5CZWZvcmVEZWZhdWx0KGJsb2NrKSwgcG9zaXRpdmVNYXJnaW5B
ZnRlckRlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jaykpCiAg
ICAgICAgICAgICAsIG1fcGFnaW5hdGlvblN0cnV0KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCBmYjAyNGZjLi5mMjQxMmEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHAKQEAgLTYzLDcgKzYzLDggQEAgdHlwZWRlZiBIYXNoTWFwPExhc3RQYWludFNpemVNYXBL
ZXksIEludFNpemU+IExhc3RQYWludFNpemVNYXA7CiB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgUmVu
ZGVyQm94TW9kZWxPYmplY3QqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCo+IENvbnRpbnVhdGlvbk1h
cDsKIHN0YXRpYyBDb250aW51YXRpb25NYXAqIGNvbnRpbnVhdGlvbk1hcCA9IDA7CiAKLWNsYXNz
IEltYWdlUXVhbGl0eUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1h
Z2VRdWFsaXR5Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VRdWFs
aXR5Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIElt
YWdlUXVhbGl0eUNvbnRyb2xsZXIoKTsKICAgICBib29sIHNob3VsZFBhaW50QXRMb3dRdWFsaXR5
KEdyYXBoaWNzQ29udGV4dCosIFJlbmRlckJveE1vZGVsT2JqZWN0KiwgSW1hZ2UqLCBjb25zdCB2
b2lkKiBsYXllciwgY29uc3QgSW50U2l6ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRnJhbWVTZXQuaAppbmRleCBkMGFiMzQ2Li4xZTUxMWQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAgY2xhc3MgR3Jp
ZEF4aXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlzIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoKICAgICAgICAg
R3JpZEF4aXMoKTsKICAgICAgICAgdm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCmluZGV4IDIzNDY3MTIuLmEyMGM1NWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaApA
QCAtMjksMTMgKzI5LDEzIEBACiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRlICJD
YWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlN0eWxlSW1hZ2UuaCIKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSZW5k
ZXJPYmplY3Q7CiAKLWNsYXNzIFJlbmRlckltYWdlUmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUmVuZGVySW1hZ2VSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIHZpcnR1YWwgflJlbmRlckltYWdlUmVzb3VyY2UoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCmluZGV4IDVjNmVkMTIuLjcyNmI3Nzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAg
LTUzLDcgKzUzLDggQEAgZW51bSBDb21wb3NpdGluZ0xheWVyVHlwZSB7CiAvLyAKIC8vIFRoZXJl
IGlzIG9uZSBSZW5kZXJMYXllckJhY2tpbmcgZm9yIGVhY2ggUmVuZGVyTGF5ZXIgdGhhdCBpcyBj
b21wb3NpdGVkLgogCi1jbGFzcyBSZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NM
YXllckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckxheWVyQmFja2lu
ZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShSZW5kZXJMYXllckJhY2tpbmcpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBSZW5kZXJMYXllckJhY2tpbmcoUmVuZGVyTGF5ZXIqKTsKICAgICB+UmVuZGVyTGF5ZXJC
YWNraW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFy
cXVlZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAppbmRleCA3
OTk5OGVkLi45OGZkZGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWFycXVlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVl
LmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyTGF5
ZXI7CiAKIC8vIFRoaXMgY2xhc3MgaGFuZGxlcyB0aGUgYXV0by1zY3JvbGxpbmcgb2YgbGF5ZXJz
IHdpdGggb3ZlcmZsb3c6IG1hcnF1ZWUuCi1jbGFzcyBSZW5kZXJNYXJxdWVlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck1hcnF1ZWUgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlbmRlck1hcnF1ZWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7CiAgICAgdmlydHVhbCB+UmVu
ZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck92ZXJmbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaApp
bmRleCA3ZGMyYmNiLi4zM2U4Y2ZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck92ZXJmbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck92ZXJmbG93LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUKIC8vIEV4YW1w
bGVzIG9mIHZpc3VhbCBvdmVyZmxvdyBhcmUgc2hhZG93cywgdGV4dCBzdHJva2UgKGFuZCBldmVu
dHVhbGx5IG91dGxpbmUgYW5kIGJvcmRlci1pbWFnZSkuCiAKIC8vIFRoaXMgb2JqZWN0IGlzIGFs
bG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMgaGF2ZSBub24tZGVmYXVsdCB2
YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCi1jbGFzcyBSZW5kZXJPdmVyZmxvdyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJPdmVyZmxvdyB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVuZGVyT3ZlcmZsb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBsYXlvdXRSZWN0LCBjb25zdCBJbnRS
ZWN0JiB2aXN1YWxSZWN0KSAKICAgICAgICAgOiBtX3RvcExheW91dE92ZXJmbG93KGxheW91dFJl
Y3QueSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVj
dGlvbkluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZv
LmgKaW5kZXggYTA5ZmMxYS4uNDVjYTgxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQogICAgICAgICA6IG1f
b2JqZWN0KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRleCAxZGZkNGNl
Li43ZTViNGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTI2NCw3
ICsyNjQsOCBAQCB2b2lkIHRvUmVuZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7CiAKIAogLy8g
U3RhY2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKLWNs
YXNzIExheW91dFN0YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBM
YXlvdXRTdGF0ZU1haW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0
YXRlTWFpbnRhaW5lcik7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5vdwogICAgIExh
eW91dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gqIHJvb3QsIElu
dFNpemUgb2Zmc2V0LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFnZUhlaWdodCA9
IDAsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyogY29sSW5mbyA9
IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJv
dGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9y
LmgKaW5kZXggNzg4MzA0Yy4uOGJmNmFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciA6IHByaXZhdGUgTm9u
Y29weWFibGUgeworY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZW5kZXJXaWRnZXRQcm90ZWN0b3IpOwogcHVibGljOgogICAgIFJlbmRlcldp
ZGdldFByb3RlY3RvcihSZW5kZXJXaWRnZXQqIG9iamVjdCkKICAgICAgICAgOiBtX29iamVjdChv
YmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCmluZGV4IGUwZmE4ZWUu
LmM1ZjYxZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCkBAIC0yMSwx
MyArMjEsMTUgQEAKICNpZm5kZWYgVGFibGVMYXlvdXRfaAogI2RlZmluZSBUYWJsZUxheW91dF9o
CiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRhYmxlOwogCi1j
bGFzcyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUYWJsZUxheW91
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUYWJsZUxheW91dChSZW5kZXJUYWJsZSogdGFibGUp
CiAgICAgICAgIDogbV90YWJsZSh0YWJsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5z
Zm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2luY2x1ZGUgIkZs
b2F0UXVhZC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlv
bk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtU3RhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNmb3JtU3RhdGUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFRyYW5zZm9ybVN0YXRlKTsKIHB1YmxpYzoKICAgICBlbnVtIFRyYW5z
Zm9ybURpcmVjdGlvbiB7IEFwcGx5VHJhbnNmb3JtRGlyZWN0aW9uLCBVbmFwcGx5SW52ZXJzZVRy
YW5zZm9ybURpcmVjdGlvbiB9OwogICAgIGVudW0gVHJhbnNmb3JtQWNjdW11bGF0aW9uIHsgRmxh
dHRlblRyYW5zZm9ybSwgQWNjdW11bGF0ZVRyYW5zZm9ybSB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCmluZGV4IDRkZWFlZjUuLmIyNWIy
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9u
Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNh
Y2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3QgaW50IFBvc2l0aW9uVG9wID0gLTB4N2ZmZmZm
ZmY7CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdmZmZmZmZmOwogY29uc3QgaW50IFBv
c2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAotY2xhc3MgVmVydGljYWxQb3NpdGlvbkNh
Y2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZlcnRpY2FsUG9zaXRpb25DYWNoZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVydGljYWxQb3NpdGlvbkNhY2hlKTsKIHB1Ymxp
YzoKICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUoKQogICAgIHsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAppbmRleCA0Zjk2NGEyLi4xNWY2OTEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaApAQCAtMzMs
NyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxlSW1hZ2U7CiAKLXN0
cnVjdCBDb250ZW50RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDb250ZW50RGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBDb250ZW50RGF0YSgpCiAgICAgICAgIDogbV90eXBlKENPTlRF
TlRfTk9ORSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3Vu
dGVyQ29udGVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250
ZW50LmgKaW5kZXggNTI3NTdhZC4uODE0MDM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29udGVudCA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBDb3VudGVyQ29udGVudChjb25zdCBBdG9taWNTdHJpbmcmIGlkZW50
aWZpZXIsIEVMaXN0U3R5bGVUeXBlIHN0eWxlLCBjb25zdCBBdG9taWNTdHJpbmcmIHNlcGFyYXRv
cikKICAgICAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZiMjk0Li44NDdlOGRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCkBAIC01OSw3ICs1OSw4IEBA
IHN0cnVjdCBGaWxsU2l6ZSB7CiAgICAgTGVuZ3RoU2l6ZSBzaXplOwogfTsKIAotY2xhc3MgRmls
bExheWVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgRmlsbExheWVyIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIoRUZpbGxMYXll
clR5cGUpOwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU2hhZG93RGF0YS5oCmluZGV4IGZiNTkyNmQuLjBiZTNmYzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaApAQCAtMjYsNyArMjYsNiBAQAogI2RlZmlu
ZSBTaGFkb3dEYXRhX2gKIAogI2luY2x1ZGUgIkNvbG9yLmgiCi0jaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICszNiw4IEBAIGVu
dW0gU2hhZG93U3R5bGUgeyBOb3JtYWwsIEluc2V0IH07CiAKIC8vIFRoaXMgc3RydWN0IGhvbGRz
IGluZm9ybWF0aW9uIGFib3V0IHNoYWRvd3MgZm9yIHRoZSB0ZXh0LXNoYWRvdyBhbmQgYm94LXNo
YWRvdyBwcm9wZXJ0aWVzLgogCi1jbGFzcyBTaGFkb3dEYXRhIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworY2xhc3MgU2hhZG93RGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgU2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDApCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaApp
bmRleCA3Zjg2MmE3Li45OTg2MWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKQEAgLTM1LDcgKzM1LDkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQ2xpcHBlckRhdGEgOiBGYXN0QWxsb2NC
YXNlIHsKK3N0cnVjdCBDbGlwcGVyRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdlOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbWFnZUJ1ZmZlclRv
b2xzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0ltYWdlQnVmZmVyVG9vbHMu
aAppbmRleCBjZmIxNWIyLi4xMTU3N2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR0ltYWdlQnVmZmVyVG9vbHMuaApAQCAtMzIsNyArMzIsOCBAQCBjbGFzcyBG
bG9hdFNpemU7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAK
LWNsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U1ZHSW1hZ2VCdWZmZXJUb29scyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VC
dWZmZXJUb29scyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3JlYXRlSW1hZ2VCdWZmZXIo
Y29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xh
bXBlZEFic29sdXRlVGFyZ2V0UmVjdCwgT3duUHRyPEltYWdlQnVmZmVyPiYsIENvbG9yU3BhY2Up
OwogICAgIHN0YXRpYyB2b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlQnVmZmVyKEltYWdlQnVmZmVy
KiwgUmVuZGVyT2JqZWN0KiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR01hcmtlckxheW91dEluZm8uaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCmluZGV4IDVlNzVm
MGIuLjMyMzE3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
TWFya2VyTGF5b3V0SW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
TWFya2VyTGF5b3V0SW5mby5oCkBAIC00Myw3ICs0Myw4IEBAIHN0cnVjdCBNYXJrZXJMYXlvdXQg
ewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7CiB9OwogCi1jbGFzcyBTVkdNYXJrZXJMYXlv
dXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR01hcmtlckxheW91dEluZm8g
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR01hcmtlckxheW91dEluZm8pOwogcHVibGlj
OgogICAgIFNWR01hcmtlckxheW91dEluZm8oKTsKICAgICB+U1ZHTWFya2VyTGF5b3V0SW5mbygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmgKaW5kZXggZGQz
MjhiOC4uNDhjY2EyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZXNvdXJjZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291
cmNlcy5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlTWFza2VyOwog
Y2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAKIC8vIEhvbGRzIGEgc2V0IG9mIHJlc291cmNlcyBhc3Nv
Y2lhdGVkIHdpdGggYSBSZW5kZXJPYmplY3QKLWNsYXNzIFNWR1Jlc291cmNlcyA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXMgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNWR1Jlc291cmNlcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IFNWR1Jlc291cmNlcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1Jlc291cmNlc0NhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1Jlc291cmNlc0NhY2hlLmgKaW5kZXggMzBlYWVjYS4uYmM3M2Y0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaApAQCAtMzEsNyArMzEs
OCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVy
OwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDYWNoZSgpOwogICAgIH5TVkdSZXNvdXJjZXNDYWNo
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJj
ZXNDeWNsZVNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJj
ZXNDeWNsZVNvbHZlci5oCmluZGV4IDA2NTMzMDQuLjA5OWY5MWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKQEAg
LTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU1ZHUmVzb3Vy
Y2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0N5Y2xl
U29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDeWNsZVNvbHZl
cik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVyT2JqZWN0Kiwg
U1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCmluZGV4
IDM2MzQyZTcuLjMyMWYzOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVjdCBTVkdUZXh0
RnJhZ21lbnQ7CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVyLWNoYXJhY3Rl
ciBsYXlvdXQsIGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3Rl
ciwgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1RleHRGcmFnbWVu
dCkuCiAvLyBQaGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0aGF0IGhhdmUg
dG8gYmUgYXBwbGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4dC1hbmNob3Ig
JiB0ZXh0TGVuZ3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0Q2h1bmtC
dWlsZGVyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCmluZGV4IGYyOWFjNjQuLmM2ODE4
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91
dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaApAQCAtMzgsNyArMzgsOCBAQCBjbGFzcyBS
ZW5kZXJTVkdUZXh0OwogLy8gdG8gY3JlYXRlIHRoZSBJbmxpbmVCb3ggdHJlZSBiYXNlZCBvbiB0
ZXh0IGNodW5rIGJvdW5kYXJpZXMgJiBCaURpIGluZm9ybWF0aW9uLgogLy8gVGhlIHNlY29uZCBs
YXlvdXQgcGhhc2UgaXMgY2FycmllZCBvdXQgYnkgU1ZHVGV4dExheW91dEVuZ2luZS4KIAotY2xh
c3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBT
VkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIoKTsKICAgICB2b2lkIGJ1aWxkTGF5b3V0QXR0
cmlidXRlc0ZvclRleHRTdWJ0cmVlKFJlbmRlclNWR1RleHQqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXggYWQwNThkOC4u
NjMxZTRjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0
TGF5b3V0RW5naW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0
TGF5b3V0RW5naW5lLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAv
LyBSZW5kZXJTVkdJbmxpbmVUZXh0IHJlbmRlcmVycyB0byBjb21wdXRlIHRoZSBmaW5hbCBwb3Np
dGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyCiAvLyB3aGljaCBhcmUgc3RvcmVkIGluIHRoZSBTVkdJ
bmxpbmVUZXh0Qm94IG9iamVjdHMuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2luZSk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4
dExheW91dEVuZ2luZSgpOwogICAgIFNWR1RleHRDaHVua0J1aWxkZXImIGNodW5rTGF5b3V0QnVp
bGRlcigpIHsgcmV0dXJuIG1fY2h1bmtMYXlvdXRCdWlsZGVyOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUu
aAppbmRleCBkNzUzYjM5Li42Nzk0YmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKQEAgLTMzLDcg
KzMzLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdUZXh0TWV0cmljczsKIAog
Ly8gSGVscGVyIGNsYXNzIHVzZWQgYnkgU1ZHVGV4dExheW91dEVuZ2luZSB0byBoYW5kbGUgJ2Fs
aWdubWVudC1iYXNlbGluZScgLyAnZG9taW5hbnQtYmFzZWxpbmUnIGFuZCAnYmFzZWxpbmUtc2hp
ZnQnLgotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lKTsKIHB1YmxpYzoKICAgICBT
VkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5n
LmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaApAQCAtMzAsNyAr
MzAsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIC8vIEhl
bHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxlICdrZXJuaW5n
JyAvICdsZXR0ZXItc3BhY2luZycgYW5kICd3b3JkLXNwYWNpbmcnLgotY2xhc3MgU1ZHVGV4dExh
eW91dEVuZ2luZVNwYWNpbmcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExh
eW91dEVuZ2luZVNwYWNpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlv
dXRFbmdpbmVTcGFjaW5nKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2lu
Zyhjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2VUYXNrLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCmluZGV4
IGI2MWU0NjUuLmUxZGY1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2VUYXNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApA
QCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIENhbiBiZSB1c2VkIHRv
IHdhaXQgdW50aWwgRGF0YWJhc2VUYXNrIGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0byBiZSBwYXNz
ZWQgaW50byBEYXRhYmFzZVRhc2s6OmNyZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHRh
c2suCi1jbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIpOwogcHVibGljOgogICAgIERhdGFiYXNlVGFz
a1N5bmNocm9uaXplcigpOwogCkBAIC02Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07
CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEYXRh
YmFzZVRhc2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFzayk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgfkRhdGFiYXNlVGFzaygp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5o
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRleCA3MTQ1ZTZi
Li5hMWE1YmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJh
Y2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKQEAg
LTU2LDcgKzU2LDggQEAgY2xhc3MgRGF0YWJhc2VUcmFja2VyQ2xpZW50Owogc3RydWN0IFNlY3Vy
aXR5T3JpZ2luVHJhaXRzOwogI2VuZGlmIC8vICFQTEFURk9STShDSFJPTUlVTSkKIAotY2xhc3Mg
RGF0YWJhc2VUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlVHJh
Y2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUcmFja2VyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRy
YWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAgIHN0YXRpYyBEYXRhYmFzZVRy
YWNrZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
UGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJQ
ZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKaW5kZXggNzgzYTczMS4uNWJjNmFjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25p
dG9yLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlOwogLy8gRklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMgdG8gVExTLiBL
ZWVwaW5nIGl0IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBzdXBwb3J0IGZv
ciB3b3JrZXJzLiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBrZWVwIHRoZSB2
ZWN0b3IgaW4gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQZW5kaW5nVHJh
bnNhY3Rpb25Nb25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElEQlBlbmRpbmdU
cmFuc2FjdGlvbk1vbml0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElEQlBlbmRpbmdU
cmFuc2FjdGlvbk1vbml0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFkZFBlbmRpbmdU
cmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAgICBzdGF0aWMg
dm9pZCByZW1vdmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRh
c2suaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCmluZGV4IGEy
ZTM1ZWEuLjI3YThlYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxT
dG9yYWdlVGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFz
ay5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBMb2Nh
bFN0b3JhZ2VUaHJlYWQ7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3Rv
cmFnZVRhc2sKLSAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTG9jYWxTdG9yYWdlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5bmMsIERlbGV0ZUVt
cHR5RGF0YWJhc2UsIFRlcm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAppbmRleCA2ZjA1OTExLi5hMmM3OGM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcgKzQwLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7CiAKICAgICAv
LyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAgIGNsYXNzIExv
Y2FsU3RvcmFnZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxT
dG9yYWdlVGhyZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdl
VGhyZWFkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBz
dGF0aWMgUGFzc093blB0cjxMb2NhbFN0b3JhZ2VUaHJlYWQ+IGNyZWF0ZSgpOwogICAgICAgICB+
TG9jYWxTdG9yYWdlVGhyZWFkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L09yaWdpblF1b3RhTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90
YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi44MmQ3Yzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIGNsYXNzIE9yaWdpblVzYWdlUmVjb3Jk
OwogCi1jbGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgT3JpZ2luUXVvdGFNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPcmlnaW5R
dW90YU1hbmFnZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBPcmln
aW5RdW90YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9P
cmlnaW5Vc2FnZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJl
Y29yZC5oCmluZGV4IGE4MzBlNjguLjc1NTdlYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L09yaWdpblVzYWdlUmVjb3JkLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAvLyBPYmplY3RzIG9mIHRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgZnJvbSBtdWx0aXBsZSB0
aHJlYWRzIHdpdGggZXh0ZXJuYWwgc3luY2hyb25pemF0aW9uLgogLy8gU3RyaW5nIGFyZ3VtZW50
cyBhcmUgYWxzbyBzdXBwb3NlZCB0byBiZSBkZWVwbHkgY29waWVkIGJ5IHRoZSBjYWxsZXIgd2hl
biBuZWNlc3NhcnkuCi1jbGFzcyBPcmlnaW5Vc2FnZVJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
T3JpZ2luVXNhZ2VSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBPcmlnaW5Vc2FnZVJlY29yZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uQ2xpZW50LmgKaW5kZXggZmVkMDY1Ny4uM2M1ZWMyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApAQCAtMzMsNiArMzMsNyBAQAog
CiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4K
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NDEsOCArNDIsMTAgQEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBjbGllbnQgdG8g
dGhlIFNRTFRyYW5zYWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24gdG8gbm90aWZ5
IGludGVyZXN0ZWQKIC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZlIGhhcHBlbmVk
IGluIGEgdHJhbnNhY3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBTUUxUcmFuc2FjdGlvbkNsaWVudCgpIHsgfQogICAgIHZvaWQgZGlk
Q29tbWl0V3JpdGVUcmFuc2FjdGlvbihBYnN0cmFjdERhdGFiYXNlKik7CiAgICAgdm9pZCBkaWRF
eGVjdXRlU3RhdGVtZW50KEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICBib29sIGRpZEV4Y2VlZFF1
b3RhKEFic3RyYWN0RGF0YWJhc2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uZmQ3Njc4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgK
QEAgLTQzLDggKzQzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNRTFRy
YW5zYWN0aW9uOwogCi0gICAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvciB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFNRTFRyYW5zYWN0
aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9pZCBhY3F1aXJlTG9jayhTUUxUcmFuc2Fj
dGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2NrKFNRTFRyYW5zYWN0aW9uKik7CiAgICAg
ICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdE
b2N1bWVudEV4dGVuc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVu
c2lvbnMuaAppbmRleCBhMGNmMmJiLi4wZWQ2MmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50RXh0ZW5zaW9ucy5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFNWR1N0eWxlZEVs
ZW1lbnQ7CiBjbGFzcyBTVkdTTUlMRWxlbWVudDsKIGNsYXNzIFNWR1NWR0VsZW1lbnQ7CiAKLWNs
YXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdEb2N1bWVudEV4dGVuc2lvbnMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0RvY3Vt
ZW50RXh0ZW5zaW9ucyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5
cGVkZWYgSGFzaFNldDxSZWZQdHI8U1ZHU3R5bGVkRWxlbWVudD4gPiBTVkdQZW5kaW5nRWxlbWVu
dHM7CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKERvY3VtZW50Kik7CkBAIC02OCw5ICs2OSw2
IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFNWR1BlbmRpbmdFbGVtZW50
cyo+IG1fcGVuZGluZ1Jlc291cmNlczsKICAgICBPd25QdHI8U1ZHUmVzb3VyY2VzQ2FjaGU+IG1f
cmVzb3VyY2VzQ2FjaGU7CiAKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoY29uc3QgU1ZHRG9j
dW1lbnRFeHRlbnNpb25zJik7Ci0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJiBvcGVyYXRvcj0o
Y29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0KIHB1YmxpYzoKICAgICAvLyBUaGlzIEhh
c2hNYXAgY29udGFpbnMgYSBsaXN0IG9mIHBlbmRpbmcgcmVzb3VyY2VzLiBQZW5kaW5nIHJlc291
cmNlcywgYXJlIHN1Y2gKICAgICAvLyB3aGljaCBhcmUgcmVmZXJlbmNlZCBieSBhbnkgb2JqZWN0
IGluIHRoZSBTVkcgZG9jdW1lbnQsIGJ1dCBkbyBOT1QgZXhpc3QgeWV0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDQyNzZjNGEuLjMzMThkZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTMxLDcgKzMxLDggQEAgY2xhc3Mg
U1ZHQ3Vyc29yRWxlbWVudDsKIGNsYXNzIFNWR0VsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50SW5z
dGFuY2U7CiAKLWNsYXNzIFNWR0VsZW1lbnRSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R0VsZW1lbnRSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50KDApCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdGb250RGF0YS5oCmluZGV4IGU4OTdhNTkuLmYyMDJkMjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RGF0YS5oCkBAIC0yNSw3ICsyNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgU1ZHRm9udERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHRm9udERh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0ZvbnREYXRhKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHRm9udERhdGEoU1ZHRm9udEZhY2VFbGVtZW50
Kik7CiAgICAgdmlydHVhbCB+U1ZHRm9udERhdGEoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhC
bGVuZGVyLmgKaW5kZXggYzBhZTdmMy4uOGU0M2I5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhC
bGVuZGVyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAi
U1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1Bh
dGhCbGVuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCbGVuZGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR1BhdGhCbGVuZGVyKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uYTQ0NGFjMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKQEAgLTQzLDcgKzQzLDggQEAgdHlwZWRlZiB1
bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWduZWQgc2hvcnQpXTsK
IH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFtPiBjcmVhdGUo
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBiN2M1ZTczLi5h
ZjNmNzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1lci5oCkBAIC0yNiw2ICsyNiw3
IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKKyNpbmNsdWRl
IDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw4ICs0MSwxMCBAQCBlbnVtIFBhdGhQYXJzaW5nTW9k
ZSB7CiAgICAgVW5hbHRlcmVkUGFyc2luZwogfTsKIAotY2xhc3MgU1ZHUGF0aENvbnN1bWVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhDb25zdW1lciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoU1ZHUGF0aENvbnN1bWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGlu
Y3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGNvbnRpbnVl
Q29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQYXRoUGFyc2VyLmgKaW5kZXggNzY3OWE5NS4uMDk2MTMxYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFBhcnNlci5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNpbmNsdWRlICJTVkdQYXRo
Q29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNv
dXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0aFBhcnNlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoUGFyc2VyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdQYXRoUGFyc2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgU1ZHUGF0aFBhcnNlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2Uu
aAppbmRleCBkMWE2MTQ5Li43N2JmOWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aFNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmgK
QEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0
aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291cmNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CisgICAgU1ZHUGF0aFNvdXJjZSgpIHsgfQogICAgIHZpcnR1YWwgflNW
R1BhdGhTb3VyY2UoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBoYXNNb3JlRGF0YSgpIGNvbnN0
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggNjg2Y2VjMy4uY2QxMGNhNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKQEAgLTMyLDggKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgU1ZHRWxlbWVudDsKIAogY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZH
Rml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiwK
LSAgICAgICAgICAgICAgICAgICAgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgICAgICAg
ICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1ZpZXdTcGVjKTsKIHB1YmxpYzoKICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50Kik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IDk3Zjg2YmUuLmZjMmZk
MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtNTUsNyAr
NTUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR0ltYWdlQ2hyb21lQ2xp
ZW50IDogcHVibGljIEVtcHR5Q2hyb21lQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQ2hyb21lQ2xpZW50KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHSW1hZ2VDaHJvbWVDbGllbnQoU1ZHSW1hZ2Uq
IGltYWdlKQogICAgICAgICA6IG1faW1hZ2UoaW1hZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRp
by9SZWFsdGltZUFuYWx5c2VyLmgKaW5kZXggNjg2YzE3Yy4uY2M3OTFmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFz
cyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNsYXNzIFJlYWx0
aW1lQW5hbHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRpbWVBbmFseXNl
ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7CiBwdWJsaWM6
CiAgICAgUmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1lQW5hbHlzZXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaAppbmRleCAwNWIzNzY3Li45NTZlMGZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00
Myw4ICs0MywxMCBAQCBjbGFzcyBLVVJMOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IGNsYXNzIFdlYlNvY2tldENoYW5uZWxDbGllbnQ7CiAKLWNsYXNzIFRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbCk7CiBwdWJsaWM6CisgICAgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwoKSB7IH0K
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRl
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiwgY29uc3Qg
S1VSTCYsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpOwogCiAgICAgdmlydHVhbCB2b2lkIGNvbm5l
Y3QoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5o
CmluZGV4IDljNTIzNzcuLmEzOWNkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYnNv
Y2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMv
V2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCiAgICAgY2xhc3MgV2ViU29ja2V0
Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlNvY2tldENoYW5uZWw+LCBwdWJsaWMgU29j
a2V0U3RyZWFtSGFuZGxlQ2xpZW50LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRvcHRSZWYobmV3
IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29sKSk7IH0KICAg
ICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaCBiL1NvdXJjZS9XZWJDb3JlL3dl
YnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKaW5kZXggYTViNDI2MC4uMzcxZDg1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCkBAIC0z
NywxMyArMzcsMTMgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIldl
YlNvY2tldEhhbmRzaGFrZVJlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRIYW5kc2hha2VS
ZXNwb25zZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi0gICAgY2xhc3Mg
V2ViU29ja2V0SGFuZHNoYWtlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXZWJT
b2NrZXRIYW5kc2hha2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJTb2NrZXRI
YW5kc2hha2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBNb2RlIHsKICAgICAgICAgICAg
IEluY29tcGxldGUsIE5vcm1hbCwgRmFpbGVkLCBDb25uZWN0ZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaCBi
L1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWwuaAppbmRleCAzNjZlNGZhLi45ZjBiMDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCkBA
IC01Miw2ICs1Miw3IEBAIGNsYXNzIFdvcmtlckxvYWRlclByb3h5OwogY2xhc3MgV29ya2VyUnVu
TG9vcDsKIAogY2xhc3MgV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMg
UmVmQ291bnRlZDxXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4sIHB1YmxpYyBUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+
IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xp
ZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3OCw4IEBAIHByb3RlY3RlZDoK
IHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUgUGVlciBhbmQg
aXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAvLyBsaWZldGltZXMuCi0gICAg
Y2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50LCBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQZWVyKiBjcmVhdGUoUmVmUHRyPFRo
cmVhZGFibGVXZWJTb2NrZXRDaGFubmVsQ2xpZW50V3JhcHBlcj4gY2xpZW50V3JhcHBlciwgV29y
a2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgcHJvdG9jb2wpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGExLi40MzViNjEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBTaGFyZWRXb3JrZXJQcm94eTsKIAogICAgIC8vIFBsYXRmb3JtLXNwZWNpZmljIGlt
cGxlbWVudGF0aW9uIG9mIHRoZSBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5IHN0YXRpYyBpbnRlcmZh
Y2UuCi0gICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5IHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEludm9r
ZWQgb25jZSB0aGUgd29ya2VyIHNjcmlwdCBoYXMgYmVlbiBsb2FkZWQgdG8gZmlyZSB1cCB0aGUg
d29ya2VyIHRocmVhZC4KICAgICAgICAgdm9pZCB3b3JrZXJTY3JpcHRMb2FkZWQoU2hhcmVkV29y
a2VyUHJveHkmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5nJiB3b3JrZXJT
Y3JpcHQsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsPik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dC5oCmluZGV4IGEwZGJhYWUuLmJiMjY2ODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDUsNyArMTQ1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xvc2luZzsgfQog
CiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmllZCB3aGVuIHRo
ZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xhc3MgT2JzZXJ2
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZlciB7CisgICAg
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAgIHB1YmxpYzoK
ICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAgICAgIHZpcnR1
YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmgKaW5kZXggMzM5MzdjZS4uYWI2MTEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNDYsNyArNDYsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAgICBjbGFzcyBX
b3JrZXI7CiAKLSAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJD
b250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRl
clByb3h5LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1By
b3h5IDogcHVibGljIFdvcmtlckNvbnRleHRQcm94eSwgcHVibGljIFdvcmtlck9iamVjdFByb3h5
LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXb3JrZXJNZXNzYWdpbmdQcm94eSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCmluZGV4IDgzZjI0M2YuLjdiMzE0OWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcApAQCAtMTA0LDcgKzEwNCw4
IEBAIFN0cmluZyBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpCiAgICAgcmV0dXJuIFN0cmlu
ZygpOwogfQogCi1jbGFzcyBSdW5Mb29wU2V0dXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgUnVuTG9vcFNldHVwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5Mb29wU2V0dXAp
OwogcHVibGljOgogICAgIFJ1bkxvb3BTZXR1cChXb3JrZXJSdW5Mb29wJiBydW5Mb29wKQogICAg
ICAgICA6IG1fcnVuTG9vcChydW5Mb29wKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJSdW5Mb29wLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxv
b3AuaAppbmRleCA5ZDRlZGZkLi4zZmViNGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clJ1bkxvb3AuaApAQCAtNjUsNyArNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAg
ICAgc3RhdGljIFN0cmluZyBkZWZhdWx0TW9kZSgpOwogCi0gICAgICAgIGNsYXNzIFRhc2sgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAg
ICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4gY3JlYXRlKFBh
c3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29uc3QgU3RyaW5n
JiBtb2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclRocmVhZC5jcHAKaW5kZXggZjYxMTIwZS4uZTFmMWE2NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtNjEsNyArNjEsOCBAQCB1bnNpZ25lZCBXb3JrZXJU
aHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkKICAgICByZXR1cm4gbV90aHJlYWRDb3VudDsKIH0K
IAotc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0
IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3Jr
ZXJUaHJlYWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBjcmVhdGUoY29u
c3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5n
JiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmlu
ZGV4IGVlOWUyMGYuLjBmOTUwNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cApAQCAtNjQsNyArNjQsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgV1RGOjpSZWZD
b3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRwUmVxdWVzdCIp
OwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBOb25jb3B5YWJs
ZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEoKTsKICAgICBTdHJpbmcg
bV9wcm94eUhlYWRlclByZWZpeDsKICAgICBTdHJpbmcgbV9zZWNIZWFkZXJQcmVmaXg7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IGJjNjgxNWQuLmIxNWQzNTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIFRleHRSZXNv
dXJjZURlY29kZXI7CiBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiBjbGFzcyBYTUxIdHRwUmVx
dWVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFhNTEh0dHBSZXF1ZXN0PiwgcHVibGljIEV2ZW50VGFy
Z2V0LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmpl
Y3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0KGNvbnRleHQpKTsg
fQogICAgIH5YTUxIdHRwUmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoRXhwcmVzc2lvbk5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Np
b25Ob2RlLmgKaW5kZXggYzA0ZDQ1Yi4uNGI1YmFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBh
dGhFeHByZXNzaW9uTm9kZS5oCkBAIC0zOSw3ICszOSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAgICAgICAgIAotICAgICAgICBzdHJ1Y3QgRXZhbHVh
dGlvbkNvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgc3RydWN0IEV2YWx1YXRpb25D
b250ZXh0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBw
dWJsaWM6CiAgICAgICAgICAgICBSZWZQdHI8Tm9kZT4gbm9kZTsKICAgICAgICAgICAgIHVuc2ln
bmVkIGxvbmcgc2l6ZTsKICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcG9zaXRpb247CkBAIC01
Myw3ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwgflBh
cnNlTm9kZSgpIHsgfQogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIEV4cHJlc3Npb24gOiBw
dWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBFeHBy
ZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShFeHByZXNzaW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1Ymxp
YzoKICAgICAgICAgICAgIHN0YXRpYyBFdmFsdWF0aW9uQ29udGV4dCYgZXZhbHVhdGlvbkNvbnRl
eHQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oIGIv
U291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCmluZGV4IGQ1YzQ3YmUuLjYxOWQ5MWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBjbGFzcyBOb2Rl
U2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2RlU2V0IHsKKyAg
ICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAg
ICAgICAgICBOb2RlU2V0KCkgOiBtX2lzU29ydGVkKHRydWUpLCBtX3N1YnRyZWVzQXJlRGlzam9p
bnQoZmFsc2UpIHsgfQogICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCmluZGV4
IDBlZTQ0N2EuLmY0OWI0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBh
cnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCkBAIC01OCw3ICs1
OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFRva2VuKGludCB0LCBFcVRl
c3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBlcW9wKHYpIHt9CiAgICAgICAgIH07CiAKLSAgICAg
ICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgUGFy
c2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7CiAgICAgICAg
IHB1YmxpYzoKICAgICAgICAgICAgIFBhcnNlcigpOwogICAgICAgICAgICAgflBhcnNlcigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAppbmRleCA1ZjI0ODJhLi4zNjAwMTU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVzdWx0VHlwZSgp
IGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAgfTsKIAotICAg
ICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFz
cyBQcmVkaWNhdGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJlZGljYXRl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAg
IFByZWRpY2F0ZShFeHByZXNzaW9uKik7CiAgICAgICAgICAgICB+UHJlZGljYXRlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmggYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uYjAzMWJhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0
ZXAuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgY2xh
c3MgUHJlZGljYXRlOwogICAgICAgICAKLSAgICAgICAgY2xhc3MgU3RlcCA6IHB1YmxpYyBQYXJz
ZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFN0ZXAgOiBwdWJsaWMg
UGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXApOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgZW51bSBB
eGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JTZWxmQXhpcywg
QXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
ICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKICAgICAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgICAgICBlbnVtIEtpbmQgewog
ICAgICAgICAgICAgICAgICAgICBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2RlVGVzdCwgUHJvY2Vz
c2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVzdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uNWMwY2E4YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WFNMSW1wb3J0UnVsZS5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENhY2hlZFhTTFN0eWxlU2hlZXQ7CiAKIGNsYXNzIFhTTEltcG9ydFJ1bGUgOiBwdWJsaWMg
U3R5bGVCYXNlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYU0xJbXBvcnRS
dWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0cmluZyYgaHJl
ZikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRjODk1NTguLjg4ZTA1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTEtMDEtMjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0
b3Jpbmcgb2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0
aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJn
ZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVwbGFj
ZXMgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5oZXJp
dHMgd2l0aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9uIGF0
IHRoZSBuZWNlc3NhcnkgcGxhY2VzLgorCiAyMDExLTAxLTE3ICBEYW4gQmVybnN0ZWluICA8bWl0
ekBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgTWFyayBSb3dlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgzZi4uMzk0ZmY3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCkBAIC0zOSw3ICsz
OSw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogLy8gQm91bmRPYmplY3QgaXMgYSBoZWxwZXIgY2xh
c3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8vIGRpcmVjdGx5
IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQgb25jZSBKUyBvYmpl
Y3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJvdW5kT2Jq
ZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpDb250ZXh0PiBj
b250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpOwogICAgIHZpcnR1
YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9E
ZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKaW5kZXggMDg2MGNiMS4uYjc2YmNmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcApA
QCAtNTUsNyArNTUsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4cG9zZVY4RGVi
dWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBDYWxsZXJJZFdy
YXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1YmxpYzoKICAg
ICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSksIG1fY2FsbGVy
SWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxsZXJJZCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCmlu
ZGV4IDY2YmQ3MTQuLmEzMjMzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaApAQCAtNjMsNyArNjMsOCBAQCBjbGFzcyBXZWJWaWV3
SW1wbDsKIC8vIHdvdWxkIGV4cGVjdCBzb21lIGFjdGlvbnMgZnJvbSB0aGUgaGFuZGxlci4gSWYg
dGhlcmUgaXMgbm8gYXBwcm9wcmlhdGUKIC8vIGRlYnVnZ2VyIGFnZW50IHRvIGhhbmRsZSBzdWNo
IG1lc3NhZ2VzIHRoZSBtYW5hZ2VyIHdpbGwgcGVyZm9ybSB0aGUgYWN0aW9uCiAvLyBpdHNlbGYs
IG90aGVyd2lzZSB2OCBtYXkgaGFuZyB3YWl0aW5nIGZvciB0aGUgYWN0aW9uLgotY2xhc3MgRGVi
dWdnZXJBZ2VudE1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVidWdnZXJB
Z2VudE1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlYnVnZ2VyQWdlbnRNYW5h
Z2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0F0dGFjaChEZWJ1Z2dlckFnZW50
SW1wbCogZGVidWdnZXJBZ2VudCk7CiAgICAgc3RhdGljIHZvaWQgZGVidWdEZXRhY2goRGVidWdn
ZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRleCBmYzIxZjNl
Li4yODY3OTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0
b3JGcm9udGVuZENsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9J
bnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaApAQCAtNDQsOCArNDQsOCBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIGNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7CiBjbGFzcyBXZWJEZXZU
b29sc0Zyb250ZW5kSW1wbDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDog
cHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsKK2NsYXNzIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJ
bXBsKTsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwoV2ViQ29yZTo6
UGFnZSosIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZUb29sc0Zyb250ZW5kSW1w
bCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgK
aW5kZXggODY2YTFjYi4uZGM3ZDJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCkBAIC01NSw4ICs1NSw4IEBAIHN0cnVj
dCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiB1c2luZyBXVEY6OlN0cmluZzsKIAotY2xhc3Mg
V2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250
ZW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRv
b2xzRnJvbnRlbmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkRldlRvb2xzRnJvbnRl
bmRJbXBsKTsKIHB1YmxpYzoKICAgICBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCgKICAgICAgICAg
V2ViS2l0OjpXZWJWaWV3SW1wbCogd2ViVmlld0ltcGwsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBhMTNlZWMwLi40ZDE5MDUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI4NCw3ICsyODQsOCBA
QCBXZWJQbHVnaW5Db250YWluZXJJbXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNvbnRhaW5lckZy
b21GcmFtZShGcmFtZSogZnJhbWUpCiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVycmlkZSBzb21l
IG9mIFByaW50Q29udGV4dCBiZWhhdmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwogLy8gbWFkZSB2
aXJ0dWFsIHNvIHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBsdWdpblByaW50
Q29udGV4dC4KLWNsYXNzIENocm9tZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmludENvbnRleHQs
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMg
UHJpbnRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQcmludENvbnRl
eHQpOwogcHVibGljOgogICAgIENocm9tZVByaW50Q29udGV4dChGcmFtZSogZnJhbWUpCiAgICAg
ICAgIDogUHJpbnRDb250ZXh0KGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUG9wdXBNZW51SW1wbC5oCmluZGV4IGI4ZWY3YmEuLjQxYTk1MmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYgKzU2LDcgQEAg
c3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGljIFdlYlBvcHVw
TWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6RnJhbWVsZXNz
U2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgUmVmQ291
bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgLy8gV2ViV2lkZ2V0CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyRWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlckVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXJFZmwuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxN
ZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigp
OwogICAgIHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIuaAppbmRleCBkNGJiZWEyLi4zZmI4YjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKKysrIGIv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ci5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1
YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRkb3dubG9hZC5jcHAKaW5kZXggNjBiOGU2ZC4uYTc4OTBjMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCkBAIC01Nyw3ICs1Nyw4IEBAIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogICogb3V0IHdoYXQgaXMgdG8gYmUgZG93bmxvYWRlZCwgYW5kIGRv
IGl0IGl0c2VsZi4KICAqLwogCi1jbGFzcyBEb3dubG9hZENsaWVudCA6IHB1YmxpYyBOb25jb3B5
YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIERvd25sb2FkQ2xpZW50
IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEb3dubG9hZENsaWVudCk7CiAgICAgcHVibGljOgogICAgICAgICBEb3dubG9hZENsaWVudChX
ZWJLaXREb3dubG9hZCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5z
L0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCmluZGV4IGY3ODRh
ZGUuLjRmMmM1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVk
L05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1Bs
dWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0zMTMsNyArMzEz
LDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5KEpTQzo6RXhl
Y1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6OkpTVmFsdWUm
IHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3RhdGUqLCBkYXRh
X3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5ndGgsIEpTQzo6
TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2NhbE9iamVjdE1h
cCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0g
Yi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQpp
bmRleCAyOTEzNzM5Li42NWFiYTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9y
YWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9T
dG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQpAQCAtNTIsNyArNTIsOCBAQCBXZWJE
YXRhYmFzZVRyYWNrZXJDbGllbnQ6On5XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQoKQogewogfQog
Ci1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERpZE1vZGlm
eU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNoVG9NYWluVGhy
ZWFkKFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudCogY2xpZW50LCBTZWN1cml0eU9yaWdpbiogb3Jp
Z2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50
LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCmluZGV4IGE5M2EzYzIuLjY3
MjUxMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKKysr
IGIvU291cmNlL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaApAQCAtMjksMTIgKzI5LDEyIEBA
CiAjZGVmaW5lIE5PTUlOTUFYCiAjaW5jbHVkZSA8dW5rbnduLmg+CiAKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgIkNPTVZhcmlhbnRTZXR0ZXIuaCIKIAogdGVtcGxh
dGU8dHlwZW5hbWUgQ29udGFpbmVyVHlwZT4KLWNsYXNzIENPTUVudW1WYXJpYW50IDogcHVibGlj
IElFbnVtVkFSSUFOVCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENPTUVudW1WYXJpYW50
IDogcHVibGljIElFbnVtVkFSSUFOVCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ09NRW51
bVZhcmlhbnQpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCogYWRvcHQoQ29u
dGFpbmVyVHlwZSYpOwogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCogY3JlYXRlSW5zdGFuY2Uo
Y29uc3QgQ29udGFpbmVyVHlwZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ09N
UHJvcGVydHlCYWcuaCBiL1NvdXJjZS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgKaW5kZXgg
NjEwYzM2Ny4uNjIwNDU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ09NUHJvcGVy
dHlCYWcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5oCkBAIC0zNSw3
ICszNSw4IEBACiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRlbXBsYXRlPHR5
cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5n
LCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4NCi1jbGFzcyBD
T01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcy
LCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5
QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENP
TVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxLZXlUeXBlLCBW
YWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L3dp
bi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggNmI1NmFiNS4uYTY1NTI5ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaApAQCAtMTAy
LDcgKzEwMiw4IEBAIHByaXZhdGU6CiAgICAgaW50IG1fZHJhZ1N0YXJ0T2Zmc2V0OwogfTsKIAot
Y2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJp
dmF0ZUZ1bGxzY3JlZW5DbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlRnVsbHNjcmVl
bkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAgIHZp
cnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJE
YXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcApAQCAtNTIsNyArNTIsOCBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNFcXVhbChMUENXU1RSIHMxLCBMUENXU1RSIHMyKQogICAgIHJldHVybiAhd2Nz
Y21wKHMxLCBzMik7CiB9CiAKLWNsYXNzIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnIDogcHVi
bGljIElQcm9wZXJ0eUJhZywgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlRGV0
YWlsc1Byb3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZyB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcpOwogcHVibGljOgogICAgIHN0YXRp
YyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyogY3JlYXRlSW5zdGFuY2UoY29uc3QgRGF0YWJh
c2VEZXRhaWxzJik7CiAKQEAgLTMyOCw3ICszMjksOCBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIFdlYkRhdGFiYXNlTWFuYWdlcjo6ZGVsZXRlRGF0YWJhc2UoCiAgICAgcmV0dXJuIFNfT0s7
CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGlk
TW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUb01h
aW5UaHJlYWQoV2ViRGF0YWJhc2VNYW5hZ2VyKiBkYXRhYmFzZU1hbmFnZXIsIFNlY3VyaXR5T3Jp
Z2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViSW5z
cGVjdG9yLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaAppbmRleCAwNTNhNTkz
Li5lMmQyZmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzQsNyArMzQsOCBAQAog
CiBjbGFzcyBXZWJWaWV3OwogCi1jbGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMgSVdlYkluc3Bl
Y3RvciwgcHVibGljIElXZWJJbnNwZWN0b3JQcml2YXRlLCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5z
cGVjdG9yUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViSW5zcGVjdG9yKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgV2ViSW5zcGVjdG9yKiBjcmVhdGVJbnN0YW5jZShXZWJWaWV3
Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5n
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCmluZGV4
IGRhNmIyMjEuLmU5Yjk5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkxvY2Fs
aXphYmxlU3RyaW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVT
dHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3RyaW5nTWFwIGZy
YW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNzIExvY2FsaXpl
ZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRTdHJpbmcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJsaWM6CiAgICAg
TG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBtX2NmU3RyaW5n
KHN0cmluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCmluZGV4IGYwODhhNzIuLjAxNTEx
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKKysrIGIv
U291cmNlL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaApAQCAtMzEsNyArMzEsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogfQogCi1jbGFzcyBX
ZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJTY3JpcHRXb3Js
ZCB7CitjbGFzcyBXZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBJV2ViU2NyaXB0V29ybGQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNjcmlwdFdvcmxkKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgV2ViU2NyaXB0V29ybGQqIHN0YW5kYXJkV29ybGQoKTsKICAgICBzdGF0aWMgQ09NUHRyPFdl
YlNjcmlwdFdvcmxkPiBjcmVhdGVJbnN0YW5jZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNlcmlh
bGl6ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiB9CiAKLWNsYXNzIFdlYlNl
cmlhbGl6ZWRKU1ZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNlcmlhbGl6
ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CitjbGFzcyBX
ZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWUsIHB1Ymxp
YyBJV2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShXZWJTZXJpYWxpemVkSlNWYWx1ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTVB0cjxXZWJT
ZXJpYWxpemVkSlNWYWx1ZT4gY3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAppbmRleCBlOGY2YjY3Li40Mjg1NGI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApAQCAtMzIsNyAr
MzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRlbnRVUkxQYXR0
ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgTm9uY29w
eWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNzIFdlYlVzZXJD
b250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4pOwogcHVibGlj
OgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBjcmVhdGVJbnN0
YW5jZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGM2ZGM1Yi4uNWE3ZThhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDExLTAxLTIwICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
ZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5o
ZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcg
bGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJl
cGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGlu
aGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAgZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlv
biBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4KKwogMjAxMS0wMS0xOSAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIFdlYktpdDIgYnVpbGQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCmluZGV4IDA4MjViZjYuLmVjNzUyM2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL01vZHVsZS5oCkBAIC0zOSw3ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCi1jbGFzcyBNb2R1bGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTW9kdWxlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNb2R1bGUpOwogcHVibGljOgogICAgIE1vZHVsZShj
b25zdCBTdHJpbmcmIHBhdGgpOwogICAgIH5Nb2R1bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
U2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uOTg1NDEzMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKKysrIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vU2hhcmVkTWVtb3J5LmgKQEAgLTUyLDcgKzUyLDggQEAgcHVibGljOgogICAgICAgICBS
ZWFkV3JpdGUKICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFibGUgeworICAg
IGNsYXNzIEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhhbmRsZSk7CiAg
ICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCBkN2Y1OTJlLi42
YzIyMWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblBy
b2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
aApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlvbjsKIHN0cnVjdCBQ
bHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNsYXNzIFBsdWdpblBy
b2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpblBy
b2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaGFyZWQoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4IDc4ZmUxZjQuLjhjNWU4ZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTI3LDEzICsyNywxMSBAQAogI2Rl
ZmluZSBDaGlsZFByb2Nlc3NfaAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgQ2hpbGRQ
cm9jZXNzIDogcHJvdGVjdGVkIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudCB7CiAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ2hpbGRQcm9jZXNzKTsKLQogcHJvdGVjdGVkOgogICAgIENoaWxk
UHJvY2VzcygpOwogICAgIH5DaGlsZFByb2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
TWVtb3J5U2FtcGxlci5oCmluZGV4IDkzMjU0ZDkuLmM1MGQzYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaApAQCAtNjksOCArNjksOCBAQCBzdHJ1Y3QgV2ViTWVt
b3J5U3RhdGlzdGljcwogICAgIFZlY3RvcjxzaXplX3Q+IHZhbHVlczsKIH07CiAgICAgCi1jbGFz
cyBXZWJNZW1vcnlTYW1wbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKLQorY2xhc3MgV2ViTWVt
b3J5U2FtcGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViTWVtb3J5U2FtcGxlcik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYk1lbW9yeVNhbXBsZXIqIHNoYXJlZCgpOwogICAgIHZv
aWQgc3RhcnQoY29uc3QgZG91YmxlIGludGVydmFsPTApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKaW5kZXggYzI2
NWYyZTIuLmExNTBkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaApAQCAtNDEsNyArNDEsOCBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIGNsYXNzIFBsdWdpblByb2Nlc3NQcm94eTsKIGNsYXNzIFdlYlByb2Nlc3NQ
cm94eTsKIAotY2xhc3MgUGx1Z2luUHJvY2Vzc01hbmFnZXIgOiBOb25jb3B5YWJsZSAgeworY2xh
c3MgUGx1Z2luUHJvY2Vzc01hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdp
blByb2Nlc3NNYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2Vzc01hbmFn
ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCmluZGV4IDQ4NWY4OTIuLjFlMGMy
NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVn
aW5JbmZvU3RvcmVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5z
L3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTMsNyArMjUzLDggQEAgVmVjdG9yPFN0
cmluZz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAgIHJldHVybiBk
aXJlY3RvcmllczsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBQYXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXRoV2Fsa2Vy
KTsKIHB1YmxpYzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3Zp
ZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCmlu
ZGV4IDAxNTUxNWMuLmE0MjhkNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zp
c2l0ZWRMaW5rUHJvdmlkZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9MaW5rSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIFdlYkNvbnRleHQ7CiAgICAgCi1jbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVy
IDogTm9uY29weWFibGUgeworY2xhc3MgVmlzaXRlZExpbmtQcm92aWRlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoVmlzaXRlZExpbmtQcm92aWRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGlj
aXQgVmlzaXRlZExpbmtQcm92aWRlcihXZWJDb250ZXh0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDIzMTllYzcuLmJhY2RkMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2Fk
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaApA
QCAtNjMsNyArNjMsNiBAQCBjbGFzcyBXZWJQYWdlOwogCiBjbGFzcyBEb3dubG9hZCA6IHB1Ymxp
YyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyPERvd25sb2FkPiB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRG93bmxvYWQpOwotCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8RG93bmxv
YWQ+IGNyZWF0ZSh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmKTsKICAgICB+RG93bmxvYWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCmluZGV4IDY3MzdiZDQuLjM1
MTgyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OUEpTT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8vIE5QSlNPYmplY3QgaXMgYW4g
TlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3MgTlBKU09iamVjdCA6IHB1Ymxp
YyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09iamVjdCA6IHB1YmxpYyBOUE9i
amVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09iamVjdCk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAqIG9iamVjdE1h
cCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25N
YW5hZ2VyLmgKaW5kZXggZDdiYTg1My4uOGI2MGYxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXIuaApAQCAtMzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb247CiAgICAgICAgIAotY2xhc3MgUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb25NYW5hZ2VyIDogTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb25NYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbk1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbk1hbmFnZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDQ5MmM0ZC4uZWVhZDM3NCAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEx
LTAxLTIwICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBj
dXN0b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RB
bGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2
LCAjNDY1ODkpLgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxl
IGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdpdGggdGhlaXIK
KyAgICAgICAgZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5
IHBsYWNlcy4KIDIwMTEtMDEtMTkgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYnVpbGQgZml4IC0gSSBwdWxsZWQgdGhpcyBwYXRjaCBp
biB0byBmaXggYW4gaXNzdWUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0NwcEJvdW5kQ2xhc3MuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJv
dW5kQ2xhc3MuaAppbmRleCA2Y2I2MzhlLi42MTUxYTljIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCkBAIC01OCw3ICs1OCw4IEBAIHR5cGVkZWYg
VmVjdG9yPENwcFZhcmlhbnQ+IENwcEFyZ3VtZW50TGlzdDsKIAogLy8gQ3BwQm91bmRDbGFzcyBs
ZXRzIHlvdSBtYXAgSmF2YXNjcmlwdCBtZXRob2QgY2FsbHMgYW5kIHByb3BlcnR5IGFjY2Vzc2Vz
CiAvLyBkaXJlY3RseSB0byBDKysgbWV0aG9kIGNhbGxzIGFuZCBDcHBWYXJpYW50KiB2YXJpYWJs
ZSBhY2Nlc3MuCi1jbGFzcyBDcHBCb3VuZENsYXNzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIENwcEJvdW5kQ2xhc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENwcEJvdW5kQ2xh
c3MpOwogcHVibGljOgogICAgIGNsYXNzIFByb3BlcnR5Q2FsbGJhY2sgewogICAgIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdl
bnQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaApp
bmRleCBlMTQ3OGQwLi42NjU0MzVjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCkBAIC00OSw4ICs0OSw4IEBAIHN0cnVjdCBXZWJEZXZU
b29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsKIAotY2xhc3MgRFJU
RGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQKLSAg
ICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2
VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwogcHVibGljOgogICAgIERS
VERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0FnZW50KCkge30KZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50
LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCmlu
ZGV4IDljYTE0MDIuLjBjYmE1MWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRFJURGV2VG9vbHNDbGllbnQuaApAQCAtNDgsOCArNDgsOCBAQCBjbGFzcyBXZWJWaWV3
OwogCiBjbGFzcyBEUlREZXZUb29sc0FnZW50OwogCi1jbGFzcyBEUlREZXZUb29sc0NsaWVudCA6
IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQKLSAgICAgICAgICAgICAg
ICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERSVERldlRvb2xzQ2xpZW50
IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNDbGllbnQpOwogcHVibGljOgogICAgIERSVERldlRv
b2xzQ2xpZW50KERSVERldlRvb2xzQWdlbnQqLCBXZWJLaXQ6OldlYlZpZXcqKTsKICAgICB2aXJ0
dWFsIH5EUlREZXZUb29sc0NsaWVudCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaAppbmRleCBiNjcxNDg5Li44
NTAyYTk2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2
aWdhdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaApAQCAtMTExLDcgKzExMSw4IEBAIHB1YmxpYzoKIAog
Ly8gVGVzdCBzaGVsbCdzIE5hdmlnYXRpb25Db250cm9sbGVyLiBUaGUgZ29hbCBpcyB0byBiZSBh
cyBjbG9zZSB0byB0aGUgQ2hyb21lCiAvLyB2ZXJzaW9uIGFzIHBvc3NpYmxlLgotY2xhc3MgVGVz
dE5hdmlnYXRpb25Db250cm9sbGVyOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGVzdE5h
dmlnYXRpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0TmF2aWdh
dGlvbkNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcihO
YXZpZ2F0aW9uSG9zdCopOwogICAgIH5UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIoKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVFdp
bi5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJUV2lu
LmgKaW5kZXggNGUyMjQ2MS4uZWRlMTQ1OCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJUV2luLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJUV2luLmgKQEAgLTQ2LDcgKzQ2LDggQEAK
IC8vIFNraWEgZm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0OwogCi1jbGFzcyBX
ZWJUaGVtZUNvbnRyb2xEUlRXaW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViVGhl
bWVDb250cm9sRFJUV2luIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUNvbnRy
b2xEUlRXaW4pOwogcHVibGljOgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMgbW9zdGx5IG1p
cnJvcnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKICAgICAvLyBi
dXQgaXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVibGljIGFuZCBh
bHNvIHRvIG1pbmltaXplCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJUaGVtZUVuZ2luZURSVFdpbi5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVGhlbWVFbmdpbmVEUlRXaW4uaAppbmRleCAyZTE1Y2Y4Li45YjFlODE3IDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVFdpbi5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJUV2luLmgK
QEAgLTUwLDcgKzUwLDggQEAKICNpbmNsdWRlICJ3aW4vV2ViVGhlbWVFbmdpbmUuaCIKICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAotY2xhc3MgV2ViVGhlbWVFbmdpbmVEUlRXaW4gOiBw
dWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFdlYlRoZW1lRW5naW5lRFJUV2luIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRoZW1lRW5naW5lRFJUV2luKTsKIHB1YmxpYzoK
ICAgICBXZWJUaGVtZUVuZ2luZURSVFdpbigpIHt9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dEFQSVRlc3QvSG9zdFdpbmRvdy5oIGIvVG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgK
aW5kZXggYTI3MzRlZC4uMmFhYTg1ZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0QVBJVGVzdC9I
b3N0V2luZG93LmgKKysrIGIvVG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmgKQEAgLTMw
LDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCi1jbGFzcyBIb3N0V2lu
ZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEhvc3RXaW5kb3cpOwogcHVibGljOgogICAgIEhvc3RXaW5kb3coKTsK
ICAgICB+SG9zdFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0
c0NvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9sbGVyLmgKaW5k
ZXggMTFiNDU3ZC4uYmRjYzQ1NSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0
c0NvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJvbGxlci5o
CkBAIC0yOCwxMyArMjgsMTMgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCiBjbGFzcyBUZXN0OwogCi1j
bGFzcyBUZXN0c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGVzdHND
b250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0c0NvbnRyb2xsZXIpOwog
cHVibGljOgogICAgIHN0YXRpYyBUZXN0c0NvbnRyb2xsZXImIHNoYXJlZCgpOwogCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmggYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKaW5kZXggZmVjMWY3YS4uZWZjNjYzNSAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApAQCAtMzEsNyArMzEsOCBAQAog
CiBuYW1lc3BhY2UgV1RSIHsKIAotY2xhc3MgVGVzdEludm9jYXRpb24gOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgVGVzdEludm9jYXRpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRlc3RJbnZvY2F0aW9uKTsKIHB1YmxpYzoKICAgICBUZXN0SW52b2NhdGlvbihjb25zdCBjaGFy
Kik7CiAgICAgflRlc3RJbnZvY2F0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79568</attachid>
            <date>2011-01-20 02:35:58 -0800</date>
            <delta_ts>2011-01-20 02:59:35 -0800</delta_ts>
            <desc>proposed patch (review candidate)</desc>
            <filename>fab6.patch</filename>
            <type>text/plain</type>
            <size>296836</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKaW5kZXggNTA2MjA5My4uMDk3MTcw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKQEAgLTM0LDcgKzM0LDkg
QEAKICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ1B0ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAKLXN0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
U3RhdGljVmFsdWVFbnRyeSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CiAgICAgU3RhdGljVmFsdWVFbnRyeShKU09iamVjdEdldFByb3BlcnR5Q2FsbGJhY2sgX2dldFBy
b3BlcnR5LCBKU09iamVjdFNldFByb3BlcnR5Q2FsbGJhY2sgX3NldFByb3BlcnR5LCBKU1Byb3Bl
cnR5QXR0cmlidXRlcyBfYXR0cmlidXRlcykKICAgICAgICAgOiBnZXRQcm9wZXJ0eShfZ2V0UHJv
cGVydHkpLCBzZXRQcm9wZXJ0eShfc2V0UHJvcGVydHkpLCBhdHRyaWJ1dGVzKF9hdHRyaWJ1dGVz
KQogICAgIHsKQEAgLTQ1LDcgKzQ3LDkgQEAgc3RydWN0IFN0YXRpY1ZhbHVlRW50cnkgOiBGYXN0
QWxsb2NCYXNlIHsKICAgICBKU1Byb3BlcnR5QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwogfTsKIAot
c3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0
aWNGdW5jdGlvbkVudHJ5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBf
Y2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAg
ICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5jdGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0
ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8g
QW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMgY3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwg
c28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29udGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBn
cm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xkcyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFj
cm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoT3BhcXVl
SlNDbGFzcyopOwogICAgIH5PcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4Li5kNmRlNDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtNDgwLDcgKzQ4
MCw5IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVm
IGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
c3RydWN0IE9wYXF1ZUpTUHJvcGVydHlOYW1lQXJyYXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEo
Z2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGU1OGU4YzBkLi5iYjEzMmJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wMS0yMCAg
Wm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFs
bG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNl
IGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5
KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlvbiByZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFz
dEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVzZSBpbmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAg
IGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMu
CisKKyAgICAgICAgKiB3dGYvRmFzdEFsbG9jQmFzZS5oOiBUdXJuIEZhc3RBbGxvY0Jhc2UncyBp
bXBsZW1lbnRhdGlvbiBpbnRvIGEgbWFjcm8uCisKIDIwMTEtMDEtMjAgIE1hcmsgUm93ZSAgPG1y
b3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKaW5kZXggZTM4
YjlkNC4uYzVhN2Q1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9MaW5rQnVmZmVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhlIGFk
ZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZlZC4K
IC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0Lgog
Ly8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlua0J1
ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlwZWRl
ZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1i
bGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIExh
YmVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdl
Y2E3MmEuLjFjZDA4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKQEAgLTI0Miw3ICsyNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9CiAjZW5kaWYK
IAotICAgIGNsYXNzIENvZGVCbG9jayA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBDb2RlQmxvY2sgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAg
ZnJpZW5kIGNsYXNzIEpJVDsKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3Jp
cHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCos
IFBhc3NSZWZQdHI8U291cmNlUHJvdmlkZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJv
bFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9vbCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1Nzks
OSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBTeW1ib2xUYWJsZSogbV9zeW1ib2xUYWJs
ZTsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
c3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFZlY3RvcjxIYW5kbGVySW5mbz4gbV9leGNlcHRp
b25IYW5kbGVyczsKIAogICAgICAgICAgICAgLy8gUmFyZSBDb25zdGFudHMKQEAgLTU5OSw2ICs2
MDIsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIFZlY3RvcjxDYWxsUmV0dXJuT2Zm
c2V0VG9CeXRlY29kZU9mZnNldD4gbV9jYWxsUmV0dXJuSW5kZXhWZWN0b3I7CiAjZW5kaWYKICAg
ICAgICAgfTsKKyNpZiBQTEFURk9STShXSU4pCisgICAgICAgIGZyaWVuZCB2b2lkIFdURjo6ZGVs
ZXRlT3duZWRQdHI8UmFyZURhdGE+KFJhcmVEYXRhKik7CisjZW5kaWYKICAgICAgICAgT3duUHRy
PFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0luc3RydWN0aW9uLmgKaW5kZXggYzY0NjhhNS4uZjA3N2NiZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHN0
cnVjdCBQb2x5bW9ycGhpY1N0dWJJbmZvIHsKICAgICAgICAgICAgIGJvb2wgaXNDaGFpbjsKICAg
ICAgICAgICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdFN0dWJSb3V0aW5lVHlwZSBz
dHViUm91dGluZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9T
YW1wbGluZ1Rvb2wuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rv
b2wuaAppbmRleCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1NhbXBsaW5nVG9vbC5oCkBAIC0xNDIsNyArMTQyLDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBIb3N0Q2FsbFJlY29yZDsKICAgICAgICAgCiAjaWYg
RU5BQkxFKE9QQ09ERV9TQU1QTElORykKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAg
ICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKiBzYW1wbGluZ1Rvb2wpCiAgICAgICAgICAg
ICAgICAgOiBtX3NhbXBsaW5nVG9vbChzYW1wbGluZ1Rvb2wpCkBAIC0xNzIsNyArMTczLDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAjZWxzZQotICAgICAg
ICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
Q2FsbFJlY29yZCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3Jk
KTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wq
KQogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDhiMGNjNDAuLmRlMTZmOGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBE
ZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVj
bGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4u
NzhkNDlkMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9S
ZWdpc3RlcklELmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdp
c3RlcklELmgKQEAgLTMwLDEyICszMCwxMiBAQAogI2RlZmluZSBSZWdpc3RlcklEX2gKIAogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNs
YXNzIFJlZ2lzdGVySUQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVy
SUQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlcklEKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFJlZ2lzdGVySUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50KDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBk
ZmJlNjU4Li43NDAwMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvQ2FjaGVkQ2FsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgQ2FjaGVkQ2FsbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNGdW5jdGlvbiogZnVu
Y3Rpb24sIGludCBhcmdDb3VudCkKICAgICAgICAgICAgIDogbV92YWxpZChmYWxzZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3
OTBjZi4uNzUzZDkwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJfaAog
CiAjaW5jbHVkZSAiQXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNs
dWRlICJKU0NlbGwuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmplY3Qu
aCIKQEAgLTY1LDcgKzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4TGFy
Z2VUaHJlYWRSZWVudHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRoID0g
MzIgfTsKIAotICAgIGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgIGNsYXNzIEludGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRD
YWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9SZWdpc3Rlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1Jl
Z2lzdGVyLmgKaW5kZXggMzhkMTY0Ny4uMzk0NDY0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUg
IkpTVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKQEAgLTQ3LDcgKzQ2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0eXBlZGVm
IEV4ZWNTdGF0ZSBDYWxsRnJhbWU7CiAKLSAgICBjbGFzcyBSZWdpc3RlciA6IHB1YmxpYyBXVEY6
OkZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFJlZ2lzdGVyIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcigpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKaW5kZXgg
NzVmZDc4NC4uMzQ5OGU5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL1JlZ2lzdGVyRmlsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9SZWdpc3RlckZpbGUuaApAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJGaWxlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQgY2xhc3MgSklU
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRyeSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggZGZkYjIyYy4uZDQxNDVjMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIFJlZ0V4cDsKIAotICAgIGNsYXNzIExleGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMZXhlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKExleGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGljIGJv
b2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlcy5oCmluZGV4IDU0YjcyMzEuLjZlNzNjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L05vZGVzLmgKQEAgLTEzNzYsNyArMTM3Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBQ
YXJhbWV0ZXJOb2RlKiBtX25leHQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBTY29wZU5vZGVEYXRh
IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFNjb3BlTm9kZURhdGEgeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVj
bGFyYXRpb25TdGFja3M6OlZhclN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBlZGVmIERlY2xh
cmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CiAKQEAgLTE0NzIsNiAr
MTQ3NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBGdW5jdGlvblBh
cmFtZXRlcnMgOiBwdWJsaWMgVmVjdG9yPElkZW50aWZpZXI+LCBwdWJsaWMgUmVmQ291bnRlZDxG
dW5jdGlvblBhcmFtZXRlcnM+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+
IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFtZXRlcikgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFtZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IGIyNTdiNjguLjU4Mzk4ZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtNDUsOCArNDUsMTAgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5hRGF0YSA6
IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFyc2VyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CisgICAgICAgIFBhcnNlcigpIHsgfQogICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgUGFyc2Vk
Tm9kZT4KICAgICAgICAgUGFzc1JlZlB0cjxQYXJzZWROb2RlPiBwYXJzZShKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRGVidWdnZXIqLCBFeGVjU3RhdGUqLCBjb25zdCBTb3Vy
Y2VDb2RlJiBzb3VyY2UsIEZ1bmN0aW9uUGFyYW1ldGVycyosIEpTUGFyc2VyU3RyaWN0bmVzcyBz
dHJpY3RuZXNzLCBKU09iamVjdCoqIGV4Y2VwdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi44MmZiODA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oCkBAIC0zNCw3ICszNCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFBhcnNlckFyZW5hRGVsZXRhYmxlOwogICAgIGNsYXNz
IFBhcnNlckFyZW5hUmVmQ291bnRlZDsKIAotICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19J
TkxJTkUgY29uc3QgSWRlbnRpZmllciYgbWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29u
c3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVu
dGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJl
cik7CkBAIC01OSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9p
ZGVudGlmaWVycy5sYXN0KCk7CiAgICAgfQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYXJzZXJBcmVuYSk7CiAgICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgp
OwogICAgICAgICB+UGFyc2VyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3Jl
X2V4ZWMuY3BwCmluZGV4IDc4OWY4MGEuLmI3MDE4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BjcmUvcGNyZV9leGVjLmNwcApAQCAtMTEyLDcgKzExMiw5IEBAIHN0cnVjdCBCcmFja2V0Q2hh
aW5Ob2RlIHsKICAgICBjb25zdCBVQ2hhciogYnJhY2tldFN0YXJ0OwogfTsKIAotc3RydWN0IE1h
dGNoRnJhbWUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBNYXRjaEZyYW1lIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBSZXR1cm5Mb2NhdGlvbiByZXR1cm5M
b2NhdGlvbjsKICAgICBzdHJ1Y3QgTWF0Y2hGcmFtZSogcHJldmlvdXNGcmFtZTsKICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKaW5kZXgg
NzZjMTQ3MC4uYTk4MjdjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2Zp
bGVyL0NhbGxJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVy
L0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRp
Zmllcl9oCiAKICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxs
b2NCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElk
ZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlm
aWVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAg
ICAgICBVU3RyaW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3VybDsKICAgICAgICAgdW5z
aWduZWQgbV9saW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3By
b2ZpbGVyL1Byb2ZpbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmls
ZXIuaAppbmRleCBmOWMyY2NiLi5mODg3NDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvUHJvZmlsZXIuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBVU3RyaW5nOwogICAgIHN0cnVjdCBDYWxsSWRlbnRpZmllcjsgICAgCiAKLSAgICBjbGFz
cyBQcm9maWxlciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQcm9maWxlciB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNlKCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNj
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKQEAgLTI1LDE0ICsy
NSwxNCBAQAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgTWFy
a1N0YWNrOwogCi0gICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWFya2VkQXJndW1lbnRCdWZmZXIpOwogICAgIHByaXZhdGU6CiAgICAg
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDg7CiAgICAgICAgIHR5
cGVkZWYgVmVjdG9yPFJlZ2lzdGVyLCBpbmxpbmVDYXBhY2l0eT4gVmVjdG9yVHlwZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uZmU5MDBh
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcg
KzMzLDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0
aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFu
c2l0aW9uT3B0aW1pemVyLmgKaW5kZXggNzQwODlhNS4uZGIyZDFkNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplci5oCkBAIC0yNywxMiArMjcsMTIgQEAKICNpZm5kZWYgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXJfaAogI2RlZmluZSBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJKU09iamVjdC5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKEpTT2JqZWN0KiBv
YmplY3QpCiAgICAgICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDFlMjJiNmEuLjY1
ODdhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklk
ZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaApAQCAtODQsNyArODQsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNs
YXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
b21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklk
ZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgQ29tbW9uSWRlbnRpZmllcnMoSlNHbG9iYWxEYXRhKik7CiAgICAgICAgIGZyaWVuZCBjbGFz
cyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9IZWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IZWFwLmgKaW5kZXggMjQz
YmJhMy4uM2UxZDg4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuaApAQCAtNDUs
NyArNDUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0gT3BlcmF0aW9uSW5Qcm9ncmVz
cyB7IE5vT3BlcmF0aW9uLCBBbGxvY2F0aW9uLCBDb2xsZWN0aW9uIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGRlc3Ry
b3koKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKaW5kZXggYTIyYjBhYS4uMjRiYzJmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUsNyArNDY1LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJyYXkoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1ZXMpOwogICAgIH0KIAotICAgIGNsYXNz
IER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIER5bmFt
aWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNHbG9iYWxPYmplY3Qq
IGR5bmFtaWNHbG9iYWxPYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0xvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9j
ay5oCmluZGV4IDA1YjM4OGMuLjdiMDdiNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTG9jay5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBK
U0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRpb25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAot
ICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2Nr
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAgICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSop
OwpAQCAtODksNyArOTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhh
dmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgeworICAgICAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFsbExvY2tzKTsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNTdGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBE
cm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09OT2JqZWN0LmNwcAppbmRleCA5ZTYzMDI3Li5kZjRiZTUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcApAQCAtNzAsNyArNzAsOCBAQCBw
cml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1ZSBtX3ZhbHVlOwogfTsKIAotY2xhc3MgU3RyaW5n
aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5naWZpZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lmaWVyKTsKIHB1YmxpYzoKICAgICBTdHJpbmdpZmll
cihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxhY2VyLCBKU1ZhbHVlIHNwYWNlKTsKICAgICB+U3Ry
aW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJj
ODFkNC4uMGQ2ZDk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAg
LTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYyBHZXRGdW5jdGlvbjsKICAgICB0eXBlZGVmIHZvaWQgKCpQdXRGdW5jdGlv
bikoRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgdmFsdWUpOwogCi0g
ICAgY2xhc3MgSGFzaEVudHJ5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhh
c2hFbnRyeSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmluZ0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBh
dHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRyX3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZVN0YWNrTWFya2Vy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaApp
bmRleCBlODBmZTA1Li5iMTg2ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICBjbGFzcyBIZWFwOwogICAgIGNsYXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNz
IE1hY2hpbmVTdGFja01hcmtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFj
aGluZVN0YWNrTWFya2VyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFjaGluZVN0
YWNrTWFya2VyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hY2hpbmVTdGFja01hcmtlcihIZWFw
Kik7CiAgICAgICAgIH5NYWNoaW5lU3RhY2tNYXJrZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXggN2JjY2FkZi4uZjU0Y2ZhNiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgCiAgICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5O
dWxsVmFsdWVzLCBOb051bGxWYWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWFya1N0YWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lk
KiBqc0FycmF5VlB0cikKICAgICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZFNwYWNlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrZWRTcGFjZS5oCmluZGV4IDc4Zjkx
OGMuLjNiMGM1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
cmtlZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3Bh
Y2UuaApAQCAtNjMsNyArNjMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07
CiAKLSAgICBjbGFzcyBNYXJrZWRTcGFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgTWFya2VkU3BhY2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYXJrZWRTcGFj
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBNYXJrZWRTcGFjZShKU0dsb2JhbERhdGEqKTsKICAg
ICAgICAgdm9pZCBkZXN0cm95KFByb3RlY3RDb3VudFNldCYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggNThhYmRlNS4uMTcx
NGJkMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJl
Z0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0g
ICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
IHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIEdsb2JhbCBzZWFyY2ggY2FjaGUg
LyBzZXR0aW5ncwogICAgICAgICBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUoKQogICAgICAgICAg
ICAgOiBsYXN0TnVtU3ViUGF0dGVybnMoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggYzhjYWUyOC4uOTljODRkYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTU4LDcgKzU4LDkgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBtYXRjaChFeGVjU3RhdGUq
KTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVnRXhwT2JqZWN0
RGF0YShOb25OdWxsUGFzc1JlZlB0cjxSZWdFeHA+IHJlZ0V4cCwgZG91YmxlIGxhc3RJbmRleCkK
ICAgICAgICAgICAgICAgICA6IHJlZ0V4cChyZWdFeHApCiAgICAgICAgICAgICAgICAgLCBsYXN0
SW5kZXgobGFzdEluZGV4KQpAQCAtNjgsNyArNzAsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgICAgIFJlZlB0cjxSZWdFeHA+IHJlZ0V4cDsKICAgICAgICAgICAgIGRvdWJsZSBsYXN0SW5k
ZXg7CiAgICAgICAgIH07Ci0KKyNpZiBQTEFURk9STShXSU4pCisgICAgICAgIGZyaWVuZCB2b2lk
IFdURjo6ZGVsZXRlT3duZWRQdHI8UmVnRXhwT2JqZWN0RGF0YT4oUmVnRXhwT2JqZWN0RGF0YSop
OworI2VuZGlmCiAgICAgICAgIE93blB0cjxSZWdFeHBPYmplY3REYXRhPiBkOwogICAgIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAwYjE1YjY3
Li5iMTA0ZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29w
ZUNoYWluLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5o
CkBAIC0yMSw3ICsyMSw3IEBACiAjaWZuZGVmIFNjb3BlQ2hhaW5faAogI2RlZmluZSBTY29wZUNo
YWluX2gKIAotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdEFs
bG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU2NvcGVDaGFpbkl0ZXJh
dG9yOwogICAgIAotICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWlu
Tm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAg
ICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKaW5kZXggZjM1ODcyNy4uNTYxNDkzMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCkBAIC00MCw3ICs0MCw4IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc01hcmtlZChKU1N0cmluZyogc3RyaW5nKQogICAgIHJldHVybiBz
dHJpbmcgJiYgSGVhcDo6aXNDZWxsTWFya2VkKHN0cmluZyk7CiB9CiAKLWNsYXNzIFNtYWxsU3Ry
aW5nc1N0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU21hbGxTdHJpbmdzU3Rv
cmFnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU21hbGxTdHJpbmdzU3RvcmFnZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNtYWxsU3RyaW5nc1N0b3JhZ2Uo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJp
bmdzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRl
eCBkMWViZmIxMy4uYWM4NGZlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xh
c3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAgICBjbGFz
cyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNtYWxsU3Ry
aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU21hbGxTdHJpbmdzKCk7
CiAgICAgICAgIH5TbWFsbFN0cmluZ3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjI2MzU1MDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYgKzEyMiw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFN5bWJv
bFRhYmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJ
bXBsPiA+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9sVGFibGU7CiAKICAgICBj
bGFzcyBTaGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJsZSwgcHVibGljIFJlZkNv
dW50ZWQ8U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xU
YWJsZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsg
fQogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5o
CmluZGV4IDJkNGU1OWQuLjMxNjc5NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtHQ01hcC5oCkBAIC0zNSw3ICszNSw4IEBAIGNsYXNzIEpTQ2VsbDsKIAogLy8gQSBIYXNo
TWFwIHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMgZW1wdHlWYWx1ZSgpIGZvciBjZWxscyBh
d2FpdGluZyBkZXN0cnVjdGlvbi4KIHRlbXBsYXRlPHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1l
IE1hcHBlZFR5cGU+Ci1jbGFzcyBXZWFrR0NNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Citj
bGFzcyBXZWFrR0NNYXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIC8qCiAg
ICAgSW52YXJpYW50czoKICAgICAgICAgKiBBIHZhbHVlIGVudGVycyB0aGUgV2Vha0dDTWFwIG1h
cmtlZC4gKEd1YXJhbnRlZWQgYnkgc2V0KCkuKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaAppbmRleCA2Y2M3NWE1Li40OTQ2ZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRl
ICJIZWFwLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21hcnQgcG9pbnRlciB3aG9zZSBnZXQo
KSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6IE5vbmNvcHlhYmxlIHsKK3RlbXBs
YXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dDUHRyKCkKICAgICAgICAgOiBtX3B0
cigwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJl
ZkNvdW50ZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3Vu
dGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIC8vIHdpdGggcmVzcGVjdCB0byB0aGUgb3JpZ2luYWwgYW5kIGFueSBv
dGhlciBjb3BpZXMuICBUaGUgdW5kZXJseWluZyBtX2RhdGEgaXMgam9pbnRseQogICAgIC8vIG93
bmVkIGJ5IHRoZSBvcmlnaW5hbCBpbnN0YW5jZSBhbmQgYWxsIGNvcGllcy4KICAgICB0ZW1wbGF0
ZTxjbGFzcyBUPgotICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZWZDb3VudGVkKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENyb3NzVGhyZWFkUmVmQ291bnRlZDxUPiA+IGNyZWF0
ZShUKiBkYXRhKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0RhdGVNYXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKaW5k
ZXggOGQwZDkzMi4uNDFiZDRmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApA
QCAtNDQsNiArNDQsNyBAQAogI2RlZmluZSBEYXRlTWF0aF9oCiAKICNpbmNsdWRlIDxtYXRoLmg+
CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8dGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpAQCAtMTIwLDcgKzEyMSw5IEBAIGRv
dWJsZSBwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKEV4ZWNTdGF0ZSosIGNv
bnN0IGNoYXIqIGRhdGVTdHJpbmcpCiAKIC8vIEludGVudGlvbmFsbHkgb3ZlcnJpZGRpbmcgdGhl
IGRlZmF1bHQgdG0gb2YgdGhlIHN5c3RlbS4KIC8vIFRoZSBtZW1iZXJzIG9mIHRtIGRpZmZlciBv
biB2YXJpb3VzIG9wZXJhdGluZyBzeXN0ZW1zLgotc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIDog
Tm9uY29weWFibGUgeworc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHcmVnb3JpYW5EYXRlVGltZSk7CitwdWJsaWM6CiAgICAgR3JlZ29yaWFuRGF0
ZVRpbWUoKQogICAgICAgICA6IHNlY29uZCgwKQogICAgICAgICAsIG1pbnV0ZSgwKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLjFiMTZhZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0RlcXVlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgRGVxdWUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRv
cjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCmluZGV4IGJiMTgyNWUu
LmU0ODk5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9j
QmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCkBA
IC0zMiw4ICszMiw4IEBACiAvLyBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIGZh
c3RNYWxsb2MvZmFzdEZyZWUgYW5kIG9wZXJhdG9yIG5ldy9kZWxldGUKIC8vCiAvLyBQcm92aWRl
ZCBmdW5jdGlvbmFsaXR5OgorLy8gICAgTWFjcm86IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAv
LyAgICBuYW1lc3BhY2UgV1RGIHsKLS8vICAgICAgICBjbGFzcyBGYXN0QWxsb2NCYXNlOwogLy8K
IC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KCk7CiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxU
PihhcmcpOwpAQCAtNDgsNyArNDgsMTYgQEAKIC8vIEZhc3REZWxldGUgYXNzdW1lcyB0aGF0IHRo
ZSB1bmRlcmx5aW5nCiAvLwogLy8gRXhhbXBsZSB1c2FnZToKLS8vICAgIGNsYXNzIFdpZGdldCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsgLi4uIH07CisvLyAgICBjbGFzcyBXaWRnZXQgeworLy8g
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisvLyAgICAuLi4KKy8vICAgIH07CisvLwor
Ly8gICAgc3RydWN0IERhdGEgeworLy8gICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisv
LyAgICBwdWJsaWM6CisvLyAgICAuLi4KKy8vICAgIH07CiAvLwogLy8gICAgY2hhciogY2hhclB0
ciA9IGZhc3ROZXc8Y2hhcj4oKTsKIC8vICAgIGZhc3REZWxldGUoY2hhclB0cik7CkBAIC04Myw4
ICs5Miw2IEBACiAjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMu
aCIKIAotbmFtZXNwYWNlIFdURiB7Ci0KICNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQg
XAogcHVibGljOiBcCiAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyBy
ZXR1cm4gcDsgfSBcCkBAIC0xMTUsMTEgKzEyMiwxMCBAQCBwdWJsaWM6IFwKICAgICAgICAgIDo6
V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxv
Y1R5cGVDbGFzc05ld0FycmF5KTsgXAogICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCiAg
ICAgfSBcCi1wcml2YXRlOgorcHJpdmF0ZTogXAordHlwZWRlZiBpbnQgVGhpc0lzSGVyZVRvRm9y
Y2VBU2VtaWNvbG9uQWZ0ZXJUaGlzTWFjcm8KIAotY2xhc3MgRmFzdEFsbG9jQmFzZSB7Ci0gICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQgIAotfTsKK25hbWVzcGFjZSBXVEYgewogCiAgICAgLy8g
ZmFzdE5ldyAvIGZhc3REZWxldGUKIApAQCAtNDEwLDcgKzQxNiw2IEBAIGNsYXNzIEZhc3RBbGxv
Y0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NCYXNl
OwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYgLy8g
RmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hh
c2hDb3VudGVkU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0
LmgKaW5kZXggNGVkNzVjNS4uYjk3ZDhjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
SGFzaENvdW50ZWRTZXQuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjZGVmaW5lIFdURl9IYXNoQ291
bnRlZFNldF9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiRmFzdEFsbG9j
QmFzZS5oIgogI2luY2x1ZGUgIkhhc2hNYXAuaCIKICNpbmNsdWRlICJWZWN0b3IuaCIKIAogbmFt
ZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgSGFz
aEZ1bmN0aW9ucyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlPjo6SGFzaCwKLSAgICAgICAg
dHlwZW5hbWUgVHJhaXRzID0gSGFzaFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNl
dCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzID0gSGFz
aFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNldCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxW
YWx1ZSwgdW5zaWduZWQsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cz4gSW1wbFR5cGU7CiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAppbmRleCAwOTA5NGQxLi43NzMxNTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBuYW1l
c3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFw
cGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6
SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+
LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgotICAg
IGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1h
cCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAg
ICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBw
ZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApp
bmRleCA2NjYzOWU0Li5iZTZiOTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0hhc2hTZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApA
QCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgSWRlbnRpdHlFeHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1
ZUFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6
SGFzaCwKLSAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4g
PiBjbGFzcyBIYXNoU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFt
ZSBUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBl
ZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFs
dWVUcmFpdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNo
U2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKaW5kZXggZTE0
YWM0NS4uZTkxNmVmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0
SGFzaFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaApA
QCAtNTIsNyArNTIsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBW
YWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5PiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2RlQWxs
b2NhdG9yOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHksIHR5cGVuYW1lIEhhc2hBcmc+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVIYXNoRnVuY3Rp
b25zOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eSA9IDI1NiwgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVl
QXJnPjo6SGFzaD4gY2xhc3MgTGlzdEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDI1
NiwgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFz
aD4gY2xhc3MgTGlzdEhhc2hTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZTxWYWx1ZUFyZywg
aW5saW5lQ2FwYWNpdHk+IE5vZGU7CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hTZXROb2RlQWxs
b2NhdG9yPFZhbHVlQXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZUFsbG9jYXRvcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0xvY2tlci5oCmluZGV4IDQxODEzZDMuLmM0NjViOTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Mb2NrZXIuaApAQCAtMzIsNyArMzIsOCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAot
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb2NrZXIpOwogcHVibGljOgogICAgIExvY2tlcihUJiBsb2NrYWJsZSkgOiBtX2xv
Y2thYmxlKGxvY2thYmxlKSB7IG1fbG9ja2FibGUubG9jaygpOyB9CiAgICAgfkxvY2tlcigpIHsg
bV9sb2NrYWJsZS51bmxvY2soKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9NZXNzYWdlUXVldWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1
ZXVlLmgKaW5kZXggMTQxMDBjOS4uN2MxOGEwYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L01lc3NhZ2VRdWV1ZS5oCkBAIC00OCw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8v
IHdoZW4gbWVzc2FnZXMgYXJlIGZldGNoZWQgZnJvbSB0aGUgcXVldWUuCiAgICAgLy8gRXNzZW50
aWFsbHksIE1lc3NhZ2VRdWV1ZSBhY3RzIGFzIGEgcXVldWUgb2YgT3duUHRyPERhdGFUeXBlPi4K
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRhVHlwZT4KLSAgICBjbGFzcyBNZXNzYWdlUXVldWUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VRdWV1ZSk7CiAgICAgcHVibGljOgogICAgICAg
ICBNZXNzYWdlUXVldWUoKSA6IG1fa2lsbGVkKGZhbHNlKSB7IH0KICAgICAgICAgfk1lc3NhZ2VR
dWV1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCmluZGV4IDI4NWVk
MmUuLmNjNmJjNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29w
eWFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKQEAg
LTQxLDIzICs0MSw0IEBACiAgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBD
bGFzc05hbWUmKQogI2VuZGlmCiAKLS8vIFdlIGRvbid0IHdhbnQgYXJndW1lbnQtZGVwZW5kZW50
IGxvb2t1cCB0byBwdWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgV1RGCi0vLyBuYW1lc3BhY2Ug
d2hlbiB5b3UgdXNlIE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQgaW4gaXRzIG93biBuYW1lc3BhY2Uu
Ci0KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5hbWVzcGFjZSBXVEZOb25jb3B5YWJs
ZSB7Ci0KLSAgICBjbGFzcyBOb25jb3B5YWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKLSAg
ICAgICAgTm9uY29weWFibGUoY29uc3QgTm9uY29weWFibGUmKTsKLSAgICAgICAgTm9uY29weWFi
bGUmIG9wZXJhdG9yPShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgTm9uY29weWFibGUoKSB7IH0KLSAgICAgICAgfk5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgfTsK
LQotfSAvLyBuYW1lc3BhY2UgV1RGTm9uY29weWFibGUKLQotdXNpbmcgV1RGTm9uY29weWFibGU6
Ok5vbmNvcHlhYmxlOwotCiAjZW5kaWYgLy8gV1RGX05vbmNvcHlhYmxlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2NDNiOTBiLi5kYmQzNGFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVz
cGFjZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093bkFycmF5UHRyOwog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093bkFycmF5UHRyPFQ+IGFkb3B0QXJyYXlQdHIoVCop
OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgOiBwdWJsaWMgTm9u
Y29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIHsKIHB1
YmxpYzoKICAgICB0eXBlZGVmIFQqIFB0clR5cGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywx
MSBAQAogI2RlZmluZSBPd25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2Mu
aCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRl
bXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIGV4cGxpY2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikK
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKaW5kZXggY2RjMjc3Yy4uZmI1
OTQzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAj
ZGVmaW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUg
Ik5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93blB0ckNv
bW1vbi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIKQEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093blB0cjsKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRyPFQ+IGFkb3B0UHRyKFQqKTsKIAotICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9pbnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7
CiAgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5kYTE3OGIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaApAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBSZWZDb3Vu
dGVkX2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKKyNpbmNsdWRlICJGYXN0QWxsb2NCYXNl
LmgiCiAjaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMzEs
NyArMTMyLDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQog
CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1Ymxp
YyBSZWZDb3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICB2b2lkIGRlcmVmKCkKICAgICB7CkBAIC0xNDAsNiArMTQyLDcgQEAgcHVibGlj
OgogICAgIH0KIAogcHJvdGVjdGVkOgorICAgIFJlZkNvdW50ZWQoKSB7IH0KICAgICB+UmVmQ291
bnRlZCgpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IGQ1
N2Y4OGEuLjM1M2JkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVm
UHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMzYsNyAr
MzYsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIGVudW0gSGFzaFRhYmxlRGVsZXRlZFZhbHVl
VHlwZSB7IEhhc2hUYWJsZURlbGV0ZWRWYWx1ZSB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUmVmUHRyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoKSA6IG1fcHRyKDAp
IHsgfQogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cihUKiBwdHIpIDogbV9wdHIocHRyKSB7
IHJlZklmTm90TnVsbChwdHIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFz
aE1hcC5oCmluZGV4IGI5ZTdlZWEuLmRiZWFiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRySGFzaE1hcC5oCkBAIC00NSw3ICs0NSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVu
YW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRz
QXJnPgotICAgIGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtl
eVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNB
cmcsIE1hcHBlZFRyYWl0c0FyZz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAg
ICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRz
LmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICsz
MSwxNCBAQAogI2lmbmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUg
VGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAv
LyBIb2xkcyBUaHJlYWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBh
bmQgZW1wbG95cyBwdGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFi
bHkgcmVtb3ZlCiAvLyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVz
IHJlZ3VsYXIgVGhyZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVz
dHJ1Y3Rpb24uCi1jbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoVGhyZWFkSWRlbnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVy
RGF0YSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5o
CmluZGV4IDMzYzY2MTIuLmE2YTFjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU2FmZVNoYXJlZC5oCkBAIC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9y
bS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2Ug
V1RGIHsKIAotY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRocmVhZFNhZmVTaGFyZWRCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgVGhyZWFkU2FmZVNoYXJlZEJhc2UoaW50IGluaXRpYWxSZWZDb3VudCA9IDEpCiAgICAg
ICAgIDogbV9yZWZDb3VudChpbml0aWFsUmVmQ291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uZmE5YTM5MyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApAQCAtNjEsNyArNjEsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKIHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAot
dGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9uY29w
eWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBUaHJl
YWRTcGVjaWZpYygpOwogICAgIFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg1LDkgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHN0YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0UoUFRI
UkVBRFMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1MpCi0g
ICAgc3RydWN0IERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERhdGEo
VCogdmFsdWUsIFRocmVhZFNwZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93bmVy
KG93bmVyKSB7fQogI2lmIFBMQVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXItPmRl
c3Ryb3kodGhpcyk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkU3BlY2lmaWNXaW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVj
aWZpY1dpbi5jcHAKaW5kZXggZjJjMGNhZC4uZDcyOTk2YSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBm
aWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRv
d3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDQ5ZGU1OWUuLmYyZTA1NjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAKQEAgLTMwLDcgKzMwLDkgQEAKIAogbmFtZXNw
YWNlIFdURiB7CiAKLXN0cnVjdCBOZXdUaHJlYWRDb250ZXh0IDogRmFzdEFsbG9jQmFzZSB7Citz
dHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CiAgICAgTmV3VGhyZWFkQ29udGV4dChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2
b2lkKiBkYXRhLCBjb25zdCBjaGFyKiBuYW1lKQogICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQ
b2ludCkKICAgICAgICAgLCBkYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCmluZGV4IGMxMWE2Y2IuLjgwOWMzZTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm0uaCIKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTG9j
a2VyLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTk2LDcgKzk3LDggQEAg
dHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVJlYWRXcml0ZUxvY2s7CiB0eXBlZGVmIHZvaWQqIFBsYXRm
b3JtQ29uZGl0aW9uOwogI2VuZGlmCiAgICAgCi1jbGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBNdXRleCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTXV0ZXgpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRl
eCgpOwpAQCAtMTEzLDcgKzExNSw4IEBAIHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4
PiBNdXRleExvY2tlcjsKIAotY2xhc3MgUmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSZWFkV3JpdGVMb2NrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFk
V3JpdGVMb2NrKTsKIHB1YmxpYzoKICAgICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0
ZUxvY2soKTsKQEAgLTEzMCw3ICsxMzMsOCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdy
aXRlTG9jayBtX3JlYWRXcml0ZUxvY2s7CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUaHJlYWRDb25kaXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRp
dGlvbigpOwogICAgIH5UaHJlYWRDb25kaXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVmVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rv
ci5oCmluZGV4IGY3Mzc5M2YuLjZkOGRkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3Iu
aApAQCAtMjc3LDcgKzI3Nyw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIFZlY3RvckJ1ZmZlckJhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFZlY3RvckJ1ZmZlckJhc2UgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShWZWN0b3JCdWZmZXJCYXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZv
aWQgYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQogICAgICAgICB7CkBAIC00ODgs
NyArNDg5LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDA+Ci0gICAgY2xhc3MgVmVjdG9yIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFZlY3RvciB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yQnVm
ZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCdWZmZXI7CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yVHlw
ZU9wZXJhdGlvbnM8VD4gVHlwZU9wZXJhdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
V1RGVGhyZWFkRGF0YS5oCmluZGV4IDUyYzI2N2EuLjI0M2FhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBK
U0MgewogCiB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hhciosIFJlZlB0cjxTdHJpbmdJbXBsPiwg
UHRySGFzaDxjb25zdCBjaGFyKj4gPiBMaXRlcmFsSWRlbnRpZmllclRhYmxlOwogCi1jbGFzcyBJ
ZGVudGlmaWVyVGFibGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBJZGVudGlmaWVy
VGFibGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIH5JZGVu
dGlmaWVyVGFibGUoKTsKIApAQCAtODUsNyArODYsOCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJs
ZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNT
dHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJlYWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRo
cmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRocmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFk
RGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKaW5kZXggYzg5YzAzNi4uYjViMTI2
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCkBAIC00MTQsNyArNDE0LDEwIEBAIHN0
YXRpYyB2b2lkIG11bHQoQmlnSW50JiBhUmVmLCBjb25zdCBCaWdJbnQmIGJSZWYpCiAgICAgYVJl
ZiA9IGM7CiB9CiAKLXN0cnVjdCBQNU5vZGUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUDVOb2Rl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQNU5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBQNU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwogICAgIFA1
Tm9kZSogbmV4dDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dv
YmplY3QvR093blB0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAppbmRleCBjZWMzZTQzLi40MTM2ZjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTQxLDcgKzQxLDggQEAgdGVtcGxhdGU8PiB2b2lkIGZy
ZWVPd25lZEdQdHI8R1BhdHRlcm5TcGVjPihHUGF0dGVyblNwZWMqKTsKIHRlbXBsYXRlPD4gdm9p
ZCBmcmVlT3duZWRHUHRyPEdEaXI+KEdEaXIqKTsKIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRH
UHRyPEdGaWxlPihHRmlsZSopOwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093blB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093
blB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR093blB0cik7CiBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgR093blB0cihUKiBwdHIgPSAwKSA6IG1fcHRyKHB0cikgeyB9CiAgICAgfkdPd25Q
dHIoKSB7IGZyZWVPd25lZEdQdHIobV9wdHIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaApAQCAtMzAsMTMgKzMw
LDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2Rl
L1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFz
cyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nQnVmZmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdCdWZmZXIpOwogcHVibGljOgogICAg
IGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNpZ25lZCBsZW5ndGgpCiAgICAgICAgIDogbV9sZW5n
dGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0
cmluZ0ltcGxCYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1w
bEJhc2UuaAppbmRleCA2NTY3NjcyLi4yNmJjMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZu
ZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
Ym9vbCBpc1N0cmluZ0ltcGwoKSB7IHJldHVybiAobV9yZWZDb3VudEFuZEZsYWdzICYgc19yZWZD
b3VudEludmFsaWRGb3JTdHJpbmdJbXBsKSAhPSBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0lt
cGw7IH0KICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQpA
QCAtNDUsOSArNDUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEJ1ZmZlclNoYXJlZCwKICAgICB9
OwogCi0gICAgdXNpbmcgTm9uY29weWFibGU6Om9wZXJhdG9yIG5ldzsKLSAgICB2b2lkKiBvcGVy
YXRvciBuZXcoc2l6ZV90LCB2b2lkKiBpblBsYWNlKSB7IEFTU0VSVChpblBsYWNlKTsgcmV0dXJu
IGluUGxhY2U7IH0KLQogICAgIC8vIEZvciBTbWFsbFN0cmluZ1N0b3JhZ2UsIHdoaWNoIGFsbG9j
YXRlcyBhbiBhcnJheSBhbmQgdXNlcyBhbiBpbi1wbGFjZSBuZXcuCiAgICAgU3RyaW5nSW1wbEJh
c2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2Rl
L0NvbGxhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3Iu
aAppbmRleCBmZTZhODA5Li4wMGFiMTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3VuaWNvZGUvQ29sbGF0b3IuaApAQCAtMjksNiArMjksNyBAQAogI2lmbmRlZiBXVEZfQ29sbGF0
b3JfaAogI2RlZmluZSBXVEZfQ29sbGF0b3JfaAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jh
c2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTM5LDcgKzQwLDgg
QEAgc3RydWN0IFVDb2xsYXRvcjsKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBDb2xs
YXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29sbGF0b3IgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb2xsYXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIg
PSAxLCBMZXNzID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lh
cnIvWWFyckludGVycHJldGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySW50
ZXJwcmV0ZXIuaAppbmRleCBiZTcwM2E5Li5lZWE1MjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuaApAQCAtMjk5LDcgKzI5OSw4IEBAIHN0cnVjdCBC
eXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0ZURpc2p1bmN0aW9uIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBCeXRlRGlzanVuY3Rpb24odW5zaWduZWQgbnVtU3Vi
cGF0dGVybnMsIHVuc2lnbmVkIGZyYW1lU2l6ZSkKICAgICAgICAgOiBtX251bVN1YnBhdHRlcm5z
KG51bVN1YnBhdHRlcm5zKQpAQCAtMzEyLDcgKzMxMyw5IEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCBtX2ZyYW1lU2l6ZTsKIH07CiAKLXN0cnVjdCBCeXRlY29kZVBhdHRlcm4gOiBGYXN0QWxsb2NC
YXNlIHsKK3N0cnVjdCBCeXRlY29kZVBhdHRlcm4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgogICAgIEJ5dGVjb2RlUGF0dGVybihQYXNzT3duUHRyPEJ5dGVEaXNqdW5j
dGlvbj4gYm9keSwgVmVjdG9yPEJ5dGVEaXNqdW5jdGlvbio+IGFsbFBhcmVudGhlc2VzSW5mbywg
WWFyclBhdHRlcm4mIHBhdHRlcm4sIEJ1bXBQb2ludGVyQWxsb2NhdG9yKiBhbGxvY2F0b3IpCiAg
ICAgICAgIDogbV9ib2R5KGJvZHkpCiAgICAgICAgICwgbV9pZ25vcmVDYXNlKHBhdHRlcm4ubV9p
Z25vcmVDYXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBh
dHRlcm4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmgKaW5kZXgg
MjE3MmRkYS4uZDgwZjY5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
WWFyclBhdHRlcm4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0dGVy
bi5oCkBAIC02Myw3ICs2Myw5IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotc3RydWN0IENoYXJh
Y3RlckNsYXNzIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIC8vIEFsbCBDaGFyYWN0ZXJD
bGFzcyBpbnN0YW5jZXMgaGF2ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRjaGVzIGFuZCBy
YW5nZXMsCiAgICAgLy8gdGhleSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3IgZmFzdGVy
IGxvb2t1cHMgKHdoaWNoIG11c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVkIG1hdGNoZXMg
YW5kIHJhbmdlcykKQEAgLTIwNCw3ICsyMDYsOSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0gewogICAg
IH0KIH07CiAKLXN0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0
cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1
bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25j
ZVRocm91Z2goZmFsc2UpCkBAIC0yNDUsNyArMjQ5LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5h
dGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9Owog
Ci1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0
dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBQYXR0ZXJuRGlzanVuY3Rpb24oUGF0dGVybkFsdGVybmF0aXZlKiBwYXJlbnQgPSAwKQog
ICAgICAgICA6IG1fcGFyZW50KHBhcmVudCkKICAgICAgICAgLCBtX2hhc0ZpeGVkU2l6ZShmYWxz
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA0NjVjZjQzLi5jMmVkMjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTEtMDEtMjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3Jp
bmcgb2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5n
IGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIg
KGJ1ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVwbGFjZXMg
Tm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5oZXJpdHMg
d2l0aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9uIGF0IHRo
ZSBuZWNlc3NhcnkgcGxhY2VzLgorCiAyMDExLTAxLTIwICBIYW5zIFdlbm5ib3JnICA8aGFuc0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCA2NzBkNmUwLi4w
MGU3ZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aApAQCAtNjAsNyArNjAsOCBAQCBzdHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBvc3RU
eXBlIHsgUG9zdFN5bmNocm9ub3VzbHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFzcyBB
WE9iamVjdENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2FjaGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBWE9iamVjdENhY2hlKGNvbnN0IERvY3VtZW50Kik7
CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCmluZGV4IGVhNjhkMTAuLjliYWU4
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgY2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0
U291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0ZShDYWNoZWRTY3JpcHQqIGNh
Y2hlZFNjcmlwdCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hlZFNjcmlwdFNvdXJjZVByb3Zp
ZGVyKGNhY2hlZFNjcmlwdCkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250
cm9sbGVyLmgKaW5kZXggNGMyNTQwNy4uOTFmMWU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwxMiBAQAogI2lmbmRlZiBHQ0NvbnRy
b2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAg
Y2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHQ0Nv
bnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHQ0NvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgZnJpZW5kIEdDQ29udHJvbGxlciYgZ2ND
b250cm9sbGVyKCk7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5lMTEzOGVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKQEAgLTM3LDcgKzM3
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgZGVsZXRl
ZCB3aXRob3V0IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAtIHdyYXBwZXJz
IGJlaW5nIGNhY2hlZCB0d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNEZWJ1Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVh
ZFNwZWNpZmljPEpTRGVidWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNEZWJ1
Z1dyYXBwZXJTZXQmIHNoYXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAppbmRleCA4MTkzZDdjLi4zNDlkYzE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaApA
QCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAgIHN0YXRpYyBKU0M6
OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2YzlkMGJhLi41OWFkNmZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaApAQCAtNDEsNyArNDEs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgKiB0aW1lIGludGVydmFsLCBlaXRoZXIgb25j
ZSBvciByZXBlYXRlZGx5LiBVc2VkIGZvciB3aW5kb3cuc2V0VGltZW91dCgpCiAgICAgKiBhbmQg
d2luZG93LnNldEludGVydmFsKCkKICAgICAqLwotICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkQWN0aW9uKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxTY2hlZHVs
ZWRBY3Rpb24+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIERPTVdyYXBwZXJXb3JsZCogaXNvbGF0
ZWRXb3JsZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENhY2hlZEZyYW1lRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmgKaW5kZXggMTVjMjNjNS4uNWY2OTFkOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTQwLDcgKzQw
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRvdzsKICAgICBjbGFz
cyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFtZURhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPCBSZWZQdHI8RE9N
V3JhcHBlcldvcmxkPiwgSlNDOjpQcm90ZWN0ZWRQdHI8SlNET01XaW5kb3c+ID4gSlNET01XaW5k
b3dTZXQ7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0RGVidWdTZXJ2ZXIuaAppbmRleCBkZTI3NGRiLi5iZGU0NzM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTU2LDcgKzU2LDggQEAg
Y2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIGNsYXNzIEphdmFT
Y3JpcHRDYWxsRnJhbWU7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dl
ciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpE
ZWJ1Z2dlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdT
ZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaAppbmRleCAwNWU3YTI1Li5kNGRkNjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMyLDExICszMiwxMSBAQAogI2luY2x1ZGUgIlNj
cmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NyaXB0UHJv
ZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0
YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRTdGF0ZS5oCmluZGV4IDBjMDg2MTEuLmUxOWMwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaApAQCAtNTIsNyArNTIsOCBAQCBjbGFzcyBQYWdlOwogLy8gRm9y
IG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0eXBlZGVmIEpT
Qzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVi
bGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKik7
CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNmUyZDdiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEu
aApAQCAtMjQsMTcgKzI0LDE4IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNp
bmNsdWRlICJET01PYmplY3RIYXNoVGFibGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVi
bGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6Q2xp
ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZUpTQ2xpZW50RGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGFX
b3JsZEl0ZXJhdG9yOwogICAgIGZyaWVuZCB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEo
SlNDOjpKU0dsb2JhbERhdGEqKTsKIAogcHVibGljOgorICAgIFdlYkNvcmVKU0NsaWVudERhdGEo
KSB7IH0KICAgICB2aXJ0dWFsIH5XZWJDb3JlSlNDbGllbnREYXRhKCkKICAgICB7CiAgICAgICAg
IEFTU0VSVChtX3dvcmxkU2V0LmNvbnRhaW5zKG1fbm9ybWFsV29ybGQuZ2V0KCkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApp
bmRleCBiZTdkYTRkLi40NTc4OTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0gICAgY2xhc3Mg
V29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
V29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdv
cmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2VyQ29udGV4dCopOwogICAg
ICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9N
RGF0YS5oCmluZGV4IDc4ZWRmOTIuLmIwNDI2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L0RPTURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01EYXRhLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHRo
cmVhZC4gIFRoZSBET01EYXRhIGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZSBET01EYXRhIGZv
ciBjaGlsZCB0aHJlYWRzCiAgICAgLy8gdXNlIGRpZmZlcmVudCBzdWJjbGFzc2VzLgogICAgIC8v
Ci0gICAgY2xhc3MgRE9NRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9N
RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGEpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgRE9NRGF0YSgpOwogICAgICAgICB2aXJ0dWFsIH5ET01EYXRhKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCmluZGV4IGNmZTIyMGUuLmRiZWFk
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC0xNDks
NyArMTQ5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24n
dCBtYW5hZ2UgdGhlIGxpZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAg
Ly8gbGlmZXRpbWUgaXMgbWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3Mg
RE9NRGF0YVN0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3Rv
cmUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01O
b2RlTWFwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRG
cmFtZURhdGEuaAppbmRleCAxYWExZjYyLi4zNzZiNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaApAQCAtNjAsMTQgKzYwLDE0
IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93bkhhbmRsZS5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7CiAKLWNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0
YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKTsKIHB1Ymxp
YzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAgICB+U2NyaXB0Q2FjaGVk
RnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVi
dWdTZXJ2ZXIuaAppbmRleCA0MGRkNWZjLi44ZmE3MjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTQ4LDcgKzQ4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiAK
LWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNj
cmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1Nl
cnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggYjc1
YTA1NC4uZTA5NjllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3Mg
U2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmls
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYg
dGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0
U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRTdGF0ZS5oCmluZGV4IDExODEzYjAuLjBmZWNlZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApAQCAtNDIsNyArNDIsOCBAQCBjbGFzcyBGcmFt
ZTsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NyaXB0U3RhdGUpOwogcHVibGljOgogICAgIGJvb2wgaGFkRXhjZXB0aW9uKCkgeyBy
ZXR1cm4gIW1fZXhjZXB0aW9uLklzRW1wdHkoKTsgfQogICAgIHZvaWQgc2V0RXhjZXB0aW9uKHY4
OjpMb2NhbDx2ODo6VmFsdWU+IGV4Y2VwdGlvbikKQEAgLTc5LDcgKzgwLDggQEAgcHVibGljOgog
ICAgIH5FbXB0eVNjcmlwdFN0YXRlKCkgeyB9CiB9OwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3Rl
ZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIp
OwogcHVibGljOgogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCkgOiBtX3NjcmlwdFN0YXRl
KDApIHsgfQogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKiBzY3JpcHRT
dGF0ZSkgOiBtX3NjcmlwdFN0YXRlKHNjcmlwdFN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggZTA1MGJmYy4u
NjY2ZTYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAogLy8gV3Jp
dGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMgYW5kIHN0
b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRlIHR5cGVz
LgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAgICAgICAg
IDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHBy
aXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0ZUJhc2Up
OwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9CcmlkZ2UuaAppbmRleCA1MGVmYzY0Li4wMGQ2ZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0JyaWRn
ZS5oCkBAIC0yOCwxNCArMjgsMTUgQEAKICNkZWZpbmUgQnJpZGdlX2gKIAogI2luY2x1ZGUgIkJy
aWRnZUpTQy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlND
ICB7CiAKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZXRob2QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1ldGhv
ZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1ldGhvZCgpIHsgfQog
ICAgIHZpcnR1YWwgaW50IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFs
IH5NZXRob2QoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlm
aWVyUmVwLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCmluZGV4IDk5
YmFlMGIuLjg2NDZlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlm
aWVyUmVwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaApAQCAt
MzMsNyArMzMsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBJZGVudGlm
aWVyUmVwIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclJlcCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZp
ZXJSZXAqIGdldChpbnQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hh
ciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKaW5kZXggOTY5NzRkOS4uZWJj
ZmFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01OSw4ICs1OSwx
MCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNsYXNzIENsYXNz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDbGFzcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIENs
YXNzKCkgeyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25zdCBJZGVu
dGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVsZCogZmllbGRO
YW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29uc3QgSWRl
bnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsxMjcsOCBAQCBw
cml2YXRlOgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVPYmplY3Q7CiB9
OwogCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcnJheSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFycmF5KFBhc3NS
ZWZQdHI8Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlVmFsdWUuaAppbmRleCA4MzNkN2ZlLi4xNzRmMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNs
YXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENTU0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0
aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFs
dWU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbWFnZVZhbHVlKTsgfQogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVy
bCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUodXJsKSk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLmFkNGU5N2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ltcG9ydFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNoZWRDU1NTdHlsZVNo
ZWV0OwogY2xhc3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxlIDogcHVibGljIENT
U1J1bGUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NOYW1lc3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaApp
bmRleCA2MjI1YzM2Li45MjYzOGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TmFtZXNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCkBAIC0y
Niw3ICsyNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIHN0cnVjdCBDU1NOYW1l
c3BhY2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENTU05hbWVzcGFjZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENTU05hbWVzcGFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgIHB1YmxpYzoKICAgICAgICAgQXRvbWljU3RyaW5nIHByZWZpeDsKICAgICAgICAg
QXRvbWljU3RyaW5nIHVyaTsKICAgICAgICAgT3duUHRyPENTU05hbWVzcGFjZT4gcGFyZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDQ5NmEyMWEuLmQzMjY4MTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTM0MCw3ICszNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNob3J0aGFu
ZFNjb3BlKENTU1BhcnNlciogcGFyc2VyLCBpbnQgcHJvcElkKSA6IG1fcGFyc2VyKHBhcnNlcikK
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVl
cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjgu
Ljk5NmU3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTU5LDcgKzU5
LDggQEAgc3RydWN0IENTU1BhcnNlclZhbHVlIHsKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBj
cmVhdGVDU1NWYWx1ZSgpOwogfTsKIAotY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAg
ICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3Rv
cjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVu
Y3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ1NTUGFyc2VyU3RyaW5nIG5h
bWU7CiAgICAgT3duUHRyPENTU1BhcnNlclZhbHVlTGlzdD4gYXJnczsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjEwZTU5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
Q1NTUHJvcGVydHkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQcm9wZXJ0eSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHko
aW50IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0g
ZmFsc2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAg
ICAgOiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IDQwMGRk
NDAuLmNhMzgxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcApAQCAtMzcsOCArMzcs
MTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
Ci1jbGFzcyBDU1NTZWxlY3RvckJhZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NT
ZWxlY3RvckJhZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JCYWcpOwog
cHVibGljOgorICAgIENTU1NlbGVjdG9yQmFnKCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yQmFnKCkK
ICAgICB7CiAgICAgICAgIEFTU0VSVChpc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
aAppbmRleCA1NDU2YmU2Li5iOTMwMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAt
MzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ1NTU2VsZWN0b3JC
YWc7CiAKICAgICAvLyB0aGlzIGNsYXNzIHJlcHJlc2VudHMgYSBzZWxlY3RvciBmb3IgYSBTdHls
ZVJ1bGUKLSAgICBjbGFzcyBDU1NTZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgQ1NTU2VsZWN0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxl
Y3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ1NT
U2VsZWN0b3IoKQogICAgICAgICAgICAgOiBtX3JlbGF0aW9uKERlc2NlbmRhbnQpCkBAIC0zMDYs
NyArMzA3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBzcGVjaWZp
Y2l0eUZvclBhZ2UoKSBjb25zdDsKICAgICAgICAgdm9pZCBleHRyYWN0UHNldWRvVHlwZSgpIGNv
bnN0OwogCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
c3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJhcmVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIFJhcmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAg
ICAgICAgICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yTGlzdC5oCmluZGV4IDdhZGM2YjkuLmFiZDliYzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3JMaXN0LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBDU1NTZWxl
Y3Rvckxpc3RfaAogCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQ1NTU2VsZWN0
b3JMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJy
YXkoMCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwCmluZGV4IGZjMDcyMmEuLjI3YjQ0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM1Miw3ICszNTIsOCBAQCBpZiAoaWQgPT0gcHJv
cElEKSB7IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQ1NTUnVsZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENTU1J1bGVEYXRhKTsKIHB1YmxpYzoKICAgICBDU1NSdWxlRGF0YSh1bnNpZ25lZCBwb3Ms
IENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNlbCwgQ1NTUnVsZURhdGEqIHByZXYgPSAw
KQogICAgICAgICA6IG1fcG9zaXRpb24ocG9zKQpAQCAtMzgwLDcgKzM4MSw4IEBAIHByaXZhdGU6
CiAgICAgQ1NTUnVsZURhdGEqIG1fbmV4dDsKIH07CiAKLWNsYXNzIENTU1J1bGVEYXRhTGlzdCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxlRGF0YUxpc3QgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7CiBwdWJsaWM6CiAgICAgQ1NTUnVsZURh
dGFMaXN0KHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2Vs
KQogICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKQEAg
LTQxMCw3ICs0MTIsOCBAQCBwcml2YXRlOgogICAgIENTU1J1bGVEYXRhKiBtX2xhc3Q7CiB9Owog
Ci1jbGFzcyBDU1NSdWxlU2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVT
ZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwogcHVibGljOgogICAg
IENTU1J1bGVTZXQoKTsKICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmgKaW5kZXggZWVhY2U1Ny4uZTAzNWFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBj
bGFzcyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
OwogCi1jbGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE1lZGlhUXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlS
ZXN1bHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5
UmVzdWx0KGNvbnN0IE1lZGlhUXVlcnlFeHAmIGV4cHIsIGJvb2wgcmVzdWx0KQogICAgICAgICA6
IG1fZXhwcmVzc2lvbihleHByKQpAQCAtODIsNyArODMsOCBAQCBwdWJsaWM6CiB9OwogCiAgICAg
Ly8gVGhpcyBjbGFzcyBzZWxlY3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4gZWxlbWVudCBi
YXNlZCBvbiBhIGNvbGxlY3Rpb24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3MgQ1NTU3R5bGVT
ZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3Rv
ciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1N0eWxlU2VsZWN0b3IpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0
b3IoRG9jdW1lbnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0
KiBtYXBwZWRFbGVtZW50U2hlZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVT
aGVldCogcGFnZVVzZXJTaGVldCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+
KiBwYWdlR3JvdXBVc2VyU2hlZXRzLApAQCAtMjE0LDcgKzIxNiw4IEBAIHB1YmxpYzoKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRBdmFpbGFibGUo
KSB7IHJldHVybiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAgY2xhc3MgU2Vs
ZWN0b3JDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU2VsZWN0
b3JDaGVja2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdG9yQ2hl
Y2tlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1
bWVudCosIGJvb2wgc3RyaWN0UGFyc2luZyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCmluZGV4
IDI4MTAwOWIuLmE2MzhhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaApAQCAtMzcsNyArMzcs
OCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFRdWVyeUV4cDsKIAotY2xhc3Mg
TWVkaWFRdWVyeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9yIHsKICAgICAgICAgT25seSwgTm90LCBO
b25lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRleCAwMGFjMzk0
Li4wN2M0ZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAg
LTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hhcmFj
dGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhlIGxv
YWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2JhYmxl
IHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgLyoqIENyZWF0ZXMgZXZhbHVhdG9yIHdoaWNoIGV2YWx1YXRlcyBvbmx5IHNp
bXBsZSBtZWRpYSBxdWVyaWVzCiAgICAgICogIEV2YWx1YXRvciByZXR1cm5zIHRydWUgZm9yICJh
bGwiLCBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVkaWFGZWF0dXJlUmVzdWx0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlFeHAuaAppbmRleCA3MmQzZmZmLi43ZTRkNDc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3MgTWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlFeHAgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVM
aXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Bc3lu
Y1NjcmlwdFJ1bm5lci5oCmluZGV4IDIzMjZmNjcuLjZhNzUzMjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Bc3luY1NjcmlwdFJ1bm5lci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIERvY3VtZW50Owog
Y2xhc3MgUGVuZGluZ1NjcmlwdDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiAgICAgCi1jbGFzcyBB
c3luY1NjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY1Njcmlw
dFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNTY3JpcHRSdW5uZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxB
c3luY1NjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkgeyByZXR1cm4gbmV3
IEFzeW5jU2NyaXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1NjcmlwdFJ1bm5lcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCmluZGV4IDg2YTIyYjAuLjc3MmE3MDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRWxlbWVudDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNz
IERPTVN0cmluZ01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01TdHJpbmdNYXAg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVN0cmluZ01hcCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVN0cmluZ01hcCgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAppbmRleCAwYmIwMjVhLi4xNWIwOTdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTQ2OTEsNyArNDY5MSw5IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsCiAg
ICAgICAgIHdpbmRvdy0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgY2FsbFN0YWNrKTsKIH0KIAotc3RydWN0
IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0Nv
bnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBlcmZvcm1UYXNrQ29udGV4dChQ
YXNzUmVmUHRyPERvY3VtZW50V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVuY2UsIFBhc3NP
d25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAgICAgOiBkb2N1
bWVudFJlZmVyZW5jZShkb2N1bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNrKHRhc2spCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggODMx
NzdmYy4uMmRjMmI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNv
bnRyb2xsZXIuaApAQCAtMzgsOCArMzgsMTAgQEAgY2xhc3MgSW50UmVjdDsKIGNsYXNzIE5vZGU7
CiBjbGFzcyBSYW5nZTsKIAotY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyB9
CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7IH0KIAogICAgIHZv
aWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGY2MjkyNDEuLjQ1Yjg3OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudC5oCkBAIC0yNCwxMyArMjQsMTMgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVu
dF9oCiAKKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIK
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0
cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBDbGlwYm9hcmQ7CiAg
ICAgY2xhc3MgRXZlbnRUYXJnZXQ7CiAKICAgICBjbGFzcyBFdmVudCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEV2ZW50PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA3Mjc2OGQyLi40MzllOWQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE4MCw3ICsxODAsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgXAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCi0g
ICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZl
bnROYW1lcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TmFtZXMpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgaW50IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFr
ZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgogICAgICAgICAvLyBQcml2YXRlIHRvIHByZXZl
bnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMo
KQogICAgICAgICBFdmVudE5hbWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IGRk
Y2I2NjMuLjgxZWViN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3ICs4Myw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlcmVkRXZl
bnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhhc2hNYXA8
QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1hcDsKIAot
ICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2
ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50VGFyZ2V0
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgRXZl
bnRUYXJnZXREYXRhKCk7CiAgICAgICAgIH5FdmVudFRhcmdldERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aApAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVmaW5lIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3Vu
dEluY3JlbWVudGVyX2gKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWdub3JlRGVzdHJ1
Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKTsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcihE
b2N1bWVudCogZG9jdW1lbnQpCiAgICAgICAgIDogbV9jb3VudChkb2N1bWVudCA/ICZkb2N1bWVu
dC0+bV9pZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnQgOiAwKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGYzMDhhMjkuLjA3NjY4YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBl
bmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4K
ICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVu
dCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVz
IHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJl
Zm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5lbChQ
YXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBAIC03
OCw3ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0cnVl
IGlmIHRoZSBwcm94eSBjdXJyZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9ydC4K
ICAgICAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBFdmVu
dERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERhdGEgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3du
UHRyPEV2ZW50RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwg
UGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJh
cmVEYXRhLmgKaW5kZXggYWIyMDhkMi4uNzM1MGY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBO
b2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8RHluYW1pY05v
ZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAgTm9kZUxpc3RTZXQgbV9saXN0c1dpdGhDYWNoZXM7
CiAgICAgCkBAIC02Nyw3ICs2OSw4IEBAIHByaXZhdGU6CiAgICAgfQogfTsKICAgICAKLWNsYXNz
IE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOb2RlUmFyZURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGVSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOiAgICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAgICA6IG1f
dGFiSW5kZXgoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IDM0ZmMwNjkuLmNi
OTVmMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBAQCBz
dHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFtZXNw
YWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIGNsYXNzIFF1YWxpZmllZE5hbWVJbXBsIDogcHVibGljIFJlZkNvdW50ZWQ8UXVh
bGlmaWVkTmFtZUltcGw+IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQu
aAppbmRleCAwN2M1OWRiLi41MjUwZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgK
QEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2NyaXB0RWxlbWVudDsKIGNsYXNzIFNjcmlwdFNvdXJj
ZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTY3JpcHRF
bGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7
CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggZmJiOTZlYy4uYmQyNmZjZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLj4KICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvUGFzc1JlZlB0ci5oPgpAQCAtMTE0LDggKzExNSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHZvaWQgcmVmKCkgeyByZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KICAg
ICAgICAgdm9pZCBkZXJlZigpIHsgZGVyZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KIAot
ICAgICAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
VGFzayB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKKyAgICAgICAgICAgIFRhc2soKSB7IH0K
ICAgICAgICAgICAgIHZpcnR1YWwgflRhc2soKTsKICAgICAgICAgICAgIHZpcnR1YWwgdm9pZCBw
ZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KikgPSAwOwogICAgICAgICAgICAgLy8g
Q2VydGFpbiB0YXNrcyBnZXQgbWFya2VkIHNwZWNpYWxseSBzbyB0aGF0IHRoZXkgYXJlbid0IGRp
c2NhcmRlZCwgYW5kIGFyZSBleGVjdXRlZCwgd2hlbiB0aGUgY29udGV4dCBpcyBzaHV0dGluZyBk
b3duIGl0cyBtZXNzYWdlIHF1ZXVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmgK
aW5kZXggODI2ZTZiZC4uNmViODkzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmlu
Zy5oCkBAIC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNz
IFNwYWNlU3BsaXRTdHJpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBT
cGFjZVNwbGl0U3RyaW5nRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNwYWNl
U3BsaXRTdHJpbmdEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBTcGFjZVNwbGl0U3RyaW5nRGF0YShjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBz
aG91bGRGb2xkQ2FzZSkKICAgICAgICAgICAgIDogbV9zdHJpbmcoc3RyaW5nKSwgbV9zaG91bGRG
b2xkQ2FzZShzaG91bGRGb2xkQ2FzZSksIG1fY3JlYXRlZFZlY3RvcihmYWxzZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaAppbmRleCBmOTdhZmNmLi42M2RjNzhhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtVHJhbnNmb3JtU291cmNlOwogI2VuZGlm
CiAKLSAgICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFRyYW5zZm9ybVNvdXJjZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRy
YW5zZm9ybVNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgVHJhbnNmb3JtU291cmNlKGNvbnN0IFBsYXRmb3JtVHJhbnNmb3JtU291cmNlJiBzb3Vy
Y2UpOwogICAgICAgICB+VHJhbnNmb3JtU291cmNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2Vy
R2VzdHVyZUluZGljYXRvci5oCmluZGV4IDE3ZWEzMTkuLmIxZWQ5NmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oCkBAIC0zNiw3ICszNiw4IEBAIGVudW0gUHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlU3RhdGUgewogICAgIERlZmluaXRlbHlOb3RQcm9jZXNzaW5nVXNl
ckdlc3R1cmUKIH07CiAKLWNsYXNzIFVzZXJHZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFVzZXJHZXN0dXJlSW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShVc2VyR2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wg
cHJvY2Vzc2luZ1VzZXJHZXN0dXJlKCkgeyByZXR1cm4gc19wcm9jZXNzaW5nVXNlckdlc3R1cmUg
PT0gRGVmaW5pdGVseVByb2Nlc3NpbmdVc2VyR2VzdHVyZTsgfQogICAgIHN0YXRpYyBQcm9jZXNz
aW5nVXNlckdlc3R1cmVTdGF0ZSBnZXRVc2VyR2VzdHVyZVN0YXRlKCkgeyByZXR1cm4gc19wcm9j
ZXNzaW5nVXNlckdlc3R1cmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2Vy
VHlwaW5nR2VzdHVyZUluZGljYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdH
ZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggNmM3MTA3OS4uMjFmNGM3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTM0LDcgKzM0LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwogCi1jbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIHBy
b2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZSgpOwogICAgIHN0YXRpYyBOb2RlKiBmb2N1c2VkRWxl
bWVudEF0R2VzdHVyZVN0YXJ0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vWE1M
RG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlci5o
CmluZGV4IDc1MzNjNWIuLjFhYWQ5YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Y
TUxEb2N1bWVudFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBh
cnNlci5oCkBAIC03MSw2ICs3MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogCiAg
ICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXIgOiBwdWJsaWMgU2NyaXB0YWJsZURvY3VtZW50UGFy
c2VyLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhNTERv
Y3VtZW50UGFyc2VyPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBGcmFtZVZpZXcqIHZpZXcp
CiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBh
cnNlckxpYnhtbDIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGli
eG1sMi5jcHAKaW5kZXggMGY2YjRiNC4uMTBkNmUwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTc1LDggKzc1LDEwIEBAIHVzaW5n
IG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGVuZGluZ0Nh
bGxiYWNrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQZW5kaW5nQ2FsbGJhY2tzIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZW5kaW5nQ2FsbGJhY2tzKTsKIHB1YmxpYzoKKyAg
ICBQZW5kaW5nQ2FsbGJhY2tzKCkgeyB9CiAgICAgflBlbmRpbmdDYWxsYmFja3MoKQogICAgIHsK
ICAgICAgICAgZGVsZXRlQWxsVmFsdWVzKG1fY2FsbGJhY2tzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCmluZGV4IDU4ZThhNmIuLmY2MDQ3MWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaApAQCAtMzYsNyArMzYs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRl
cjsKIAotICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyU2NvcGUgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShYTUxEb2N1bWVudFBhcnNlclNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIFhNTERvY3VtZW50UGFyc2VyU2NvcGUoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJl
c291cmNlTG9hZGVyKTsKICAgICAgICAgflhNTERvY3VtZW50UGFyc2VyU2NvcGUoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmgKaW5kZXggMTI4
NmMwNy4uNGQ5MjhjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVC
dXR0b25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0
b25Db250cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiBjbGFz
cyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBWaXNpYmxlU2VsZWN0aW9uOwogCi1jbGFzcyBEZWxldGVC
dXR0b25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERlbGV0ZUJ1dHRv
bkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlbGV0ZUJ1dHRvbkNvbnRy
b2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBEZWxldGVCdXR0
b25Db250cm9sbGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9S
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKaW5kZXggMjRjZmE0MS4uZjQ3Y2I0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAK
QEAgLTYyLDcgKzYyLDggQEAgZW51bSBFRnJhZ21lbnRUeXBlIHsgRW1wdHlGcmFnbWVudCwgU2lu
Z2xlVGV4dE5vZGVGcmFnbWVudCwgVHJlZUZyYWdtZW50IH07CiAKIC8vIC0tLSBSZXBsYWNlbWVu
dEZyYWdtZW50IGhlbHBlciBjbGFzcwogCi1jbGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlcGxhY2VtZW50RnJhZ21lbnQpOwogcHVibGljOgogICAgIFJlcGxh
Y2VtZW50RnJhZ21lbnQoRG9jdW1lbnQqLCBEb2N1bWVudEZyYWdtZW50KiwgYm9vbCBtYXRjaFN0
eWxlLCBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9TZWxlY3Rpb25Db250cm9sbGVyLmgKaW5kZXggZWU1MjE4Ny4uM2Y4MDVkMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmgKQEAgLTQ4LDcgKzQ4LDgg
QEAgY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogCiBlbnVtIERpcmVjdGlvbmFsaXR5UG9saWN5IHsg
TWFrZU5vbkRpcmVjdGlvbmFsU2VsZWN0aW9uLCBNYWtlRGlyZWN0aW9uYWxTZWxlY3Rpb24gfTsK
IAotY2xhc3MgU2VsZWN0aW9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBTZWxlY3Rpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWxlY3Rp
b25Db250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51
bSBFQWx0ZXJhdGlvbiB7IEFsdGVyYXRpb25Nb3ZlLCBBbHRlcmF0aW9uRXh0ZW5kIH07CiAgICAg
ZW51bSBDdXJzb3JBbGlnbk9uU2Nyb2xsIHsgQWxpZ25DdXJzb3JPblNjcm9sbElmTmVlZGVkLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKaW5kZXggZjYyMTVkMi4uODFiYjUxOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCkBAIC01NCw3ICs1NCw4IEBAIHBy
aXZhdGU6CiAgICAgaW50IG1fbGVuZ3RoOwogfTsKIAotY2xhc3MgU3BlbGxDaGVja2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNwZWxsQ2hlY2tlciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU3BlbGxDaGVja2VyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBTcGVsbENoZWNr
ZXIoRnJhbWUqLCBFZGl0b3JDbGllbnQqKTsKICAgICB+U3BlbGxDaGVja2VyKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAppbmRleCAyMjc1MzBmLi44YjVj
NjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKQEAg
LTcyLDcgKzcyLDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIGludCBtX2NoZWNraW5nTGVuZ3Ro
OwogfTsKIAotY2xhc3MgVGV4dENoZWNraW5nSGVscGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFRleHRDaGVja2luZ0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4
dENoZWNraW5nSGVscGVyKTsKIHB1YmxpYzoKICAgICBUZXh0Q2hlY2tpbmdIZWxwZXIoRWRpdG9y
Q2xpZW50KiwgUGFzc1JlZlB0cjxSYW5nZT4pOwogICAgIH5UZXh0Q2hlY2tpbmdIZWxwZXIoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCBjMjRiY2IyLi4xZmM3
NjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC02MSw3ICs2
MSw4IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAvLyBDYXNlIGZvbGRpbmcgaXMgYWxz
byBkb25lIGlmIHRoZSBDYXNlSW5zZW5zaXRpdmUgb3B0aW9uIGlzIHNwZWNpZmllZC4KIC8vIE1h
dGNoZXMgYXJlIGZ1cnRoZXIgZmlsdGVyZWQgaWYgdGhlIEF0V29yZFN0YXJ0cyBvcHRpb24gaXMg
c3BlY2lmaWVkLCBhbHRob3VnaCBzb21lCiAvLyBtYXRjaGVzIGluc2lkZSBhIHdvcmQgYXJlIHBl
cm1pdHRlZCBpZiBUcmVhdE1lZGlhbENhcGl0YWxBc1dvcmRTdGFydCBpcyBzcGVjaWZpZWQgYXMg
d2VsbC4KLWNsYXNzIFNlYXJjaEJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
ZWFyY2hCdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlYXJjaEJ1ZmZlcik7CiBw
dWJsaWM6CiAgICAgU2VhcmNoQnVmZmVyKGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBGaW5kT3B0aW9u
cyk7CiAgICAgflNlYXJjaEJ1ZmZlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApp
bmRleCBkN2FhYmY3Li40NTIwNWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0ZpbGVUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVUaHJlYWQuaApA
QCAtNTQsNyArNTQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdGFydCgpOwogICAgIHZvaWQgc3Rv
cCgpOwogCi0gICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VGFzayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOwogICAgIHB1YmxpYzoK
ICAgICAgICAgdmlydHVhbCB+VGFzaygpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9y
bVRhc2soKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmls
ZVN5c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAppbmRl
eCBiNzc5YTVmLi4xMmE3MDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xv
Y2FsRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lz
dGVtLmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xhc3MgRmlsZVN5c3RlbUNhbGxiYWNrOwogY2xhc3Mg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogLy8gS2VlcHMgcGVyLXByb2Nlc3MgaW5mb3JtYXRp
b24gYW5kIHByb3ZpZGVzIGFuIGVudHJ5IHBvaW50IHRvIG9wZW4gYSBmaWxlIHN5c3RlbS4KLWNs
YXNzIExvY2FsRmlsZVN5c3RlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEZp
bGVTeXN0ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsRmlsZVN5c3RlbSk7CiBw
dWJsaWM6CiAgICAgLy8gUmV0dXJucyBhIHBlci1wcm9jZXNzIGluc3RhbmNlIG9mIExvY2FsRmls
ZVN5c3RlbS4KICAgICAvLyBOb3RlIHRoYXQgTG9jYWxGaWxlU3lzdGVtOjppbml0aWFsaXplTG9j
YWxGaWxlU3lzdGVtIG11c3QgYmUgY2FsbGVkIGJlZm9yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVh
cGkvU3luY0NhbGxiYWNrSGVscGVyLmgKaW5kZXggMjVlNjczOS4uMDIwYWM0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCkBAIC01OCw3ICs1OCw4IEBA
IGNsYXNzIEZpbGVFbnRyeVN5bmM7CiAKIC8vIEEgaGVscGVyIHRlbXBsYXRlIGZvciBGaWxlU3lz
dGVtU3luYyBpbXBsZW1lbnRhdGlvbi4KIHRlbXBsYXRlIDx0eXBlbmFtZSBTdWNjZXNzQ2FsbGJh
Y2ssIHR5cGVuYW1lIE9ic2VydmVyVHlwZSwgdHlwZW5hbWUgQ2FsbGJhY2tBcmcsIHR5cGVuYW1l
IFJlc3VsdFR5cGU+Ci1jbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTeW5jQ2FsbGJhY2tIZWxwZXIpOwogcHVibGljOgogICAgIHR5cGVkZWYgU3luY0NhbGxiYWNr
SGVscGVyPFN1Y2Nlc3NDYWxsYmFjaywgT2JzZXJ2ZXJUeXBlLCBDYWxsYmFja0FyZywgUmVzdWx0
VHlwZT4gSGVscGVyVHlwZTsKICAgICBTeW5jQ2FsbGJhY2tIZWxwZXIoT2JzZXJ2ZXJUeXBlKiBv
YnNlcnZlciA9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3
YXJkQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRy
b2xsZXIuaAppbmRleCBlODllMzJiLi4xMjg4NGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgQmFj
a0ZvcndhcmRMaXN0OwogY2xhc3MgSGlzdG9yeUl0ZW07CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBC
YWNrRm9yd2FyZENvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQmFja0Zv
cndhcmRDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCYWNrRm9yd2FyZENv
bnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBCYWNrRm9y
d2FyZENvbnRyb2xsZXIoUGFnZSosIFBhc3NSZWZQdHI8QmFja0ZvcndhcmRMaXN0Pik7CiAgICAg
fkJhY2tGb3J3YXJkQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9QYWdlQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKaW5k
ZXggNzFhZTVhZC4uOTEyYmQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9Q
YWdlQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCkBAIC0z
OSw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIaXN0b3J5SXRlbTsK
ICAgICBjbGFzcyBQYWdlOwogICAgIAotICAgIGNsYXNzIFBhZ2VDYWNoZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUNhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFnZUNhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBmcmllbmQgUGFnZUNhY2hlKiBwYWdlQ2FjaGUoKTsKICAgICAgICAgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAppbmRleCBkZjFkMWZhLi44ZTRhMDY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKQEAgLTI5LDcgKzI5LDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1zdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ29sbGVjdGlvbkNhY2hlIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBDb2xsZWN0aW9uQ2FjaGUoKTsKICAgICBDb2xs
ZWN0aW9uQ2FjaGUoY29uc3QgQ29sbGVjdGlvbkNhY2hlJik7CiAgICAgQ29sbGVjdGlvbkNhY2hl
JiBvcGVyYXRvcj0oY29uc3QgQ29sbGVjdGlvbkNhY2hlJiBvdGhlcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaAppbmRleCAyYjcxMWI0Li44ZjZmZDRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oCkBAIC0zNSw2ICszNSw3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERPTVNldHRhYmxlVG9rZW5MaXN0IDog
cHVibGljIERPTVRva2VuTGlzdCwgcHVibGljIFJlZkNvdW50ZWQ8RE9NU2V0dGFibGVUb2tlbkxp
c3Q+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxET01TZXR0YWJsZVRva2VuTGlzdD4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01Ub2tlbkxpc3QuaAppbmRleCA1ZGYyZWRlLi4wYjc1YjY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvRE9NVG9rZW5MaXN0LmgKQEAgLTI3LDE1ICsyNywxNiBAQAogCiAjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgotI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogCi1jbGFzcyBET01Ub2tlbkxpc3QgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgRE9NVG9rZW5MaXN0IHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShET01Ub2tlbkxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
KyAgICBET01Ub2tlbkxpc3QoKSB7IH0KICAgICB2aXJ0dWFsIH5ET01Ub2tlbkxpc3QoKSB7fTsK
IAogICAgIHZpcnR1YWwgdm9pZCByZWYoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBhcnNl
clF1aXJrcy5oCmluZGV4IDUwZGU3MTAuLjNiZjIyYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBhcnNlclF1aXJrcy5oCkBAIC0yNywxMyArMjcsMTMgQEAKICNkZWZpbmUgSFRNTFBhcnNlclF1
aXJrc19oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE5vZGU7CiAKLWNsYXNzIEhU
TUxQYXJzZXJRdWlya3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFBhcnNlclF1
aXJrcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBhcnNlclF1aXJrcyk7CiBwdWJs
aWM6CiAgICAgSFRNTFBhcnNlclF1aXJrcygpIHsgfQogICAgIHZpcnR1YWwgfkhUTUxQYXJzZXJR
dWlya3MoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCmluZGV4IGVhNDU0MWYuLmU2Y2ViOTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaApAQCAtMzMsNiArMzMsNyBAQAogI2RlZmluZSBJbnB1
dFR5cGVfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvRmFzdEFs
bG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC01NiwxNyArNTcsMTggQEAgY2xh
c3MgV2hlZWxFdmVudDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIHN0cnVjdCBDbGlj
a0hhbmRsaW5nU3RhdGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgog
ICAgIGJvb2wgY2hlY2tlZDsKICAgICBib29sIGluZGV0ZXJtaW5hdGU7CiAgICAgUmVmUHRyPEhU
TUxJbnB1dEVsZW1lbnQ+IGNoZWNrZWRSYWRpb0J1dHRvbjsKLQotICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVECiB9OwogCiAvLyBBbiBJbnB1dFR5cGUgb2JqZWN0IHJlcHJlc2VudHMgdGhlIHR5
cGUtc3BlY2lmaWMgcGFydCBvZiBhbiBIVE1MSW5wdXRFbGVtZW50LgogLy8gRG8gbm90IGV4cG9z
ZSBpbnN0YW5jZXMgb2YgSW5wdXRUeXBlIGFuZCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBpdCB0byBj
bGFzc2VzCiAvLyBvdGhlciB0aGFuIEhUTUxJbnB1dEVsZW1lbnQuCi1jbGFzcyBJbnB1dFR5cGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5wdXRUeXBlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnB1dFR5cGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0ZShIVE1MSW5wdXRFbGVtZW50
KiwgY29uc3QgU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVh
dGVUZXh0KEhUTUxJbnB1dEVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvU3RlcFJhbmdlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCmluZGV4IGNl
MDQ0ZWEuLjJmYTEzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaApAQCAtMjgsNyArMjgsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxJbnB1dEVsZW1lbnQ7CiAKLWNsYXNz
IFN0ZXBSYW5nZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdGVwUmFuZ2UgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFN0ZXBSYW5nZSk7CiBwdWJsaWM6CiAgICAgYm9vbCBoYXNT
dGVwOwogICAgIGRvdWJsZSBzdGVwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9W
YWxpZGF0aW9uTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2Fn
ZS5oCmluZGV4IDVmYTFmOTYuLjdjZDBjYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRp
b25NZXNzYWdlLmgKQEAgLTQyLDcgKzQyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
Rm9ybUFzc29jaWF0ZWRFbGVtZW50OwogY2xhc3MgSFRNTEVsZW1lbnQ7CiAKLWNsYXNzIFZhbGlk
YXRpb25NZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZhbGlkYXRpb25NZXNz
YWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGF0aW9uTWVzc2FnZSk7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8VmFsaWRhdGlvbk1lc3NhZ2U+IGNyZWF0ZShGb3Jt
QXNzb2NpYXRlZEVsZW1lbnQqKTsKICAgICB+VmFsaWRhdGlvbk1lc3NhZ2UoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmgKaW5kZXggZTE0MGM0OS4uNGE5NjQ4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9WYWxpZGl0eVN0YXRlLmgKQEAgLTI5LDcgKzI5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBWYWxpZGl0eVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFZhbGlkaXR5U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkaXR5U3RhdGUp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxWYWxpZGl0eVN0YXRlPiBjcmVhdGUoRm9ybUFzc29jaWF0ZWRFbGVtZW50KiBjb250cm9sKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQuaAppbmRleCBhMjVlOGExLi5hMTQzNTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC00MSw3ICs0MSw4
IEBAIGNsYXNzIEhUTUxWaWRlb0VsZW1lbnQ7CiBjbGFzcyBLVVJMOwogY2xhc3MgV2ViR0xPYmpl
Y3Q7CiAKLWNsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ2FudmFzUmVuZGVyaW5nQ29udGV4dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQoSFRNTENhbnZhc0VsZW1lbnQqKTsKICAg
ICB2aXJ0dWFsIH5DYW52YXNSZW5kZXJpbmdDb250ZXh0KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaAppbmRleCA3YWMyODJmLi5mYWU5NWEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgK
QEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRG9jdW1lbnQ7CiBj
bGFzcyBIVE1MVG9rZW47CiAKLWNsYXNzIENTU1ByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIENTU1ByZWxvYWRTY2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDU1NQcmVsb2FkU2Nhbm5lcik7CiBwdWJsaWM6CiAgICAgQ1NTUHJlbG9hZFNjYW5uZXIo
RG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TENvbnN0cnVjdGlvblNpdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25z
dHJ1Y3Rpb25TaXRlLmgKaW5kZXggOGIwOWJmNS4uNWE0YTY1ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCkBAIC00MCw3ICs0MCw4
IEBAIGNsYXNzIEF0b21pY0hUTUxUb2tlbjsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVu
dDsKIAotY2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSFRNTENvbnN0cnVjdGlvblNpdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhU
TUxDb25zdHJ1Y3Rpb25TaXRlKTsKIHB1YmxpYzoKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZShE
b2N1bWVudCosIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbiwgYm9vbCBpc1BhcnNpbmdGcmFn
bWVudCk7CiAgICAgfkhUTUxDb25zdHJ1Y3Rpb25TaXRlKCk7CkBAIC04OSw3ICs5MCw4IEBAIHB1
YmxpYzoKICAgICBIVE1MRm9ybUVsZW1lbnQqIGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2Zvcm0u
Z2V0KCk7IH0KICAgICBQYXNzUmVmUHRyPEhUTUxGb3JtRWxlbWVudD4gdGFrZUZvcm0oKTsKIAot
ICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZChIVE1MQ29uc3RydWN0aW9u
U2l0ZSYgdHJlZSkKICAgICAgICAgICAgIDogbV90cmVlKHRyZWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCmluZGV4IDgwY2E3MjcuLmY5MjUy
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBh
cnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNl
ci5oCkBAIC01MCw2ICs1MCw3IEBAIGNsYXNzIFNjcmlwdENvbnRyb2xsZXI7CiBjbGFzcyBTY3Jp
cHRTb3VyY2VDb2RlOwogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXIgOiAgcHVibGljIFNjcmlw
dGFibGVEb2N1bWVudFBhcnNlciwgSFRNTFNjcmlwdFJ1bm5lckhvc3QsIENhY2hlZFJlc291cmNl
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxIVE1MRG9jdW1lbnRQYXJzZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnQqIGRv
Y3VtZW50LCBib29sIHJlcG9ydEVycm9ycykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKaW5kZXggOGE4ZTE2MC4uYWQ4Yjk0MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaApAQCAtMzksMTIg
KzM5LDE0IEBAIGNsYXNzIFF1YWxpZmllZE5hbWU7CiAKIC8vIE5PVEU6IFRoZSBIVE1MNSBzcGVj
IHVzZXMgYSBiYWNrd2FyZHMgKGdyb3dzIGRvd253YXJkKSBzdGFjay4gIFdlJ3JlIHVzaW5nCiAv
LyBtb3JlIHN0YW5kYXJkIChncm93cyB1cHdhcmRzKSBzdGFjayB0ZXJtaW5vbG9neSBoZXJlLgot
Y2xhc3MgSFRNTEVsZW1lbnRTdGFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1M
RWxlbWVudFN0YWNrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRWxlbWVudFN0YWNr
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSFRNTEVsZW1lbnRTdGFj
aygpOwogICAgIH5IVE1MRWxlbWVudFN0YWNrKCk7CiAKLSAgICBjbGFzcyBFbGVtZW50UmVjb3Jk
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFbGVtZW50UmVjb3JkIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRWxlbWVudFJlY29yZCk7CiAgICAgcHVibGljOgogICAg
ICAgICB+RWxlbWVudFJlY29yZCgpOyAvLyBQdWJsaWMgZm9yIH5QYXNzT3duUHRyKCkKICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxl
bWVudExpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxl
bWVudExpc3QuaAppbmRleCBhY2EwNWJiLi5mNzVmYTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCkBAIC0zNSw3
ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEVsZW1lbnQ7CiAKIC8vIFRoaXMg
bWF5IGVuZCB1cCBtZXJnZWQgaW50byBIVE1MRWxlbWVudFN0YWNrLgotY2xhc3MgSFRNTEZvcm1h
dHRpbmdFbGVtZW50TGlzdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MRm9ybWF0
dGluZ0VsZW1lbnRMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MRm9ybWF0dGlu
Z0VsZW1lbnRMaXN0KTsKIHB1YmxpYzoKICAgICBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7
CiAgICAgfkhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKaW5kZXggMWJmYmFmOS4uZDk1ZWMzMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmgKQEAgLTQ3LDcgKzQ3
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gbV9sYXN0IGlzIGEgcG9pbnRlciB0byB0aGUg
bGFzdCBvZiB0aGUgYWZ0ZXJJbnNlcnRpb25Qb2ludCBzdHJpbmdzLgogLy8gVGhlIG5ldHdvcmsg
YWRkcyBkYXRhIGF0IHRoZSBlbmQgb2YgdGhlIElucHV0U3RyZWFtLCB3aGljaCBhcHBlbmRzCiAv
LyB0aGVtIHRvIHRoZSAibGFzdCIgc3RyaW5nLgotY2xhc3MgSFRNTElucHV0U3RyZWFtIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxJbnB1dFN0cmVhbSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSFRNTElucHV0U3RyZWFtKTsKIHB1YmxpYzoKICAgICBIVE1MSW5wdXRTdHJl
YW0oKQogICAgICAgICA6IG1fbGFzdCgmbV9maXJzdCkKQEAgLTEyOSw3ICsxMzAsOCBAQCBwcml2
YXRlOgogICAgIFNlZ21lbnRlZFN0cmluZyogbV9sYXN0OwogfTsKIAotY2xhc3MgSW5zZXJ0aW9u
UG9pbnRSZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zZXJ0aW9uUG9pbnRS
ZWNvcmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc2VydGlvblBvaW50UmVjb3JkKTsK
IHB1YmxpYzoKICAgICBleHBsaWNpdCBJbnNlcnRpb25Qb2ludFJlY29yZChIVE1MSW5wdXRTdHJl
YW0mIGlucHV0U3RyZWFtKQogICAgICAgICA6IG1faW5wdXRTdHJlYW0oJmlucHV0U3RyZWFtKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFy
c2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIu
aAppbmRleCBjMzEzNmY1Li40NWZiYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaApAQCAtMzYsNyArMzYsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBIVE1MVG9rZW5pemVyOwogY2xhc3MgVGV4dENvZGVjOwogCi1j
bGFzcyBIVE1MTWV0YUNoYXJzZXRQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTE1ldGFDaGFyc2V0UGFyc2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MTWV0
YUNoYXJzZXRQYXJzZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxNZXRh
Q2hhcnNldFBhcnNlcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRQdHIobmV3IEhUTUxNZXRhQ2hh
cnNldFBhcnNlcigpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MUGFyc2VyU2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UGFyc2VyU2NoZWR1bGVyLmgKaW5kZXggM2EyMGIyYi4uYzQxNWM2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaApAQCAtMjgsMTQgKzI4
LDE0IEBACiAKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyOwog
Ci1jbGFzcyBIVE1MUGFyc2VyU2NoZWR1bGVyIDogIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIVE1MUGFyc2VyU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFy
c2VyU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8SFRNTFBhcnNlclNjaGVkdWxlcj4gY3JlYXRlKEhUTUxEb2N1bWVudFBh
cnNlciogcGFyc2VyKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFByZWxvYWRTY2FubmVyLmgKaW5kZXggOTRhOTBlNi4uYmVkNzdmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVyLmgKQEAgLTMwLDcgKzMwLDYg
QEAKICNpbmNsdWRlICJDU1NQcmVsb2FkU2Nhbm5lci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbi5o
IgogI2luY2x1ZGUgIlNlZ21lbnRlZFN0cmluZy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDcgKzM4LDggQEAgY2xhc3MgSFRN
TFRva2VuOwogY2xhc3MgSFRNTFRva2VuaXplcjsKIGNsYXNzIFNlZ21lbnRlZFN0cmluZzsKIAot
Y2xhc3MgSFRNTFByZWxvYWRTY2FubmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhU
TUxQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFByZWxvYWRT
Y2FubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSFRNTFByZWxv
YWRTY2FubmVyKERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxTY3JpcHRSdW5uZXIuaAppbmRleCA2Y2Y3NGQ4Li45ODZmN2JkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCkBAIC0yOSw3ICsyOSw2IEBACiAj
aW5jbHVkZSAiUGVuZGluZ1NjcmlwdC5oIgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTQyLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MU2NyaXB0UnVubmVySG9zdDsK
IGNsYXNzIFNjcmlwdFNvdXJjZUNvZGU7CiAKLWNsYXNzIEhUTUxTY3JpcHRSdW5uZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSFRNTFNjcmlwdFJ1bm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxTY3JpcHRSdW5uZXI+IGNyZWF0ZShE
b2N1bWVudCogZG9jdW1lbnQsIEhUTUxTY3JpcHRSdW5uZXJIb3N0KiBob3N0KQogICAgIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKaW5kZXggNDJjZGRiOC4uMWNiYzE1MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmgKQEAgLTI3LDEzICsyNywxMyBA
QAogI2RlZmluZSBIVE1MVG9rZW5faAogCiAjaW5jbHVkZSAiTmFtZWROb2RlTWFwLmgiCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSFRN
TFRva2VuIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUb2tlbiB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2VuKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgVW5pbml0aWFsaXplZCwKQEAgLTMxMyw3
ICszMTMsOCBAQCBwcml2YXRlOgogICAgIC8vIHdhbnQgdG8gZW5kIHVwIHdpdGggYSBjbGVhbmVy
IGludGVyZmFjZSBiZXR3ZWVuIHRoZSB0d28gY2xhc3Nlcy4KICAgICBmcmllbmQgY2xhc3MgQXRv
bWljSFRNTFRva2VuOwogCi0gICAgY2xhc3MgRG9jdHlwZURhdGEgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIERvY3R5cGVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRG9jdHlwZURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRG9jdHlwZURhdGEoKQogICAg
ICAgICAgICAgOiBtX2hhc1B1YmxpY0lkZW50aWZpZXIoZmFsc2UpCkBAIC0zNTIsNyArMzUzLDgg
QEAgcHJpdmF0ZToKIAogLy8gRklYTUU6IFRoaXMgY2xhc3Mgc2hvdWxkIGV2ZW50dWFsbHkgYmUg
bmFtZWQgSFRNTFRva2VuIG9uY2Ugd2UgbW92ZSB0aGUKIC8vIGV4aXRpbmcgSFRNTFRva2VuIHRv
IGJlIGludGVybmFsIHRvIHRoZSBIVE1MVG9rZW5pemVyLgotY2xhc3MgQXRvbWljSFRNTFRva2Vu
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF0b21pY0hUTUxUb2tlbiB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXRvbWljSFRNTFRva2VuKTsKIHB1YmxpYzoKICAgICBBdG9taWNI
VE1MVG9rZW4oSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAgOiBtX3R5cGUodG9rZW4udHlwZSgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oCmluZGV4IGYxNmIw
NDkuLmZhNDVjYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
b2tlbml6ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVy
LmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRWxlbWVudDsKIGNsYXNzIEZyYW1lOwogY2xhc3Mg
SFRNTFRva2VuOwogCi1jbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhUTUxUb2tlbml6ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tl
bml6ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVtIFN0YXRl
IHsKICAgICAgICAgRGF0YVN0YXRlLApAQCAtMTcyLDcgKzE3Myw4IEBAIHB1YmxpYzoKIAogcHJp
dmF0ZToKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVu
dC13b3JrLyNwcmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KLSAgICBjbGFzcyBJbnB1dFN0
cmVhbVByZXByb2Nlc3NvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW5wdXRT
dHJlYW1QcmVwcm9jZXNzb3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnB1dFN0
cmVhbVByZXByb2Nlc3Nvcik7CiAgICAgcHVibGljOgogICAgICAgICBJbnB1dFN0cmVhbVByZXBy
b2Nlc3NvcihIVE1MVG9rZW5pemVyKiB0b2tlbml6ZXIpCiAgICAgICAgICAgICA6IG1fdG9rZW5p
emVyKHRva2VuaXplcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1
aWxkZXIuY3BwCmluZGV4IDAyNzEzZTUuLjk3Y2VlMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtMjQxLDcgKzI0MSw4IEBAIEhUTUxG
b3JtRWxlbWVudCogY2xvc2VzdEZvcm1BbmNlc3RvcihFbGVtZW50KiBlbGVtZW50KQogCiB9IC8v
IG5hbWVzcGFjZQogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4dGVybmFsQ2hhcmFjdGVyVG9r
ZW5CdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpF
eHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShF
eHRlcm5hbENoYXJhY3RlclRva2VuQnVmZmVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBFeHRl
cm5hbENoYXJhY3RlclRva2VuQnVmZmVyKEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAg
IDogbV9jdXJyZW50KHRva2VuLmNoYXJhY3RlcnMoKS5kYXRhKCkpCkBAIC0yMzQyLDcgKzIzNDMs
OCBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cmVwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tl
biYgdG9rZW4pCiAgICAgcHJvY2Vzc0VuZFRhZyh0b2tlbik7CiB9CiAKLWNsYXNzIEhUTUxUcmVl
QnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SFRNTFRyZWVCdWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRmFrZUluc2VydGlvbk1vZGUpOwogcHVibGljOgogICAgIEZha2VJbnNlcnRpb25Nb2Rl
KEhUTUxUcmVlQnVpbGRlciogdHJlZUJ1aWxkZXIsIEluc2VydGlvbk1vZGUgbW9kZSkKICAgICAg
ICAgOiBtX3RyZWVCdWlsZGVyKHRyZWVCdWlsZGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRleCAxN2I3N2I3Li4zMDlhYzZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaApAQCAtNTEsNyArNTEsOCBA
QCBjbGFzcyBIVE1MRG9jdW1lbnQ7CiBjbGFzcyBOb2RlOwogY2xhc3MgSFRNTERvY3VtZW50UGFy
c2VyOwogCi1jbGFzcyBIVE1MVHJlZUJ1aWxkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTFRyZWVCdWlsZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVHJlZUJ1
aWxkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxIVE1MVHJlZUJ1aWxkZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQYXJzZXIqIHBhcnNl
ciwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMsIGJvb2wgdXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MpCiAgICAgewpAQCAtMjA0LDcgKzIwNSw4IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBwcm9jZXNzRm9yZWlnbkNvbnRlbnRVc2luZ0luQm9keU1vZGVBbmRSZXNldE1vZGUo
QXRvbWljSFRNTFRva2VuJiB0b2tlbik7CiAgICAgdm9pZCByZXNldEZvcmVpZ25JbnNlcnRpb25N
b2RlKCk7CiAKLSAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBGcmFnbWVudFBhcnNpbmdDb250ZXh0IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRnJhZ21lbnRQYXJzaW5nQ29udGV4dCk7CiAgICAgcHVibGljOgog
ICAgICAgICBGcmFnbWVudFBhcnNpbmdDb250ZXh0KCk7CiAgICAgICAgIEZyYWdtZW50UGFyc2lu
Z0NvbnRleHQoRG9jdW1lbnRGcmFnbWVudCosIEVsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBGcmFn
bWVudFNjcmlwdGluZ1Blcm1pc3Npb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmgKaW5kZXggYzU5Nzg3Ni4uODE1NTYzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5jcmVt
ZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNy
ZW1lbnRlci5oCkBAIC0yOCw3ICsyOCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TmVzdGluZ0xldmVsSW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5lc3Rp
bmdMZXZlbEluY3JlbWVudGVyKTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBOZXN0aW5nTGV2ZWxJ
bmNyZW1lbnRlcih1bnNpZ25lZCYgbmVzdGluZ0xldmVsKQogICAgICAgICA6IG1fbmVzdGluZ0xl
dmVsKCZuZXN0aW5nTGV2ZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29uc29sZU1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db25zb2xlTWVzc2Fn
ZS5oCmluZGV4IDMxMGFhOGUuLjdjMzM0OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9Db25zb2xlTWVzc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlwdENhbGxGcmFtZTsK
IGNsYXNzIFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFZhbHVlOwogCi1jbGFzcyBDb25z
b2xlTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb25zb2xlTWVzc2FnZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29uc29sZU1lc3NhZ2UpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBN
ZXNzYWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIHVuc2lnbmVkIGxpLCBj
b25zdCBTdHJpbmcmIHUpOwogICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1lc3Nh
Z2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgUGFzc1JlZlB0cjxTY3JpcHRB
cmd1bWVudHM+LCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4pOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5o
CmluZGV4IDNkOWU0OTQuLmFjMGFjYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKQEAgLTQxLDcgKzQx
LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9yVmFsdWU7CiBjbGFz
cyBSZXNvdXJjZVJlc3BvbnNlOwogCi1jbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdl
bnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNo
ZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JBcHBsaWNhdGlvbkNh
Y2hlQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29u
dHJvbGxlciwgSW5zcGVjdG9yRnJvbnRlbmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yQXBw
bGljYXRpb25DYWNoZUFnZW50KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oCmluZGV4IDUzN2JkYTEuLjZh
ZjMxZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCcm93
c2VyRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oCkBAIC00OCw3ICs0OCw4IEBAIGNsYXNzIEluc3BlY3Rv
ckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBOb2RlOwogCi1jbGFz
cyBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQpOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVj
dG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29udHJvbGxlcikKICAgICB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29uc29sZUFnZW50LmgKaW5kZXggOTdmY2IzZi4u
YTNlNmE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnNvbGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25z
b2xlQWdlbnQuaApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBTY3JpcHRBcmd1bWVudHM7CiBjbGFz
cyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNwZWN0
b3JDb25zb2xlQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9yQ29u
c29sZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JDb25zb2xlQWdl
bnQpOwogcHVibGljOgogICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudChJbnNwZWN0b3JDb250cm9s
bGVyKiwgSW5zcGVjdG9yU3RhdGUqKTsKICAgICB+SW5zcGVjdG9yQ29uc29sZUFnZW50KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCBh
YjgzNzdkLi5iMDliZjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmgKQEAgLTEwNSw3ICsxMDUsOCBAQCBjbGFzcyBXZWJTb2NrZXRIYW5kc2hh
a2VSZXF1ZXN0OwogY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2U7CiAjZW5kaWYKIAot
Y2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bnNwZWN0b3JDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JD
b250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IGNvbnN0IGNoYXIqIGNvbnN0IENvbnNvbGVQYW5lbDsKICAgICBzdGF0aWMgY29uc3QgY2hhciog
Y29uc3QgRWxlbWVudHNQYW5lbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRGVidWdnZXJBZ2VudC5oCmluZGV4IDk4YWMxZjkuLjRjYjlmOWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaApAQCAtNTMs
NyArNTMsOCBAQCBlbnVtIERlYnVnZ2VyRXZlbnRUeXBlIHsKICAgICBOYXRpdmVCcmVha3BvaW50
RGVidWdnZXJFdmVudFR5cGUKIH07CiAKLWNsYXNzIEluc3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBw
dWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
c3BlY3RvckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgU2NyaXB0RGVidWdMaXN0ZW5lciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRGVidWdnZXJBZ2VudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvckRl
YnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9sbGVyKiwgSW5zcGVjdG9yRnJvbnRl
bmQqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JEZWJ1Z2dlckFnZW50KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwu
aAppbmRleCA5ZGNhYTVhLi4xOWY2YWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKQEAgLTQxLDcgKzQxLDgg
QEAgY2xhc3MgSW5zcGVjdG9yQ29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3RvckZyb250ZW5kSG9z
dDsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBw
dWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDogcHVibGljIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JGcm9udGVuZENsaWVu
dExvY2FsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRMb2NhbChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSopOwogICAgIHZp
cnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oCmluZGV4IGU2Nzg0OGQuLjE2
MDhkYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2Zp
bGVyQWdlbnQuaApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFz
cyBTY3JpcHRIZWFwU25hcHNob3Q7CiBjbGFzcyBTY3JpcHRQcm9maWxlOwogCi1jbGFzcyBJbnNw
ZWN0b3JQcm9maWxlckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3Rv
clByb2ZpbGVyQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclByb2Zp
bGVyQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxJbnNwZWN0b3JQcm9maWxlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJv
bGxlciopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvclByb2ZpbGVyQWdlbnQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSdW50aW1lQWdlbnQuaAppbmRleCBhMTNl
YjU5Li5iNGYzNzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUnVudGltZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clJ1bnRpbWVBZ2VudC5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIEluamVjdGVkU2NyaXB0SG9z
dDsKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOwogCi1jbGFz
cyBJbnNwZWN0b3JSdW50aW1lQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5z
cGVjdG9yUnVudGltZUFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JS
dW50aW1lQWdlbnQpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3BlY3RvclJ1
bnRpbWVBZ2VudD4gY3JlYXRlKEluamVjdGVkU2NyaXB0SG9zdCogaW5qZWN0ZWRTY3JpcHRIb3N0
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JU
aW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5oCmluZGV4IDMzZTI3MzcuLmNhZTVhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtNzAsNyArNzAsOCBAQCBl
bnVtIFRpbWVsaW5lUmVjb3JkVHlwZSB7CiAgICAgU2NoZWR1bGVSZXNvdXJjZVJlcXVlc3RUaW1l
bGluZVJlY29yZFR5cGUgPSAyMAogfTsKIAotY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCA6
IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQgOiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KEluc3BlY3RvckZyb250
ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvclRpbWVsaW5lQWdlbnQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oCmluZGV4IDEwMTZhZWQuLmRkZDUwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaApAQCAtMzgsNyArMzgs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSFRUUEhlYWRlck1hcDsKICAgICBj
bGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRS
ZXN1bHRDYWNoZUl0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3NzT3Jp
Z2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0pOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0
Q2FjaGVJdGVtKGJvb2wgY3JlZGVudGlhbHMpCiAgICAgICAgICAgICA6IG1fYWJzb2x1dGVFeHBp
cnlUaW1lKDApCkBAIC02Myw3ICs2NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
SGVhZGVyc1NldCBtX2hlYWRlcnM7CiAgICAgfTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENyb3Nz
T3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1
bHRDYWNoZSYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dFRocmVhZGFibGVMb2FkZXIuaAppbmRleCBlYmYzYTI1Li4zYTNjYzY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCkBAIC00Nyw2ICs0
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50OwogCiAgICAgY2xhc3MgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNv
dW50ZWQ8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIs
IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQgIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFk
YWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CiAgICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERv
Y3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudFdyaXRlci5oCmluZGV4IDVmYjNkYzEuLmZiOTM2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFdyaXRlci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3Mg
U2VjdXJpdHlPcmlnaW47CiBjbGFzcyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogCi1jbGFzcyBEb2N1
bWVudFdyaXRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEb2N1bWVudFdyaXRlciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRXcml0ZXIpOwogcHVibGljOgogICAg
IERvY3VtZW50V3JpdGVyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
aAppbmRleCBlNGNlZmM1Li5mNjcwMDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCkBAIC0yMTQsOCArMjE0LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgRW1w
dHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxvYWRlckNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVM
b2FkZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5RnJhbWVMb2FkZXJD
bGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eUZyYW1l
TG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlGcmFtZUxvYWRlckNsaWVudCgp
IHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgZnJhbWVMb2FkZXJEZXN0cm95ZWQoKSB7IH0KIApAQCAt
Mzg3LDggKzM4OSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lTmV0
d29ya2luZ0NvbnRleHQ+IGNyZWF0ZU5ldHdvcmtpbmdDb250ZXh0KCkgeyByZXR1cm4gUGFzc1Jl
ZlB0cjxGcmFtZU5ldHdvcmtpbmdDb250ZXh0PigpOyB9CiB9OwogCi1jbGFzcyBFbXB0eUVkaXRv
ckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBFbXB0eUVkaXRvckNsaWVudCA6IHB1YmxpYyBFZGl0b3JDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5RWRpdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CisgICAgRW1wdHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0
eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBwYWdlRGVzdHJveWVkKCkgeyB9
CiAKQEAgLTUwMSw4ICs1MDUsMTAgQEAgcHVibGljOgogfTsKIAogI2lmIEVOQUJMRShDT05URVhU
X01FTlVTKQotY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1YmxpYyBDb250ZXh0TWVu
dUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGll
bnQgOiBwdWJsaWMgQ29udGV4dE1lbnVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEVtcHR5Q29udGV4dE1lbnVDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKKyAgICBFbXB0eUNvbnRleHRNZW51Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlD
b250ZXh0TWVudUNsaWVudCgpIHsgIH0KICAgICB2aXJ0dWFsIHZvaWQgY29udGV4dE1lbnVEZXN0
cm95ZWQoKSB7IH0KIApAQCAtNTI4LDggKzUzNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYgLy8gRU5B
QkxFKENPTlRFWFRfTUVOVVMpCiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotY2xhc3MgRW1w
dHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBFbXB0eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRW1wdHlEcmFnQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CisgICAgRW1wdHlEcmFnQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1wdHlEcmFn
Q2xpZW50KCkge30KICAgICB2aXJ0dWFsIHZvaWQgd2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25B
Y3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLCBEcmFnRGF0YSopIHsgfQogICAgIHZpcnR1YWwg
dm9pZCB3aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3Qg
SW50UG9pbnQmLCBDbGlwYm9hcmQqKSB7IH0KQEAgLTU0MSw4ICs1NDksMTAgQEAgcHVibGljOgog
fTsKICNlbmRpZiAvLyBFTkFCTEUoRFJBR19TVVBQT1JUKQogCi1jbGFzcyBFbXB0eUluc3BlY3Rv
ckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBFbXB0eUluc3BlY3RvckNsaWVudCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEVtcHR5SW5zcGVjdG9yQ2xpZW50KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KICAg
ICB2aXJ0dWFsIH5FbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lk
IGluc3BlY3RvckRlc3Ryb3llZCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Zvcm1TdWJtaXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1Ym1pc3Np
b24uaAppbmRleCBkNzI0ODM1Li43ZjU4ZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRm9ybVN1Ym1pc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRm9ybVN1
Ym1pc3Npb24uaApAQCAtNDcsNyArNDcsOCBAQCBjbGFzcyBGb3JtU3VibWlzc2lvbiA6IHB1Ymxp
YyBSZWZDb3VudGVkPEZvcm1TdWJtaXNzaW9uPiB7CiBwdWJsaWM6CiAgICAgZW51bSBNZXRob2Qg
eyBHZXRNZXRob2QsIFBvc3RNZXRob2QgfTsKIAotICAgIGNsYXNzIEF0dHJpYnV0ZXMgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEF0dHJpYnV0ZXMgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShBdHRyaWJ1dGVzKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEF0dHJpYnV0
ZXMoKQogICAgICAgICAgICAgOiBtX21ldGhvZChHZXRNZXRob2QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5oCmluZGV4IDdmZjVkYmQuLmFmOTdmYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5oCkBAIC04Niw3ICs4Niw4IEBAIHN0cnVjdCBXaW5kb3dGZWF0dXJlczsKIAog
Ym9vbCBpc0JhY2tGb3J3YXJkTG9hZFR5cGUoRnJhbWVMb2FkVHlwZSk7CiAKLWNsYXNzIEZyYW1l
TG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZyYW1lTG9hZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShGcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2Fk
ZXIoRnJhbWUqLCBGcmFtZUxvYWRlckNsaWVudCopOwogICAgIH5GcmFtZUxvYWRlcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaAppbmRleCBj
MzQwOGMyLi5mZTM3ZWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXJTdGF0ZU1hY2hpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXJTdGF0ZU1hY2hpbmUuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IC8vIEVuY2Fwc3VsYXRlcyBhIHN0YXRlIG1hY2hpbmUgZm9yIEZyYW1lTG9hZGVyLiBOb3RlIHRo
YXQgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBGcmFtZVN0YXRlLAogLy8gd2hpY2ggc3RvcmVzIHRo
ZSBzdGF0ZSBvZiB0aGUgY3VycmVudCBsb2FkIHRoYXQgRnJhbWVMb2FkZXIgaXMgZXhlY3V0aW5n
LgotY2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRlclN0YXRl
TWFjaGluZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29udHJvbGxlci5oCmlu
ZGV4IDE3ZjgwZWIuLjA2MWYyMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9I
aXN0b3J5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29u
dHJvbGxlci5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgSGlzdG9yeUl0
ZW07CiBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiAKLWNsYXNzIEhpc3RvcnlDb250cm9s
bGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhpc3RvcnlDb250cm9sbGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShIaXN0b3J5Q29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAg
ZW51bSBIaXN0b3J5VXBkYXRlVHlwZSB7IFVwZGF0ZUFsbCwgVXBkYXRlQWxsRXhjZXB0QmFja0Zv
cndhcmRMaXN0IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IGE3
N2U4YzAuLjA2OWI0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAt
NTcsNyArNTcsOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1ZUNoZWNrPFdlYkNvcmU6OkltYWdl
TG9hZGVyKj4gewogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEltYWdlRXZlbnRTZW5k
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VFdmVudFNlbmRlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VFdmVudFNlbmRlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIEltYWdlRXZlbnRTZW5kZXIoY29uc3QgQXRvbWljU3RyaW5n
JiBldmVudFR5cGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdh
dGlvblNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5jcHAKaW5kZXggMTc1MjE5Yy4uZDUxNTc1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcApAQCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHVuc2lnbmVkIE5hdmlnYXRpb25EaXNhYmxlckZvckJlZm9yZVVubG9hZDo6
c19uYXZpZ2F0aW9uRGlzYWJsZUNvdW50ID0gMDsKIAotY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlv
biA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9uIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWROYXZpZ2F0aW9uKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2NoZWR1bGVkTmF2aWdhdGlvbihkb3VibGUgZGVs
YXksIGJvb2wgbG9ja0hpc3RvcnksIGJvb2wgbG9ja0JhY2tGb3J3YXJkTGlzdCwgYm9vbCB3YXNE
dXJpbmdMb2FkLCBib29sIGlzTG9jYXRpb25DaGFuZ2UpCiAgICAgICAgIDogbV9kZWxheShkZWxh
eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCmluZGV4IDNhMDc2ZmIuLjU5ODhiNjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBSZXNv
dXJjZVJlc3BvbnNlOwogLy8gdG8gYWxsb3cgdGhlIGxvYWQgdG8gbGl2ZSBsb25nIGVub3VnaCB0
byBlbnN1cmUgdGhlIG1lc3NhZ2Ugd2FzIGFjdHVhbGx5IHNlbnQuCiAvLyBUaGVyZWZvcmUsIGFz
IHNvb24gYXMgYSBjYWxsYmFjayBpcyByZWNlaXZlZCBmcm9tIHRoZSBSZXNvdXJjZUhhbmRsZSwg
dGhpcyBjbGFzcyAKIC8vIHdpbGwgY2FuY2VsIHRoZSBsb2FkIGFuZCBkZWxldGUgaXRzZWxmLgot
Y2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGluZ0xvYWRlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGxvYWRJbWFnZShGcmFtZSos
IGNvbnN0IEtVUkwmIHVybCk7CiAgICAgc3RhdGljIHZvaWQgc2VuZFBpbmcoRnJhbWUqLCBjb25z
dCBLVVJMJiBwaW5nVVJMLCBjb25zdCBLVVJMJiBkZXN0aW5hdGlvblVSTCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1BvbGljeUNoZWNrZXIuaAppbmRleCA1NDE3MjljLi4zMTE4ZGFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKQEAgLTQ1LDcgKzQ1LDggQEAgY2xhc3MgTmF2aWdh
dGlvbkFjdGlvbjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNl
OwogCi1jbGFzcyBQb2xpY3lDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBv
bGljeUNoZWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvbGljeUNoZWNrZXIpOwog
cHVibGljOgogICAgIFBvbGljeUNoZWNrZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAppbmRleCBjZDE1NDMzLi42NWRkMWM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNTAsNyArNTAsOSBAQCBzdGF0
aWMgY29uc3QgZG91YmxlIGZpbmFsUHJvZ3Jlc3NWYWx1ZSA9IDAuOTsgLy8gMS4wIC0gaW5pdGlh
bFByb2dyZXNzVmFsdWUKIAogc3RhdGljIGNvbnN0IGludCBwcm9ncmVzc0l0ZW1EZWZhdWx0RXN0
aW1hdGVkTGVuZ3RoID0gMTAyNCAqIDE2OwogCi1zdHJ1Y3QgUHJvZ3Jlc3NJdGVtIDogTm9uY29w
eWFibGUgeworc3RydWN0IFByb2dyZXNzSXRlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgUHJv
Z3Jlc3NJdGVtKGxvbmcgbG9uZyBsZW5ndGgpIAogICAgICAgICA6IGJ5dGVzUmVjZWl2ZWQoMCkK
ICAgICAgICAgLCBlc3RpbWF0ZWRMZW5ndGgobGVuZ3RoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Qcm9ncmVzc1RyYWNrZXIuaAppbmRleCA1ZDViNmIyLi5lYTVmN2Y5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCkBAIC0zNiw3ICszNiw4IEBAIGNsYXNzIEZyYW1l
OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBQcm9ncmVzc0l0ZW07CiAKLWNsYXNz
IFByb2dyZXNzVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9ncmVzc1Ry
YWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb2dyZXNzVHJhY2tlcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFByb2dyZXNzVHJhY2tlcigpOwogICAg
IH5Qcm9ncmVzc1RyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZE5vdGlmaWVyLmgKaW5kZXggMmYxMDg1Ni4uYTZkOTJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmgKQEAgLTQzLDcgKzQzLDggQEAgY2xhc3MgUmVz
b3VyY2VMb2FkZXI7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgUmVzb3VyY2VSZXF1
ZXN0OwogCi1jbGFzcyBSZXNvdXJjZUxvYWROb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBSZXNvdXJjZUxvYWROb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UmVzb3VyY2VMb2FkTm90aWZpZXIpOwogcHVibGljOgogICAgIFJlc291cmNlTG9hZE5vdGlmaWVy
KEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWRTY2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTY2hlZHVs
ZXIuaAppbmRleCAxNjNiNjdlLi5mMmU2MjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFJlc291cmNl
UmVxdWVzdDsKIGNsYXNzIFN1YnJlc291cmNlTG9hZGVyOwogY2xhc3MgU3VicmVzb3VyY2VMb2Fk
ZXJDbGllbnQ7CiAKLWNsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFJlc291cmNlTG9hZFNjaGVkdWxlcik7CiBwdWJsaWM6CiAgICAgZnJpZW5kIFJlc291
cmNlTG9hZFNjaGVkdWxlciogcmVzb3VyY2VMb2FkU2NoZWR1bGVyKCk7CiAKQEAgLTY5LDcgKzcw
LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlU2VydmVQZW5kaW5nUmVxdWVzdHMoKTsK
ICAgICB2b2lkIHJlcXVlc3RUaW1lckZpcmVkKFRpbWVyPFJlc291cmNlTG9hZFNjaGVkdWxlcj4q
KTsKIAotICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SG9zdEluZm9ybWF0aW9uKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEhvc3RJbmZvcm1hdGlvbihj
b25zdCBTdHJpbmcmLCB1bnNpZ25lZCk7CiAgICAgICAgIH5Ib3N0SW5mb3JtYXRpb24oKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKaW5kZXggYTU3MzA0NS4uYmE2M2E1YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmgKQEAgLTU0LDcgKzU0LDggQEAg
Y2xhc3MgTm9kZTsKIGNsYXNzIFdpZGdldDsKIAogLy8gVGhpcyBpcyBhIHNsaWdodCBtaXNub21l
ci4gSXQgaGFuZGxlcyB0aGUgaGlnaGVyIGxldmVsIGxvZ2ljIG9mIGxvYWRpbmcgYm90aCBzdWJm
cmFtZXMgYW5kIHBsdWdpbnMuCi1jbGFzcyBTdWJmcmFtZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTdWJmcmFtZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U3ViZnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIFN1YmZyYW1lTG9hZGVyKEZyYW1lKik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGY0MWE3NzQuLmY1
NzRjOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaApAQCAtNjUs
NyArNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBVc2VmdWwgZm9yIGRvaW5n
IGxvYWRlciBvcGVyYXRpb25zIGZyb20gYW55IHRocmVhZCAobm90IHRocmVhZHNhZmUsIAogICAg
IC8vIGp1c3QgYWJsZSB0byBydW4gb24gdGhyZWFkcyBvdGhlciB0aGFuIHRoZSBtYWluIHRocmVh
ZCkuCi0gICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRocmVhZGFibGVMb2FkZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9h
ZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFibGVM
b2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVMb2Fk
ZXI+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVu
dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25z
Jik7CkBAIC03NSw2ICs3Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBk
ZXJlZigpIHsgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCk7IH0KIAogICAgIHByb3RlY3RlZDoKKyAg
ICAgICAgVGhyZWFkYWJsZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxl
TG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWZUaHJlYWRhYmxlTG9hZGVyKCkg
PSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZUaHJlYWRhYmxlTG9hZGVyKCkgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50LmgKaW5kZXgg
YmNmNjhiZS4uY2VhOGIwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVh
ZGFibGVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJs
ZUxvYWRlckNsaWVudC5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNpZm5kZWYgVGhyZWFkYWJsZUxv
YWRlckNsaWVudF9oCiAjZGVmaW5lIFRocmVhZGFibGVMb2FkZXJDbGllbnRfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNz
IFJlc291cmNlRXJyb3I7CiAgICAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNz
IFRocmVhZGFibGVMb2FkZXJDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFRocmVhZGFibGVMb2FkZXJDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
aHJlYWRhYmxlTG9hZGVyQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VuZERhdGEodW5zaWduZWQgbG9uZyBsb25n
IC8qYnl0ZXNTZW50Ki8sIHVuc2lnbmVkIGxvbmcgbG9uZyAvKnRvdGFsQnl0ZXNUb0JlU2VudCov
KSB7IH0KIApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DYW5jZWxsYXRpb24oY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYpIHsgfQogCiAgICAgcHJvdGVjdGVkOgorICAgICAgICBUaHJlYWRhYmxl
TG9hZGVyQ2xpZW50KCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVMb2FkZXJDbGll
bnQoKSB7IH0KICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29y
a2VyVGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVh
ZGFibGVMb2FkZXIuaAppbmRleCA4MWRhMmUwLi42NWNjNjM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERh
dGE7CiAKICAgICBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIFJlZkNvdW50
ZWQ8V29ya2VyVGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdvcmtlckNvbnRleHQqLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJs
ZUxvYWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2VyVGhyZWFk
YWJsZUxvYWRlcj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFRocmVhZGFi
bGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0
aW9ucykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuaAppbmRleCAyZDhiODNlLi5mM2ExMTdlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCkBA
IC01Myw3ICs1Myw4IEBAIGVudW0gQXBwbGljYXRpb25DYWNoZVVwZGF0ZU9wdGlvbiB7CiAgICAg
QXBwbGljYXRpb25DYWNoZVVwZGF0ZVdpdGhvdXRCcm93c2luZ0NvbnRleHQKIH07CiAKLWNsYXNz
IEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgUmVzb3VyY2VIYW5k
bGVDbGllbnQgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZUdyb3VwIDogUmVzb3VyY2VIYW5kbGVD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVHcm91cCk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEFwcGxpY2F0aW9uQ2FjaGVH
cm91cChjb25zdCBLVVJMJiBtYW5pZmVzdFVSTCwgYm9vbCBpc0NvcHkgPSBmYWxzZSk7ICAgIAog
ICAgIH5BcHBsaWNhdGlvbkNhY2hlR3JvdXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKaW5kZXggOGFjNTM1Ny4uYTFm
Mjg0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxp
Y2F0aW9uQ2FjaGVIb3N0LmgKQEAgLTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBB
cHBsaWNhdGlvbkNhY2hlSG9zdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXBw
bGljYXRpb25DYWNoZUhvc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNh
dGlvbkNhY2hlSG9zdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAg
ICAgICAgLy8gVGhlIFN0YXR1cyBudW1lcmljIHZhbHVlcyBhcmUgc3BlY2lmaWVkIGluIHRoZSBI
VE1MNSBzcGVjLgogICAgICAgICBlbnVtIFN0YXR1cyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCmluZGV4IDdk
YjM0ZTYuLjhiZmRmMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNo
ZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oCkBAIC00NCw3ICs0NCw4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUPgogY2xhc3MgU3RvcmFnZUlESm91cm5hbDsKIGNsYXNzIFNlY3VyaXR5T3Jp
Z2luOwogCi1jbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBlbnVtIEZhaWx1cmVSZWFzb24gewogICAgICAgICBPcmlnaW5RdW90YVJl
YWNoZWQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZl
UmVzb3VyY2VDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNo
aXZlUmVzb3VyY2VDb2xsZWN0aW9uLmgKaW5kZXggOWQ2MzBkMS4uZmQyZGRiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNv
bGxlY3Rpb24uaApAQCAtMzksNyArMzksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24oKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCAzNjAwYTAyLi41YzhiMzhmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtNTAs
NyArNTAsOCBAQCBjbGFzcyBQdXJnZWFibGVCdWZmZXI7CiAvLyBBIHJlc291cmNlIHRoYXQgaXMg
aGVsZCBpbiB0aGUgY2FjaGUuIENsYXNzZXMgd2hvIHdhbnQgdG8gdXNlIHRoaXMgb2JqZWN0IHNo
b3VsZCBkZXJpdmUKIC8vIGZyb20gQ2FjaGVkUmVzb3VyY2VDbGllbnQsIHRvIGdldCB0aGUgZnVu
Y3Rpb24gY2FsbHMgaW4gY2FzZSB0aGUgcmVxdWVzdGVkIGRhdGEgaGFzIGFycml2ZWQuCiAvLyBU
aGlzIGNsYXNzIGFsc28gZG9lcyB0aGUgYWN0dWFsIGNvbW11bmljYXRpb24gd2l0aCB0aGUgbG9h
ZGVyIHRvIG9idGFpbiB0aGUgcmVzb3VyY2UgZnJvbSB0aGUgbmV0d29yay4KLWNsYXNzIENhY2hl
ZFJlc291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hlZFJlc291cmNlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBNZW1vcnlDYWNoZTsKICAgICBmcmllbmQgY2xh
c3MgSW5zcGVjdG9yUmVzb3VyY2U7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oCmluZGV4IDI3NWQzMzEuLjFjNTZmMTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVu
dC5oCkBAIC00NSw4ICs0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgKiBpbmhlcml0
IGZyb20gdGhpcyBjbGFzcyBhbmQgb3ZlcmxvYWQgb25lIG9mIHRoZSAzIGZ1bmN0aW9ucwogICAg
ICAqCiAgICAgICovCi0gICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGllbnQgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZQotICAgIHsKKyAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAg
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVh
bCB+Q2FjaGVkUmVzb3VyY2VDbGllbnQoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaAppbmRleCAzNGVmNzAwLi5hNTQwYTQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuaApAQCAtNDksNyArNDksOCBAQCBjbGFzcyBJbWFnZUxvYWRlcjsKIGNsYXNzIEtVUkw7
CiAKIC8vIFRoZSBDYWNoZWRSZXNvdXJjZUxvYWRlciBtYW5hZ2VzIHRoZSBsb2FkaW5nIG9mIHNj
cmlwdHMvaW1hZ2VzL3N0eWxlc2hlZXRzIGZvciBhIHNpbmdsZSBkb2N1bWVudC4KLWNsYXNzIENh
Y2hlZFJlc291cmNlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENhY2hlZFJl
c291cmNlTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWNoZWRSZXNvdXJjZUxv
YWRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogZnJpZW5kIGNsYXNzIEltYWdlTG9hZGVy
OwogCiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVt
b3J5Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5oCmlu
ZGV4IGU5MjZkN2MuLmRkOGI4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9NZW1vcnlDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5oCkBAIC03MCw3ICs3MCw4IEBAIGNsYXNzIEtVUkw7CiAvLyBpdHMgbWVtYmVyIHZh
cmlhYmxlcykgYXJlIGFsbG9jYXRlZCBpbiBub24tcHVyZ2VhYmxlIFRDLW1hbGxvYydkIG1lbW9y
eSBzbyB3ZSB3b3VsZCBzZWUgc2xpZ2h0bHkKIC8vIG1vcmUgbWVtb3J5IHVzZSBkdWUgdG8gdGhp
cy4KIAotY2xhc3MgTWVtb3J5Q2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTWVt
b3J5Q2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lbW9yeUNhY2hlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZnJpZW5kIE1lbW9yeUNhY2hlKiBtZW1v
cnlDYWNoZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5oCmlu
ZGV4IDYxNDZhYTYuLmUwOGRjZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25E
YXRhYmFzZS5oCkBAIC02Miw4ICs2Miw4IEBAIGVudW0gSWNvbkxvYWREZWNpc2lvbiB7CiAgICAg
SWNvbkxvYWRVbmtub3duCiB9OwogCi1jbGFzcyBJY29uRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgewotCitjbGFzcyBJY29uRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEljb25EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogLy8gKioqIE1haW4gVGhy
ZWFkIE9ubHkgKioqCiBwdWJsaWM6CiAgICAgdm9pZCBzZXRDbGllbnQoSWNvbkRhdGFiYXNlQ2xp
ZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJh
c2VDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVu
dC5oCmluZGV4IGMyMTBkN2QuLmY5N2EyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25EYXRhYmFzZUNsaWVudC5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaWZuZGVmIElj
b25EYXRhYmFzZUNsaWVudF9oCiAjZGVmaW5lIEljb25EYXRhYmFzZUNsaWVudF9oCiAKKyNpbmNs
dWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTM3LDggKzM4LDEwIEBACiAgCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIEljb25EYXRhYmFzZUNsaWVudCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEljb25EYXRhYmFzZUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgorICAgIEljb25EYXRhYmFzZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkljb25EYXRhYmFz
ZUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBwZXJmb3JtSW1wb3J0KCkgeyByZXR1cm4g
dHJ1ZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlbW92ZUFsbEljb25zKCkgeyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKaW5kZXggMWViYWM0OC4uMjk4
NTM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaApAQCAtMzcsNyAr
MzcsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEtVUkw7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAK
LWNsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50LCBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VM
b2FkZXJDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEljb25Mb2FkZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJY29u
TG9hZGVyPiBjcmVhdGUoRnJhbWUqKTsKICAgICB+SWNvbkxvYWRlcigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oCmluZGV4IGY3Y2NiOGYuLjc5MzVkYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKQEAgLTUxLDcgKzUx
LDggQEAgcHVibGljOgogICAgIFN0cmluZyBpY29uVVJMOwogfTsKIAotY2xhc3MgUGFnZVVSTFJl
Y29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWdlVVJMUmVjb3JkIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQYWdlVVJMUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgUGFnZVVSTFJlY29yZChjb25zdCBTdHJpbmcmIHBhZ2VVUkwpOwog
ICAgIH5QYWdlVVJMUmVjb3JkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uaAppbmRleCBmMTRhMzAyLi43MzEzMWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL25v
dGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTU5LDYgKzU5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKICAgICBjbGFzcyBOb3RpZmljYXRp
b24gOiBwdWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9NT2Jq
ZWN0LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2ZW50VGFyZ2V0IHsK
KyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYgY29u
dGVudHMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVj
LCBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbkNlbnRlcj4gcHJvdmlkZXIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggYWI5Mjc5Ni4uZTZhMGEwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCkBAIC00MSw3
ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBFdmVudDsKICAgICBjbGFz
cyBQYWdlOwogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShDb250ZXh0TWVudUNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51Q29udHJvbGxlcihQYWdl
KiwgQ29udGV4dE1lbnVDbGllbnQqKTsKICAgICAgICAgfkNvbnRleHRNZW51Q29udHJvbGxlcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDEwYmI1ZjguLjBmMTc2YjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKQEAgLTQ3LDcgKzQ3LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJhbmdlOwogICAgIGNsYXNzIFNlbGVjdGlvbkNv
bnRyb2xsZXI7CiAgICAgCi0gICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIERyYWdDb250cm9sbGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRHJhZ0NvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIERyYWdDb250cm9sbGVyKFBhZ2UqLCBEcmFnQ2xpZW50Kik7CiAgICAg
ICAgIH5EcmFnQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5kZXgg
MGMxODQ1MC4uZDEyYTU2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhh
bmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC04MSw3
ICs4MSw4IEBAIGV4dGVybiBjb25zdCBpbnQgR2VuZXJhbERyYWdIeXN0ZXJlc2lzOwogCiBlbnVt
IEhpdFRlc3RTY3JvbGxiYXJzIHsgU2hvdWxkSGl0VGVzdFNjcm9sbGJhcnMsIERvbnRIaXRUZXN0
U2Nyb2xsYmFycyB9OwogCi1jbGFzcyBFdmVudEhhbmRsZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRXZlbnRIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhh
bmRsZXIpOwogcHVibGljOgogICAgIEV2ZW50SGFuZGxlcihGcmFtZSopOwogICAgIH5FdmVudEhh
bmRsZXIoKTsKQEAgLTIyNCw3ICsyMjUsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgUGVyZm9ybURy
YWdBbmREcm9wCiAgICAgfTsKIAotICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgOiBO
b25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFuZGxlckRyYWdTdGF0ZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKKyAgICAgICAgRXZlbnRIYW5kbGVyRHJhZ1N0YXRl
KCkgeyB9CiAgICAgICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdTcmM7IC8vIGVsZW1lbnQgdGhhdCBt
YXkgYmUgYSBkcmFnIHNvdXJjZSwgZm9yIHRoZSBjdXJyZW50IG1vdXNlIGdlc3R1cmUKICAgICAg
ICAgYm9vbCBtX2RyYWdTcmNJc0xpbms7CiAgICAgICAgIGJvb2wgbV9kcmFnU3JjSXNJbWFnZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCBmZmVkNTkyLi4xMGFkNmJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiAgICAgY2xhc3MgRXZlbnRTb3VyY2Ug
OiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudFNvdXJjZT4sIHB1YmxpYyBFdmVudFRhcmdldCwgcHJp
dmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxFdmVudFNvdXJjZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXJsLCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICB2aXJ0dWFsIH5F
dmVudFNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKaW5kZXggYmU1
MWM3Ny4uNTBmYTJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCkBAIC00
MCw3ICs0MCw4IEBAIGNsYXNzIEtleWJvYXJkRXZlbnQ7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFn
ZTsKIAotY2xhc3MgRm9jdXNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZvY3VzQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9jdXNDb250cm9s
bGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9jdXNDb250cm9s
bGVyKFBhZ2UqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKaW5kZXggOTRiOGQxNi4uYmFjNTQ3
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCkBAIC0yNiw3ICsyNiw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwogCi0gICAgY2xhc3MgRnJhbWVUcmVlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBGcmFtZVRyZWUgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZVRyZWUpOwogICAgIHB1YmxpYzoKICAgICAgICAgRnJhbWVUcmVl
KEZyYW1lKiB0aGlzRnJhbWUsIEZyYW1lKiBwYXJlbnRGcmFtZSkgCiAgICAgICAgICAgICA6IG1f
dGhpc0ZyYW1lKHRoaXNGcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBiY2M4
YjlmLi5lMDNlZjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0xMDgsNyArMTA4
LDEwIEBAIGRvdWJsZSBGcmFtZVZpZXc6OnNfZGVmZXJyZWRSZXBhaW50RGVsYXlJbmNyZW1lbnRE
dXJpbmdMb2FkaW5nID0gMDsKIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiB1cGRhdGVXaWRnZXRz
IGl0ZXJhdGlvbnMgdGhhdCBzaG91bGQgYmUgZG9uZSBiZWZvcmUgcmV0dXJuaW5nLgogc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIG1heFVwZGF0ZVdpZGdldHNJdGVyYXRpb25zID0gMjsKIAotc3RydWN0
IFNjaGVkdWxlZEV2ZW50IDogTm9uY29weWFibGUgeworc3RydWN0IFNjaGVkdWxlZEV2ZW50IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY2hlZHVsZWRFdmVudCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgorICAgIFNjaGVkdWxlZEV2ZW50KCkgeyB9CiAgICAgUmVmUHRy
PEV2ZW50PiBtX2V2ZW50OwogICAgIFJlZlB0cjxOb2RlPiBtX2V2ZW50VGFyZ2V0OwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oCmluZGV4IDdkYjE5NTEu
LjFhMmNlNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIu
aApAQCAtNDAsNyArNDAsOCBAQCBjbGFzcyBHZW9sb2NhdGlvbkVycm9yOwogY2xhc3MgR2VvbG9j
YXRpb25Qb3NpdGlvbjsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6
CiAgICAgR2VvbG9jYXRpb25Db250cm9sbGVyKFBhZ2UqLCBHZW9sb2NhdGlvbkNsaWVudCopOwog
ICAgIH5HZW9sb2NhdGlvbkNvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvR3JvdXBTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdz
LmgKaW5kZXggZmI2ZjZiNS4uMWJiYWQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Hcm91cFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Hcm91cFNldHRpbmdz
LmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQYWdlR3Jv
dXA7CiAKLWNsYXNzIEdyb3VwU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
R3JvdXBTZXR0aW5ncyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JvdXBTZXR0aW5ncyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRy
PEdyb3VwU2V0dGluZ3M+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA3NDEzYmI2
Li4wNzFiMTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtOTAsMTIgKzkwLDE1IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgIGVudW0gRmluZERpcmVjdGlvbiB7IEZpbmREaXJlY3Rpb25Gb3J3YXJk
LCBGaW5kRGlyZWN0aW9uQmFja3dhcmQgfTsKIAotICAgIGNsYXNzIFBhZ2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFBhZ2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQYWdlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yY2Vk
U3R5bGVSZWNhbGNGb3JBbGxQYWdlcygpOwogCiAgICAgICAgIC8vIEl0IGlzIHVwIHRvIHRoZSBw
bGF0Zm9ybSB0byBlbnN1cmUgdGhhdCBub24tbnVsbCBjbGllbnRzIGFyZSBwcm92aWRlZCB3aGVy
ZSByZXF1aXJlZC4KLSAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIDogTm9uY29weWFibGUgewor
ICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUGFnZUNsaWVudHMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgUGFnZUNsaWVudHMoKTsKICAgICAgICAgICAgIH5QYWdlQ2xpZW50
cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAppbmRleCBjYzQ3ZmJhLi42NDNjNWU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUdyb3VwLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xhc3MgU3RvcmFnZU5hbWVzcGFjZTsKIAotICAgIGNs
YXNzIFBhZ2VHcm91cCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZUdyb3Vw
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZUdyb3VwKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBQYWdlR3JvdXAoY29uc3QgU3RyaW5n
JiBuYW1lKTsKICAgICAgICAgUGFnZUdyb3VwKFBhZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VHcm91cExvYWREZWZlcnJlci5oCmluZGV4IGQ0NDNlYmQuLmY3OTU2YzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaApAQCAtMjgsNyArMjgsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRnJhbWU7CiAgICAgY2xhc3MgUGFnZTsK
IAotICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUGFnZUdyb3VwTG9hZERlZmVycmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIFBh
Z2VHcm91cExvYWREZWZlcnJlcihQYWdlKiwgYm9vbCBkZWZlclNlbGYpOwogICAgICAgICB+UGFn
ZUdyb3VwTG9hZERlZmVycmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bs
dWdpbkhhbHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaAppbmRleCBh
ZjhiMzFlLi41Yjk2ZDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BsdWdpbkhh
bHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKQEAgLTM1LDcg
KzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIYWx0YWJsZVBsdWdpbjsKIAot
Y2xhc3MgUGx1Z2luSGFsdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdpbkhh
bHRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1Z2luSGFsdGVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUGx1Z2luSGFsdGVyKFBsdWdpbkhhbHRlckNs
aWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggZjQ2MzBkZS4uNDIwZGFjYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtNTAsNyArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51QWx3YXlzSW5jbHVkZWQKICAgICB9OwogCi0g
ICAgY2xhc3MgU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNldHRp
bmdzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0dGluZ3MpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCmluZGV4IDI3MGY1MDAuLjUyZDZjMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NwZWVjaElucHV0LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJTcGVlY2hJ
bnB1dExpc3RlbmVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQ4LDcgKzQ3LDggQEAgY2xhc3MgU3BlZWNoSW5wdXRMaXN0ZW5lcjsKIC8v
IFRoaXMgY2xhc3MgY29ubmVjdHMgdGhlIGlucHV0IGVsZW1lbnRzIHJlcXVpcmluZyBzcGVlY2gg
aW5wdXQgd2l0aCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMKIC8vIHNwZWVjaCByZWNvZ25pdGlvbiBl
bmdpbmUuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIHRoZSBpbnB1dCBlbGVtZW50cyB0byBhY3Rp
dmF0ZSBzcGVlY2gKIC8vIHJlY29nbml0aW9uIGFuZCBtZXRob2RzIGZvciB0aGUgc3BlZWNoIHJl
Y29nbml0aW9uIGVuZ2luZSB0byByZXR1cm4gYmFjayB0aGUgcmVzdWx0cy4KLWNsYXNzIFNwZWVj
aElucHV0IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5lciB7
CitjbGFzcyBTcGVlY2hJbnB1dCA6IHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTcGVlY2hJbnB1dCk7CiBwdWJsaWM6CiAgICAgU3BlZWNoSW5w
dXQoU3BlZWNoSW5wdXRDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5TcGVlY2hJbnB1dCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1VzZXJTY3JpcHQuaAppbmRleCAwNjUyNDM5Li4wNTE0MDkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1VzZXJTY3JpcHQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFVzZXJTY3JpcHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVXNlclNjcmlw
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVXNlclNjcmlwdCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIFVzZXJTY3JpcHQoY29uc3QgU3RyaW5nJiBzb3VyY2Us
IGNvbnN0IEtVUkwmIHVybCwKICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmlu
Zz4gPiB3aGl0ZWxpc3QsIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKaW5kZXggZmE0MmUyYy4uMDY4ZGYxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaApAQCAtMzUsNyArMzUsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFVzZXJTdHlsZVNoZWV0IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFVzZXJTdHlsZVNoZWV0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShV
c2VyU3R5bGVTaGVldCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFVz
ZXJTdHlsZVNoZWV0KGNvbnN0IFN0cmluZyYgc291cmNlLCBjb25zdCBLVVJMJiB1cmwsCiAgICAg
ICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHdoaXRlbGlzdCwgUGFz
c093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9y
LmgKaW5kZXggMmI3ODFmMS4uNWJlZWQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9YU1NBdWRpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9YU1NBdWRpdG9yLmgKQEAg
LTY5LDcgKzY5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vICogSFRNTERvY3VtZW50
UGFyc2VyOjpzaG91bGRMb2FkRXh0ZXJuYWxTY3JpcHRGcm9tU3JjIC0gdXNlZCB0byBsb2FkIGV4
dGVybmFsIEphdmFTY3JpcHQgc2NyaXB0cy4KICAgICAvLyAqIFN1YmZyYW1lTG9hZGVyOjpyZXF1
ZXN0T2JqZWN0IC0gdXNlZCB0byBsb2FkIDxvYmplY3Q+LzxlbWJlZD4gZWxlbWVudHMuCiAgICAg
Ly8KLSAgICBjbGFzcyBYU1NBdWRpdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBYU1NBdWRpdG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoWFNTQXVkaXRvcik7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgWFNTQXVkaXRv
cihGcmFtZSopOwogICAgICAgICB+WFNTQXVkaXRvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcAppbmRleCAxNGE0NGQyLi45YTkwNmUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcApA
QCAtMjIzLDcgKzIyMyw4IEBAIGNsYXNzIFByb3BlcnR5V3JhcHBlckJhc2U7CiBzdGF0aWMgdm9p
ZCBhZGRTaG9ydGhhbmRQcm9wZXJ0aWVzKCk7CiBzdGF0aWMgUHJvcGVydHlXcmFwcGVyQmFzZSog
d3JhcHBlckZvclByb3BlcnR5KGludCBwcm9wZXJ0eUlEKTsKIAotY2xhc3MgUHJvcGVydHlXcmFw
cGVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQcm9wZXJ0eVdyYXBwZXJCYXNl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9wZXJ0eVdyYXBwZXJCYXNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvcGVydHlXcmFwcGVyQmFzZShpbnQg
cHJvcCkKICAgICAgICAgOiBtX3Byb3AocHJvcCkKQEAgLTQ0Niw3ICs0NDcsOCBAQCBwdWJsaWM6
CiB9OwogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLWNsYXNzIEZpbGxMYXllclByb3BlcnR5V3Jh
cHBlckdldHRlciA6IHB1YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlLCBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyIDogcHVi
bGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlcik7CiBwdWJsaWM6CiAgICAgRmlsbExh
eWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKFQgKEZpbGxMYXllcjo6KmdldHRlcikoKSBjb25zdCkK
ICAgICAgICAgOiBtX2dldHRlcihnZXR0ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAppbmRleCA2ODEy
ZTA5Li4xODZkZDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xh
c3MgTm9kZTsKIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi1jbGFz
cyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZShGcmFtZSopOwogICAgIH5Bbmlt
YXRpb25Db250cm9sbGVyUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRI
YW5kbGVyTWFjLm1tCmluZGV4IDJkNGQ4NmIuLjYwMTE4NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KQEAgLTc3LDcgKzc3LDggQEAgTlNFdmVudCAqRXZl
bnRIYW5kbGVyOjpjdXJyZW50TlNFdmVudCgpCiAgICAgcmV0dXJuIGN1cnJlbnROU0V2ZW50U2xv
dCgpLmdldCgpOwogfQogCi1jbGFzcyBDdXJyZW50RXZlbnRTY29wZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDdXJyZW50RXZlbnRTY29wZSB7CisgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEN1cnJlbnRFdmVudFNjb3BlKTsKIHB1YmxpYzoKICAgICBDdXJyZW50RXZlbnRTY29wZShO
U0V2ZW50ICopOwogICAgIH5DdXJyZW50RXZlbnRTY29wZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAppbmRleCBkOTZjMWFkLi5jMzRhNjQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaApAQCAtNDQsNyArNDQsOCBAQCBjbGFz
cyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M7CiBjbGFzcyBBc3luY0ZpbGVXcml0ZXJDbGllbnQ7
CiAKIC8vIFRoaXMgY2xhc3MgcHJvdmlkZXMgYXN5bmMgaW50ZXJmYWNlIGZvciBwbGF0Zm9ybS1z
cGVjaWZpYyBmaWxlIHN5c3RlbSBpbXBsZW1lbnRhdGlvbi4gIE5vdGUgdGhhdCBhbGwgdGhlIG1l
dGhvZHMgdGFrZSBwbGF0Zm9ybSBwYXRocy4KLWNsYXNzIEFzeW5jRmlsZVN5c3RlbSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW0geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+QXN5bmNG
aWxlU3lzdGVtKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNG
aWxlU3lzdGVtQ2FsbGJhY2tzLmgKaW5kZXggMjkwYTY2OS4uY2VlOGQ5MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgKQEAgLTQx
LDggKzQxLDExIEBAIGNsYXNzIEFzeW5jRmlsZVN5c3RlbTsKIGNsYXNzIEFzeW5jRmlsZVdyaXRl
cjsKIHN0cnVjdCBGaWxlTWV0YWRhdGE7CiAKLWNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNr
cyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3Mg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyk7CiBw
dWJsaWM6CisgICAgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKCkgeyB9ICAgIAorCiAgICAgLy8g
Q2FsbGVkIHdoZW4gYSByZXF1ZXN0ZWQgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVs
bHkuCiAgICAgdmlydHVhbCB2b2lkIGRpZFN1Y2NlZWQoKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKaW5kZXggZDQ0ZWUxZS4uZjAzZWM4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgKQEAgLTM5LDcgKzM5LDggQEAg
Y2xhc3MgTlNBdXRvcmVsZWFzZVBvb2w7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
QXV0b2RyYWluZWRQb29sIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1dG9kcmFpbmVk
UG9vbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXV0b2RyYWluZWRQb29sKTsKIHB1Ymxp
YzoKICAgICBBdXRvZHJhaW5lZFBvb2woaW50IGl0ZXJhdGlvbkxpbWl0ID0gMSk7CiAgICAgfkF1
dG9kcmFpbmVkUG9vbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29u
dGV4dE1lbnUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKaW5kZXgg
NTc1Yzg2ZC4uMjk3Nzc0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29u
dGV4dE1lbnUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCkBA
IC00MSw4ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENvbnRleHRN
ZW51Q29udHJvbGxlcjsKIAotICAgIGNsYXNzIENvbnRleHRNZW51IDogcHVibGljIE5vbmNvcHlh
YmxlCi0gICAgeworICAgIGNsYXNzIENvbnRleHRNZW51IHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ29udGV4dE1lbnUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIENvbnRleHRNZW51KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29u
dGV4dE1lbnVJdGVtLmgKaW5kZXggMTQ1ZDc5NS4uNmU4NDEzMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgKQEAgLTIyMyw3ICsyMjMsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybU1lbnVJdGVtRGVzY3JpcHRpb247
CiAjZW5kaWYKIAotICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSA6IHB1YmxpYyBGYXN0QWxsb2NC
YXNlIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudUl0ZW0geworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENvbnRleHRNZW51SXRlbShDb250ZXh0
TWVudUl0ZW1UeXBlLCBDb250ZXh0TWVudUFjdGlvbiwgY29uc3QgU3RyaW5nJiwgQ29udGV4dE1l
bnUqIHN1Yk1lbnUgPSAwKTsKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKENvbnRleHRNZW51SXRl
bVR5cGUsIENvbnRleHRNZW51QWN0aW9uLCBjb25zdCBTdHJpbmcmLCBib29sIGVuYWJsZWQsIGJv
b2wgY2hlY2tlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNh
dGVkUHRyTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3Qu
aAppbmRleCA0N2NkNTM4Li5jMDdkMTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Rl
cHJlY2F0ZWRQdHJMaXN0LmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiB0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3RJdGVyYXRvcjsKIAot
dGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgewordGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0IHsK
KyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBEZXByZWNhdGVkUHRy
TGlzdCgpIDogaW1wbChkZWxldGVGdW5jKSwgZGVsX2l0ZW0oZmFsc2UpIHsgfQogICAgIH5EZXBy
ZWNhdGVkUHRyTGlzdCgpIHsgaW1wbC5jbGVhcihkZWxfaXRlbSk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwCmluZGV4IDk2ZmQ1MTMu
LmM2MzM3NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQ
dHJMaXN0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0
ckxpc3RJbXBsLmNwcApAQCAtMjksMTIgKzI5LDEzIEBACiAjaW5jbHVkZSA8Y3N0ZGRlZj4KICNp
bmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRl
IDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSA6IHB1YmxpYyBO
b25jb3B5YWJsZQoteworY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEZXByZWNhdGVkTGlzdE5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBEZXByZWNhdGVkTGlzdE5vZGUodm9pZCAqZCkgOiBkYXRhKGQpLCBuZXh0
KDApLCBwcmV2KDApIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9F
dmVudExvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCmluZGV4IGIw
NTA3ZjcuLjEyOGU5MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50
TG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2ZW50TG9vcC5oCkBAIC0zMCw3
ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEV2ZW50TG9vcCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZlbnRMb29wIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRXZlbnRMb29wKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEV2ZW50
TG9vcCgpCiAgICAgICAgICAgICA6IG1fZW5kZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCmluZGV4IDE1ODVmNjUuLjkyMTFmOGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oCkBAIC00Miw3ICs0
Miw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JP
Y2N1cnJlZChHZW9sb2NhdGlvblNlcnZpY2UqKSA9IDA7CiB9OwogCi1jbGFzcyBHZW9sb2NhdGlv
blNlcnZpY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25TZXJ2aWNl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvblNlcnZpY2UpOwogcHVibGlj
OgogICAgIHN0YXRpYyBHZW9sb2NhdGlvblNlcnZpY2UqIGNyZWF0ZShHZW9sb2NhdGlvblNlcnZp
Y2VDbGllbnQqKTsKICAgICB2aXJ0dWFsIH5HZW9sb2NhdGlvblNlcnZpY2UoKSB7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAppbmRleCA3ODgyZDQ4Li4yMjU4ODRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCkBAIC0yNiwxNSArMjYsMTYgQEAKICNpZm5kZWYg
SG9zdFdpbmRvd19oCiAjZGVmaW5lIEhvc3RXaW5kb3dfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgQ3Vyc29yOwogCi1jbGFzcyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhvc3RXaW5kb3cgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RXaW5kb3cp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBIb3N0V2luZG93KCkgeyB9
CiAgICAgdmlydHVhbCB+SG9zdFdpbmRvdygpIHsgfQogCiAgICAgLy8gUmVxdWVzdHMgdGhlIGhv
c3QgaW52YWxpZGF0ZSB0aGUgd2luZG93LCBub3QgdGhlIGNvbnRlbnRzLiAgSWYgaW1tZWRpYXRl
IGlzIHRydWUgZG8gc28gc3luY2hyb25vdXNseSwgb3RoZXJ3aXNlIGFzeW5jLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0tpbGxSaW5nLmgKaW5kZXggOGUyNzM1MC4uYjY4NzI3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2lsbFJpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9LaWxsUmluZy5oCkBAIC0zMSw2ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEtpbGxSaW5nIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICB2b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHByZXBlbmQoY29uc3Qg
U3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDdkZDg3NWUuLjlkYTcxYzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCkBAIC0zNSw3ICszNSw5IEBAIGNvbnN0IGludCBp
bnRNaW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFsdWUgZm9yIGEgMjgt
Yml0IGludAogCiBlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4
ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKIAotc3RydWN0IExlbmd0aCA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IExlbmd0aCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CitwdWJsaWM6CiAgICAgTGVuZ3RoKCkKICAgICAgICAgOiBtX3ZhbHVlKDApCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IDc4YTQwYjMuLjUwYTljYjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTgxLDcgKzgxLDggQEAgY2xh
c3MgTm9kZTsKIGNsYXNzIFJhbmdlOwogY2xhc3MgQXJjaGl2ZVJlc291cmNlOwogICAgIAotY2xh
c3MgUGFzdGVib2FyZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYXN0ZWJvYXJkIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXN0ZWJvYXJkKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIC8vSGVscGVyIGZ1bmN0aW9u
cyB0byBhbGxvdyBDbGlwYm9hcmQgdG8gc2hhcmUgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRleCBiYzI4ZTg0Li5hZWU5NWI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaApA
QCAtNzUsNyArNzUsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IHVpbnQzMjsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51
bSBUeXBlIHsKICAgICAgICAgICAgIC8vIEtleURvd24gaXMgc2VudCBieSBwbGF0Zm9ybXMgc3Vj
aCBhcyBNYWMgT1MgWCwgZ3RrIGFuZCBRdCwgYW5kIGhhcyBpbmZvcm1hdGlvbiBhYm91dCBib3Ro
IHBoeXNpY2FsIHByZXNzZWQga2V5LCBhbmQgaXRzIHRyYW5zbGF0aW9uLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAppbmRleCA5YmRhMmQ1Li40NDEzNmMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaApAQCAtMjcsMTMgKzI3LDEz
IEBACiAjZGVmaW5lIFB1cmdlYWJsZUJ1ZmZlcl9oCiAKICNpbmNsdWRlICJQdXJnZVByaW9yaXR5
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAKLSAgICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
IGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFB1
cmdlYWJsZUJ1ZmZlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxQ
dXJnZWFibGVCdWZmZXI+IGNyZWF0ZShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QpOwogICAgICAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggNjVmMjUzZS4uZjhj
NTI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKQEAgLTMwLDE1ICsz
MCwxNiBAQAogI2RlZmluZSBSdW5Mb29wVGltZXJfaAogCiAjaW5jbHVkZSAiU2NoZWR1bGVQYWly
LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFRpbWUgaW50ZXJ2YWxzIGFyZSBhbGwg
aW4gc2Vjb25kcy4KIAotY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSdW5Mb29wVGltZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
dW5Mb29wVGltZXJCYXNlKTsKIHB1YmxpYzoKKyAgICBSdW5Mb29wVGltZXJCYXNlKCkgeyB9CiAg
ICAgdmlydHVhbCB+UnVuTG9vcFRpbWVyQmFzZSgpOwogCiAgICAgdm9pZCBzY2hlZHVsZShjb25z
dCBTY2hlZHVsZVBhaXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGJhclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5o
CmluZGV4IDRlOWUyNGIuLmVmNTJiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YmFyVGhlbWUuaApAQCAtMzYsOCArMzYsMTAgQEAgY2xhc3MgUGxhdGZvcm1Nb3VzZUV2ZW50Owog
Y2xhc3MgU2Nyb2xsYmFyOwogY2xhc3MgU2Nyb2xsVmlldzsKIAotY2xhc3MgU2Nyb2xsYmFyVGhl
bWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRoZW1lKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CisgICAgU2Nyb2xsYmFyVGhlbWUoKSB7IH0KICAgICB2aXJ0dWFsIH5TY3Jv
bGxiYXJUaGVtZSgpIHt9OwogCiAgICAgdmlydHVhbCBib29sIHBhaW50KFNjcm9sbGJhciosIEdy
YXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmIC8qZGFtYWdlUmVjdCovKSB7IHJldHVybiBm
YWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKaW5kZXggNWI1Y2QxNC4u
MTZlMGQwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCkBAIC0yNiw2ICsy
Niw3IEBACiAjaWZuZGVmIFNoYXJlZFRpbWVyX2gKICNkZWZpbmUgU2hhcmVkVGltZXJfaAogCisj
aW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzMsOCArMzQsMTAgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIC8vIEVhY2ggdGhyZWFkIGhhcyBpdHMgb3duIHNpbmdsZSBpbnN0YW5jZSBv
ZiBzaGFyZWQgdGltZXIsIHdoaWNoIGltcGxlbWVudHMgdGhpcyBpbnRlcmZhY2UuCiAgICAgLy8g
VGhpcyBpbnN0YW5jZSBpcyBzaGFyZWQgYnkgYWxsIHRpbWVycyBpbiB0aGUgdGhyZWFkLgogICAg
IC8vIE5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5OyB1c2UgdGhlIFRpbWVyIGNsYXNz
IGluc3RlYWQuCi0gICAgY2xhc3MgU2hhcmVkVGltZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFNoYXJlZFRpbWVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hh
cmVkVGltZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAg
IFNoYXJlZFRpbWVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflNoYXJlZFRpbWVyKCkge30KICAg
ICAgICAgdmlydHVhbCB2b2lkIHNldEZpcmVkRnVuY3Rpb24odm9pZCAoKikoKSkgPSAwOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgKaW5kZXggOWY1N2YwMC4u
NzYzNzdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFs
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaApA
QCAtNDUsNyArNDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IFRFQ0NvbnZl
cnRlcldyYXBwZXI7CiAgICAgY2xhc3MgVGhyZWFkVGltZXJzOwogCi0gICAgY2xhc3MgVGhyZWFk
R2xvYmFsRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkR2xvYmFs
RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZEdsb2JhbERhdGEpOwog
ICAgIHB1YmxpYzoKICAgICAgICAgVGhyZWFkR2xvYmFsRGF0YSgpOwogICAgICAgICB+VGhyZWFk
R2xvYmFsRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFk
VGltZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaAppbmRleCBh
YjQyNTk4Li4zZDdiNWY5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhy
ZWFkVGltZXJzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgK
QEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRpbWVyQmFz
ZTsKIAogICAgIC8vIEEgY29sbGVjdGlvbiBvZiB0aW1lcnMgcGVyIHRocmVhZC4gS2VwdCBpbiBU
aHJlYWRHbG9iYWxEYXRhLgotICAgIGNsYXNzIFRocmVhZFRpbWVycyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgVGhyZWFkVGltZXJzIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoVGhyZWFkVGltZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBUaHJlYWRUaW1lcnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5kZXgg
YzQ0NDNkYS4uYzMzMWUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGlt
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBAIC0zNSw3ICszNSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xh
c3MgVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbWVyQmFzZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+VGltZXJCYXNlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKaW5kZXggOWQ5YWMxZi4uOWUyN2M1ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaApAQCAtMzIsNyArMzIsOCBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkOwogdGVtcGxhdGU8dHlwZW5hbWUgVD4g
dm9pZCBhZG9wdGVkKFRyZWVTaGFyZWQ8VD4qKTsKICNlbmRpZgogCi10ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBjbGFzcyBUcmVlU2hhcmVkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRy
ZWVTaGFyZWQpOwogcHVibGljOgogICAgIFRyZWVTaGFyZWQoKQogICAgICAgICA6IG1fcmVmQ291
bnQoMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9Bbmlt
YXRpb25MaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9u
TGlzdC5oCmluZGV4IDlhMzM0Y2EuLmJmOGZmOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaApAQCAtMzEsNyArMzEsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBBbmltYXRpb25MaXN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25MaXN0KCkgeyB9CiAgICAgQW5pbWF0aW9uTGlz
dChjb25zdCBBbmltYXRpb25MaXN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0J1cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVk
aW9CdXMuaAppbmRleCA0MzE4YjgxLi44ODhmNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0J1cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvQnVzLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Ly8gQW4gQXVkaW9CdXMgcmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2Ygb25lIG9yIG1vcmUgQXVk
aW9DaGFubmVscy4KIC8vIFRoZSBkYXRhIGxheW91dCBpcyAicGxhbmFyIiBhcyBvcHBvc2VkIHRv
ICJpbnRlcmxlYXZlZCIuCiAvLyBBbiBBdWRpb0J1cyB3aXRoIG9uZSBjaGFubmVsIGlzIG1vbm8s
IGFuIEF1ZGlvQnVzIHdpdGggdHdvIGNoYW5uZWxzIGlzIHN0ZXJlbywgZXRjLgotY2xhc3MgQXVk
aW9CdXMgIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEF1ZGlvQnVzIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShBdWRpb0J1cyk7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAg
IENoYW5uZWxMZWZ0ID0gMCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0F1ZGlvQ2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9D
aGFubmVsLmgKaW5kZXggNjgxNjgzMC4uNzMyNWU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9DaGFubmVsLmgKQEAgLTMwLDE0ICszMCwxNCBAQAogI2RlZmluZSBB
dWRpb0NoYW5uZWxfaAogCiAjaW5jbHVkZSAiQXVkaW9BcnJheS5oIgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogLy8gQW4gQXVkaW9DaGFubmVsIHJlcHJlc2VudHMgYSBidWZmZXIgb2Ygbm9u
LWludGVybGVhdmVkIGZsb2F0aW5nLXBvaW50IGF1ZGlvIHNhbXBsZXMuCiAvLyBUaGUgUENNIHNh
bXBsZXMgYXJlIG5vcm1hbGx5IGFzc3VtZWQgdG8gYmUgaW4gYSBub21pbmFsIHJhbmdlIC0xLjAg
LT4gKzEuMAotY2xhc3MgQXVkaW9DaGFubmVsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEF1ZGlvQ2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXVkaW9DaGFubmVsKTsK
IHB1YmxpYzoKICAgICAvLyBNZW1vcnkgY2FuIGJlIGV4dGVybmFsbHkgcmVmZXJlbmNlZCwgb3Ig
Y2FuIGJlIGludGVybmFsbHkgYWxsb2NhdGVkIHdpdGggYW4gQXVkaW9GbG9hdEFycmF5LgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oCmluZGV4IGMzM2Iz
OGYuLmJmMTNhM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZEYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRh
YmFzZS5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFJU
Rktlcm5lbDsKIAotY2xhc3MgSFJURkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhSVEZEYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFJURkRhdGFiYXNl
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIUlRGRGF0YWJhc2U+IGNyZWF0ZShk
b3VibGUgc2FtcGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0hSVEZFbGV2YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hS
VEZFbGV2YXRpb24uaAppbmRleCBiMzg4YjM0Li4yNGI3ODIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogLy8gSFJURkVsZXZhdGlvbiBjb250YWlucyBhbGwgb2YgdGhlIEhS
VEZLZXJuZWxzIChvbmUgbGVmdCBlYXIgYW5kIG9uZSByaWdodCBlYXIgcGVyIGF6aW11dGggYW5n
bGUpIGZvciBhIHBhcnRpY3VsYXIgZWxldmF0aW9uLgogCi1jbGFzcyBIUlRGRWxldmF0aW9uIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhSVEZFbGV2YXRpb24geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhSVEZFbGV2YXRpb24pOwogcHVibGljOgogICAgIC8vIExvYWRzIGFuZCBy
ZXR1cm5zIGFuIEhSVEZFbGV2YXRpb24gd2l0aCB0aGUgZ2l2ZW4gSFJURiBkYXRhYmFzZSBzdWJq
ZWN0IG5hbWUgYW5kIGVsZXZhdGlvbiBmcm9tIGJyb3dzZXIgKG9yIFdlYktpdC5mcmFtZXdvcmsp
IHJlc291cmNlcy4KICAgICAvLyBOb3JtYWxseSwgdGhlcmUgd2lsbCBvbmx5IGJlIGEgc2luZ2xl
IEhSVEYgZGF0YWJhc2Ugc2V0LCBidXQgdGhpcyBBUEkgc3VwcG9ydHMgdGhlIHBvc3NpYmlsaXR5
IG9mIG11bHRpcGxlIG9uZXMgd2l0aCBkaWZmZXJlbnQgbmFtZXMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAppbmRleCAxZDY5
OTIxLi5kNWFkYTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DbGlwYm9hcmRDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL0NsaXBib2FyZENocm9taXVtLmgKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIEludFBvaW50OwogCiAgICAgY2xhc3MgQ2xpcGJvYXJkQ2hyb21pdW0g
OiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIH5DbGlwYm9h
cmRDaHJvbWl1bSgpIHt9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9C
aXRtYXBJbWFnZS5oCmluZGV4IDVhNTQ5NjMuLmU5Njc4YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtNjgsNyArNjgsOSBAQCB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAvLyBGcmFtZURhdGEgQ2xhc3MKIC8vID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1zdHJ1Y3Qg
RnJhbWVEYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZyYW1lRGF0YSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRnJhbWVEYXRhKTsKK3B1YmxpYzoKICAgICBGcmFtZURhdGEoKQogICAg
ICAgICA6IG1fZnJhbWUoMCkKICAgICAgICAgLCBtX2hhdmVNZXRhZGF0YShmYWxzZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCmluZGV4IGVmMGQzMWMuLmRhOThkZDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaApAQCAtNzgsNyArNzgs
OCBAQCBpbmxpbmUgaW50IGdyZWVuQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsgcmV0dXJuIChjb2xv
ciA+PiA4KSAmIDB4RkY7IH0KIGlubGluZSBpbnQgYmx1ZUNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7
IHJldHVybiBjb2xvciAmIDB4RkY7IH0KIGlubGluZSBpbnQgYWxwaGFDaGFubmVsKFJHQkEzMiBj
b2xvcikgeyByZXR1cm4gKGNvbG9yID4+IDI0KSAmIDB4RkY7IH0KIAotY2xhc3MgQ29sb3IgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb2xvciB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29sb3IoKSA6IG1fY29sb3IoMCksIG1fdmFsaWQoZmFs
c2UpIHsgfQogICAgIENvbG9yKFJHQkEzMiBjb2wpIDogbV9jb2xvcihjb2wpLCBtX3ZhbGlkKHRy
dWUpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5j
cHAKaW5kZXggMTQ5ZWE3OS4uY2ZjYTk4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCkBAIC01Myw3ICs1Myw5IEBAIEZvbnRDYWNoZTo6Rm9u
dENhY2hlKCkKIHsKIH0KIAotc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSA6IEZhc3RB
bGxvY0Jhc2Ugeworc3RydWN0IEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtleSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5
KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5ID0gQXRvbWljU3RyaW5nKCksIHVuc2lnbmVkIHNp
emUgPSAwLCB1bnNpZ25lZCB3ZWlnaHQgPSAwLCBib29sIGl0YWxpYyA9IGZhbHNlLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzUHJpbnRlckZvbnQgPSBmYWxzZSwgRm9udFJl
bmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRlcmluZ01vZGUsIEZvbnRPcmll
bnRhdGlvbiBvcmllbnRhdGlvbiA9IEhvcml6b250YWwpCiAgICAgICAgIDogbV9zaXplKHNpemUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oCmluZGV4IGU2
ODQ1ZDkuLjg2ZjhjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYWNoZS5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNz
IEZvbnRTZWxlY3RvcjsKIGNsYXNzIFNpbXBsZUZvbnREYXRhOwogCi1jbGFzcyBGb250Q2FjaGUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udENhY2hlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGb250Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBmcmllbmQgRm9udENhY2hlKiBmb250Q2FjaGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKaW5kZXggZWU5NGE5OC4uM2QzNWQyYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCkBAIC0yNiw2ICsyNiw3
IEBACiAjaWZuZGVmIEZvbnREYXRhX2gKICNkZWZpbmUgRm9udERhdGFfaAogCisjaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAg
LTM0LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTaW1wbGVGb250RGF0
YTsKIAotY2xhc3MgRm9udERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udERh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnREYXRhKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9udERhdGEoKQogICAgICAgICA6IG1fbWF4R2x5cGhQ
YWdlVHJlZUxldmVsKDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9HbHlwaE1ldHJpY3NNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dseXBoTWV0cmljc01hcC5oCmluZGV4IGZhODViY2MuLjNlMTNmYmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoTWV0cmljc01hcC5oCkBAIC00MCw3
ICs0MCw4IEBAIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgR2x5cGg7CiAKIGNvbnN0IGZsb2F0IGNH
bHlwaFNpemVVbmtub3duID0gLTE7CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIEdseXBoTWV0
cmljc01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBH
bHlwaE1ldHJpY3NNYXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdseXBoTWV0cmljc01h
cCk7CiBwdWJsaWM6CiAgICAgR2x5cGhNZXRyaWNzTWFwKCkgOiBtX2ZpbGxlZFByaW1hcnlQYWdl
KGZhbHNlKSB7IH0KICAgICB+R2x5cGhNZXRyaWNzTWFwKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggYTQ1OWIzNy4uMzU4
MjRkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oCkBAIC0yMDYsNyArMjA2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBib29sIHNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zIDogMTsKICAgICB9OwogCi0gICAgY2xh
c3MgR3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmFw
aGljc0NvbnRleHQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRl
eHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEdyYXBo
aWNzQ29udGV4dChQbGF0Zm9ybUdyYXBoaWNzQ29udGV4dCopOwogICAgICAgICB+R3JhcGhpY3ND
b250ZXh0KCk7CkBAIC00MjQsNyArNDI1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2b2lkIHNldFNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoYm9vbCk7CiAgICAgICAgIGJvb2wg
c2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cygpIGNvbnN0OwogCi0gICAgICAgIGNsYXNzIFdpbmRv
d3NCaXRtYXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBXaW5kb3dzQml0
bWFwIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd3NCaXRtYXApOwog
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBXaW5kb3dzQml0bWFwKEhEQywgSW50U2l6ZSk7
CiAgICAgICAgICAgICB+V2luZG93c0JpdG1hcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDVmZGY3MzguLjc4YzFlNzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgK
QEAgLTk0LDcgKzk0LDggQEAgY2xhc3MgVGltaW5nRnVuY3Rpb247CiAvLyBCYXNlIGNsYXNzIGZv
ciBhbmltYXRpb24gdmFsdWVzIChhbHNvIHVzZWQgZm9yIHRyYW5zaXRpb25zKS4gSGVyZSB0bwog
Ly8gcmVwcmVzZW50IHZhbHVlcyBmb3IgcHJvcGVydGllcyBiZWluZyBhbmltYXRlZCB2aWEgdGhl
IEdyYXBoaWNzTGF5ZXIsCiAvLyB3aXRob3V0IHB1bGxpbmcgaW4gc3R5bGUtcmVsYXRlZCBkYXRh
IGZyb20gb3V0c2lkZSBvZiB0aGUgcGxhdGZvcm0gZGlyZWN0b3J5LgotY2xhc3MgQW5pbWF0aW9u
VmFsdWUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQW5pbWF0aW9uVmFsdWUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEFuaW1hdGlvblZhbHVlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uVmFsdWUoZmxvYXQga2V5VGltZSwgUGFzc1Jl
ZlB0cjxUaW1pbmdGdW5jdGlvbj4gdGltaW5nRnVuY3Rpb24gPSAwKQogICAgICAgICA6IG1fa2V5
VGltZShrZXlUaW1lKQpAQCAtMTQ2LDcgKzE0Nyw4IEBAIHByaXZhdGU6CiAKIC8vIFVzZWQgdG8g
c3RvcmUgYSBzZXJpZXMgb2YgdmFsdWVzIGluIGEga2V5ZnJhbWUgbGlzdC4gVmFsdWVzIHdpbGwg
YWxsIGJlIG9mIHRoZSBzYW1lIHR5cGUsCiAvLyB3aGljaCBjYW4gYmUgaW5mZXJyZWQgZnJvbSB0
aGUgcHJvcGVydHkuCi1jbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBLZXlmcmFtZVZhbHVlTGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
S2V5ZnJhbWVWYWx1ZUxpc3QpOwogcHVibGljOgogCiAgICAgS2V5ZnJhbWVWYWx1ZUxpc3QoQW5p
bWF0ZWRQcm9wZXJ0eUlEIHByb3BlcnR5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlQnVmZmVyLmgKaW5kZXggYzQ2Y2M5MC4uYTZjYzBkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCkBAIC02Myw3ICs2Myw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgQWNjZWxlcmF0ZWQKICAgICB9OwogCi0g
ICAgY2xhc3MgSW1hZ2VCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIElt
YWdlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VCdWZmZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFdpbGwgcmV0
dXJuIGEgbnVsbCBwb2ludGVyIG9uIGFsbG9jYXRpb24gZmFpbHVyZS4KICAgICAgICAgc3RhdGlj
IFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZShjb25zdCBJbnRTaXplJiBzaXplLCBDb2xv
clNwYWNlIGNvbG9yU3BhY2UgPSBDb2xvclNwYWNlRGV2aWNlUkdCLCBSZW5kZXJpbmdNb2RlIHJl
bmRlcmluZ01vZGUgPSBVbmFjY2VsZXJhdGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlU291cmNlLmgKaW5kZXggNzAxOGE1Yy4uM2YxNmQwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCkBAIC0xMTcsNyAr
MTE3LDggQEAgY29uc3QgaW50IGNBbmltYXRpb25Mb29wT25jZSA9IDA7CiBjb25zdCBpbnQgY0Fu
aW1hdGlvbkxvb3BJbmZpbml0ZSA9IC0xOwogY29uc3QgaW50IGNBbmltYXRpb25Ob25lID0gLTI7
CiAKLWNsYXNzIEltYWdlU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdl
U291cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZVNvdXJjZSk7CiBwdWJsaWM6
CiAgICAgZW51bSBBbHBoYU9wdGlvbiB7CiAgICAgICAgIEFscGhhUHJlbXVsdGlwbGllZCwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRl
eCBhYmY1MTA1Li5iYTE5ZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xNDcsNyArMTQ3LDkgQEAgc3RhdGljIE1lZGlhUGxh
eWVyUHJpdmF0ZUludGVyZmFjZSogY3JlYXRlTnVsbE1lZGlhUGxheWVyKE1lZGlhUGxheWVyKiBw
bGF5ZXIpCiAKIC8vIGVuZ2luZSBzdXBwb3J0CiAKLXN0cnVjdCBNZWRpYVBsYXllckZhY3Rvcnkg
OiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShNZWRpYVBsYXllckZhY3RvcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBNZWRpYVBsYXllckZhY3RvcnkoQ3JlYXRlTWVkaWFFbmdpbmVQbGF5
ZXIgY29uc3RydWN0b3IsIE1lZGlhRW5naW5lU3VwcG9ydGVkVHlwZXMgZ2V0U3VwcG9ydGVkVHlw
ZXMsIE1lZGlhRW5naW5lU3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZUFuZENvZGVjcykgCiAgICAg
ICAgIDogY29uc3RydWN0b3IoY29uc3RydWN0b3IpCiAgICAgICAgICwgZ2V0U3VwcG9ydGVkVHlw
ZXMoZ2V0U3VwcG9ydGVkVHlwZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9NZWRpYVBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuaAppbmRleCBjN2Q3ZWYzLi4xY2JiZTE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKQEAgLTE0OSw3ICsxNDksOCBA
QCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIE1lZGlhUGxheWVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShN
ZWRpYVBsYXllcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogCiAgICAgc3Rh
dGljIFBhc3NPd25QdHI8TWVkaWFQbGF5ZXI+IGNyZWF0ZShNZWRpYVBsYXllckNsaWVudCogY2xp
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaAppbmRleCBkOTU2Mjg2Li42YWJlMjU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllclByaXZhdGUuaApAQCAtMzYs
OCArMzYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgSW50UmVjdDsKIGNsYXNzIElu
dFNpemU7CiAKLWNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgp
IHsgfQogICAgIHZpcnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSgpIHsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiB1cmwpID0gMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAppbmRleCA0MjNhNzkyLi44NTJkODhlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCkBAIC0xMDAsNyArMTAwLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRlZiB2b2lkICgqUGF0aEFwcGxpZXJGdW5jdGlv
bikodm9pZCogaW5mbywgY29uc3QgUGF0aEVsZW1lbnQqKTsKIAotICAgIGNsYXNzIFBhdGggOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGF0aCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGF0aCgpOwogICAgICAgICB+
UGF0aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVk
QmFja2luZ1N0b3JlLmgKaW5kZXggNTg0NzdkYi4uMDZjN2ZlMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCkBAIC0zNiw3
ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNs
YXNzIFRpbGVkQmFja2luZ1N0b3JlQ2xpZW50OwogCi1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaWxlZEJhY2tpbmdTdG9yZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoVGlsZWRCYWNraW5nU3RvcmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBUaWxlZEJhY2tpbmdTdG9yZShUaWxlZEJhY2tpbmdTdG9yZUNs
aWVudCopOwogICAgIH5UaWxlZEJhY2tpbmdTdG9yZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCmluZGV4IGRhYzMxZjguLjUwZWEwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBs
YXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CiBwdWJs
aWM6CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShGVF9GYWNlLCBTaGFyZWRCdWZmZXIqKTsK
ICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKaW5kZXggNmZjMWEw
ZS4uODlhNzliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vR0xFUzJDYW52YXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIEZsb2F0
UmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEOwogY2xhc3MgU2hhcmVkR3JhcGhpY3NDb250
ZXh0M0Q7CiAKLWNsYXNzIEdMRVMyQ2FudmFzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEdMRVMyQ2FudmFzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHTEVTMkNhbnZhcyk7CiBw
dWJsaWM6CiAgICAgR0xFUzJDYW52YXMoU2hhcmVkR3JhcGhpY3NDb250ZXh0M0QqLCBEcmF3aW5n
QnVmZmVyKiwgY29uc3QgSW50U2l6ZSYpOwogICAgIH5HTEVTMkNhbnZhcygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1
cmUuaAppbmRleCA3MTFlNjg3Li5iNjBkZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUuaApAQCAtMjgsNiAr
MjgsNyBAQAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJUZXh0dXJlTWFuYWdlci5o
IgogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KQEAgLTM3LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhp
Y3NDb250ZXh0M0Q7CiBjbGFzcyBUZXh0dXJlTWFuYWdlcjsKIAotY2xhc3MgTGF5ZXJUZXh0dXJl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheWVyVGV4dHVyZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTGF5ZXJUZXh0dXJlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TGF5ZXJUZXh0dXJlPiBjcmVhdGUoR3JhcGhp
Y3NDb250ZXh0M0QqIGNvbnRleHQsIFRleHR1cmVNYW5hZ2VyKiBtYW5hZ2VyKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
VGlsZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vTGF5ZXJUaWxlckNocm9taXVtLmgKaW5kZXggMDVmNTI0Mi4uZTA5NjkzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUaWxlckNo
cm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJUaWxlckNocm9taXVtLmgKQEAgLTQzLDcgKzQzLDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGNv
bnRlbnRSZWN0KSA9IDA7CiB9OwogCi1jbGFzcyBMYXllclRpbGVyQ2hyb21pdW0gOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTGF5ZXJUaWxlckNocm9taXVtIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMYXllclRpbGVyQ2hyb21pdW0pOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
T3duUHRyPExheWVyVGlsZXJDaHJvbWl1bT4gY3JlYXRlKExheWVyUmVuZGVyZXJDaHJvbWl1bSog
bGF5ZXJSZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgdGlsZVNpemUpOwogCkBAIC02Miw3ICs2Myw4
IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgTGF5ZXJUaWxlckNocm9taXVtKExheWVyUmVuZGVy
ZXJDaHJvbWl1bSogbGF5ZXJSZW5kZXJlciwgY29uc3QgSW50U2l6ZSYgdGlsZVNpemUpOwogCi0g
ICAgY2xhc3MgVGlsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGlsZSB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGUpOwogICAgIHB1YmxpYzoKICAgICAgICAg
ZXhwbGljaXQgVGlsZShQYXNzT3duUHRyPExheWVyVGV4dHVyZT4gdGV4KSA6IG1fdGV4KHRleCkg
e30KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAppbmRleCBhOTMyMThmLi42ODlh
NmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaApAQCAtNDEsNyArNDEsOCBA
QCBjbGFzcyBMYXllckNocm9taXVtOwogY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogY2xh
c3MgTGF5ZXJUZXh0dXJlOwogCi1jbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0gOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZW5kZXJTdXJmYWNlQ2hyb21pdW0pOwogICAgIGZyaWVuZCBjbGFzcyBM
YXllclJlbmRlcmVyQ2hyb21pdW07CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyU3VyZmFj
ZUNocm9taXVtKExheWVyQ2hyb21pdW0qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oCmluZGV4IDQ4OTFj
YzcuLjgzMTA0YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaApAQCAtMjksNiArMjksNyBAQAogI2lu
Y2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAKKyNpbmNsdWRlIDx3dGYv
RmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L0xpc3RIYXNoU2V0Lmg+CiAKQEAgLTM2LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiB0eXBlZGVmIGludCBUZXh0dXJlVG9rZW47CiAKLWNsYXNzIFRleHR1cmVNYW5hZ2VyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRleHR1cmVNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUZXh0dXJlTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8VGV4dHVyZU1hbmFnZXI+IGNyZWF0ZShHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgc2l6
ZV90IG1lbW9yeUxpbWl0Qnl0ZXMsIGludCBtYXhUZXh0dXJlU2l6ZSkKICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVu
Y3lXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5z
cGFyZW5jeVdpbi5oCmluZGV4IGI2YmVmOTEuLjUzNWNiYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdpbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5jeVdp
bi5oCkBAIC01NCw3ICs1NCw4IEBAIGNsYXNzIFRyYW5zcGFyZW5jeVdpbl9PcGFxdWVDb21wb3Np
dGVMYXllcl9UZXN0OwogLy8gdGhhdCBpcyBjb21wb3NpdGVkIGxhdGVyIG1hbnVhbGx5LiBUaGlz
IGlzIHRvIGdldCBhcm91bmQgV2luZG93cycgaW5hYmlsaXR5CiAvLyB0byBoYW5kbGUgdGhlIGFs
cGhhIGNoYW5uZWwsIHNlbWl0cmFuc3BhcmVudCB0ZXh0LCBhbmQgdHJhbnNmb3JtZWQgZm9ybQog
Ly8gY29udHJvbHMuCi1jbGFzcyBUcmFuc3BhcmVuY3lXaW4gOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVHJhbnNwYXJlbmN5V2luIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFu
c3BhcmVuY3lXaW4pOwogcHVibGljOgogICAgIGVudW0gTGF5ZXJNb2RlIHsKICAgICAgICAgLy8g
Tm8gZXh0cmEgbGF5ZXIgaXMgY3JlYXRlZC4gRHJhd2luZyB3aWxsIGhhcHBlbiB0byB0aGUgc291
cmNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0Ry
YXdpbmdCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3
aW5nQnVmZmVyLmgKaW5kZXggZTBlMGVlMS4uODc3Y2FhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCkBAIC04MCw4ICs4
MCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIGNs
YXNzIFdpbGxQdWJsaXNoQ2FsbGJhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFdpbGxQdWJsaXNoQ2FsbGJhY2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaWxs
UHVibGlzaENhbGxiYWNrKTsKICAgICBwdWJsaWM6CisgICAgICAgIFdpbGxQdWJsaXNoQ2FsbGJh
Y2soKSB7IH0KICAgICAgICAgdmlydHVhbCB+V2lsbFB1Ymxpc2hDYWxsYmFjaygpIHsgfQogICAg
ICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxQdWJsaXNoKCkgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZp
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFz
c2lmaWVyLmgKaW5kZXggYzY2NTg0NC4uMWJkNjdiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCkBA
IC0zMCwxNCArMzAsMTQgQEAKICNpZm5kZWYgTG9vcEJsaW5uQ2xhc3NpZmllcl9oCiAjZGVmaW5l
IExvb3BCbGlubkNsYXNzaWZpZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmxvYXRQb2ludDsKIAogLy8gQ2xhc3NpZmll
cyBjdWJpYyBjdXJ2ZXMgaW50byBzcGVjaWZpYyB0eXBlcy4KLWNsYXNzIExvb3BCbGlubkNsYXNz
aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9vcEJsaW5uQ2xhc3NpZmllciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9vcEJsaW5uQ2xhc3NpZmllcik7CiBwdWJsaWM6
CiAgICAgLy8gVGhlIHR5cGVzIG9mIGN1YmljIGN1cnZlcy4KICAgICBlbnVtIEN1cnZlVHlwZSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCmluZGV4IGVhM2Q3ZTMuLmQwMWU2Yzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxp
bm5Mb2NhbFRyaWFuZ3VsYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9Mb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvci5oCkBAIC0zMCwxOSArMzAsMjAgQEAK
ICNpbmNsdWRlICJGbG9hdFBvaW50M0QuaCIKICNpbmNsdWRlICJMb29wQmxpbm5Db25zdGFudHMu
aCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFBlcmZvcm1zIGEgbG9jYWxpemVkIHRy
aWFuZ3VsYXRpb24gb2YgdGhlIHRyaWFuZ2xlIG1lc2gKIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhl
IGZvdXIgY29udHJvbCBwb2ludCB2ZXJ0aWNlcyBvZiBhIGN1YmljIGN1cnZlCiAvLyBzZWdtZW50
LgotY2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yKTsKIHB1YmxpYzoKICAgICAvLyBUaGUg
dmVydGljZXMgdGhhdCB0aGUgdHJpYW5ndWxhdG9yIG9wZXJhdGVzIHVwb24sIGNvbnRhaW5pbmcg
Ym90aAogICAgIC8vIHRoZSBwb3NpdGlvbiBpbmZvcm1hdGlvbiBhcyB3ZWxsIGFzIHRoZSBjdWJp
YyB0ZXh0dXJlCiAgICAgLy8gY29vcmRpbmF0ZXMuCi0gICAgY2xhc3MgVmVydGV4IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBWZXJ0ZXggeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShWZXJ0ZXgpOwogICAgIHB1YmxpYzoKICAgICAgICAgVmVydGV4KCkKICAgICAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFy
ZW5hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaApp
bmRleCBmNjhiYWVmLi42ZWRjMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvUE9EQXJlbmEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvUE9EQXJlbmEuaApAQCAtMTU4LDcgKzE1OCw4IEBAIHByaXZhdGU6CiAgICAg
fQogCiAgICAgLy8gTWFuYWdlcyBhIGNodW5rIG9mIG1lbW9yeSBhbmQgaW5kaXZpZHVhbCBhbGxv
Y2F0aW9ucyBvdXQgb2YgaXQuCi0gICAgY2xhc3MgQ2h1bmsgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIENodW5rIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2h1bmsp
OwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gQWxsb2NhdGVzIGEgYmxvY2sgb2YgbWVtb3J5IG9m
IHRoZSBnaXZlbiBzaXplIGZyb20gdGhlIHBhc3NlZAogICAgICAgICAvLyBBbGxvY2F0b3IuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2
YWxUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2
YWxUcmVlLmgKaW5kZXggMzIwY2U2MC4uNWJmM2RlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaApAQCAtNDQsOCAr
NDQsOCBAQCBzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKIC8vIHN1cHBvcnRzIGVmZmljaWVudCAoTyhs
ZyBuKSkgaW5zZXJ0aW9uLCByZW1vdmFsIGFuZCBxdWVyeWluZyBvZgogLy8gaW50ZXJ2YWxzIGlu
IHRoZSB0cmVlLgogdGVtcGxhdGU8Y2xhc3MgVCwgY2xhc3MgVXNlckRhdGEgPSB2b2lkKj4KLWNs
YXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9ESW50ZXJ2YWw8VCwgVXNlckRhdGE+
ID4geworY2xhc3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIFBPRFJlZEJsYWNrVHJlZTxQT0RJ
bnRlcnZhbDxULCBVc2VyRGF0YT4gPiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUE9ESW50
ZXJ2YWxUcmVlKTsKIHB1YmxpYzoKICAgICAvLyBUeXBlZGVmIHRvIHJlZHVjZSB0eXBpbmcgd2hl
biBkZWNsYXJpbmcgaW50ZXJ2YWxzIHRvIGJlIHN0b3JlZCBpbgogICAgIC8vIHRoaXMgdHJlZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRC
bGFja1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRC
bGFja1RyZWUuaAppbmRleCA2ZDU5NTRjLi5iZDA4OTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCkBAIC0xOTgs
NyArMTk4LDggQEAgcHJvdGVjdGVkOgogICAgIC8vIFRoZSBiYXNlIE5vZGUgY2xhc3Mgd2hpY2gg
aXMgc3RvcmVkIGluIHRoZSB0cmVlLiBOb2RlcyBhcmUgb25seQogICAgIC8vIGFuIGludGVybmFs
IGNvbmNlcHQ7IHVzZXJzIG9mIHRoZSB0cmVlIGRlYWwgb25seSB3aXRoIHRoZSBkYXRhCiAgICAg
Ly8gdGhleSBzdG9yZSBpbiBpdC4KLSAgICBjbGFzcyBOb2RlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBOb2RlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZSk7
CiAgICAgcHVibGljOgogICAgICAgICAvLyBDb25zdHJ1Y3Rvci4gTmV3bHktY3JlYXRlZCBub2Rl
cyBhcmUgY29sb3JlZCByZWQuCiAgICAgICAgIGV4cGxpY2l0IE5vZGUoY29uc3QgVCYgZGF0YSkK
QEAgLTY1OSw3ICs2NjAsOCBAQCBwcml2YXRlOgogICAgIC8vIEhlbHBlciBjbGFzcyBmb3Igc2l6
ZSgpCiAKICAgICAvLyBBIFZpc2l0b3Igd2hpY2ggc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9m
IHZpc2l0ZWQgZWxlbWVudHMuCi0gICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yLCBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvdW50ZXIpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgQ291bnRlcigpCiAgICAgICAgICAgICA6IG1fY291bnQoMCkgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVyLmgKaW5kZXggZTViZDhkZS4uNGY2
MmNhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1No
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIu
aApAQCAtNDAsNyArNDAsOCBAQCBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07CiBjbGFzcyBHcmFwaGlj
c0NvbnRleHQzRDsKIGNsYXNzIENvbG9yOwogCi1jbGFzcyBTaGFkZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU2hhZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTaGFkZXIp
OwogcHJvdGVjdGVkOgogICAgIFNoYWRlcihHcmFwaGljc0NvbnRleHQzRCosIHVuc2lnbmVkIHBy
b2dyYW0pOwogICAgIH5TaGFkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCmluZGV4IDFiZGM1MWEuLmQxMTQwYmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaApAQCAt
MzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFz
cyBJbnRSZWN0OwogCi1jbGFzcyBUaWxpbmdEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFRpbGluZ0RhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbGluZ0RhdGEpOwog
cHVibGljOgogICAgIFRpbGluZ0RhdGEoaW50IG1heFRleHR1cmVTaXplLCBpbnQgdG90YWxTaXpl
WCwgaW50IHRvdGFsU2l6ZVksIGJvb2wgaGFzQm9yZGVyVGV4ZWxzKTsKICAgICBpbnQgbWF4VGV4
dHVyZVNpemUoKSBjb25zdCB7IHJldHVybiBtX21heFRleHR1cmVTaXplOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291
cmNlR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCmluZGV4IGUxMGU2MWYuLjM2YjQ5ZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9X
ZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCkBAIC0zNiw3
ICszNiw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1jbGFzcyBTdHJlYW1pbmdD
bGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7
CitjbGFzcyBTdHJlYW1pbmdDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0cmVhbWluZ0NsaWVudCk7CiAgICAgcHVibGljOgog
ICAgICAgICBTdHJlYW1pbmdDbGllbnQoV2ViS2l0V2ViU3JjKik7CiAgICAgICAgIHZpcnR1YWwg
flN0cmVhbWluZ0NsaWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGNj
MzQ4ZTMuLjg2Zjk5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0
ICsyNCwxNCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRS
ZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBs
YXRmb3JtRGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0
Zm9ybURhdGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgp
IHsgfQogICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKaW5kZXggYzExODU4Yy4uNzA0M2Q3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0
YS5oCkBAIC0zNiw3ICszNiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0
Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGlj
OgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoQVRTRm9udENvbnRhaW5lclJlZiBjb250YWlu
ZXIsIENHRm9udFJlZiBjZ0ZvbnQpCiAgICAgICAgIDogbV9hdHNDb250YWluZXIoY29udGFpbmVy
KQogICAgICAgICAsIG1fY2dGb250KGNnRm9udCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCmluZGV4IDMyZjFmZTUu
LjNmMTQ5NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW52Zy9QYWludGVyT3BlblZHLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBUaWxlZElt
YWdlT3BlblZHOwogCiBzdHJ1Y3QgUGxhdGZvcm1QYWludGVyU3RhdGU7CiAKLWNsYXNzIFBhaW50
ZXJPcGVuVkcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFpbnRlck9wZW5WRyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFpbnRlck9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZnJp
ZW5kIGNsYXNzIFN1cmZhY2VPcGVuVkc7CiAgICAgZnJpZW5kIHN0cnVjdCBQbGF0Zm9ybVBhaW50
ZXJTdGF0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW52Zy9TdXJmYWNlT3BlblZHLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVudmcvU3VyZmFjZU9wZW5WRy5oCmluZGV4IDQ2ZDE2NDYuLjE5ZDk1ZDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3BlblZHLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVu
VkcuaApAQCAtNDIsNyArNDIsOCBAQCBjbGFzcyBJbnRTaXplOwogICogb2YgI2lmZGVmcyBhbmQg
c2hvdWxkIG1ha2UgaXQgZWFzeSB0byBhZGQgZGlmZmVyZW50IHN1cmZhY2UvY29udGV4dAogICog
aW1wbGVtZW50YXRpb25zIHRoYW4gRUdMLgogICovCi1jbGFzcyBTdXJmYWNlT3BlblZHIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN1cmZhY2VPcGVuVkcgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFN1cmZhY2VPcGVuVkcpOwogcHVibGljOgogICAgIGVudW0gTWFrZUN1cnJlbnRN
b2RlIHsKICAgICAgICAgQXBwbHlQYWludGVyU3RhdGVPblN1cmZhY2VTd2l0Y2gsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9t
UGxhdGZvcm1EYXRhLmgKaW5kZXggNmM0MWQ0Ny4uNTRmYTY3OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaApAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgi
CiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9j
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKQEAgLTMyLDcgKzMzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZv
bnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhKCkgeyB9CiAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKIAogICAgIC8vIGZvciB1
c2Ugd2l0aCBRRm9udERhdGFiYXNlOjphZGRBcHBsaWNhdGlvbkZvbnQvcmVtb3ZlQXBwbGljYXRp
b25Gb250CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9G
b250UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9G
b250UGxhdGZvcm1EYXRhLmgKaW5kZXggMWM1N2UyOS4uZjI2ODM3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaApA
QCAtMzIsNyArMzIsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEZvbnRQbGF0
Zm9ybURhdGFQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRQbGF0Zm9y
bURhdGFQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250UGxhdGZvcm1EYXRh
UHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvbnRQbGF0
Zm9ybURhdGFQcml2YXRlKCkKICAgICAgICAgOiByZWZDb3VudCgxKQpAQCAtNjIsOCArNjMsMTAg
QEAgcHVibGljOgogCiAKIAotY2xhc3MgRm9udFBsYXRmb3JtRGF0YSA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIEZvbnRQbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgorICAgIEZvbnRQbGF0Zm9ybURhdGEoKSB7IH0KICAgICBGb250UGxh
dGZvcm1EYXRhKGZsb2F0IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBvYmxpcXVlKTsKICAgICBGb250
UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEgJik7CiAgICAgRm9udFBsYXRmb3Jt
RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseU5h
bWUsIGludCB3b3JkU3BhY2luZyA9IDAsIGludCBsZXR0ZXJTcGFjaW5nID0gMCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRR
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRl
eHRRdC5jcHAKaW5kZXggYzIxYjRlZS4uMDU5MjgyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcApAQCAt
MTc0LDcgKzE3NCw4IEBAIHN0YXRpYyBpbmxpbmUgUXQ6OkZpbGxSdWxlIHRvUXRGaWxsUnVsZShX
aW5kUnVsZSBydWxlKQogICAgIHJldHVybiBRdDo6T2RkRXZlbkZpbGw7CiB9CiAKLWNsYXNzIEdy
YXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShRUGFpbnRl
ciosIGNvbnN0IFFDb2xvciYgaW5pdGlhbFNvbGlkQ29sb3IpOwogICAgIH5HcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oCmluZGV4IDViMmY4YjIuLmU0ODI4ZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1RyYW5zcGFy
ZW5jeUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJh
bnNwYXJlbmN5TGF5ZXIuaApAQCAtNDIsNyArNDIsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXN0cnVjdCBUcmFuc3BhcmVuY3lMYXllciA6IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IFRy
YW5zcGFyZW5jeUxheWVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBUcmFuc3BhcmVuY3lMYXllcihjb25zdCBRUGFpbnRlciogcCwgY29uc3QgUVJlY3QgJnJl
Y3QsIHFyZWFsIG9wYWNpdHksIFFQaXhtYXAmIGFscGhhTWFzaykKICAgICAgICAgOiBwaXhtYXAo
cmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKQogICAgICAgICAsIG9wYWNpdHkob3BhY2l0eSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggZTUxYjZiNi4uNDIyOGI0MDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC00OSw3ICs0OSw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0
cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEpOworcHVibGljOgogI2lmIE9TKFdJTkRPV1MpCiAgICAgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAg
ICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3ND
b250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKaW5kZXggNWUxMmFkNi4uNDQ4MzVhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9z
a2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAK
ICNpZm5kZWYgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKICNkZWZpbmUgR3JhcGhp
Y3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBjbGFzcyBQbGF0Zm9ybUNvbnRleHRTa2lhOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IC8vIFRoaXMgY2xhc3MganVzdCBob2xkcyBvbnRvIGEgUGxhdGZvcm1Db250ZXh0U2tpYSBmb3Ig
R3JhcGhpY3NDb250ZXh0LgotY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlKTsKIHB1YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoUGxhdGZv
cm1Db250ZXh0U2tpYSogcGxhdGZvcm1Db250ZXh0KQogICAgICAgICA6IG1fY29udGV4dChwbGF0
Zm9ybUNvbnRleHQpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaAppbmRleCAxMWIzMTFhLi4wMzA0
NDg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1Bs
YXRmb3JtQ29udGV4dFNraWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaApAQCAtNjcsNyArNjcsOCBAQCBjbGFzcyBUZXh0
dXJlOwogLy8gcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSBwYWludGluZyBzdGF0ZSB3aGlj
aCBpcyBzdG9yZSBpbiBzZXBhcmF0ZQogLy8gU2tQYWludCBvYmplY3RzLiBUaGlzIGNsYXNzIHBy
b3ZpZGVzIHRoZSBhZGFwdG9yIHRoYXQgYWxsb3dzIHRoZSBwYWludGluZwogLy8gc3RhdGUgdG8g
YmUgcHVzaGVkIGFuZCBwb3BwZWQgYWxvbmcgd2l0aCB0aGUgYml0bWFwLgotY2xhc3MgUGxhdGZv
cm1Db250ZXh0U2tpYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbGF0Zm9ybUNvbnRl
eHRTa2lhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbGF0Zm9ybUNvbnRleHRTa2lhKTsK
IHB1YmxpYzoKICAgICAvLyBGb3IgcHJpbnRpbmcsIHRoZXJlIHNob3VsZG4ndCBiZSBhbnkgY2Fu
dmFzLiBjYW52YXMgY2FuIGJlIE5VTEwuIElmIHlvdQogICAgIC8vIHN1cHBseSBhIE5VTEwgY2Fu
dmFzLCB5b3UgY2FuIGFsc28gY2FsbCBzZXRDYW52YXMgbGF0ZXIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFu
c2Zvcm0uaAppbmRleCAyYWRiYjM5Li41MGQwNjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3Jt
LmgKQEAgLTU1LDcgKzU1LDggQEAgY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0OwogY2xh
c3MgVHJhbnNmb3JtYXRpb25NYXRyaXg7CiAKLWNsYXNzIEFmZmluZVRyYW5zZm9ybSA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEFmZmluZVRyYW5zZm9ybSB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBkb3VibGUgVHJhbnNmb3JtWzZd
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCmluZGV4IGMwZGEzNzcuLjk4MWUx
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oCkBAIC0zMSw3ICszMSw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRyYW5zZm9ybU9wZXJhdGlvbnMo
Ym9vbCBtYWtlSWRlbnRpdHkgPSBmYWxzZSk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0
aW9uTWF0cml4LmgKaW5kZXggNjg0YjE0Yy4uYzg4MzY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNm
b3JtYXRpb25NYXRyaXguaApAQCAtNjQsNyArNjQsOCBAQCBjbGFzcyBGbG9hdFBvaW50M0Q7CiBj
bGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBGbG9hdFF1YWQ7CiAKLWNsYXNzIFRyYW5zZm9ybWF0aW9u
TWF0cml4IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgVHJhbnNmb3JtYXRpb25NYXRy
aXggeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYg
ZG91YmxlIE1hdHJpeDRbNF1bNF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDFi
ZGYyNzAuLmRlMzNjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMzQsNyArMzQs
OSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3Mg
U2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlh
YmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAg
ICAgICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCiAgICAgICAgICwgbV9uYW1l
KG5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKaW5kZXggM2FiNTJiOC4u
OWM2NzAzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaApAQCAtMzMsNyAr
MzMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xh
c3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICAgICBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhKGNhaXJvX2ZvbnRfZmFjZV90KiBmb250RmFjZSkKICAgICAgICAgOiBt
X2ZvbnRGYWNlKGZvbnRGYWNlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCmluZGV4IGMyMTYx
NDAuLjU5NTFlNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaApAQCAtMzEsNyArMzEsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIExvY2FsV2luZG93c0NvbnRleHQgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTG9jYWxXaW5kb3dzQ29udGV4dCk7CiBwdWJsaWM6CiAgICAgTG9jYWxXaW5k
b3dzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgSW50UmVj
dCYgcmVjdCwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCA9IHRydWUsIGJvb2wgbWF5Q3JlYXRlQml0
bWFwID0gdHJ1ZSkKICAgICAgICAgOiBtX2dyYXBoaWNzQ29udGV4dChncmFwaGljc0NvbnRleHQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3Zp
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAK
aW5kZXggZWZhZjIxOC4uZGZhMWQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApAQCAtNjMsNyArNjMsOCBAQCB1bmlvbiBVcHBQYXJh
bSB7CiBzdGF0aWMgVmVjdG9yPENGU3RyaW5nUmVmPiogZ1N1cHBvcnRlZFR5cGVzID0gMDsKIHN0
YXRpYyBTSW50MzIgcXVpY2tUaW1lVmVyc2lvbiA9IDA7CiAKLWNsYXNzIFFUTW92aWVQcml2YXRl
IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUVRNb3ZpZVRhc2tDbGllbnQgeworY2xhc3Mg
UVRNb3ZpZVByaXZhdGUgOiBwdWJsaWMgUVRNb3ZpZVRhc2tDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFFUTW92aWVQcml2YXRlKTsKIHB1YmxpYzoKICAgICBRVE1vdmllUHJpdmF0
ZSgpOwogICAgIH5RVE1vdmllUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCmluZGV4IDA5MTQyYmMuLmJmODBhODEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKQEAg
LTMxLDcgKzMxLDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAotY2xhc3MgUVRUcmFja1By
aXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUVRUcmFja1ByaXZhdGUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFFUVHJhY2tQcml2YXRlKTsKIHB1YmxpYzoKICAgICBRVFRy
YWNrUHJpdmF0ZSgpOwogICAgIH5RVFRyYWNrUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIu
aAppbmRleCAxN2VjNDFkLi43OGU4NDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaApAQCAtMzYs
NyArMzYsOCBAQCBzdHJ1Y3QgV0tDQUNGQ29udGV4dDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBXS0NBQ0ZDb250ZXh0Rmx1c2hlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV0tDQUNG
Q29udGV4dEZsdXNoZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBXS0NBQ0ZDb250ZXh0Rmx1c2hl
ciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oCmluZGV4IDAyY2RiZGIuLmNjOWRmY2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZM
YXllclJlbmRlcmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1dLQ0FDRkxheWVyUmVuZGVyZXIuaApAQCAtNjAsNyArNjAsOCBAQCBwdWJsaWM6CiAvLyBGSVhN
RTogQ3VycmVudGx5IHRoZXJlIGlzIGEgV0tDQUNGTGF5ZXJSZW5kZXJlciBmb3IgZWFjaCBXZWJW
aWV3IGFuZCBlYWNoCiAvLyBoYXMgaXRzIG93biBDQVJlbmRlck9HTENvbnRleHQgYW5kIERpcmVj
dDNERGV2aWNlOSwgd2hpY2ggaXMgaW5lZmZpY2llbnQuCiAvLyAoaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODU1KQotY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZMYXllclJlbmRlcmVyKTsKICAgICBmcmllbmQgUGxh
dGZvcm1DQUxheWVyOwogCiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5k
ZXggYWJkYzBmMi4uMDUwODI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAt
MzcsNyArMzcsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1
bnJlZ2lzdGVyRm9udChjb25zdCBTdHJpbmcmIGZvbnROYW1lKSA9IDA7CiAgICAgfTsKIAotICAg
IHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVj
dCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CisgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9t
UGxhdGZvcm1EYXRhKGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAgICAgICAgIDogbV9uYW1lKG5h
bWUpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAppbmRleCAxYjhhNzA0
Li45YjY3MmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCkBAIC00MzgsNyArNDM4
LDggQEAgc3RhdGljIHZvaWQgcm90YXRlQml0bWFwKFNoYXJlZEJpdG1hcCogZGVzdEJtcCwgY29u
c3QgU2hhcmVkQml0bWFwKiBzb3VyY2VCbXAsIGMKICAgICAgICAgX3JvdGF0ZUJpdG1hcDx1bnNp
Z25lZCwgZmFsc2U+KGRlc3RCbXAsIHNvdXJjZUJtcCwgdHJhbnNmb3JtKTsKIH0KIAotY2xhc3Mg
VHJhbnNwYXJlbnRMYXllckRDIDogTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNwYXJlbnRMYXll
ckRDIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc3BhcmVudExheWVyREMpOwogcHVi
bGljOgogICAgIFRyYW5zcGFyZW50TGF5ZXJEQyhHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUqIGRhdGEsIEludFJlY3QmIG9yaWdSZWN0LCBjb25zdCBJbnRSZWN0KiByZWN0QmVmb3JlVHJh
bnNmb3JtID0gMCwgaW50IGFscGhhID0gMjU1LCBib29sIHBhaW50SW1hZ2UgPSBmYWxzZSk7CiAg
ICAgflRyYW5zcGFyZW50TGF5ZXJEQygpOwpAQCAtNTU4LDcgKzU1OSw4IEBAIHZvaWQgVHJhbnNw
YXJlbnRMYXllckRDOjpmaWxsQWxwaGFDaGFubmVsKCkKICAgICB9CiB9CiAKLWNsYXNzIFNjb3Bl
RENQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjb3BlRENQcm92aWRlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU2NvcGVEQ1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAgICBleHBs
aWNpdCBTY29wZURDUHJvdmlkZXIoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkYXRh
KQogICAgICAgICA6IG1fZGF0YShkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGNj
MzQ4ZTMuLjg2Zjk5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI0LDE0ICsyNCwx
NCBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJp
bmdNb2RlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRm9udFBsYXRmb3Jt
RGF0YTsKICAgICBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLSAgICBzdHJ1Y3QgRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEpOwogICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpIHsgfQog
ICAgICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL0NsaXBib2FyZEd0ay5oCmluZGV4IGUxNGE1ODMuLjBjMDdjMDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVu
dHMgZm9yIGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKICAgICAvLyBDcmVhdGVkIGZyb20g
dGhlIEV2ZW50SGFuZGxlckd0ayB0byBiZSB1c2VkIGJ5IHRoZSBkb20KICAgICBjbGFzcyBDbGlw
Ym9hcmRHdGsgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
eworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENsaXBib2FyZEd0az4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1Bv
bGljeSBwb2xpY3ksIEd0a0NsaXBib2FyZCogY2xpcGJvYXJkLCBGcmFtZSogZnJhbWUpCiAgICAg
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L0ltYWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
SW1hZ2VEZWNvZGVyLmgKaW5kZXggMzlkZWVlMi4uMjRiY2RjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTIy
MSw3ICsyMjEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gc2V0TWF4TnVtUGl4ZWxz
KCkgdG8gc3BlY2lmeSB0aGUgYmlnZ2VzdCBzaXplIHRoYXQgZGVjb2RlZCBpbWFnZXMgY2FuCiAg
ICAgLy8gaGF2ZS4gSW1hZ2UgZGVjb2RlcnMgd2lsbCBkZWZsYXRlIHRob3NlIGltYWdlcyB0aGF0
IGFyZSBiaWdnZXIgdGhhbgogICAgIC8vIG1fbWF4TnVtUGl4ZWxzLiAoTm90IHN1cHBvcnRlZCBi
eSBhbGwgaW1hZ2UgZGVjb2RlcnMgeWV0KQotICAgIGNsYXNzIEltYWdlRGVjb2RlciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1hZ2VEZWNvZGVyIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSW1hZ2VEZWNvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBJbWFnZURlY29kZXIoSW1hZ2VTb3VyY2U6OkFscGhhT3B0aW9u
IGFscGhhT3B0aW9uLCBJbWFnZVNvdXJjZTo6R2FtbWFBbmRDb2xvclByb2ZpbGVPcHRpb24gZ2Ft
bWFBbmRDb2xvclByb2ZpbGVPcHRpb24pCiAgICAgICAgICAgICA6IG1fc2NhbGVkKGZhbHNlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5oCmluZGV4IDcxODdlY2Yu
LjM5ZWFkZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9h
cmRNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgK
QEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBGaWxlTGlzdDsKIAogY2xhc3Mg
Q2xpcGJvYXJkTWFjIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxDbGlwYm9hcmRNYWM+IGNyZWF0ZShDbGlwYm9hcmRUeXBlIGNsaXBib2FyZFR5
cGUsIE5TUGFzdGVib2FyZCAqcGFzdGVib2FyZCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGlj
eSwgRnJhbWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaAppbmRleCA5MGJlYjQwLi44
ZmRlMmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJy
ZW50R3JhcGhpY3NDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCkBAIC0zMSw3ICszMSw4IEBAIGNsYXNzIEdyYXBo
aWNzQ29udGV4dDsKICAgICAKIC8vIFRoaXMgY2xhc3MgYXV0b21hdGljYWxseSBzYXZlcyBhbmQg
cmVzdG9yZXMgdGhlIGN1cnJlbnQgTlNHcmFwaGljc0NvbnRleHQgZm9yCiAvLyBmdW5jdGlvbnMg
d2hpY2ggY2FsbCBvdXQgaW50byBBcHBLaXQgYW5kIHJlbHkgb24gdGhlIGN1cnJlbnRDb250ZXh0
IGJlaW5nIHNldAotY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KTsKIHB1YmxpYzoK
ICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGlj
c0NvbnRleHQpOwogICAgIH5Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAppbmRleCAxZmY2MzQ0Li5jMWY1NTIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCkBAIC0xNDUs
NiArMTQ1LDcgQEAgcHJpdmF0ZToKIHR5cGVkZWYgVmVjdG9yPEJsb2JEYXRhSXRlbT4gQmxvYkRh
dGFJdGVtTGlzdDsKIAogY2xhc3MgQmxvYkRhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEJsb2JEYXRhPiBjcmVhdGUoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1
aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVy
LmgKaW5kZXggODdkMGVmMy4uMTEyZTMxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCkBAIC0yMywxNCArMjMsMTQgQEAKIAogI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBE
b2N1bWVudDsKIGNsYXNzIFRleHRFbmNvZGluZzsKIAotY2xhc3MgRm9ybURhdGFCdWlsZGVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvcm1EYXRhQnVpbGRlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRm9ybURhdGFCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgVGV4
dEVuY29kaW5nIGVuY29kaW5nRnJvbUFjY2VwdENoYXJzZXQoY29uc3QgU3RyaW5nJiBhY2NlcHRD
aGFyc2V0LCBEb2N1bWVudCogZG9jdW1lbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKaW5kZXggZDFmMmRiNC4u
MjZmOGQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3
b3JrU3RhdGVOb3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
TmV0d29ya1N0YXRlTm90aWZpZXIuaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBOZXR3b3Jr
U3RhdGVOb3RpZmllcl9oCiAjZGVmaW5lIE5ldHdvcmtTdGF0ZU5vdGlmaWVyX2gKIAorI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAK
ICNpZiBQTEFURk9STShNQUMpCkBAIC02MSw3ICs2Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIE5ldHdvcmtTdGF0ZU5vdGlmaWVyUHJpdmF0ZTsKICNlbmRpZgogCi1jbGFzcyBOZXR3
b3JrU3RhdGVOb3RpZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOZXR3b3JrU3Rh
dGVOb3RpZmllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmV0d29ya1N0YXRlTm90aWZp
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBOZXR3b3JrU3RhdGVO
b3RpZmllcigpOwogICAgIHZvaWQgc2V0TmV0d29ya1N0YXRlQ2hhbmdlZEZ1bmN0aW9uKHZvaWQg
KCopKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZUludGVybmFsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCBkODMzZTMyLi5lZDY2OTQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50
ZXJuYWwuaApAQCAtODAsNyArODAsOCBAQCBjbGFzcyBOU1VSTENvbm5lY3Rpb247CiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGVDbGllbnQ7CiAKLSAgICBjbGFz
cyBSZXNvdXJjZUhhbmRsZUludGVybmFsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBSZXNvdXJjZUhhbmRsZUludGVybmFsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbChSZXNvdXJjZUhhbmRsZSogbG9h
ZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50
KiBjLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmKQogICAgICAg
ICAgICAgOiBtX2NsaWVudChjKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAppbmRleCA1Y2I3ZWUzLi5kY2UzM2RiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuaApAQCAtNDksNyArNDksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0
IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YTsKIAogICAgIC8vIERvIG5vdCB1c2UgdGhp
cyB0eXBlIGRpcmVjdGx5LiAgVXNlIFJlc291cmNlUmVxdWVzdCBpbnN0ZWFkLgotICAgIGNsYXNz
IFJlc291cmNlUmVxdWVzdEJhc2UgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3Mg
UmVzb3VyY2VSZXF1ZXN0QmFzZSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgLy8gVGhlIHR5cGUgb2YgdGhpcyBSZXNvdXJjZVJlcXVlc3Qs
IGJhc2VkIG9uIGhvdyB0aGUgcmVzb3VyY2Ugd2lsbCBiZSB1c2VkLgogICAgICAgICBlbnVtIFRh
cmdldFR5cGUgewpAQCAtMjA3LDcgKzIwOCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
aW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGEsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXF1ZXN0QmFzZTo6Y29tcGFyZShh
LCBiKTsgfQogICAgIGlubGluZSBib29sIG9wZXJhdG9yIT0oUmVzb3VyY2VSZXF1ZXN0JiBhLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi0gICAgc3Ry
dWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7Cisg
ICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UgeworICAgICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgorICAgICAgICBDcm9zc1RocmVh
ZFJlc291cmNlUmVxdWVzdERhdGFCYXNlKCkgeyB9CiAgICAgICAgIEtVUkwgbV91cmw7CiAKICAg
ICAgICAgUmVzb3VyY2VSZXF1ZXN0Q2FjaGVQb2xpY3kgbV9jYWNoZVBvbGljeTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2Uu
aAppbmRleCA5YzU0YmFiLi5lMDc3NGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCkBAIC00MSw3ICs0MSw4IEBA
IGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3Bv
bnNlRGF0YTsKIAogLy8gRG8gbm90IHVzZSB0aGlzIGNsYXNzIGRpcmVjdGx5LCB1c2UgdGhlIGNs
YXNzIFJlc3BvbnNlUmVzcG9uc2UgaW5zdGVhZAotY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2Ug
OiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8UmVzb3VyY2VSZXNwb25zZT4gYWRvcHQoUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNl
UmVzcG9uc2VEYXRhPik7CiAKQEAgLTE3NSw3ICsxNzYsMTAgQEAgcHJpdmF0ZToKIGlubGluZSBi
b29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgYikgeyByZXR1cm4gUmVzb3VyY2VSZXNwb25zZUJhc2U6OmNvbXBhcmUoYSwgYik7
IH0KIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgYSwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgYikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLXN0cnVjdCBD
cm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVj
dCBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UpOworcHVibGljOgor
ICAgIENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKCkgeyB9CiAgICAgS1VSTCBt
X3VybDsKICAgICBTdHJpbmcgbV9taW1lVHlwZTsKICAgICBsb25nIGxvbmcgbV9leHBlY3RlZENv
bnRlbnRMZW5ndGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IGViYjZjNWYuLmE3MTcwZmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC02MCw3ICs2MCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogI2RlZmluZSBSRUFEX0JVRkZFUl9TSVpFIDgxOTIKIAotY2xhc3MgV2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291
cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNv
dXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSAmLCBWZWN0b3I8Y2hhcj4mKTsKICAgICB+V2Vi
Q29yZVN5bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKaW5kZXggMzhkOWNkMS4u
ZjUwNTQwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay93aW4v
UmVzb3VyY2VIYW5kbGVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcApAQCAtNzYsNyArNzYsOCBAQCBzdGF0aWMgU3Ry
aW5nIHF1ZXJ5SFRUUEhlYWRlcihISU5URVJORVQgcmVxdWVzdEhhbmRsZSwgRFdPUkQgaW5mb0xl
dmVsKQogfQogCiAKLWNsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNv
dXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVTeW5j
aHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoKICAgICBX
ZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2Um
LCBWZWN0b3I8Y2hhcj4mLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCk7CiAgICAgfldlYkNvcmVT
eW5jaHJvbm91c0xvYWRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
cXQvQ2xpcGJvYXJkUXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0NsaXBib2FyZFF0
LmgKaW5kZXggNWFjYTFhNi4uZmI1YWJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcXQvQ2xpcGJvYXJkUXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9D
bGlwYm9hcmRRdC5oCkBAIC0zOSw2ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcgSUUncyBldmVudHMgZm9yIGRyYWcgYW5kIGRyb3Ag
YW5kIGNvcHkvcGFzdGUKICAgICBjbGFzcyBDbGlwYm9hcmRRdCA6IHB1YmxpYyBDbGlwYm9hcmQs
IHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJk
UXQ+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBjb25zdCBRTWltZURhdGEq
IHJlYWRhYmxlQ2xpcGJvYXJkKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NxbC9TUUxpdGVEYXRhYmFzZS5oCmluZGV4IGMzMjkyNzMuLmRhNTNhY2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCkBAIC01MCw3ICs1MCw4IEBA
IGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0U2NoZW1hOwogZXh0ZXJuIGNvbnN0IGludCBTUUxS
ZXN1bHRGdWxsOwogZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRJbnRlcnJ1cHQ7CiAKLWNsYXNz
IFNRTGl0ZURhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTGl0ZURhdGFi
YXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVEYXRhYmFzZSk7CiAgICAgZnJp
ZW5kIGNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uOwogcHVibGljOgogICAgIFNRTGl0ZURhdGFiYXNl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmgKaW5k
ZXggMTQ0NGYwZS4uZmQxYWJmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZVN0YXRlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9T
UUxpdGVTdGF0ZW1lbnQuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFNRTFZhbHVlOwogCi1jbGFzcyBTUUxpdGVTdGF0ZW1lbnQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1FMaXRlU3RhdGVtZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTUUxpdGVTdGF0ZW1lbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBTUUxpdGVTdGF0ZW1lbnQoU1FMaXRlRGF0YWJhc2UmLCBjb25zdCBTdHJpbmcmKTsKICAgICB+
U1FMaXRlU3RhdGVtZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlVHJhbnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVUcmFuc2FjdGlvbi5oCmluZGV4IDkyNDI0MWYuLmJhNjg2YmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5oCkBAIC0yNiwxNCArMjYsMTUg
QEAKICNpZm5kZWYgU1FMaXRlVHJhbnNhY3Rpb25faAogI2RlZmluZSBTUUxpdGVUcmFuc2FjdGlv
bl9oCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNRTGl0ZURhdGFiYXNl
OwogCi1jbGFzcyBTUUxpdGVUcmFuc2FjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZQoteworY2xh
c3MgU1FMaXRlVHJhbnNhY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZVRy
YW5zYWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1FMaXRl
VHJhbnNhY3Rpb24oU1FMaXRlRGF0YWJhc2UmIGRiLCBib29sIHJlYWRPbmx5ID0gZmFsc2UpOwog
ICAgIH5TUUxpdGVUcmFuc2FjdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
QmlkaVJlc29sdmVyLmgKaW5kZXggMWY4NzExNS4uOTdiOTM3NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCkBAIC0xMjYsNyArMTI2LDggQEAgc3RydWN0
IEJpZGlDaGFyYWN0ZXJSdW4gewogICAgIEJpZGlDaGFyYWN0ZXJSdW4qIG1fbmV4dDsKIH07CiAK
LXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBS
dW4+IGNsYXNzIEJpZGlSZXNvbHZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmlkaVJl
c29sdmVyKTsKIHB1YmxpYyA6CiAgICAgQmlkaVJlc29sdmVyKCkKICAgICAgICAgOiBtX2RpcmVj
dGlvbihXVEY6OlVuaWNvZGU6Ok90aGVyTmV1dHJhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24uaAppbmRleCBmMTYxMWU1Li41MzZlZDQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5o
CkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVndWxh
ckV4cHJlc3Npb24gOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBSZWd1bGFyRXhwcmVz
c2lvbiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVndWxh
ckV4cHJlc3Npb24oY29uc3QgU3RyaW5nJiwgVGV4dENhc2VTZW5zaXRpdml0eSk7CiAgICAgflJl
Z3VsYXJFeHByZXNzaW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMu
aAppbmRleCBjNmFmMzhhLi4zNTIyOWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRDb2RlYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
VGV4dENvZGVjLmgKQEAgLTU3LDggKzU3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
IHR5cGVkZWYgY2hhciBVbmVuY29kYWJsZVJlcGxhY2VtZW50QXJyYXlbMzJdOwogCi0gICAgY2xh
c3MgVGV4dENvZGVjIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUZXh0Q29kZWMg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0Q29kZWMpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFRleHRDb2RlYygpIHsgfQogICAgICAg
ICB2aXJ0dWFsIH5UZXh0Q29kZWMoKTsKIAogICAgICAgICBTdHJpbmcgZGVjb2RlKGNvbnN0IGNo
YXIqIHN0ciwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCA9IGZhbHNlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIu
aAppbmRleCA2N2RiOTc3Li42OTkwYTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaApAQCAtNDAsNyArNDAs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250RGVzY3JpcHRpb247CiBjbGFzcyBU
ZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvbnRUcmFuc2NvZGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEZvbnRUcmFuc2NvZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250
VHJhbnNjb2Rlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZvaWQg
Y29udmVydChTdHJpbmcmIHRleHQsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRF
bmNvZGluZyogPSAwKSBjb25zdDsKICAgICBib29sIG5lZWRzVHJhbnNjb2RpbmcoY29uc3QgRm9u
dERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVuY29kaW5nKiA9IDApIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCmluZGV4IGNlNjRiODUuLjc3OWRhMjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKQEAgLTQxLDYg
KzQxLDcgQEAgY2xhc3MgV0NEYXRhT2JqZWN0OwogCiAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5n
IElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiBjbGFzcyBDbGlw
Ym9hcmRXaW4gOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPENsaXBib2FyZFdpbj4gY3JlYXRlKENsaXBib2FyZFR5cGUgY2xpcGJvYXJkVHlwZSwg
SURhdGFPYmplY3QqIGRhdGFPYmplY3QsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIEZy
YW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyLmgKaW5kZXggZTc4NTZlNy4uZDM2YzIzMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9hZGNh
c3Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJv
YWRjYXN0ZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VMaXN0ZW5l
cjsKIAotICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyB2b2lkIGFkZExpc3RlbmVyKEhXTkQsIFdpbmRvd01lc3NhZ2VMaXN0
ZW5lciopOwogICAgICAgICBzdGF0aWMgdm9pZCByZW1vdmVMaXN0ZW5lcihIV05ELCBXaW5kb3dN
ZXNzYWdlTGlzdGVuZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1
Z2luRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0YWJhc2UuaApp
bmRleCBiMTQ2MDVmLi5jNDEyYzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5z
L1BsdWdpbkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRh
YmFzZS5oCkBAIC00NCw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVk
ZWYgSGFzaFNldDxSZWZQdHI8UGx1Z2luUGFja2FnZT4sIFBsdWdpblBhY2thZ2VIYXNoPiBQbHVn
aW5TZXQ7CiAKLSAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgUGx1Z2luRGF0YWJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQbHVnaW5EYXRhYmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgUGx1Z2luRGF0YWJhc2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbHVn
aW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaAppbmRleCA2MTBlODljLi4yOWJjNGU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVs
ZXIuaApAQCAtMzYsNyArMzYsOCBAQCB0eXBlZGVmIE5QUF90KiBOUFA7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiB2b2lkIE1haW5UaHJlYWRGdW5jdGlvbih2
b2lkKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5o
IGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKaW5kZXggMDQ0ZDZlMi4uOGY4
ZjEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3LmgKQEAgLTk1LDcgKzk1LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBQbHVnaW5TdGF0dXNMb2FkZWRTdWNjZXNzZnVs
bHkKICAgICB9OwogCi0gICAgY2xhc3MgUGx1Z2luUmVxdWVzdCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgUGx1Z2luUmVxdWVzdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblJlcXVlc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFBsdWdpblJlcXVlc3QoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgZnJhbWVMb2Fk
UmVxdWVzdCwgYm9vbCBzZW5kTm90aWZpY2F0aW9uLCB2b2lkKiBub3RpZnlEYXRhLCBib29sIHNo
b3VsZEFsbG93UG9wdXBzKQogICAgICAgICAgICAgOiBtX2ZyYW1lTG9hZFJlcXVlc3QoZnJhbWVM
b2FkUmVxdWVzdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5J
bmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCmluZGV4IDVlNmY2
MTkuLmQ3N2Q2Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5J
bmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaApAQCAtMzEs
NyArMzEsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvbHVtbkluZm8gOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29sdW1uSW5mbyB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ29sdW1uSW5mbyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIENvbHVtbkluZm8oKQogICAgICAgICA6IG1fZGVzaXJlZENvbHVtbldpZHRoKDApCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IDBkMDZjYjEuLmM0OTk0MzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCkBAIC0zNyw3ICszNyw4IEBAIGNs
YXNzIFJlbmRlckFyZW5hOwogY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgUmVuZGVyT2JqZWN0Owog
Ci1jbGFzcyBMYXlvdXRTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXlvdXRT
dGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGUpOwogcHVibGljOgog
ICAgIExheW91dFN0YXRlKCkKICAgICAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCmluZGV4IDMyMTM5ZmIuLmUxZmY1MzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oCkBAIC0zNiwxMyArMzYsMTUgQEAKICNkZWZp
bmUgUmVuZGVyQXJlbmFfaAogCiAjaW5jbHVkZSAiQXJlbmEuaCIKKyNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgZ01heFJlY3ljbGVkU2l6ZSA9IDQwMDsK
IAotY2xhc3MgUmVuZGVyQXJlbmEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVy
QXJlbmEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlckFyZW5hKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyQXJlbmEodW5zaWduZWQgYXJlbmFT
aXplID0gNDA5Nik7CiAgICAgflJlbmRlckFyZW5hKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5oCmluZGV4IDk1MjliZDYuLmY4ODI5ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCkBAIC0zNjAsNyArMzYwLDkgQEAgcHJpdmF0ZToKICAgICAgICAg
Ym9vbCBldmVySGFkTGF5b3V0OwogICAgIH07CiAKLSAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3Qg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0IHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRmxvYXRpbmdPYmplY3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIE5vdGUgdGhhdCBUeXBlIHVzZXMgYml0cyBzbyB5
b3UgY2FuIHVzZSBGbG9hdEJvdGggYXMgYSBtYXNrIHRvIHF1ZXJ5IGZvciBib3RoIGxlZnQgYW5k
IHJpZ2h0LgogICAgICAgICBlbnVtIFR5cGUgeyBGbG9hdExlZnQgPSAxLCBGbG9hdFJpZ2h0ID0g
MiwgRmxvYXRCb3RoID0gMyB9OwogCkBAIC02NzgsNyArNjgwLDkgQEAgcHJpdmF0ZToKICAgICBQ
b3NpdGlvbmVkT2JqZWN0c0xpc3RIYXNoU2V0KiBtX3Bvc2l0aW9uZWRPYmplY3RzOwogCiAgICAg
Ly8gQWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1kZWZh
dWx0IHZhbHVlcwotICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIDogTm9uY29weWFibGUg
eworICAgIHN0cnVjdCBSZW5kZXJCbG9ja1JhcmVEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoUmVuZGVyQmxvY2tSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
ICAgIHB1YmxpYzoKICAgICAgICAgUmVuZGVyQmxvY2tSYXJlRGF0YShjb25zdCBSZW5kZXJCbG9j
ayogYmxvY2spIAogICAgICAgICAgICAgOiBtX21hcmdpbnMocG9zaXRpdmVNYXJnaW5CZWZvcmVE
ZWZhdWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5CZWZvcmVEZWZhdWx0KGJsb2NrKSwgcG9zaXRp
dmVNYXJnaW5BZnRlckRlZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkFmdGVyRGVmYXVsdChi
bG9jaykpCiAgICAgICAgICAgICAsIG1fcGFnaW5hdGlvblN0cnV0KDApCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCBmYjAyNGZj
Li5mMjQxMmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5jcHAKQEAgLTYzLDcgKzYzLDggQEAgdHlwZWRlZiBIYXNoTWFwPExhc3RQYWlu
dFNpemVNYXBLZXksIEludFNpemU+IExhc3RQYWludFNpemVNYXA7CiB0eXBlZGVmIEhhc2hNYXA8
Y29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCo+IENvbnRp
bnVhdGlvbk1hcDsKIHN0YXRpYyBDb250aW51YXRpb25NYXAqIGNvbnRpbnVhdGlvbk1hcCA9IDA7
CiAKLWNsYXNzIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SW1hZ2VRdWFsaXR5Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIoKTsKICAgICBib29sIHNob3VsZFBhaW50QXRM
b3dRdWFsaXR5KEdyYXBoaWNzQ29udGV4dCosIFJlbmRlckJveE1vZGVsT2JqZWN0KiwgSW1hZ2Uq
LCBjb25zdCB2b2lkKiBsYXllciwgY29uc3QgSW50U2l6ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAppbmRleCBkMGFiMzQ2Li4xZTUxMWQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaApAQCAtNzMsNyArNzMsOCBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIHN0YXRpYyBjb25zdCBpbnQgbm9TcGxpdCA9IC0xOwogCi0gICAg
Y2xhc3MgR3JpZEF4aXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyaWRBeGlz
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JpZEF4aXMpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgR3JpZEF4aXMoKTsKICAgICAgICAgdm9pZCByZXNpemUoaW50KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oCmluZGV4IDIzNDY3MTIu
LmEyMGM1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZVJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVz
b3VyY2UuaApAQCAtMjksMTMgKzI5LDEzIEBACiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNp
bmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlN0eWxlSW1hZ2UuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBSZW5kZXJPYmplY3Q7CiAKLWNsYXNzIFJlbmRlckltYWdlUmVzb3VyY2UgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVuZGVySW1hZ2VSZXNvdXJjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIHZpcnR1YWwgflJlbmRlckltYWdlUmVzb3VyY2UoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCmluZGV4IDVjNmVkMTIu
LjcyNmI3NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmgKQEAgLTUzLDcgKzUzLDggQEAgZW51bSBDb21wb3NpdGluZ0xheWVyVHlwZSB7CiAvLyAK
IC8vIFRoZXJlIGlzIG9uZSBSZW5kZXJMYXllckJhY2tpbmcgZm9yIGVhY2ggUmVuZGVyTGF5ZXIg
dGhhdCBpcyBjb21wb3NpdGVkLgogCi1jbGFzcyBSZW5kZXJMYXllckJhY2tpbmcgOiBwdWJsaWMg
R3JhcGhpY3NMYXllckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckxh
eWVyQmFja2luZyA6IHB1YmxpYyBHcmFwaGljc0xheWVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZW5kZXJMYXllckJhY2tpbmcpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBSZW5kZXJMYXllckJhY2tpbmcoUmVuZGVyTGF5ZXIqKTsKICAgICB+UmVu
ZGVyTGF5ZXJCYWNraW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWFycXVlZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1hcnF1ZWUu
aAppbmRleCA3OTk5OGVkLi45OGZkZGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTWFycXVlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNYXJxdWVlLmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
UmVuZGVyTGF5ZXI7CiAKIC8vIFRoaXMgY2xhc3MgaGFuZGxlcyB0aGUgYXV0by1zY3JvbGxpbmcg
b2YgbGF5ZXJzIHdpdGggb3ZlcmZsb3c6IG1hcnF1ZWUuCi1jbGFzcyBSZW5kZXJNYXJxdWVlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck1hcnF1ZWUgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlck1hcnF1ZWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJNYXJxdWVlKFJlbmRlckxheWVyKik7CiAgICAgdmly
dHVhbCB+UmVuZGVyTWFycXVlZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck92ZXJmbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT3Zl
cmZsb3cuaAppbmRleCA3ZGMyYmNiLi4zM2U4Y2ZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck92ZXJmbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck92ZXJmbG93LmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUK
IC8vIEV4YW1wbGVzIG9mIHZpc3VhbCBvdmVyZmxvdyBhcmUgc2hhZG93cywgdGV4dCBzdHJva2Ug
KGFuZCBldmVudHVhbGx5IG91dGxpbmUgYW5kIGJvcmRlci1pbWFnZSkuCiAKIC8vIFRoaXMgb2Jq
ZWN0IGlzIGFsbG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMgaGF2ZSBub24t
ZGVmYXVsdCB2YWx1ZXMgaW4gdGhlIG93bmluZyBib3guCi1jbGFzcyBSZW5kZXJPdmVyZmxvdyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJPdmVyZmxvdyB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVuZGVyT3ZlcmZsb3cpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBSZW5kZXJPdmVyZmxvdyhjb25zdCBJbnRSZWN0JiBsYXlvdXRSZWN0LCBj
b25zdCBJbnRSZWN0JiB2aXN1YWxSZWN0KSAKICAgICAgICAgOiBtX3RvcExheW91dE92ZXJmbG93
KGxheW91dFJlY3QueSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNlbGVjdGlvbkluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxl
Y3Rpb25JbmZvLmgKaW5kZXggYTA5ZmMxYS4uNDVjYTgxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UoKQogICAg
ICAgICA6IG1fb2JqZWN0KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRl
eCAxZGZkNGNlLi43ZTViNGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgK
QEAgLTI2NCw3ICsyNjQsOCBAQCB2b2lkIHRvUmVuZGVyVmlldyhjb25zdCBSZW5kZXJWaWV3Kik7
CiAKIAogLy8gU3RhY2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdpdGggTGF5b3V0U3RhdGUgcHVz
aC9wb3AKLWNsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KExheW91dFN0YXRlTWFpbnRhaW5lcik7CiBwdWJsaWM6CiAgICAgLy8gY3RvciB0byBwdXNoIG5v
dwogICAgIExheW91dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJWaWV3KiB2aWV3LCBSZW5kZXJCb3gq
IHJvb3QsIEludFNpemUgb2Zmc2V0LCBib29sIGRpc2FibGVTdGF0ZSA9IGZhbHNlLCBpbnQgcGFn
ZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSwgQ29sdW1uSW5mbyog
Y29sSW5mbyA9IDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
V2lkZ2V0UHJvdGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0
UHJvdGVjdG9yLmgKaW5kZXggNzg4MzA0Yy4uOGJmNmFjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaApAQCAtMzAsNyArMzAsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciA6IHBy
aXZhdGUgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJXaWRnZXRQcm90ZWN0b3IpOwogcHVibGljOgogICAg
IFJlbmRlcldpZGdldFByb3RlY3RvcihSZW5kZXJXaWRnZXQqIG9iamVjdCkKICAgICAgICAgOiBt
X29iamVjdChvYmplY3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGFi
bGVMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5oCmluZGV4
IGUwZmE4ZWUuLmM1ZjYxZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9U
YWJsZUxheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UYWJsZUxheW91dC5o
CkBAIC0yMSwxMyArMjEsMTUgQEAKICNpZm5kZWYgVGFibGVMYXlvdXRfaAogI2RlZmluZSBUYWJs
ZUxheW91dF9oCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFJlbmRlclRh
YmxlOwogCi1jbGFzcyBUYWJsZUxheW91dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBU
YWJsZUxheW91dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFibGVMYXlvdXQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUYWJsZUxheW91dChSZW5kZXJUYWJs
ZSogdGFibGUpCiAgICAgICAgIDogbV90YWJsZSh0YWJsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RyYW5zZm9ybVN0YXRlLmgKaW5kZXggMGI0Y2E0Ni4uMzZmYzZlYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lu
Y2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJUcmFu
c2Zvcm1hdGlvbk1hdHJpeC5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVHJhbnNm
b3JtU3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVHJhbnNmb3JtU3RhdGUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zZm9ybVN0YXRlKTsKIHB1YmxpYzoKICAgICBl
bnVtIFRyYW5zZm9ybURpcmVjdGlvbiB7IEFwcGx5VHJhbnNmb3JtRGlyZWN0aW9uLCBVbmFwcGx5
SW52ZXJzZVRyYW5zZm9ybURpcmVjdGlvbiB9OwogICAgIGVudW0gVHJhbnNmb3JtQWNjdW11bGF0
aW9uIHsgRmxhdHRlblRyYW5zZm9ybSwgQWNjdW11bGF0ZVRyYW5zZm9ybSB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2FsUG9zaXRpb25DYWNoZS5oCmluZGV4IDRkZWFl
ZjUuLmIyNWIyZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNh
bFBvc2l0aW9uQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQ
b3NpdGlvbkNhY2hlLmgKQEAgLTM4LDcgKzM4LDggQEAgY29uc3QgaW50IFBvc2l0aW9uVG9wID0g
LTB4N2ZmZmZmZmY7CiBjb25zdCBpbnQgUG9zaXRpb25Cb3R0b20gPSAweDdmZmZmZmZmOwogY29u
c3QgaW50IFBvc2l0aW9uVW5kZWZpbmVkID0gMHg4MDAwMDAwMDsKIAotY2xhc3MgVmVydGljYWxQ
b3NpdGlvbkNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZlcnRpY2FsUG9zaXRp
b25DYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmVydGljYWxQb3NpdGlvbkNhY2hl
KTsKIHB1YmxpYzoKICAgICBWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUoKQogICAgIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaAppbmRleCA0Zjk2NGEyLi4x
NWY2OTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVu
dERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEu
aApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN0eWxlSW1h
Z2U7CiAKLXN0cnVjdCBDb250ZW50RGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBDb250ZW50
RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ29udGVudERhdGEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb250ZW50RGF0YSgpCiAgICAgICAgIDogbV90
eXBlKENPTlRFTlRfTk9ORSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9Db3VudGVyQ29udGVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Nv
dW50ZXJDb250ZW50LmgKaW5kZXggNTI3NTdhZC4uODE0MDM5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvdW50ZXJDb250ZW50LmgKQEAgLTMwLDcgKzMwLDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb3VudGVyQ29udGVudCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvdW50ZXJDb250ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb3VudGVyQ29udGVudChjb25zdCBBdG9taWNTdHJp
bmcmIGlkZW50aWZpZXIsIEVMaXN0U3R5bGVUeXBlIHN0eWxlLCBjb25zdCBBdG9taWNTdHJpbmcm
IHNlcGFyYXRvcikKICAgICAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAppbmRleCA0OWZiMjk0Li44NDdlOGRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCkBAIC01OSw3
ICs1OSw4IEBAIHN0cnVjdCBGaWxsU2l6ZSB7CiAgICAgTGVuZ3RoU2l6ZSBzaXplOwogfTsKIAot
Y2xhc3MgRmlsbExheWVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgRmlsbExheWVy
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGaWxsTGF5ZXIo
RUZpbGxMYXllclR5cGUpOwogICAgIH5GaWxsTGF5ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCmluZGV4IGZiNTkyNmQuLjBiZTNmYzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaApAQCAtMjYsNyArMjYsNiBA
QAogI2RlZmluZSBTaGFkb3dEYXRhX2gKIAogI2luY2x1ZGUgIkNvbG9yLmgiCi0jaW5jbHVkZSA8
d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNyw3ICsz
Niw4IEBAIGVudW0gU2hhZG93U3R5bGUgeyBOb3JtYWwsIEluc2V0IH07CiAKIC8vIFRoaXMgc3Ry
dWN0IGhvbGRzIGluZm9ybWF0aW9uIGFib3V0IHNoYWRvd3MgZm9yIHRoZSB0ZXh0LXNoYWRvdyBh
bmQgYm94LXNoYWRvdyBwcm9wZXJ0aWVzLgogCi1jbGFzcyBTaGFkb3dEYXRhIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgU2hhZG93RGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgU2hhZG93RGF0YSgpCiAgICAgICAgIDogbV94KDApCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXIuaAppbmRleCA3Zjg2MmE3Li45OTg2MWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKQEAgLTM1LDcg
KzM1LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdHJ1Y3QgQ2xpcHBlckRhdGEgOiBG
YXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDbGlwcGVyRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CiAgICAgT3duUHRyPEltYWdlQnVmZmVyPiBjbGlwTWFza0ltYWdl
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbWFn
ZUJ1ZmZlclRvb2xzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0ltYWdlQnVm
ZmVyVG9vbHMuaAppbmRleCBjZmIxNWIyLi4xMTU3N2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR0ltYWdlQnVmZmVyVG9vbHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR0ltYWdlQnVmZmVyVG9vbHMuaApAQCAtMzIsNyArMzIsOCBA
QCBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBSZW5kZXJP
YmplY3Q7CiAKLWNsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1ZHSW1hZ2VCdWZmZXJUb29scyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgY3JlYXRlSW1h
Z2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiBhYnNvbHV0ZVRhcmdldFJlY3QsIGNvbnN0IEZsb2F0
UmVjdCYgY2xhbXBlZEFic29sdXRlVGFyZ2V0UmVjdCwgT3duUHRyPEltYWdlQnVmZmVyPiYsIENv
bG9yU3BhY2UpOwogICAgIHN0YXRpYyB2b2lkIHJlbmRlclN1YnRyZWVUb0ltYWdlQnVmZmVyKElt
YWdlQnVmZmVyKiwgUmVuZGVyT2JqZWN0KiwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR01hcmtlckxheW91dEluZm8u
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCmlu
ZGV4IDVlNzVmMGIuLjMyMzE3YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHTWFya2VyTGF5b3V0SW5mby5oCkBAIC00Myw3ICs0Myw4IEBAIHN0cnVjdCBNYXJr
ZXJMYXlvdXQgewogICAgIEFmZmluZVRyYW5zZm9ybSBtYXRyaXg7CiB9OwogCi1jbGFzcyBTVkdN
YXJrZXJMYXlvdXRJbmZvIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR01hcmtlckxh
eW91dEluZm8geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR01hcmtlckxheW91dEluZm8p
OwogcHVibGljOgogICAgIFNWR01hcmtlckxheW91dEluZm8oKTsKICAgICB+U1ZHTWFya2VyTGF5
b3V0SW5mbygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZXNvdXJjZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmgK
aW5kZXggZGQzMjhiOC4uNDhjY2EyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdSZXNvdXJjZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1Jlc291cmNlcy5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFJlbmRlclNWR1Jlc291cmNl
TWFza2VyOwogY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiAKIC8vIEhvbGRzIGEgc2V0IG9mIHJlc291
cmNlcyBhc3NvY2lhdGVkIHdpdGggYSBSZW5kZXJPYmplY3QKLWNsYXNzIFNWR1Jlc291cmNlcyA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXMgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFNWR1Jlc291cmNlcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIFNWR1Jlc291cmNlcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmgKaW5kZXggMzBlYWVjYS4uYmM3M2Y0ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaApAQCAt
MzEsNyArMzEsOCBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNl
Q29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdSZXNvdXJjZXNDYWNo
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNvdXJjZXNDYWNoZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDYWNoZSgpOwogICAgIH5TVkdSZXNv
dXJjZXNDYWNoZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZXNvdXJjZXNDeWNsZVNvbHZlci5oCmluZGV4IDA2NTMzMDQuLjA5OWY5MWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0N5Y2xlU29s
dmVyLmgKQEAgLTI5LDcgKzI5LDggQEAgY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVy
U1ZHUmVzb3VyY2VDb250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jl
c291cmNlc0N5Y2xlU29sdmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291
cmNlc0N5Y2xlU29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXND
eWNsZVNvbHZlcik7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoUmVuZGVy
T2JqZWN0KiwgU1ZHUmVzb3VyY2VzKik7CiAgICAgflNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1
aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRl
ci5oCmluZGV4IDM2MzQyZTcuLjMyMWYzOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVpbGRlci5oCkBAIC0zNSw3ICszNSw4IEBAIHN0cnVj
dCBTVkdUZXh0RnJhZ21lbnQ7CiAvLyBQaGFzZSB0d28gcGVyZm9ybWVkIHRoZSBhY3R1YWwgcGVy
LWNoYXJhY3RlciBsYXlvdXQsIGNvbXB1dGluZyB0aGUgZmluYWwgcG9zaXRpb25zIGZvciBlYWNo
IGNoYXJhY3Rlciwgc3RvcmVkIGluIHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMgKFNWR1Rl
eHRGcmFnbWVudCkuCiAvLyBQaGFzZSB0aHJlZSBwZXJmb3JtcyBhbGwgbW9kaWZpY2F0aW9ucyB0
aGF0IGhhdmUgdG8gYmUgYXBwbGllZCB0byBlYWNoIGluZGl2aWR1YWwgdGV4dCBjaHVuayAodGV4
dC1hbmNob3IgJiB0ZXh0TGVuZ3RoKS4KIAotY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdUZXh0Q2h1bmtCdWlsZGVyKTsKIHB1YmxpYzoKICAgICBTVkdU
ZXh0Q2h1bmtCdWlsZGVyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCmluZGV4IGYyOWFj
NjQuLmM2ODE4NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaApAQCAtMzgsNyArMzgsOCBA
QCBjbGFzcyBSZW5kZXJTVkdUZXh0OwogLy8gdG8gY3JlYXRlIHRoZSBJbmxpbmVCb3ggdHJlZSBi
YXNlZCBvbiB0ZXh0IGNodW5rIGJvdW5kYXJpZXMgJiBCaURpIGluZm9ybWF0aW9uLgogLy8gVGhl
IHNlY29uZCBsYXlvdXQgcGhhc2UgaXMgY2FycmllZCBvdXQgYnkgU1ZHVGV4dExheW91dEVuZ2lu
ZS4KIAotY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyKTsKIHB1Ymxp
YzoKICAgICBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIoKTsKICAgICB2b2lkIGJ1aWxk
TGF5b3V0QXR0cmlidXRlc0ZvclRleHRTdWJ0cmVlKFJlbmRlclNWR1RleHQqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKaW5kZXgg
YWQwNThkOC4uNjMxZTRjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgU1ZHUmVuZGVy
U3R5bGU7CiAvLyBSZW5kZXJTVkdJbmxpbmVUZXh0IHJlbmRlcmVycyB0byBjb21wdXRlIHRoZSBm
aW5hbCBwb3NpdGlvbnMgZm9yIGVhY2ggY2hhcmFjdGVyCiAvLyB3aGljaCBhcmUgc3RvcmVkIGlu
IHRoZSBTVkdJbmxpbmVUZXh0Qm94IG9iamVjdHMuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdp
bmUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2luZSk7CiBwdWJsaWM6CiAg
ICAgU1ZHVGV4dExheW91dEVuZ2luZSgpOwogICAgIFNWR1RleHRDaHVua0J1aWxkZXImIGNodW5r
TGF5b3V0QnVpbGRlcigpIHsgcmV0dXJuIG1fY2h1bmtMYXlvdXRCdWlsZGVyOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNl
bGluZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUuaAppbmRleCBkNzUzYjM5Li42Nzk0YmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgK
QEAgLTMzLDcgKzMzLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdUZXh0TWV0
cmljczsKIAogLy8gSGVscGVyIGNsYXNzIHVzZWQgYnkgU1ZHVGV4dExheW91dEVuZ2luZSB0byBo
YW5kbGUgJ2FsaWdubWVudC1iYXNlbGluZScgLyAnZG9taW5hbnQtYmFzZWxpbmUnIGFuZCAnYmFz
ZWxpbmUtc2hpZnQnLgotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lKTsKIHB1Ymxp
YzoKICAgICBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUoY29uc3QgRm9udCYpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVT
cGFjaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdp
bmVTcGFjaW5nLmgKaW5kZXggMGE2ZDczNi4uNzFkNDcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaApA
QCAtMzAsNyArMzAsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR0VsZW1lbnQ7
CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8gaGFuZGxl
ICdrZXJuaW5nJyAvICdsZXR0ZXItc3BhY2luZycgYW5kICd3b3JkLXNwYWNpbmcnLgotY2xhc3Mg
U1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNW
R1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nKTsKIHB1YmxpYzoKICAgICBTVkdUZXh0TGF5b3V0RW5n
aW5lU3BhY2luZyhjb25zdCBGb250Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvRGF0YWJhc2VUYXNrLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFz
ay5oCmluZGV4IGI2MWU0NjUuLmUxZGY1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvRGF0YWJhc2VUYXNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFz
ZVRhc2suaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIENhbiBi
ZSB1c2VkIHRvIHdhaXQgdW50aWwgRGF0YWJhc2VUYXNrIGlzIGNvbXBsZXRlZC4KIC8vIEhhcyB0
byBiZSBwYXNzZWQgaW50byBEYXRhYmFzZVRhc2s6OmNyZWF0ZSB0byBiZSBhc3NvY2lhdGVkIHdp
dGggdGhlIHRhc2suCi1jbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIpOwogcHVibGljOgogICAgIERh
dGFiYXNlVGFza1N5bmNocm9uaXplcigpOwogCkBAIC02Nyw3ICs2OCw4IEBAIHByaXZhdGU6CiAj
ZW5kaWYKIH07CiAKLWNsYXNzIERhdGFiYXNlVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBEYXRhYmFzZVRhc2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVGFz
ayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgfkRhdGFi
YXNlVGFzaygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
VHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAppbmRl
eCA3MTQ1ZTZiLi5hMWE1YmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0Rh
dGFiYXNlVHJhY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFj
a2VyLmgKQEAgLTU2LDcgKzU2LDggQEAgY2xhc3MgRGF0YWJhc2VUcmFja2VyQ2xpZW50Owogc3Ry
dWN0IFNlY3VyaXR5T3JpZ2luVHJhaXRzOwogI2VuZGlmIC8vICFQTEFURk9STShDSFJPTUlVTSkK
IAotY2xhc3MgRGF0YWJhc2VUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERh
dGFiYXNlVHJhY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUcmFja2Vy
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5p
dGlhbGl6ZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBkYXRhYmFzZVBhdGgpOwogICAgIHN0YXRpYyBE
YXRhYmFzZVRyYWNrZXImIHRyYWNrZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgKaW5kZXggNzgzYTczMS4uNWJjNmFj
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rp
b25Nb25pdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNh
Y3Rpb25Nb25pdG9yLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlOwogLy8gRklYTUU6IG1vdmUgdGhlIHZlY3RvciBvZiB0cmFuc2FjdGlvbnMg
dG8gVExTLiBLZWVwaW5nIGl0IHN0YXRpYwogLy8gd2lsbCBub3Qgd29yayBvbmNlIHdlIGFkZCBz
dXBwb3J0IGZvciB3b3JrZXJzLiBBbm90aGVyIHBvc3NpYmxlCiAvLyBzb2x1dGlvbiBpcyB0byBr
ZWVwIHRoZSB2ZWN0b3IgaW4gdGhlIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuCi1jbGFzcyBJREJQ
ZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElE
QlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElE
QlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFk
ZFBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqKTsKICAg
ICBzdGF0aWMgdm9pZCByZW1vdmVQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0xvY2Fs
U3RvcmFnZVRhc2suaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5o
CmluZGV4IGEyZTM1ZWEuLjI3YThlYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvTG9jYWxTdG9yYWdlVGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxT
dG9yYWdlVGFzay5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQ7CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgY2xh
c3MgdG8gU3RvcmFnZVRhc2sKLSAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNrIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTG9jYWxTdG9yYWdlVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsgQXJlYUltcG9ydCwgQXJlYVN5bmMs
IERlbGV0ZUVtcHR5RGF0YWJhc2UsIFRlcm1pbmF0ZVRocmVhZCB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAppbmRleCA2ZjA1OTExLi5hMmM3OGM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKQEAgLTQwLDcg
KzQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2s7
CiAKICAgICAvLyBGSVhNRTogUmVuYW1lIHRoaXMgY2xhc3MgdG8gU3RvcmFnZVRocmVhZAotICAg
IGNsYXNzIExvY2FsU3RvcmFnZVRocmVhZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgTG9jYWxTdG9yYWdlVGhyZWFkIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9j
YWxTdG9yYWdlVGhyZWFkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc093blB0cjxMb2NhbFN0b3JhZ2VUaHJlYWQ+IGNyZWF0ZSgpOwog
ICAgICAgICB+TG9jYWxTdG9yYWdlVGhyZWFkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9P
cmlnaW5RdW90YU1hbmFnZXIuaAppbmRleCBlYzk2MjBjLi44MmQ3Yzc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIGNsYXNzIE9yaWdpblVz
YWdlUmVjb3JkOwogCi1jbGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShPcmlnaW5RdW90YU1hbmFnZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBPcmlnaW5RdW90YU1hbmFnZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Pcmln
aW5Vc2FnZVJlY29yZC5oCmluZGV4IGE4MzBlNjguLjc1NTdlYWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAvLyBPYmplY3RzIG9mIHRoaXMgY2xhc3MgY2FuIGJlIHVzZWQgZnJvbSBt
dWx0aXBsZSB0aHJlYWRzIHdpdGggZXh0ZXJuYWwgc3luY2hyb25pemF0aW9uLgogLy8gU3RyaW5n
IGFyZ3VtZW50cyBhcmUgYWxzbyBzdXBwb3NlZCB0byBiZSBkZWVwbHkgY29waWVkIGJ5IHRoZSBj
YWxsZXIgd2hlbiBuZWNlc3NhcnkuCi1jbGFzcyBPcmlnaW5Vc2FnZVJlY29yZCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBPcmlnaW5Vc2FnZVJlY29yZCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoT3JpZ2luVXNhZ2VSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBPcmlnaW5Vc2FnZVJlY29yZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmgKaW5kZXggZmVkMDY1Ny4uM2M1ZWMyZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaApAQCAtMzMsNiAr
MzMsNyBAQAogCiAjaWYgRU5BQkxFKERBVEFCQVNFKQogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxv
Y0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNDEsOCArNDIsMTAgQEAgY2xhc3MgQWJzdHJhY3REYXRhYmFzZTsKIAogLy8gQSBj
bGllbnQgdG8gdGhlIFNRTFRyYW5zYWN0aW9uIGNsYXNzLiBBbGxvd3MgU1FMVHJhbnNhY3Rpb24g
dG8gbm90aWZ5IGludGVyZXN0ZWQKIC8vIHBhcnRpZXMgdGhhdCBjZXJ0YWluIHRoaW5ncyBoYXZl
IGhhcHBlbmVkIGluIGEgdHJhbnNhY3Rpb24uCi1jbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxUcmFuc2FjdGlvbkNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rpb25DbGllbnQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTUUxUcmFuc2FjdGlvbkNsaWVudCgpIHsgfQogICAg
IHZvaWQgZGlkQ29tbWl0V3JpdGVUcmFuc2FjdGlvbihBYnN0cmFjdERhdGFiYXNlKik7CiAgICAg
dm9pZCBkaWRFeGVjdXRlU3RhdGVtZW50KEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICBib29sIGRp
ZEV4Y2VlZFF1b3RhKEFic3RyYWN0RGF0YWJhc2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTQzNjBjMC4uZmQ3Njc4
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yLmgKQEAgLTQzLDggKzQzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNs
YXNzIFNRTFRyYW5zYWN0aW9uOwogCi0gICAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRv
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU1FMVHJhbnNhY3Rpb25Db29yZGlu
YXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CisgICAgICAgIFNR
TFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSB7IH0KICAgICAgICAgdm9pZCBhY3F1aXJlTG9jayhT
UUxUcmFuc2FjdGlvbiopOwogICAgICAgICB2b2lkIHJlbGVhc2VMb2NrKFNRTFRyYW5zYWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgc2h1dGRvd24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1
bWVudEV4dGVuc2lvbnMuaAppbmRleCBhMGNmMmJiLi4wZWQ2MmE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCkBAIC0zOCw3ICszOCw4IEBAIGNsYXNzIFNW
R1N0eWxlZEVsZW1lbnQ7CiBjbGFzcyBTVkdTTUlMRWxlbWVudDsKIGNsYXNzIFNWR1NWR0VsZW1l
bnQ7CiAKLWNsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdEb2N1bWVudEV4dGVuc2lvbnMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR0RvY3VtZW50RXh0ZW5zaW9ucyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8U1ZHU3R5bGVkRWxlbWVudD4gPiBTVkdQZW5k
aW5nRWxlbWVudHM7CiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKERvY3VtZW50Kik7CkBAIC02
OCw5ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxBdG9taWNTdHJpbmcsIFNWR1BlbmRp
bmdFbGVtZW50cyo+IG1fcGVuZGluZ1Jlc291cmNlczsKICAgICBPd25QdHI8U1ZHUmVzb3VyY2Vz
Q2FjaGU+IG1fcmVzb3VyY2VzQ2FjaGU7CiAKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoY29u
c3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJiBv
cGVyYXRvcj0oY29uc3QgU1ZHRG9jdW1lbnRFeHRlbnNpb25zJik7Ci0KIHB1YmxpYzoKICAgICAv
LyBUaGlzIEhhc2hNYXAgY29udGFpbnMgYSBsaXN0IG9mIHBlbmRpbmcgcmVzb3VyY2VzLiBQZW5k
aW5nIHJlc291cmNlcywgYXJlIHN1Y2gKICAgICAvLyB3aGljaCBhcmUgcmVmZXJlbmNlZCBieSBh
bnkgb2JqZWN0IGluIHRoZSBTVkcgZG9jdW1lbnQsIGJ1dCBkbyBOT1QgZXhpc3QgeWV0LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IDQyNzZjNGEuLjMzMThkZWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKQEAgLTMxLDcgKzMxLDgg
QEAgY2xhc3MgU1ZHQ3Vyc29yRWxlbWVudDsKIGNsYXNzIFNWR0VsZW1lbnQ7CiBjbGFzcyBTVkdF
bGVtZW50SW5zdGFuY2U7CiAKLWNsYXNzIFNWR0VsZW1lbnRSYXJlRGF0YSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR0VsZW1lbnRSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIFNWR0VsZW1lbnRSYXJlRGF0YSgpCiAgICAgICAgIDogbV9jdXJzb3JFbGVtZW50
KDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCmluZGV4IGU4OTdhNTkuLmYyMDJkMjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGb250RGF0YS5oCkBAIC0yNSw3ICsyNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgU1ZHRm9udERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U1ZHRm9udERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0ZvbnREYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHRm9udERhdGEoU1ZHRm9udEZh
Y2VFbGVtZW50Kik7CiAgICAgdmlydHVhbCB+U1ZHRm9udERhdGEoKSB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhCbGVuZGVyLmgKaW5kZXggYzBhZTdmMy4uOGU0M2I5NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BhdGhCbGVuZGVyLmgKQEAgLTIzLDExICsyMywxMSBAQAogI2lmIEVOQUJMRShTVkcpCiAj
aW5jbHVkZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNvdXJjZS5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR1BhdGhCbGVuZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhC
bGVuZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQmxlbmRlcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR1BhdGhCbGVuZGVyKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKaW5kZXggYjg4ODJiNi4uYTQ0NGFjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmgKQEAgLTQzLDcgKzQzLDggQEAg
dHlwZWRlZiB1bmlvbiB7CiAgICAgdW5zaWduZWQgY2hhciBieXRlc1tzaXplb2YodW5zaWduZWQg
c2hvcnQpXTsKIH0gVW5zaWduZWRTaG9ydEJ5dGU7CiAKLWNsYXNzIFNWR1BhdGhCeXRlU3RyZWFt
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhCeXRlU3RyZWFtIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQnl0ZVN0cmVhbSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR1BhdGhCeXRlU3RyZWFt
PiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
Q29uc3VtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaAppbmRleCBi
N2M1ZTczLi5hZjNmNzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aENv
bnN1bWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1lci5oCkBAIC0y
Niw2ICsyNiw3IEBACiAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIK
KyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJs
ZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw4ICs0MSwxMCBAQCBlbnVtIFBhdGhQ
YXJzaW5nTW9kZSB7CiAgICAgVW5hbHRlcmVkUGFyc2luZwogfTsKIAotY2xhc3MgU1ZHUGF0aENv
bnN1bWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhDb25zdW1lciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aENvbnN1bWVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU1ZHUGF0aENvbnN1bWVyKCkgeyB9CiAgICAgdmlydHVh
bCB2b2lkIGluY3JlbWVudFBhdGhTZWdtZW50Q291bnQoKSA9IDA7CiAgICAgdmlydHVhbCBib29s
IGNvbnRpbnVlQ29uc3VtaW5nKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVhbnVwKCkgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKaW5kZXggNzY3OWE5NS4uMDk2MTMxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNpbmNsdWRl
ICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU2VnLmgiCiAjaW5jbHVkZSAi
U1ZHUGF0aFNvdXJjZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUGF0
aFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoUGFyc2VyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoUGFyc2VyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aFBhcnNlcigpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhTb3VyY2UuaAppbmRleCBkMWE2MTQ5Li43N2JmOWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHUGF0aFNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
U291cmNlLmgKQEAgLTI1LDggKzI1LDEwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU1ZHUGF0aFNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoU291
cmNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoU291cmNlKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU1ZHUGF0aFNvdXJjZSgpIHsgfQogICAgIHZp
cnR1YWwgflNWR1BhdGhTb3VyY2UoKSB7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBoYXNNb3JlRGF0
YSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3Bl
Yy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggNjg2Y2VjMy4uY2Qx
MGNhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKQEAgLTMyLDggKzMyLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgU1ZHRWxlbWVudDsKIAogY2xhc3MgU1ZHVmlld1NwZWMgOiBw
dWJsaWMgU1ZHRml0VG9WaWV3Qm94LAotICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9v
bUFuZFBhbiwKLSAgICAgICAgICAgICAgICAgICAgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAg
ICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4geworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFNWR1ZpZXdTcGVjKTsKIHB1YmxpYzoKICAgICBTVkdWaWV3U3BlYyhTVkdFbGVtZW50
Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IDk3Zjg2
YmUuLmZjMmZkMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJ
bWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApA
QCAtNTUsNyArNTUsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR0ltYWdl
Q2hyb21lQ2xpZW50IDogcHVibGljIEVtcHR5Q2hyb21lQ2xpZW50LCBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGll
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR0ltYWdlQ2hyb21lQ2xpZW50KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHSW1hZ2VDaHJvbWVDbGllbnQo
U1ZHSW1hZ2UqIGltYWdlKQogICAgICAgICA6IG1faW1hZ2UoaW1hZ2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmggYi9Tb3VyY2UvV2ViQ29y
ZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgKaW5kZXggNjg2YzE3Yy4uY2M3OTFmYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaApAQCAtMzksNyArMzks
OCBAQCBjbGFzcyBGbG9hdDMyQXJyYXk7CiBjbGFzcyBVaW50OEFycmF5OwogI2VuZGlmCiAKLWNs
YXNzIFJlYWx0aW1lQW5hbHlzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVhbHRp
bWVBbmFseXNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVhbHRpbWVBbmFseXNlcik7
CiBwdWJsaWM6CiAgICAgUmVhbHRpbWVBbmFseXNlcigpOwogICAgIHZpcnR1YWwgflJlYWx0aW1l
QW5hbHlzZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFk
YWJsZVdlYlNvY2tldENoYW5uZWwuaAppbmRleCAwNWIzNzY3Li45NTZlMGZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bC5oCkBAIC00Myw4ICs0MywxMCBAQCBjbGFzcyBLVVJMOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dDsKIGNsYXNzIFdlYlNvY2tldENoYW5uZWxDbGllbnQ7CiAKLWNsYXNzIFRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRocmVhZGFi
bGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRhYmxl
V2ViU29ja2V0Q2hhbm5lbCk7CiBwdWJsaWM6CisgICAgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWwoKSB7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50
KiwgY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpOwogCiAgICAgdmlydHVhbCB2
b2lkIGNvbm5lY3QoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRz
L1dlYlNvY2tldENoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0
Q2hhbm5lbC5oCmluZGV4IDljNTIzNzcuLmEzOWNkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dl
YnNvY2tldHMvV2ViU29ja2V0Q2hhbm5lbC5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCiAgICAgY2xhc3Mg
V2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlNvY2tldENoYW5uZWw+LCBw
dWJsaWMgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50LCBwdWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWwgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNvY2tldENoYW5uZWw+IGNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBXZWJTb2NrZXRDaGFubmVsQ2xpZW50KiBjbGll
bnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFdlYlNvY2tldENoYW5uZWwoY29udGV4dCwgY2xpZW50LCB1cmwsIHByb3RvY29s
KSk7IH0KICAgICAgICAgdmlydHVhbCB+V2ViU29ja2V0Q2hhbm5lbCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmgKaW5kZXggYTViNDI2MC4uMzcx
ZDg1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5k
c2hha2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFr
ZS5oCkBAIC0zNywxMyArMzcsMTMgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2lu
Y2x1ZGUgIldlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJTb2NrZXRI
YW5kc2hha2VSZXNwb25zZS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi0g
ICAgY2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShX
ZWJTb2NrZXRIYW5kc2hha2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBNb2RlIHsKICAg
ICAgICAgICAgIEluY29tcGxldGUsIE5vcm1hbCwgRmFpbGVkLCBDb25uZWN0ZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNv
Y2tldENoYW5uZWwuaAppbmRleCAzNjZlNGZhLi45ZjBiMDFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbC5oCkBAIC01Miw2ICs1Miw3IEBAIGNsYXNzIFdvcmtlckxvYWRlclByb3h5OwogY2xhc3Mg
V29ya2VyUnVuTG9vcDsKIAogY2xhc3MgV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwg
OiBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbD4sIHB1
YmxpYyBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tl
dENoYW5uZWw+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBXZWJTb2NrZXRD
aGFubmVsQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwm
IHVybCwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICB7CkBAIC03Nyw3ICs3OCw4IEBAIHBy
b3RlY3RlZDoKIHByaXZhdGU6CiAgICAgLy8gR2VuZXJhdGVkIGJ5IHRoZSBicmlkZ2UuICBUaGUg
UGVlciBhbmQgaXRzIGJyaWRnZSBzaG91bGQgaGF2ZSBpZGVudGljYWwKICAgICAvLyBsaWZldGlt
ZXMuCi0gICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50LCBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5l
bENsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQZWVyKiBjcmVhdGUo
UmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsQ2xpZW50V3JhcHBlcj4gY2xpZW50V3Jh
cHBlciwgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBLVVJMJiB1cmwsIGNv
bnN0IFN0cmluZyYgcHJvdG9jb2wpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCAyMWUxNGEx
Li40MzViNjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBTaGFyZWRXb3JrZXJQcm94eTsKIAogICAgIC8vIFBsYXRmb3JtLXNw
ZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIHRoZSBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5IHN0YXRp
YyBpbnRlcmZhY2UuCi0gICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgOiBw
dWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0
b3J5IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVmYXVsdFNoYXJlZFdvcmtlclJl
cG9zaXRvcnkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAg
IC8vIEludm9rZWQgb25jZSB0aGUgd29ya2VyIHNjcmlwdCBoYXMgYmVlbiBsb2FkZWQgdG8gZmly
ZSB1cCB0aGUgd29ya2VyIHRocmVhZC4KICAgICAgICAgdm9pZCB3b3JrZXJTY3JpcHRMb2FkZWQo
U2hhcmVkV29ya2VyUHJveHkmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29uc3QgU3RyaW5n
JiB3b3JrZXJTY3JpcHQsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsPik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCmluZGV4IGFlMzcwZTAuLjJlODAyZjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCkBAIC0xNDQsNyArMTQ0LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzQ2xvc2luZygpIHsgcmV0dXJuIG1fY2xv
c2luZzsgfQogCiAgICAgICAgIC8vIEFuIG9ic2VydmVyIGludGVyZmFjZSB0byBiZSBub3RpZmll
ZCB3aGVuIHRoZSB3b3JrZXIgdGhyZWFkIGlzIGdldHRpbmcgc3RvcHBlZC4KLSAgICAgICAgY2xh
c3MgT2JzZXJ2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBPYnNlcnZl
ciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPYnNlcnZlcik7CiAgICAgICAg
IHB1YmxpYzoKICAgICAgICAgICAgIE9ic2VydmVyKFdvcmtlckNvbnRleHQqKTsKICAgICAgICAg
ICAgIHZpcnR1YWwgfk9ic2VydmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggMzM5MzdjZS4uYWI2MTEzYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNDYsNyArNDYsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKICAg
ICBjbGFzcyBXb3JrZXI7CiAKLSAgICBjbGFzcyBXb3JrZXJNZXNzYWdpbmdQcm94eSA6IHB1Ymxp
YyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdv
cmtlckxvYWRlclByb3h5LCBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFdvcmtlck1l
c3NhZ2luZ1Byb3h5IDogcHVibGljIFdvcmtlckNvbnRleHRQcm94eSwgcHVibGljIFdvcmtlck9i
amVjdFByb3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHkgeworICAgICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShXb3JrZXJNZXNzYWdpbmdQcm94eSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyTWVzc2FnaW5nUHJveHkoV29ya2VyKik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCmluZGV4IDgzZjI0M2YuLjdi
MzE0OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcApAQCAtMTA0
LDcgKzEwNCw4IEBAIFN0cmluZyBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpCiAgICAgcmV0
dXJuIFN0cmluZygpOwogfQogCi1jbGFzcyBSdW5Mb29wU2V0dXAgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUnVuTG9vcFNldHVwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSdW5M
b29wU2V0dXApOwogcHVibGljOgogICAgIFJ1bkxvb3BTZXR1cChXb3JrZXJSdW5Mb29wJiBydW5M
b29wKQogICAgICAgICA6IG1fcnVuTG9vcChydW5Mb29wKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclJ1bkxvb3AuaAppbmRleCA5ZDRlZGZkLi4zZmViNGU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclJ1bkxvb3AuaApAQCAtNjUsNyArNjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICAgICAgc3RhdGljIFN0cmluZyBkZWZhdWx0TW9kZSgpOwogCi0gICAgICAgIGNsYXNz
IFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBUYXNrIHsKKyAgICAg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8VGFzaz4g
Y3JlYXRlKFBhc3NPd25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaywgY29u
c3QgU3RyaW5nJiBtb2RlKTsKICAgICAgICAgICAgIH5UYXNrKCkgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggZjYxMTIwZS4uZTFmMWE2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtNjEsNyArNjEsOCBAQCB1bnNpZ25l
ZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkKICAgICByZXR1cm4gbV90aHJlYWRD
b3VudDsKIH0KIAotc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIDogTm9uY29weWFibGUg
eworc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPiBj
cmVhdGUoY29uc3QgS1VSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgY29u
c3QgU3RyaW5nJiBzb3VyY2VDb2RlKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVl
c3QuY3BwCmluZGV4IDQ4YTRmN2YuLmMwNWFiMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBS
ZXF1ZXN0LmNwcApAQCAtNjUsNyArNjUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMg
V1RGOjpSZWZDb3VudGVkTGVha0NvdW50ZXIgeG1sSHR0cFJlcXVlc3RDb3VudGVyKCJYTUxIdHRw
UmVxdWVzdCIpOwogI2VuZGlmCiAKLXN0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEoKTsKICAg
ICBTdHJpbmcgbV9wcm94eUhlYWRlclByZWZpeDsKICAgICBTdHJpbmcgbV9zZWNIZWFkZXJQcmVm
aXg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCmluZGV4IGJjNjgxNWQuLmIxNWQzNTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oCkBAIC00NCw2ICs0NCw3IEBAIGNsYXNz
IFRleHRSZXNvdXJjZURlY29kZXI7CiBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogCiBjbGFzcyBY
TUxIdHRwUmVxdWVzdCA6IHB1YmxpYyBSZWZDb3VudGVkPFhNTEh0dHBSZXF1ZXN0PiwgcHVibGlj
IEV2ZW50VGFyZ2V0LCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFhNTEh0dHBSZXF1ZXN0PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFhNTEh0dHBSZXF1ZXN0KGNv
bnRleHQpKTsgfQogICAgIH5YTUxIdHRwUmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0
aEV4cHJlc3Npb25Ob2RlLmgKaW5kZXggYzA0ZDQ1Yi4uNGI1YmFhOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCkBAIC0zOSw3ICszOSw5IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAgICAgICAgIAotICAgICAgICBzdHJ1
Y3QgRXZhbHVhdGlvbkNvbnRleHQgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgc3RydWN0IEV2
YWx1YXRpb25Db250ZXh0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
ICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBSZWZQdHI8Tm9kZT4gbm9kZTsKICAgICAgICAg
ICAgIHVuc2lnbmVkIGxvbmcgc2l6ZTsKICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcG9zaXRp
b247CkBAIC01Myw3ICs1NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZp
cnR1YWwgflBhcnNlTm9kZSgpIHsgfQogICAgICAgICB9OwogCi0gICAgICAgIGNsYXNzIEV4cHJl
c3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBj
bGFzcyBFeHByZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShFeHByZXNzaW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
ICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBFdmFsdWF0aW9uQ29udGV4dCYgZXZhbHVh
dGlvbkNvbnRleHQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9k
ZVNldC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCmluZGV4IGQ1YzQ3YmUu
LjYxOWQ5MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKQEAgLTM3LDcgKzM3LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKIAotICAgICAgICBj
bGFzcyBOb2RlU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBjbGFzcyBOb2Rl
U2V0IHsKKyAgICAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBOb2RlU2V0KCkgOiBtX2lzU29ydGVkKHRydWUpLCBtX3N1YnRyZWVz
QXJlRGlzam9pbnQoZmFsc2UpIHsgfQogICAgICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNl
ci5oCmluZGV4IDBlZTQ0N2EuLmY0OWI0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oCkBA
IC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFRva2VuKGlu
dCB0LCBFcVRlc3RPcDo6T3Bjb2RlIHYpOiB0eXBlKHQpLCBlcW9wKHYpIHt9CiAgICAgICAgIH07
CiAKLSAgICAgICAgY2xhc3MgUGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
Y2xhc3MgUGFyc2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhcnNlcik7
CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFBhcnNlcigpOwogICAgICAgICAgICAgflBh
cnNlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAppbmRleCA1ZjI0ODJhLi4zNjAw
MTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaApAQCAtMTA1LDcgKzEwNSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHZpcnR1YWwgVmFsdWU6OlR5cGUgcmVz
dWx0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIFZhbHVlOjpOb2RlU2V0VmFsdWU7IH0KICAgICAgICAg
fTsKIAotICAgICAgICBjbGFzcyBQcmVkaWNhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAg
ICAgICBjbGFzcyBQcmVkaWNhdGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJlZGljYXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAg
ICAgICAgICAgIFByZWRpY2F0ZShFeHByZXNzaW9uKik7CiAgICAgICAgICAgICB+UHJlZGljYXRl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmggYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKaW5kZXggZWMwMjJiMy4uYjAzMWJhZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3ht
bC9YUGF0aFN0ZXAuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAgICAgY2xhc3MgUHJlZGljYXRlOwogICAgICAgICAKLSAgICAgICAgY2xhc3MgU3RlcCA6IHB1
YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFN0ZXAg
OiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0
ZXApOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAgICAgICAg
ICAgZW51bSBBeGlzIHsKICAgICAgICAgICAgICAgICBBbmNlc3RvckF4aXMsIEFuY2VzdG9yT3JT
ZWxmQXhpcywgQXR0cmlidXRlQXhpcywKQEAgLTQ5LDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAgICAgICAgIFNlbGZBeGlzCiAgICAgICAgICAgICB9OwogICAgICAgICAg
ICAgCi0gICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
KyAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IHsKKyAgICAgICAgICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgICAgICBlbnVt
IEtpbmQgewogICAgICAgICAgICAgICAgICAgICBUZXh0Tm9kZVRlc3QsIENvbW1lbnROb2RlVGVz
dCwgUHJvY2Vzc2luZ0luc3RydWN0aW9uTm9kZVRlc3QsIEFueU5vZGVUZXN0LCBOYW1lVGVzdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKaW5kZXggZjNhOTMxOC4uNWMwY2E4YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCkBAIC0zNSw2ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIGNsYXNzIENhY2hlZFhTTFN0eWxlU2hlZXQ7CiAKIGNsYXNzIFhTTEltcG9ydFJ1bGUg
OiBwdWJsaWMgU3R5bGVCYXNlLCBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxY
U0xJbXBvcnRSdWxlPiBjcmVhdGUoWFNMU3R5bGVTaGVldCogcGFyZW50U2hlZXQsIGNvbnN0IFN0
cmluZyYgaHJlZikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRjODk1NTguLjg4ZTA1ZDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEtMjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVmYWN0b3Jpbmcgb2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAg
ICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0
dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRp
b24gcmVwbGFjZXMgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhl
c2UgaW5oZXJpdHMgd2l0aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVu
dGF0aW9uIGF0IHRoZSBuZWNlc3NhcnkgcGxhY2VzLgorCiAyMDExLTAxLTE3ICBEYW4gQmVybnN0
ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgTWFyayBS
b3dlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3Qu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKaW5kZXggNzY5ZTgz
Zi4uMzk0ZmY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCkBA
IC0zOSw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogLy8gQm91bmRPYmplY3QgaXMgYSBo
ZWxwZXIgY2xhc3MgdGhhdCBsZXRzIHlvdSBtYXAgSmF2YVNjcmlwdCBtZXRob2QgY2FsbHMKIC8v
IGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMuIEl0IHNob3VsZCBiZSBkZXN0cm95ZWQgb25j
ZSBKUyBvYmplY3QgaXMKIC8vIGJ1aWx0LgotY2xhc3MgQm91bmRPYmplY3QgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQm91bmRPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEJvdW5kT2JqZWN0KTsKIHB1YmxpYzoKICAgICBCb3VuZE9iamVjdCh2ODo6SGFuZGxlPHY4OjpD
b250ZXh0PiBjb250ZXh0LCB2b2lkKiB2OFRoaXMsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpOwog
ICAgIHZpcnR1YWwgfkJvdW5kT2JqZWN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5jcHAKaW5kZXggMDg2MGNiMS4uYjc2YmNmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFn
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmNwcApAQCAtNTUsNyArNTUsOCBAQCBib29sIERlYnVnZ2VyQWdlbnRNYW5hZ2VyOjpzX2V4
cG9zZVY4RGVidWdnZXJQcm90b2NvbCA9IGZhbHNlOwogCiBuYW1lc3BhY2UgewogCi1jbGFzcyBD
YWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGllbnREYXRhLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgQ2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xp
ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbGVySWRXcmFwcGVyKTsKIHB1
YmxpYzoKICAgICBDYWxsZXJJZFdyYXBwZXIoKSA6IG1fY2FsbGVySXNNYW5hbmFnZXIodHJ1ZSks
IG1fY2FsbGVySWQoMCkgeyB9CiAgICAgZXhwbGljaXQgQ2FsbGVySWRXcmFwcGVyKGludCBjYWxs
ZXJJZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdl
bnRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFu
YWdlci5oCmluZGV4IDY2YmQ3MTQuLmEzMjMzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaApAQCAtNjMsNyArNjMsOCBAQCBjbGFz
cyBXZWJWaWV3SW1wbDsKIC8vIHdvdWxkIGV4cGVjdCBzb21lIGFjdGlvbnMgZnJvbSB0aGUgaGFu
ZGxlci4gSWYgdGhlcmUgaXMgbm8gYXBwcm9wcmlhdGUKIC8vIGRlYnVnZ2VyIGFnZW50IHRvIGhh
bmRsZSBzdWNoIG1lc3NhZ2VzIHRoZSBtYW5hZ2VyIHdpbGwgcGVyZm9ybSB0aGUgYWN0aW9uCiAv
LyBpdHNlbGYsIG90aGVyd2lzZSB2OCBtYXkgaGFuZyB3YWl0aW5nIGZvciB0aGUgYWN0aW9uLgot
Y2xhc3MgRGVidWdnZXJBZ2VudE1hbmFnZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RGVidWdnZXJBZ2VudE1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlYnVnZ2Vy
QWdlbnRNYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0F0dGFjaChEZWJ1
Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CiAgICAgc3RhdGljIHZvaWQgZGVidWdEZXRh
Y2goRGVidWdnZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAppbmRl
eCBmYzIxZjNlLi4yODY3OTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaApAQCAtNDQsOCArNDQsOCBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ7CiBjbGFz
cyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbDsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRJbXBsIDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgIHsKK2NsYXNz
IEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JG
cm9udGVuZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRJbXBsKTsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwo
V2ViQ29yZTo6UGFnZSosIFdlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQqLCBXZWJEZXZUb29sc0Zy
b250ZW5kSW1wbCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9u
dGVuZEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRl
bmRJbXBsLmgKaW5kZXggODY2YTFjYi4uZGM3ZDJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCkBAIC01NSw4ICs1NSw4
IEBAIHN0cnVjdCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiB1c2luZyBXVEY6OlN0cmluZzsK
IAotY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZU
b29sc0Zyb250ZW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6
OldlYkRldlRvb2xzRnJvbnRlbmQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkRldlRv
b2xzRnJvbnRlbmRJbXBsKTsKIHB1YmxpYzoKICAgICBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCgK
ICAgICAgICAgV2ViS2l0OjpXZWJWaWV3SW1wbCogd2ViVmlld0ltcGwsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBhMTNlZWMwLi40ZDE5MDUzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTI4NCw3
ICsyODQsOCBAQCBXZWJQbHVnaW5Db250YWluZXJJbXBsKiBXZWJGcmFtZUltcGw6OnBsdWdpbkNv
bnRhaW5lckZyb21GcmFtZShGcmFtZSogZnJhbWUpCiAKIC8vIFNpbXBsZSBjbGFzcyB0byBvdmVy
cmlkZSBzb21lIG9mIFByaW50Q29udGV4dCBiZWhhdmlvci4gU29tZSBvZiB0aGUgbWV0aG9kcwog
Ly8gbWFkZSB2aXJ0dWFsIHNvIHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IENocm9tZVBs
dWdpblByaW50Q29udGV4dC4KLWNsYXNzIENocm9tZVByaW50Q29udGV4dCA6IHB1YmxpYyBQcmlu
dENvbnRleHQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDaHJvbWVQcmludENvbnRleHQg
OiBwdWJsaWMgUHJpbnRDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHJvbWVQ
cmludENvbnRleHQpOwogcHVibGljOgogICAgIENocm9tZVByaW50Q29udGV4dChGcmFtZSogZnJh
bWUpCiAgICAgICAgIDogUHJpbnRDb250ZXh0KGZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCmluZGV4IGI4ZWY3YmEuLjQxYTk1MmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKQEAgLTU2LDYg
KzU2LDcgQEAgc3RydWN0IFdlYlJlY3Q7CiBjbGFzcyBXZWJQb3B1cE1lbnVJbXBsIDogcHVibGlj
IFdlYlBvcHVwTWVudSwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgV2ViQ29yZTo6
RnJhbWVsZXNzU2Nyb2xsVmlld0NsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJs
aWMgUmVmQ291bnRlZDxXZWJQb3B1cE1lbnVJbXBsPiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgLy8gV2ViV2lkZ2V0CiAgICAgdmlydHVhbCB2b2lkIGNsb3Nl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyRWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKaW5kZXggNGJiYWUyNS4uNjdjNDYwOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlckVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1
ZGUgIkhUTUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNz
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlcigpOwogICAgIHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCBkNGJiZWEyLi4zZmI4YjE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVu
dC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CiAgICAgdmly
dHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXRkb3dubG9hZC5jcHAKaW5kZXggNjBiOGU2ZC4uYTc4OTBjMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCkBAIC01Nyw3ICs1Nyw4IEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogICogb3V0IHdoYXQgaXMgdG8gYmUgZG93bmxvYWRl
ZCwgYW5kIGRvIGl0IGl0c2VsZi4KICAqLwogCi1jbGFzcyBEb3dubG9hZENsaWVudCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKK2NsYXNzIERvd25s
b2FkQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShEb3dubG9hZENsaWVudCk7CiAgICAgcHVibGljOgogICAgICAgICBEb3dubG9h
ZENsaWVudChXZWJLaXREb3dubG9hZCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCmlu
ZGV4IGY3ODRhZGUuLjRmMmM1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdp
bnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oCkBAIC0z
MTMsNyArMzEzLDggQEAgcHJpdmF0ZToKICAgICBib29sIGRlbWFyc2hhbFZhbHVlRnJvbUFycmF5
KEpTQzo6RXhlY1N0YXRlKiwgTlNBcnJheSAqYXJyYXksIE5TVUludGVnZXImIGluZGV4LCBKU0M6
OkpTVmFsdWUmIHJlc3VsdCk7CiAgICAgdm9pZCBkZW1hcnNoYWxWYWx1ZXMoSlNDOjpFeGVjU3Rh
dGUqLCBkYXRhX3QgdmFsdWVzRGF0YSwgbWFjaF9tc2dfdHlwZV9udW1iZXJfdCB2YWx1ZXNMZW5n
dGgsIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXImIHJlc3VsdCk7CiAKLSAgICBjbGFzcyBMb2Nh
bE9iamVjdE1hcCA6IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMb2NhbE9iamVjdE1hcCB7Cisg
ICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsT2JqZWN0TWFwKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIExvY2FsT2JqZWN0TWFwKCk7CiAgICAgICAgIH5Mb2NhbE9iamVjdE1hcCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJD
bGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNs
aWVudC5tbQppbmRleCAyOTEzNzM5Li42NWFiYTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQpAQCAtNTIsNyArNTIs
OCBAQCBXZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQ6On5XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQo
KQogewogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNo
VG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudCogY2xpZW50LCBTZWN1cml0eU9y
aWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NPTUVu
dW1WYXJpYW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCmluZGV4IGE5
M2EzYzIuLjY3MjUxMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NPTUVudW1WYXJp
YW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaApAQCAtMjksMTIg
KzI5LDEyIEBACiAjZGVmaW5lIE5PTUlOTUFYCiAjaW5jbHVkZSA8dW5rbnduLmg+CiAKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogI2luY2x1ZGUgIkNPTVZhcmlhbnRTZXR0ZXIuaCIK
IAogdGVtcGxhdGU8dHlwZW5hbWUgQ29udGFpbmVyVHlwZT4KLWNsYXNzIENPTUVudW1WYXJpYW50
IDogcHVibGljIElFbnVtVkFSSUFOVCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENPTUVu
dW1WYXJpYW50IDogcHVibGljIElFbnVtVkFSSUFOVCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ09NRW51bVZhcmlhbnQpOwogcHVibGljOgogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCog
YWRvcHQoQ29udGFpbmVyVHlwZSYpOwogICAgIHN0YXRpYyBDT01FbnVtVmFyaWFudCogY3JlYXRl
SW5zdGFuY2UoY29uc3QgQ29udGFpbmVyVHlwZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW4vQ09NUHJvcGVydHlCYWcuaCBiL1NvdXJjZS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFn
LmgKaW5kZXggNjEwYzM2Ny4uNjIwNDU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
Q09NUHJvcGVydHlCYWcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJhZy5o
CkBAIC0zNSw3ICszNSw4IEBACiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIg0KIA0KIHRl
bXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZSwgdHlwZW5hbWUgS2V5VHlwZSA9IHR5cGVuYW1lIFdU
Rjo6U3RyaW5nLCB0eXBlbmFtZSBIYXNoVHlwZSA9IHR5cGVuYW1lIFdURjo6U3RyaW5nSGFzaD4N
Ci1jbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBJUHJv
cGVydHlCYWcyLCBOb25jb3B5YWJsZSB7DQorY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMg
SVByb3BlcnR5QmFnLCBwdWJsaWMgSVByb3BlcnR5QmFnMiB7DQorICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENPTVByb3BlcnR5QmFnKTsNCiBwdWJsaWM6DQogICAgIHR5cGVkZWYgSGFzaE1hcDxL
ZXlUeXBlLCBWYWx1ZVR5cGUsIEhhc2hUeXBlPiBIYXNoTWFwVHlwZTsNCiANCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmggYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggNmI1NmFiNS4uYTY1
NTI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIu
aApAQCAtMTAyLDcgKzEwMiw4IEBAIHByaXZhdGU6CiAgICAgaW50IG1fZHJhZ1N0YXJ0T2Zmc2V0
OwogfTsKIAotY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlh
UGxheWVyUHJpdmF0ZUZ1bGxzY3JlZW5DbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRl
RnVsbHNjcmVlbkNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZp
ZGVvQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigp
OwogICAgIHZpcnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCmluZGV4IGJkY2I1NDkuLmUyYjgxZTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcApAQCAtNTIsNyArNTIsOCBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgaXNFcXVhbChMUENXU1RSIHMxLCBMUENXU1RSIHMyKQogICAgIHJl
dHVybiAhd2NzY21wKHMxLCBzMik7CiB9CiAKLWNsYXNzIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5
QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERh
dGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZyB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcpOwogcHVibGljOgog
ICAgIHN0YXRpYyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyogY3JlYXRlSW5zdGFuY2UoY29u
c3QgRGF0YWJhc2VEZXRhaWxzJik7CiAKQEAgLTMyOCw3ICszMjksOCBAQCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFdlYkRhdGFiYXNlTWFuYWdlcjo6ZGVsZXRlRGF0YWJhc2UoCiAgICAgcmV0
dXJuIFNfT0s7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoRGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlz
cGF0Y2hUb01haW5UaHJlYWQoV2ViRGF0YWJhc2VNYW5hZ2VyKiBkYXRhYmFzZU1hbmFnZXIsIFNl
Y3VyaXR5T3JpZ2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vV2ViSW5zcGVjdG9yLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaAppbmRl
eCAwNTNhNTkzLi5lMmQyZmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNw
ZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJJbnNwZWN0b3IuaApAQCAtMzQsNyAr
MzQsOCBAQAogCiBjbGFzcyBXZWJWaWV3OwogCi1jbGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMg
SVdlYkluc3BlY3RvciwgcHVibGljIElXZWJJbnNwZWN0b3JQcml2YXRlLCBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGljIElXZWJJbnNwZWN0b3IsIHB1Ymxp
YyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViSW5z
cGVjdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViSW5zcGVjdG9yKiBjcmVhdGVJbnN0YW5j
ZShXZWJWaWV3Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkxvY2FsaXph
YmxlU3RyaW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3Mu
Y3BwCmluZGV4IGRhNmIyMjEuLmU5Yjk5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViTG9j
YWxpemFibGVTdHJpbmdzLmNwcApAQCAtNzIsNyArNzIsOCBAQCBzdGF0aWMgTG9jYWxpemVkU3Ry
aW5nTWFwIGZyYW1ld29ya0xvY1N0cmluZ3MoKQogICAgIHJldHVybiBtYXA7CiB9CiAKLWNsYXNz
IExvY2FsaXplZFN0cmluZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbGl6ZWRT
dHJpbmcgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsaXplZFN0cmluZyk7CiBwdWJs
aWM6CiAgICAgTG9jYWxpemVkU3RyaW5nKENGU3RyaW5nUmVmIHN0cmluZykKICAgICAgICAgOiBt
X2NmU3RyaW5nKHN0cmluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcmlw
dFdvcmxkLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCmluZGV4IGYwODhh
NzIuLjAxNTExZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxk
LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaApAQCAtMzEsNyArMzEs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwogfQog
Ci1jbGFzcyBXZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJT
Y3JpcHRXb3JsZCB7CitjbGFzcyBXZWJTY3JpcHRXb3JsZCA6IHB1YmxpYyBJV2ViU2NyaXB0V29y
bGQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNjcmlwdFdvcmxkKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgV2ViU2NyaXB0V29ybGQqIHN0YW5kYXJkV29ybGQoKTsKICAgICBzdGF0aWMg
Q09NUHRyPFdlYlNjcmlwdFdvcmxkPiBjcmVhdGVJbnN0YW5jZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaCBiL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKaW5kZXggYTJkNmQ1Ni4uNmUzNzQ3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiB9CiAKLWNs
YXNzIFdlYlNlcmlhbGl6ZWRKU1ZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdl
YlNlcmlhbGl6ZWRKU1ZhbHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7
CitjbGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFs
dWUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShXZWJTZXJpYWxpemVkSlNWYWx1ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENP
TVB0cjxXZWJTZXJpYWxpemVkSlNWYWx1ZT4gY3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaAppbmRleCBlOGY2YjY3Li40Mjg1
NGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRl
cm4uaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaApA
QCAtMzIsNyArMzIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVXNlckNvbnRl
bnRVUkxQYXR0ZXJuOwogfQogCi1jbGFzcyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJs
aWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIHsKK2NsYXNz
IFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1YmxpYyBJV2ViVXNlckNvbnRlbnRVUkxQYXR0
ZXJuIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4p
OwogcHVibGljOgogICAgIHN0YXRpYyBDT01QdHI8V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBj
cmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZGM2ZGM1Yi4uNWE3ZThhYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAxLTIwICBab2x0YW4gSG9ydmF0aCAgPHpvbHRh
bkB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAg
ICAgICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3Rz
IGdldHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLgorICAgICAgICBUaGUgbW9kaWZp
Y2F0aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMgYW5k
IHRoZXNlIGluaGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAgZXF1aXZhbGVudCBtYWNybyBpbXBs
ZW1lbnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4KKwogMjAxMS0wMS0xOSAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIFdlYktp
dDIgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCmluZGV4IDA4MjViZjYuLmVjNzUyM2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCkBAIC0zOSw3ICszOSw4IEBACiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi1jbGFzcyBNb2R1bGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
TW9kdWxlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNb2R1bGUpOwogcHVibGljOgogICAg
IE1vZHVsZShjb25zdCBTdHJpbmcmIHBhdGgpOwogICAgIH5Nb2R1bGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oIGIvU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKaW5kZXggMDVkYzBkZC4uOTg1NDEzMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKKysrIGIvU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmgKQEAgLTUyLDcgKzUyLDggQEAgcHVibGljOgog
ICAgICAgICBSZWFkV3JpdGUKICAgICB9OwogCi0gICAgY2xhc3MgSGFuZGxlIDogTm9uY29weWFi
bGUgeworICAgIGNsYXNzIEhhbmRsZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhh
bmRsZSk7CiAgICAgcHVibGljOgogICAgICAgICBIYW5kbGUoKTsKICAgICAgICAgfkhhbmRsZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaAppbmRleCBk
N2Y1OTJlLi42YzIyMWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpblByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdp
blByb2Nlc3MuaApAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBXZWJQcm9jZXNzQ29ubmVjdGlvbjsK
IHN0cnVjdCBQbHVnaW5Qcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOwogICAgICAgICAKIGNsYXNz
IFBsdWdpblByb2Nlc3MgOiBDaGlsZFByb2Nlc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBsdWdpblByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9jZXNzJiBzaGFy
ZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCmluZGV4IDc4ZmUxZjQuLjhj
NWU4ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKQEAgLTI3LDEzICsyNywx
MSBAQAogI2RlZmluZSBDaGlsZFByb2Nlc3NfaAogCiAjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgQ2hpbGRQcm9jZXNzIDogcHJvdGVjdGVkIENvcmVJUEM6OkNvbm5lY3Rpb246OkNsaWVudCB7
CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hpbGRQcm9jZXNzKTsKLQogcHJvdGVjdGVkOgog
ICAgIENoaWxkUHJvY2VzcygpOwogICAgIH5DaGlsZFByb2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCmluZGV4IDkzMjU0ZDkuLmM1MGQzYmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaApAQCAtNjksOCArNjksOCBAQCBzdHJ1
Y3QgV2ViTWVtb3J5U3RhdGlzdGljcwogICAgIFZlY3RvcjxzaXplX3Q+IHZhbHVlczsKIH07CiAg
ICAgCi1jbGFzcyBXZWJNZW1vcnlTYW1wbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKLQorY2xh
c3MgV2ViTWVtb3J5U2FtcGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViTWVtb3J5
U2FtcGxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYk1lbW9yeVNhbXBsZXIqIHNoYXJlZCgp
OwogICAgIHZvaWQgc3RhcnQoY29uc3QgZG91YmxlIGludGVydmFsPTApOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgK
aW5kZXggYzI2NWYyZTIuLmExNTBkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaApAQCAtNDEsNyArNDEsOCBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFBsdWdpblByb2Nlc3NQcm94eTsKIGNsYXNzIFdl
YlByb2Nlc3NQcm94eTsKIAotY2xhc3MgUGx1Z2luUHJvY2Vzc01hbmFnZXIgOiBOb25jb3B5YWJs
ZSAgeworY2xhc3MgUGx1Z2luUHJvY2Vzc01hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFBsdWdpblByb2Nlc3NNYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJv
Y2Vzc01hbmFnZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCmluZGV4IDQ4NWY4
OTIuLjFlMGMyNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5z
L3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yNTMsNyArMjUzLDggQEAg
VmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQogICAg
IHJldHVybiBkaXJlY3RvcmllczsKIH0KIAotY2xhc3MgUGF0aFdhbGtlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBQYXRoV2Fsa2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
YXRoV2Fsa2VyKTsKIHB1YmxpYzoKICAgICBQYXRoV2Fsa2VyKGNvbnN0IFN0cmluZyYgZGlyZWN0
b3J5KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVk
TGlua1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92
aWRlci5oCmluZGV4IDAxNTUxNWMuLmE0MjhkNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaApAQCAtMzEsMTMgKzMxLDEzIEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9MaW5rSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkNvbnRleHQ7CiAgICAgCi1jbGFzcyBWaXNpdGVkTGlu
a1Byb3ZpZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgVmlzaXRlZExpbmtQcm92aWRlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmlzaXRlZExpbmtQcm92aWRlcik7CiBwdWJsaWM6CiAg
ICAgZXhwbGljaXQgVmlzaXRlZExpbmtQcm92aWRlcihXZWJDb250ZXh0Kik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oCmluZGV4IDIzMTllYzcu
LmJhY2RkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93
bmxvYWQuaApAQCAtNjMsNyArNjMsNiBAQCBjbGFzcyBXZWJQYWdlOwogCiBjbGFzcyBEb3dubG9h
ZCA6IHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyPERvd25sb2FkPiB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRG93bmxvYWQpOwotCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8RG93bmxvYWQ+IGNyZWF0ZSh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmKTsKICAgICB+RG93bmxvYWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCmluZGV4IDY3
MzdiZDQuLjM1MTgyMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaApAQCAtNDAsNyArNDAsOCBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIGNsYXNzIE5QUnVudGltZU9iamVjdE1hcDsKICAgICAKIC8vIE5QSlNPYmpl
Y3QgaXMgYW4gTlBPYmplY3QgdGhhdCB3cmFwcyBhIEpTT2JqZWN0LgotY2xhc3MgTlBKU09iamVj
dCA6IHB1YmxpYyBOUE9iamVjdCwgTm9uY29weWFibGUgeworY2xhc3MgTlBKU09iamVjdCA6IHB1
YmxpYyBOUE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTlBKU09iamVjdCk7CiBw
dWJsaWM6CiAgICAgc3RhdGljIE5QSlNPYmplY3QqIGNyZWF0ZShOUFJ1bnRpbWVPYmplY3RNYXAq
IG9iamVjdE1hcCwgSlNDOjpKU09iamVjdCoganNPYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5h
Z2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb25NYW5hZ2VyLmgKaW5kZXggZDdiYTg1My4uOGI2MGYxNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzQ29ubmVjdGlvbk1hbmFnZXIuaApAQCAtMzgsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViS2l0
IHsKIAogY2xhc3MgUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb247CiAgICAgICAgIAotY2xhc3MgUGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyIDogTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbk1hbmFnZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDQ5MmM0ZC4uZWVhZDM3NCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDExLTAxLTIwICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5n
IG9mIHRoZSBjdXN0b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAgICAgSW5oZXJpdGluZyBm
cm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdldHRpbmcgbGFyZ2VyIChi
dWcgIzMzODk2LCAjNDY1ODkpLgorICAgICAgICBUaGUgbW9kaWZpY2F0aW9uIHJlcGxhY2VzIE5v
bmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRoZXNlIGluaGVyaXRzIHdp
dGggdGhlaXIKKyAgICAgICAgZXF1aXZhbGVudCBtYWNybyBpbXBsZW1lbnRhdGlvbiBhdCB0aGUg
bmVjZXNzYXJ5IHBsYWNlcy4KIDIwMTEtMDEtMTkgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYnVpbGQgZml4IC0gSSBwdWxsZWQgdGhp
cyBwYXRjaCBpbiB0byBmaXggYW4gaXNzdWUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0NwcEJvdW5kQ2xhc3MuaAppbmRleCA2Y2I2MzhlLi42MTUxYTljIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCkBAIC01OCw3ICs1OCw4IEBA
IHR5cGVkZWYgVmVjdG9yPENwcFZhcmlhbnQ+IENwcEFyZ3VtZW50TGlzdDsKIAogLy8gQ3BwQm91
bmRDbGFzcyBsZXRzIHlvdSBtYXAgSmF2YXNjcmlwdCBtZXRob2QgY2FsbHMgYW5kIHByb3BlcnR5
IGFjY2Vzc2VzCiAvLyBkaXJlY3RseSB0byBDKysgbWV0aG9kIGNhbGxzIGFuZCBDcHBWYXJpYW50
KiB2YXJpYWJsZSBhY2Nlc3MuCi1jbGFzcyBDcHBCb3VuZENsYXNzIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIENwcEJvdW5kQ2xhc3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENw
cEJvdW5kQ2xhc3MpOwogcHVibGljOgogICAgIGNsYXNzIFByb3BlcnR5Q2FsbGJhY2sgewogICAg
IHB1YmxpYzoKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERl
dlRvb2xzQWdlbnQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xz
QWdlbnQuaAppbmRleCBlMTQ3OGQwLi42NjU0MzVjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCkBAIC00OSw4ICs0OSw4IEBAIHN0cnVj
dCBXZWJEZXZUb29sc01lc3NhZ2VEYXRhOwogCiBjbGFzcyBEUlREZXZUb29sc0NsaWVudDsKIAot
Y2xhc3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRD
bGllbnQKLSAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRFJURGV2VG9vbHNBZ2VudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRDbGll
bnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQWdlbnQpOwogcHVibGlj
OgogICAgIERSVERldlRvb2xzQWdlbnQoKTsKICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0FnZW50
KCkge30KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRv
b2xzQ2xpZW50LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0Ns
aWVudC5oCmluZGV4IDljYTE0MDIuLjBjYmE1MWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaApAQCAtNDgsOCArNDgsOCBAQCBjbGFz
cyBXZWJWaWV3OwogCiBjbGFzcyBEUlREZXZUb29sc0FnZW50OwogCi1jbGFzcyBEUlREZXZUb29s
c0NsaWVudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQKLSAgICAg
ICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERSVERldlRv
b2xzQ2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNDbGllbnQpOwogcHVibGljOgogICAg
IERSVERldlRvb2xzQ2xpZW50KERSVERldlRvb2xzQWdlbnQqLCBXZWJLaXQ6OldlYlZpZXcqKTsK
ICAgICB2aXJ0dWFsIH5EUlREZXZUb29sc0NsaWVudCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmggYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaAppbmRleCBi
NjcxNDg5Li44NTAyYTk2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaApAQCAtMTExLDcgKzExMSw4IEBAIHB1
YmxpYzoKIAogLy8gVGVzdCBzaGVsbCdzIE5hdmlnYXRpb25Db250cm9sbGVyLiBUaGUgZ29hbCBp
cyB0byBiZSBhcyBjbG9zZSB0byB0aGUgQ2hyb21lCiAvLyB2ZXJzaW9uIGFzIHBvc3NpYmxlLgot
Y2xhc3MgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVGVzdE5hdmlnYXRpb25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
ZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIFRlc3ROYXZpZ2F0aW9uQ29u
dHJvbGxlcihOYXZpZ2F0aW9uSG9zdCopOwogICAgIH5UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIo
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29u
dHJvbERSVFdpbi5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250
cm9sRFJUV2luLmgKaW5kZXggNGUyMjQ2MS4uZWRlMTQ1OCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJUV2luLmgKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250cm9sRFJUV2luLmgKQEAgLTQ2LDcg
KzQ2LDggQEAKIC8vIFNraWEgZm9yd2FyZCBkZWNsYXJhdGlvbnMKIHN0cnVjdCBTa0lSZWN0Owog
Ci1jbGFzcyBXZWJUaGVtZUNvbnRyb2xEUlRXaW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgV2ViVGhlbWVDb250cm9sRFJUV2luIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJU
aGVtZUNvbnRyb2xEUlRXaW4pOwogcHVibGljOgogICAgIC8vIFRoaXMgbGlzdCBvZiBzdGF0ZXMg
bW9zdGx5IG1pcnJvcnMgdGhlIGxpc3QgaW4gV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgK
ICAgICAvLyBidXQgaXMgbWFpbnRhaW5lZCBzZXBhcmF0ZWx5IHNpbmNlIHRoYXQgaXNuJ3QgcHVi
bGljIGFuZCBhbHNvIHRvIG1pbmltaXplCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVFdpbi5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRXaW4uaAppbmRleCAyZTE1Y2Y4Li45YjFlODE3IDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2luZURS
VFdpbi5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5l
RFJUV2luLmgKQEAgLTUwLDcgKzUwLDggQEAKICNpbmNsdWRlICJ3aW4vV2ViVGhlbWVFbmdpbmUu
aCIKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAotY2xhc3MgV2ViVGhlbWVFbmdpbmVE
UlRXaW4gOiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVuZ2luZSwgcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFdlYlRoZW1lRW5naW5lRFJUV2luIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVF
bmdpbmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRoZW1lRW5naW5lRFJUV2luKTsK
IHB1YmxpYzoKICAgICBXZWJUaGVtZUVuZ2luZURSVFdpbigpIHt9CiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRvdy5oIGIvVG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0
V2luZG93LmgKaW5kZXggYTI3MzRlZC4uMmFhYTg1ZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
QVBJVGVzdC9Ib3N0V2luZG93LmgKKysrIGIvVG9vbHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93
LmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCi1jbGFz
cyBIb3N0V2luZG93IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhvc3RXaW5kb3cgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhvc3RXaW5kb3cpOwogcHVibGljOgogICAgIEhvc3RX
aW5kb3coKTsKICAgICB+SG9zdFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0QVBJ
VGVzdC9UZXN0c0NvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250cm9s
bGVyLmgKaW5kZXggMTFiNDU3ZC4uYmRjYzQ1NSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0QVBJ
VGVzdC9UZXN0c0NvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29u
dHJvbGxlci5oCkBAIC0yOCwxMyArMjgsMTMgQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaW5j
bHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KLSNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdEFQSVRlc3QgewogCiBjbGFzcyBU
ZXN0OwogCi1jbGFzcyBUZXN0c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVGVzdHNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXN0c0NvbnRy
b2xsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXN0c0NvbnRyb2xsZXImIHNoYXJlZCgpOwog
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmggYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKaW5kZXggZmVjMWY3YS4uZWZj
NjYzNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5o
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaApAQCAtMzEsNyAr
MzEsOCBAQAogCiBuYW1lc3BhY2UgV1RSIHsKIAotY2xhc3MgVGVzdEludm9jYXRpb24gOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgVGVzdEludm9jYXRpb24geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRlc3RJbnZvY2F0aW9uKTsKIHB1YmxpYzoKICAgICBUZXN0SW52b2NhdGlvbihj
b25zdCBjaGFyKik7CiAgICAgflRlc3RJbnZvY2F0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79571</attachid>
            <date>2011-01-20 02:59:35 -0800</date>
            <delta_ts>2011-01-20 03:24:09 -0800</delta_ts>
            <desc>proposed patch (review candidate)</desc>
            <filename>fab7.patch</filename>
            <type>text/plain</type>
            <size>296837</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKaW5kZXggNTA2MjA5My4uMDk3MTcw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKQEAgLTM0LDcgKzM0LDkg
QEAKICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ1B0ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAKLXN0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
U3RhdGljVmFsdWVFbnRyeSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CiAgICAgU3RhdGljVmFsdWVFbnRyeShKU09iamVjdEdldFByb3BlcnR5Q2FsbGJhY2sgX2dldFBy
b3BlcnR5LCBKU09iamVjdFNldFByb3BlcnR5Q2FsbGJhY2sgX3NldFByb3BlcnR5LCBKU1Byb3Bl
cnR5QXR0cmlidXRlcyBfYXR0cmlidXRlcykKICAgICAgICAgOiBnZXRQcm9wZXJ0eShfZ2V0UHJv
cGVydHkpLCBzZXRQcm9wZXJ0eShfc2V0UHJvcGVydHkpLCBhdHRyaWJ1dGVzKF9hdHRyaWJ1dGVz
KQogICAgIHsKQEAgLTQ1LDcgKzQ3LDkgQEAgc3RydWN0IFN0YXRpY1ZhbHVlRW50cnkgOiBGYXN0
QWxsb2NCYXNlIHsKICAgICBKU1Byb3BlcnR5QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwogfTsKIAot
c3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0
aWNGdW5jdGlvbkVudHJ5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBf
Y2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAg
ICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5jdGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0
ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8g
QW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMgY3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwg
c28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29udGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBn
cm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xkcyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFj
cm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoT3BhcXVl
SlNDbGFzcyopOwogICAgIH5PcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4Li5kNmRlNDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtNDgwLDcgKzQ4
MCw5IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVm
IGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
c3RydWN0IE9wYXF1ZUpTUHJvcGVydHlOYW1lQXJyYXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEo
Z2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGU1OGU4YzBkLi5iYjEzMmJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wMS0yMCAg
Wm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFs
bG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNl
IGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5
KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlvbiByZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFz
dEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVzZSBpbmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAg
IGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMu
CisKKyAgICAgICAgKiB3dGYvRmFzdEFsbG9jQmFzZS5oOiBUdXJuIEZhc3RBbGxvY0Jhc2UncyBp
bXBsZW1lbnRhdGlvbiBpbnRvIGEgbWFjcm8uCisKIDIwMTEtMDEtMjAgIE1hcmsgUm93ZSAgPG1y
b3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKaW5kZXggZTM4
YjlkNC4uYzVhN2Q1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9MaW5rQnVmZmVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhlIGFk
ZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZlZC4K
IC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0Lgog
Ly8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlua0J1
ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlwZWRl
ZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1i
bGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIExh
YmVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdl
Y2E3MmEuLjFjZDA4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKQEAgLTI0Miw3ICsyNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9CiAjZW5kaWYK
IAotICAgIGNsYXNzIENvZGVCbG9jayA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBDb2RlQmxvY2sgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAg
ZnJpZW5kIGNsYXNzIEpJVDsKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3Jp
cHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCos
IFBhc3NSZWZQdHI8U291cmNlUHJvdmlkZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJv
bFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9vbCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1Nzks
OSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBTeW1ib2xUYWJsZSogbV9zeW1ib2xUYWJs
ZTsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
c3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFZlY3RvcjxIYW5kbGVySW5mbz4gbV9leGNlcHRp
b25IYW5kbGVyczsKIAogICAgICAgICAgICAgLy8gUmFyZSBDb25zdGFudHMKQEAgLTU5OSw2ICs2
MDIsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIFZlY3RvcjxDYWxsUmV0dXJuT2Zm
c2V0VG9CeXRlY29kZU9mZnNldD4gbV9jYWxsUmV0dXJuSW5kZXhWZWN0b3I7CiAjZW5kaWYKICAg
ICAgICAgfTsKKyNpZiBQTEFURk9STShXSU4pCisgICAgICAgIGZyaWVuZCB2b2lkIFdURjo6ZGVs
ZXRlT3duZWRQdHI8UmFyZURhdGE+KFJhcmVEYXRhKik7CisjZW5kaWYKICAgICAgICAgT3duUHRy
PFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0luc3RydWN0aW9uLmgKaW5kZXggYzY0NjhhNS4uZjA3N2NiZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHN0
cnVjdCBQb2x5bW9ycGhpY1N0dWJJbmZvIHsKICAgICAgICAgICAgIGJvb2wgaXNDaGFpbjsKICAg
ICAgICAgICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdFN0dWJSb3V0aW5lVHlwZSBz
dHViUm91dGluZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9T
YW1wbGluZ1Rvb2wuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rv
b2wuaAppbmRleCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1NhbXBsaW5nVG9vbC5oCkBAIC0xNDIsNyArMTQyLDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBIb3N0Q2FsbFJlY29yZDsKICAgICAgICAgCiAjaWYg
RU5BQkxFKE9QQ09ERV9TQU1QTElORykKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAg
ICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKiBzYW1wbGluZ1Rvb2wpCiAgICAgICAgICAg
ICAgICAgOiBtX3NhbXBsaW5nVG9vbChzYW1wbGluZ1Rvb2wpCkBAIC0xNzIsNyArMTczLDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAjZWxzZQotICAgICAg
ICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
Q2FsbFJlY29yZCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3Jk
KTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wq
KQogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDhiMGNjNDAuLmRlMTZmOGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBE
ZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVj
bGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4u
NzhkNDlkMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9S
ZWdpc3RlcklELmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdp
c3RlcklELmgKQEAgLTMwLDEyICszMCwxMiBAQAogI2RlZmluZSBSZWdpc3RlcklEX2gKIAogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNs
YXNzIFJlZ2lzdGVySUQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVy
SUQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlcklEKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFJlZ2lzdGVySUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50KDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBk
ZmJlNjU4Li43NDAwMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvQ2FjaGVkQ2FsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgQ2FjaGVkQ2FsbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNGdW5jdGlvbiogZnVu
Y3Rpb24sIGludCBhcmdDb3VudCkKICAgICAgICAgICAgIDogbV92YWxpZChmYWxzZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3
OTBjZi4uNzUzZDkwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJfaAog
CiAjaW5jbHVkZSAiQXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNs
dWRlICJKU0NlbGwuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmplY3Qu
aCIKQEAgLTY1LDcgKzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4TGFy
Z2VUaHJlYWRSZWVudHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRoID0g
MzIgfTsKIAotICAgIGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgIGNsYXNzIEludGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRD
YWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9SZWdpc3Rlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1Jl
Z2lzdGVyLmgKaW5kZXggMzhkMTY0Ny4uMzk0NDY0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUg
IkpTVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKQEAgLTQ3LDcgKzQ2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0eXBlZGVm
IEV4ZWNTdGF0ZSBDYWxsRnJhbWU7CiAKLSAgICBjbGFzcyBSZWdpc3RlciA6IHB1YmxpYyBXVEY6
OkZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFJlZ2lzdGVyIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcigpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKaW5kZXgg
NzVmZDc4NC4uMzQ5OGU5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL1JlZ2lzdGVyRmlsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9SZWdpc3RlckZpbGUuaApAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJGaWxlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQgY2xhc3MgSklU
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRyeSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggZGZkYjIyYy4uZDQxNDVjMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIFJlZ0V4cDsKIAotICAgIGNsYXNzIExleGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMZXhlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKExleGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGljIGJv
b2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlcy5oCmluZGV4IDU0YjcyMzEuLjZlNzNjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L05vZGVzLmgKQEAgLTEzNzYsNyArMTM3Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBQ
YXJhbWV0ZXJOb2RlKiBtX25leHQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBTY29wZU5vZGVEYXRh
IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFNjb3BlTm9kZURhdGEgeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVj
bGFyYXRpb25TdGFja3M6OlZhclN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBlZGVmIERlY2xh
cmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CiAKQEAgLTE0NzIsNiAr
MTQ3NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBGdW5jdGlvblBh
cmFtZXRlcnMgOiBwdWJsaWMgVmVjdG9yPElkZW50aWZpZXI+LCBwdWJsaWMgUmVmQ291bnRlZDxG
dW5jdGlvblBhcmFtZXRlcnM+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+
IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFtZXRlcikgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFtZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IGIyNTdiNjguLjU4Mzk4ZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtNDUsOCArNDUsMTAgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5hRGF0YSA6
IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFyc2VyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CisgICAgICAgIFBhcnNlcigpIHsgfQogICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgUGFyc2Vk
Tm9kZT4KICAgICAgICAgUGFzc1JlZlB0cjxQYXJzZWROb2RlPiBwYXJzZShKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRGVidWdnZXIqLCBFeGVjU3RhdGUqLCBjb25zdCBTb3Vy
Y2VDb2RlJiBzb3VyY2UsIEZ1bmN0aW9uUGFyYW1ldGVycyosIEpTUGFyc2VyU3RyaWN0bmVzcyBz
dHJpY3RuZXNzLCBKU09iamVjdCoqIGV4Y2VwdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi44MmZiODA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oCkBAIC0zNCw3ICszNCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFBhcnNlckFyZW5hRGVsZXRhYmxlOwogICAgIGNsYXNz
IFBhcnNlckFyZW5hUmVmQ291bnRlZDsKIAotICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19J
TkxJTkUgY29uc3QgSWRlbnRpZmllciYgbWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29u
c3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVu
dGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJl
cik7CkBAIC01OSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9p
ZGVudGlmaWVycy5sYXN0KCk7CiAgICAgfQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYXJzZXJBcmVuYSk7CiAgICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgp
OwogICAgICAgICB+UGFyc2VyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3Jl
X2V4ZWMuY3BwCmluZGV4IDc4OWY4MGEuLmI3MDE4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BjcmUvcGNyZV9leGVjLmNwcApAQCAtMTEyLDcgKzExMiw5IEBAIHN0cnVjdCBCcmFja2V0Q2hh
aW5Ob2RlIHsKICAgICBjb25zdCBVQ2hhciogYnJhY2tldFN0YXJ0OwogfTsKIAotc3RydWN0IE1h
dGNoRnJhbWUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBNYXRjaEZyYW1lIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBSZXR1cm5Mb2NhdGlvbiByZXR1cm5M
b2NhdGlvbjsKICAgICBzdHJ1Y3QgTWF0Y2hGcmFtZSogcHJldmlvdXNGcmFtZTsKICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKaW5kZXgg
NzZjMTQ3MC4uYTk4MjdjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2Zp
bGVyL0NhbGxJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVy
L0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRp
Zmllcl9oCiAKICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxs
b2NCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElk
ZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlm
aWVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAg
ICAgICBVU3RyaW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3VybDsKICAgICAgICAgdW5z
aWduZWQgbV9saW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3By
b2ZpbGVyL1Byb2ZpbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmls
ZXIuaAppbmRleCBmOWMyY2NiLi5mODg3NDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvUHJvZmlsZXIuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBVU3RyaW5nOwogICAgIHN0cnVjdCBDYWxsSWRlbnRpZmllcjsgICAgCiAKLSAgICBjbGFz
cyBQcm9maWxlciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQcm9maWxlciB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNlKCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNj
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKQEAgLTI1LDE0ICsy
NSwxNCBAQAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgTWFy
a1N0YWNrOwogCi0gICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWFya2VkQXJndW1lbnRCdWZmZXIpOwogICAgIHByaXZhdGU6CiAgICAg
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDg7CiAgICAgICAgIHR5
cGVkZWYgVmVjdG9yPFJlZ2lzdGVyLCBpbmxpbmVDYXBhY2l0eT4gVmVjdG9yVHlwZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uZmU5MDBh
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcg
KzMzLDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0
aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFu
c2l0aW9uT3B0aW1pemVyLmgKaW5kZXggNzQwODlhNS4uZGIyZDFkNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplci5oCkBAIC0yNywxMiArMjcsMTIgQEAKICNpZm5kZWYgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXJfaAogI2RlZmluZSBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJKU09iamVjdC5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKEpTT2JqZWN0KiBv
YmplY3QpCiAgICAgICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDFlMjJiNmEuLjY1
ODdhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklk
ZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaApAQCAtODQsNyArODQsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNs
YXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
b21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklk
ZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgQ29tbW9uSWRlbnRpZmllcnMoSlNHbG9iYWxEYXRhKik7CiAgICAgICAgIGZyaWVuZCBjbGFz
cyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9IZWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IZWFwLmgKaW5kZXggMjQz
YmJhMy4uM2UxZDg4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuaApAQCAtNDUs
NyArNDUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0gT3BlcmF0aW9uSW5Qcm9ncmVz
cyB7IE5vT3BlcmF0aW9uLCBBbGxvY2F0aW9uLCBDb2xsZWN0aW9uIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGRlc3Ry
b3koKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKaW5kZXggYTIyYjBhYS4uMjRiYzJmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUsNyArNDY1LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJyYXkoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1ZXMpOwogICAgIH0KIAotICAgIGNsYXNz
IER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIER5bmFt
aWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNHbG9iYWxPYmplY3Qq
IGR5bmFtaWNHbG9iYWxPYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0xvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9j
ay5oCmluZGV4IDA1YjM4OGMuLjdiMDdiNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTG9jay5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBK
U0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRpb25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAot
ICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2Nr
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAgICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSop
OwpAQCAtODksNyArOTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhh
dmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgeworICAgICAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFsbExvY2tzKTsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNTdGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBE
cm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09OT2JqZWN0LmNwcAppbmRleCA5ZTYzMDI3Li5kZjRiZTUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcApAQCAtNzAsNyArNzAsOCBAQCBw
cml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1ZSBtX3ZhbHVlOwogfTsKIAotY2xhc3MgU3RyaW5n
aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5naWZpZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lmaWVyKTsKIHB1YmxpYzoKICAgICBTdHJpbmdpZmll
cihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxhY2VyLCBKU1ZhbHVlIHNwYWNlKTsKICAgICB+U3Ry
aW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJj
ODFkNC4uMGQ2ZDk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAg
LTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYyBHZXRGdW5jdGlvbjsKICAgICB0eXBlZGVmIHZvaWQgKCpQdXRGdW5jdGlv
bikoRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgdmFsdWUpOwogCi0g
ICAgY2xhc3MgSGFzaEVudHJ5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhh
c2hFbnRyeSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmluZ0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBh
dHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRyX3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZVN0YWNrTWFya2Vy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaApp
bmRleCBlODBmZTA1Li5iMTg2ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICBjbGFzcyBIZWFwOwogICAgIGNsYXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNz
IE1hY2hpbmVTdGFja01hcmtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFj
aGluZVN0YWNrTWFya2VyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFjaGluZVN0
YWNrTWFya2VyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hY2hpbmVTdGFja01hcmtlcihIZWFw
Kik7CiAgICAgICAgIH5NYWNoaW5lU3RhY2tNYXJrZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXggN2JjY2FkZi4uZjU0Y2ZhNiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgCiAgICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5O
dWxsVmFsdWVzLCBOb051bGxWYWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWFya1N0YWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lk
KiBqc0FycmF5VlB0cikKICAgICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZFNwYWNlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrZWRTcGFjZS5oCmluZGV4IDc4Zjkx
OGMuLjNiMGM1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
cmtlZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3Bh
Y2UuaApAQCAtNjMsNyArNjMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07
CiAKLSAgICBjbGFzcyBNYXJrZWRTcGFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgTWFya2VkU3BhY2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYXJrZWRTcGFj
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBNYXJrZWRTcGFjZShKU0dsb2JhbERhdGEqKTsKICAg
ICAgICAgdm9pZCBkZXN0cm95KFByb3RlY3RDb3VudFNldCYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggNThhYmRlNS4uMTcx
NGJkMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJl
Z0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0g
ICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
IHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIEdsb2JhbCBzZWFyY2ggY2FjaGUg
LyBzZXR0aW5ncwogICAgICAgICBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUoKQogICAgICAgICAg
ICAgOiBsYXN0TnVtU3ViUGF0dGVybnMoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggYzhjYWUyOC4uOTljODRkYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTU4LDcgKzU4LDkgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBtYXRjaChFeGVjU3RhdGUq
KTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVnRXhwT2JqZWN0
RGF0YShOb25OdWxsUGFzc1JlZlB0cjxSZWdFeHA+IHJlZ0V4cCwgZG91YmxlIGxhc3RJbmRleCkK
ICAgICAgICAgICAgICAgICA6IHJlZ0V4cChyZWdFeHApCiAgICAgICAgICAgICAgICAgLCBsYXN0
SW5kZXgobGFzdEluZGV4KQpAQCAtNjgsNyArNzAsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgICAgIFJlZlB0cjxSZWdFeHA+IHJlZ0V4cDsKICAgICAgICAgICAgIGRvdWJsZSBsYXN0SW5k
ZXg7CiAgICAgICAgIH07Ci0KKyNpZiBQTEFURk9STShXSU4pCisgICAgICAgIGZyaWVuZCB2b2lk
IFdURjo6ZGVsZXRlT3duZWRQdHI8UmVnRXhwT2JqZWN0RGF0YT4oUmVnRXhwT2JqZWN0RGF0YSop
OworI2VuZGlmCiAgICAgICAgIE93blB0cjxSZWdFeHBPYmplY3REYXRhPiBkOwogICAgIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAwYjE1YjY3
Li5iMTA0ZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29w
ZUNoYWluLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5o
CkBAIC0yMSw3ICsyMSw3IEBACiAjaWZuZGVmIFNjb3BlQ2hhaW5faAogI2RlZmluZSBTY29wZUNo
YWluX2gKIAotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdEFs
bG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU2NvcGVDaGFpbkl0ZXJh
dG9yOwogICAgIAotICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWlu
Tm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAg
ICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKaW5kZXggZjM1ODcyNy4uNTYxNDkzMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCkBAIC00MCw3ICs0MCw4IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc01hcmtlZChKU1N0cmluZyogc3RyaW5nKQogICAgIHJldHVybiBz
dHJpbmcgJiYgSGVhcDo6aXNDZWxsTWFya2VkKHN0cmluZyk7CiB9CiAKLWNsYXNzIFNtYWxsU3Ry
aW5nc1N0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU21hbGxTdHJpbmdzU3Rv
cmFnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU21hbGxTdHJpbmdzU3RvcmFnZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNtYWxsU3RyaW5nc1N0b3JhZ2Uo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJp
bmdzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRl
eCBkMWViZmIxMy4uYWM4NGZlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xh
c3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAgICBjbGFz
cyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNtYWxsU3Ry
aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU21hbGxTdHJpbmdzKCk7
CiAgICAgICAgIH5TbWFsbFN0cmluZ3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjI2MzU1MDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYgKzEyMiw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFN5bWJv
bFRhYmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJ
bXBsPiA+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9sVGFibGU7CiAKICAgICBj
bGFzcyBTaGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJsZSwgcHVibGljIFJlZkNv
dW50ZWQ8U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xU
YWJsZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsg
fQogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5o
CmluZGV4IDJkNGU1OWQuLjMxNjc5NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtHQ01hcC5oCkBAIC0zNSw3ICszNSw4IEBAIGNsYXNzIEpTQ2VsbDsKIAogLy8gQSBIYXNo
TWFwIHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMgZW1wdHlWYWx1ZSgpIGZvciBjZWxscyBh
d2FpdGluZyBkZXN0cnVjdGlvbi4KIHRlbXBsYXRlPHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1l
IE1hcHBlZFR5cGU+Ci1jbGFzcyBXZWFrR0NNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Citj
bGFzcyBXZWFrR0NNYXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIC8qCiAg
ICAgSW52YXJpYW50czoKICAgICAgICAgKiBBIHZhbHVlIGVudGVycyB0aGUgV2Vha0dDTWFwIG1h
cmtlZC4gKEd1YXJhbnRlZWQgYnkgc2V0KCkuKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaAppbmRleCA2Y2M3NWE1Li40OTQ2ZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRl
ICJIZWFwLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21hcnQgcG9pbnRlciB3aG9zZSBnZXQo
KSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6IE5vbmNvcHlhYmxlIHsKK3RlbXBs
YXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dDUHRyKCkKICAgICAgICAgOiBtX3B0
cigwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJl
ZkNvdW50ZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3Vu
dGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIC8vIHdpdGggcmVzcGVjdCB0byB0aGUgb3JpZ2luYWwgYW5kIGFueSBv
dGhlciBjb3BpZXMuICBUaGUgdW5kZXJseWluZyBtX2RhdGEgaXMgam9pbnRseQogICAgIC8vIG93
bmVkIGJ5IHRoZSBvcmlnaW5hbCBpbnN0YW5jZSBhbmQgYWxsIGNvcGllcy4KICAgICB0ZW1wbGF0
ZTxjbGFzcyBUPgotICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZWZDb3VudGVkKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENyb3NzVGhyZWFkUmVmQ291bnRlZDxUPiA+IGNyZWF0
ZShUKiBkYXRhKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0RhdGVNYXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKaW5k
ZXggOGQwZDkzMi4uNDFiZDRmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApA
QCAtNDQsNiArNDQsNyBAQAogI2RlZmluZSBEYXRlTWF0aF9oCiAKICNpbmNsdWRlIDxtYXRoLmg+
CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8dGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpAQCAtMTIwLDcgKzEyMSw5IEBAIGRv
dWJsZSBwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKEV4ZWNTdGF0ZSosIGNv
bnN0IGNoYXIqIGRhdGVTdHJpbmcpCiAKIC8vIEludGVudGlvbmFsbHkgb3ZlcnJpZGRpbmcgdGhl
IGRlZmF1bHQgdG0gb2YgdGhlIHN5c3RlbS4KIC8vIFRoZSBtZW1iZXJzIG9mIHRtIGRpZmZlciBv
biB2YXJpb3VzIG9wZXJhdGluZyBzeXN0ZW1zLgotc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIDog
Tm9uY29weWFibGUgeworc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHcmVnb3JpYW5EYXRlVGltZSk7CitwdWJsaWM6CiAgICAgR3JlZ29yaWFuRGF0
ZVRpbWUoKQogICAgICAgICA6IHNlY29uZCgwKQogICAgICAgICAsIG1pbnV0ZSgwKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLjFiMTZhZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0RlcXVlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgRGVxdWUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRv
cjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCmluZGV4IGJiMTgyNWUu
LmU0ODk5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9j
QmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCkBA
IC0zMiw4ICszMiw4IEBACiAvLyBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIGZh
c3RNYWxsb2MvZmFzdEZyZWUgYW5kIG9wZXJhdG9yIG5ldy9kZWxldGUKIC8vCiAvLyBQcm92aWRl
ZCBmdW5jdGlvbmFsaXR5OgorLy8gICAgTWFjcm86IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAv
LyAgICBuYW1lc3BhY2UgV1RGIHsKLS8vICAgICAgICBjbGFzcyBGYXN0QWxsb2NCYXNlOwogLy8K
IC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KCk7CiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxU
PihhcmcpOwpAQCAtNDgsNyArNDgsMTYgQEAKIC8vIEZhc3REZWxldGUgYXNzdW1lcyB0aGF0IHRo
ZSB1bmRlcmx5aW5nCiAvLwogLy8gRXhhbXBsZSB1c2FnZToKLS8vICAgIGNsYXNzIFdpZGdldCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsgLi4uIH07CisvLyAgICBjbGFzcyBXaWRnZXQgeworLy8g
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisvLyAgICAuLi4KKy8vICAgIH07CisvLwor
Ly8gICAgc3RydWN0IERhdGEgeworLy8gICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisv
LyAgICBwdWJsaWM6CisvLyAgICAuLi4KKy8vICAgIH07CiAvLwogLy8gICAgY2hhciogY2hhclB0
ciA9IGZhc3ROZXc8Y2hhcj4oKTsKIC8vICAgIGZhc3REZWxldGUoY2hhclB0cik7CkBAIC04Myw4
ICs5Miw2IEBACiAjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMu
aCIKIAotbmFtZXNwYWNlIFdURiB7Ci0KICNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQg
XAogcHVibGljOiBcCiAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyBy
ZXR1cm4gcDsgfSBcCkBAIC0xMTUsMTEgKzEyMiwxMCBAQCBwdWJsaWM6IFwKICAgICAgICAgIDo6
V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxv
Y1R5cGVDbGFzc05ld0FycmF5KTsgXAogICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCiAg
ICAgfSBcCi1wcml2YXRlOgorcHJpdmF0ZTogXAordHlwZWRlZiBpbnQgVGhpc0lzSGVyZVRvRm9y
Y2VBU2VtaWNvbG9uQWZ0ZXJUaGlzTWFjcm8KIAotY2xhc3MgRmFzdEFsbG9jQmFzZSB7Ci0gICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQgIAotfTsKK25hbWVzcGFjZSBXVEYgewogCiAgICAgLy8g
ZmFzdE5ldyAvIGZhc3REZWxldGUKIApAQCAtNDEwLDcgKzQxNiw2IEBAIGNsYXNzIEZhc3RBbGxv
Y0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NCYXNl
OwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYgLy8g
RmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hh
c2hDb3VudGVkU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0
LmgKaW5kZXggNGVkNzVjNS4uYjk3ZDhjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
SGFzaENvdW50ZWRTZXQuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjZGVmaW5lIFdURl9IYXNoQ291
bnRlZFNldF9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiRmFzdEFsbG9j
QmFzZS5oIgogI2luY2x1ZGUgIkhhc2hNYXAuaCIKICNpbmNsdWRlICJWZWN0b3IuaCIKIAogbmFt
ZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgSGFz
aEZ1bmN0aW9ucyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlPjo6SGFzaCwKLSAgICAgICAg
dHlwZW5hbWUgVHJhaXRzID0gSGFzaFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNl
dCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzID0gSGFz
aFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNldCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxW
YWx1ZSwgdW5zaWduZWQsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cz4gSW1wbFR5cGU7CiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAppbmRleCAwOTA5NGQxLi43NzMxNTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBuYW1l
c3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFw
cGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6
SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+
LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgotICAg
IGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1h
cCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAg
ICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBw
ZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApp
bmRleCA2NjYzOWU0Li5iZTZiOTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0hhc2hTZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApA
QCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgSWRlbnRpdHlFeHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1
ZUFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6
SGFzaCwKLSAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4g
PiBjbGFzcyBIYXNoU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFt
ZSBUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBl
ZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFs
dWVUcmFpdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNo
U2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKaW5kZXggZTE0
YWM0NS4uZTkxNmVmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0
SGFzaFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaApA
QCAtNTIsNyArNTIsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBW
YWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5PiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2RlQWxs
b2NhdG9yOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHksIHR5cGVuYW1lIEhhc2hBcmc+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVIYXNoRnVuY3Rp
b25zOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eSA9IDI1NiwgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVl
QXJnPjo6SGFzaD4gY2xhc3MgTGlzdEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDI1
NiwgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFz
aD4gY2xhc3MgTGlzdEhhc2hTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZTxWYWx1ZUFyZywg
aW5saW5lQ2FwYWNpdHk+IE5vZGU7CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hTZXROb2RlQWxs
b2NhdG9yPFZhbHVlQXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZUFsbG9jYXRvcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0xvY2tlci5oCmluZGV4IDQxODEzZDMuLmM0NjViOTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Mb2NrZXIuaApAQCAtMzIsNyArMzIsOCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAot
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb2NrZXIpOwogcHVibGljOgogICAgIExvY2tlcihUJiBsb2NrYWJsZSkgOiBtX2xv
Y2thYmxlKGxvY2thYmxlKSB7IG1fbG9ja2FibGUubG9jaygpOyB9CiAgICAgfkxvY2tlcigpIHsg
bV9sb2NrYWJsZS51bmxvY2soKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9NZXNzYWdlUXVldWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1
ZXVlLmgKaW5kZXggMTQxMDBjOS4uN2MxOGEwYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L01lc3NhZ2VRdWV1ZS5oCkBAIC00OCw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8v
IHdoZW4gbWVzc2FnZXMgYXJlIGZldGNoZWQgZnJvbSB0aGUgcXVldWUuCiAgICAgLy8gRXNzZW50
aWFsbHksIE1lc3NhZ2VRdWV1ZSBhY3RzIGFzIGEgcXVldWUgb2YgT3duUHRyPERhdGFUeXBlPi4K
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRhVHlwZT4KLSAgICBjbGFzcyBNZXNzYWdlUXVldWUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VRdWV1ZSk7CiAgICAgcHVibGljOgogICAgICAg
ICBNZXNzYWdlUXVldWUoKSA6IG1fa2lsbGVkKGZhbHNlKSB7IH0KICAgICAgICAgfk1lc3NhZ2VR
dWV1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCmluZGV4IDI4NWVk
MmUuLmNjNmJjNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29w
eWFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKQEAg
LTQxLDIzICs0MSw0IEBACiAgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBD
bGFzc05hbWUmKQogI2VuZGlmCiAKLS8vIFdlIGRvbid0IHdhbnQgYXJndW1lbnQtZGVwZW5kZW50
IGxvb2t1cCB0byBwdWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgV1RGCi0vLyBuYW1lc3BhY2Ug
d2hlbiB5b3UgdXNlIE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQgaW4gaXRzIG93biBuYW1lc3BhY2Uu
Ci0KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5hbWVzcGFjZSBXVEZOb25jb3B5YWJs
ZSB7Ci0KLSAgICBjbGFzcyBOb25jb3B5YWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKLSAg
ICAgICAgTm9uY29weWFibGUoY29uc3QgTm9uY29weWFibGUmKTsKLSAgICAgICAgTm9uY29weWFi
bGUmIG9wZXJhdG9yPShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgTm9uY29weWFibGUoKSB7IH0KLSAgICAgICAgfk5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgfTsK
LQotfSAvLyBuYW1lc3BhY2UgV1RGTm9uY29weWFibGUKLQotdXNpbmcgV1RGTm9uY29weWFibGU6
Ok5vbmNvcHlhYmxlOwotCiAjZW5kaWYgLy8gV1RGX05vbmNvcHlhYmxlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2NDNiOTBiLi5kYmQzNGFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVz
cGFjZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093bkFycmF5UHRyOwog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093bkFycmF5UHRyPFQ+IGFkb3B0QXJyYXlQdHIoVCop
OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgOiBwdWJsaWMgTm9u
Y29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIHsKIHB1
YmxpYzoKICAgICB0eXBlZGVmIFQqIFB0clR5cGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywx
MSBAQAogI2RlZmluZSBPd25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2Mu
aCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRl
bXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIGV4cGxpY2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikK
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKaW5kZXggY2RjMjc3Yy4uZmI1
OTQzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAj
ZGVmaW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUg
Ik5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93blB0ckNv
bW1vbi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIKQEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093blB0cjsKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRyPFQ+IGFkb3B0UHRyKFQqKTsKIAotICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9pbnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7
CiAgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5kYTE3OGIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaApAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBSZWZDb3Vu
dGVkX2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKKyNpbmNsdWRlICJGYXN0QWxsb2NCYXNl
LmgiCiAjaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMzEs
NyArMTMyLDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQog
CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1Ymxp
YyBSZWZDb3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICB2b2lkIGRlcmVmKCkKICAgICB7CkBAIC0xNDAsNiArMTQyLDcgQEAgcHVibGlj
OgogICAgIH0KIAogcHJvdGVjdGVkOgorICAgIFJlZkNvdW50ZWQoKSB7IH0KICAgICB+UmVmQ291
bnRlZCgpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IGQ1
N2Y4OGEuLjM1M2JkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVm
UHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMzYsNyAr
MzYsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIGVudW0gSGFzaFRhYmxlRGVsZXRlZFZhbHVl
VHlwZSB7IEhhc2hUYWJsZURlbGV0ZWRWYWx1ZSB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUmVmUHRyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoKSA6IG1fcHRyKDAp
IHsgfQogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cihUKiBwdHIpIDogbV9wdHIocHRyKSB7
IHJlZklmTm90TnVsbChwdHIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFz
aE1hcC5oCmluZGV4IGI5ZTdlZWEuLmRiZWFiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRySGFzaE1hcC5oCkBAIC00NSw3ICs0NSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVu
YW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRz
QXJnPgotICAgIGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtl
eVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNB
cmcsIE1hcHBlZFRyYWl0c0FyZz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAg
ICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRz
LmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICsz
MSwxNCBAQAogI2lmbmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUg
VGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAv
LyBIb2xkcyBUaHJlYWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBh
bmQgZW1wbG95cyBwdGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFi
bHkgcmVtb3ZlCiAvLyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVz
IHJlZ3VsYXIgVGhyZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVz
dHJ1Y3Rpb24uCi1jbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoVGhyZWFkSWRlbnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVy
RGF0YSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5o
CmluZGV4IDMzYzY2MTIuLmE2YTFjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU2FmZVNoYXJlZC5oCkBAIC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9y
bS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2Ug
V1RGIHsKIAotY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRocmVhZFNhZmVTaGFyZWRCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgVGhyZWFkU2FmZVNoYXJlZEJhc2UoaW50IGluaXRpYWxSZWZDb3VudCA9IDEpCiAgICAg
ICAgIDogbV9yZWZDb3VudChpbml0aWFsUmVmQ291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uZmE5YTM5MyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApAQCAtNjEsNyArNjEsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKIHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAot
dGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9uY29w
eWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBUaHJl
YWRTcGVjaWZpYygpOwogICAgIFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg1LDkgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHN0YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0UoUFRI
UkVBRFMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1MpCi0g
ICAgc3RydWN0IERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERhdGEo
VCogdmFsdWUsIFRocmVhZFNwZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93bmVy
KG93bmVyKSB7fQogI2lmIFBMQVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXItPmRl
c3Ryb3kodGhpcyk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkU3BlY2lmaWNXaW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVj
aWZpY1dpbi5jcHAKaW5kZXggZjJjMGNhZC4uZDcyOTk2YSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBm
aWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRv
d3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDQ5ZGU1OWUuLmYyZTA1NjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAKQEAgLTMwLDcgKzMwLDkgQEAKIAogbmFtZXNw
YWNlIFdURiB7CiAKLXN0cnVjdCBOZXdUaHJlYWRDb250ZXh0IDogRmFzdEFsbG9jQmFzZSB7Citz
dHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CiAgICAgTmV3VGhyZWFkQ29udGV4dChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2
b2lkKiBkYXRhLCBjb25zdCBjaGFyKiBuYW1lKQogICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQ
b2ludCkKICAgICAgICAgLCBkYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCmluZGV4IGMxMWE2Y2IuLjgwOWMzZTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm0uaCIKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTG9j
a2VyLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTk2LDcgKzk3LDggQEAg
dHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVJlYWRXcml0ZUxvY2s7CiB0eXBlZGVmIHZvaWQqIFBsYXRm
b3JtQ29uZGl0aW9uOwogI2VuZGlmCiAgICAgCi1jbGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBNdXRleCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTXV0ZXgpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRl
eCgpOwpAQCAtMTEzLDcgKzExNSw4IEBAIHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4
PiBNdXRleExvY2tlcjsKIAotY2xhc3MgUmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSZWFkV3JpdGVMb2NrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFk
V3JpdGVMb2NrKTsKIHB1YmxpYzoKICAgICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0
ZUxvY2soKTsKQEAgLTEzMCw3ICsxMzMsOCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdy
aXRlTG9jayBtX3JlYWRXcml0ZUxvY2s7CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUaHJlYWRDb25kaXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRp
dGlvbigpOwogICAgIH5UaHJlYWRDb25kaXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVmVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rv
ci5oCmluZGV4IGY3Mzc5M2YuLjZkOGRkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3Iu
aApAQCAtMjc3LDcgKzI3Nyw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIFZlY3RvckJ1ZmZlckJhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFZlY3RvckJ1ZmZlckJhc2UgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShWZWN0b3JCdWZmZXJCYXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZv
aWQgYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQogICAgICAgICB7CkBAIC00ODgs
NyArNDg5LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDA+Ci0gICAgY2xhc3MgVmVjdG9yIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFZlY3RvciB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yQnVm
ZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCdWZmZXI7CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yVHlw
ZU9wZXJhdGlvbnM8VD4gVHlwZU9wZXJhdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
V1RGVGhyZWFkRGF0YS5oCmluZGV4IDUyYzI2N2EuLjI0M2FhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBK
U0MgewogCiB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hhciosIFJlZlB0cjxTdHJpbmdJbXBsPiwg
UHRySGFzaDxjb25zdCBjaGFyKj4gPiBMaXRlcmFsSWRlbnRpZmllclRhYmxlOwogCi1jbGFzcyBJ
ZGVudGlmaWVyVGFibGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBJZGVudGlmaWVy
VGFibGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIH5JZGVu
dGlmaWVyVGFibGUoKTsKIApAQCAtODUsNyArODYsOCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJs
ZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNT
dHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJlYWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRo
cmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRocmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFk
RGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKaW5kZXggYzg5YzAzNi4uYjViMTI2
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCkBAIC00MTQsNyArNDE0LDEwIEBAIHN0
YXRpYyB2b2lkIG11bHQoQmlnSW50JiBhUmVmLCBjb25zdCBCaWdJbnQmIGJSZWYpCiAgICAgYVJl
ZiA9IGM7CiB9CiAKLXN0cnVjdCBQNU5vZGUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUDVOb2Rl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQNU5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBQNU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwogICAgIFA1
Tm9kZSogbmV4dDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dv
YmplY3QvR093blB0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAppbmRleCBjZWMzZTQzLi40MTM2ZjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTQxLDcgKzQxLDggQEAgdGVtcGxhdGU8PiB2b2lkIGZy
ZWVPd25lZEdQdHI8R1BhdHRlcm5TcGVjPihHUGF0dGVyblNwZWMqKTsKIHRlbXBsYXRlPD4gdm9p
ZCBmcmVlT3duZWRHUHRyPEdEaXI+KEdEaXIqKTsKIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRH
UHRyPEdGaWxlPihHRmlsZSopOwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093blB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093
blB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR093blB0cik7CiBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgR093blB0cihUKiBwdHIgPSAwKSA6IG1fcHRyKHB0cikgeyB9CiAgICAgfkdPd25Q
dHIoKSB7IGZyZWVPd25lZEdQdHIobV9wdHIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaApAQCAtMzAsMTMgKzMw
LDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2Rl
L1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFz
cyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nQnVmZmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdCdWZmZXIpOwogcHVibGljOgogICAg
IGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNpZ25lZCBsZW5ndGgpCiAgICAgICAgIDogbV9sZW5n
dGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0
cmluZ0ltcGxCYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1w
bEJhc2UuaAppbmRleCA2NTY3NjcyLi4yNmJjMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZu
ZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
Ym9vbCBpc1N0cmluZ0ltcGwoKSB7IHJldHVybiAobV9yZWZDb3VudEFuZEZsYWdzICYgc19yZWZD
b3VudEludmFsaWRGb3JTdHJpbmdJbXBsKSAhPSBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0lt
cGw7IH0KICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQpA
QCAtNDUsOSArNDUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEJ1ZmZlclNoYXJlZCwKICAgICB9
OwogCi0gICAgdXNpbmcgTm9uY29weWFibGU6Om9wZXJhdG9yIG5ldzsKLSAgICB2b2lkKiBvcGVy
YXRvciBuZXcoc2l6ZV90LCB2b2lkKiBpblBsYWNlKSB7IEFTU0VSVChpblBsYWNlKTsgcmV0dXJu
IGluUGxhY2U7IH0KLQogICAgIC8vIEZvciBTbWFsbFN0cmluZ1N0b3JhZ2UsIHdoaWNoIGFsbG9j
YXRlcyBhbiBhcnJheSBhbmQgdXNlcyBhbiBpbi1wbGFjZSBuZXcuCiAgICAgU3RyaW5nSW1wbEJh
c2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2Rl
L0NvbGxhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3Iu
aAppbmRleCBmZTZhODA5Li4wMGFiMTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3VuaWNvZGUvQ29sbGF0b3IuaApAQCAtMjksNiArMjksNyBAQAogI2lmbmRlZiBXVEZfQ29sbGF0
b3JfaAogI2RlZmluZSBXVEZfQ29sbGF0b3JfaAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jh
c2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTM5LDcgKzQwLDgg
QEAgc3RydWN0IFVDb2xsYXRvcjsKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBDb2xs
YXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29sbGF0b3IgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb2xsYXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIg
PSAxLCBMZXNzID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lh
cnIvWWFyckludGVycHJldGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySW50
ZXJwcmV0ZXIuaAppbmRleCBiZTcwM2E5Li5lZWE1MjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuaApAQCAtMjk5LDcgKzI5OSw4IEBAIHN0cnVjdCBC
eXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0ZURpc2p1bmN0aW9uIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBCeXRlRGlzanVuY3Rpb24odW5zaWduZWQgbnVtU3Vi
cGF0dGVybnMsIHVuc2lnbmVkIGZyYW1lU2l6ZSkKICAgICAgICAgOiBtX251bVN1YnBhdHRlcm5z
KG51bVN1YnBhdHRlcm5zKQpAQCAtMzEyLDcgKzMxMyw5IEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCBtX2ZyYW1lU2l6ZTsKIH07CiAKLXN0cnVjdCBCeXRlY29kZVBhdHRlcm4gOiBGYXN0QWxsb2NC
YXNlIHsKK3N0cnVjdCBCeXRlY29kZVBhdHRlcm4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgogICAgIEJ5dGVjb2RlUGF0dGVybihQYXNzT3duUHRyPEJ5dGVEaXNqdW5j
dGlvbj4gYm9keSwgVmVjdG9yPEJ5dGVEaXNqdW5jdGlvbio+IGFsbFBhcmVudGhlc2VzSW5mbywg
WWFyclBhdHRlcm4mIHBhdHRlcm4sIEJ1bXBQb2ludGVyQWxsb2NhdG9yKiBhbGxvY2F0b3IpCiAg
ICAgICAgIDogbV9ib2R5KGJvZHkpCiAgICAgICAgICwgbV9pZ25vcmVDYXNlKHBhdHRlcm4ubV9p
Z25vcmVDYXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBh
dHRlcm4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmgKaW5kZXgg
MjE3MmRkYS4uZDgwZjY5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
WWFyclBhdHRlcm4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0dGVy
bi5oCkBAIC02Myw3ICs2Myw5IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotc3RydWN0IENoYXJh
Y3RlckNsYXNzIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIC8vIEFsbCBDaGFyYWN0ZXJD
bGFzcyBpbnN0YW5jZXMgaGF2ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRjaGVzIGFuZCBy
YW5nZXMsCiAgICAgLy8gdGhleSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3IgZmFzdGVy
IGxvb2t1cHMgKHdoaWNoIG11c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVkIG1hdGNoZXMg
YW5kIHJhbmdlcykKQEAgLTIwNCw3ICsyMDYsOSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0gewogICAg
IH0KIH07CiAKLXN0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0
cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1
bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25j
ZVRocm91Z2goZmFsc2UpCkBAIC0yNDUsNyArMjQ5LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5h
dGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9Owog
Ci1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0
dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBQYXR0ZXJuRGlzanVuY3Rpb24oUGF0dGVybkFsdGVybmF0aXZlKiBwYXJlbnQgPSAwKQog
ICAgICAgICA6IG1fcGFyZW50KHBhcmVudCkKICAgICAgICAgLCBtX2hhc0ZpeGVkU2l6ZShmYWxz
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA0NjVjZjQzLi5jMmVkMjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTEtMDEtMjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3Jp
bmcgb2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5n
IGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIg
KGJ1ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVwbGFjZXMg
Tm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5oZXJpdHMg
d2l0aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9uIGF0IHRo
ZSBuZWNlc3NhcnkgcGxhY2VzLgorCiAyMDExLTAxLTIwICBIYW5zIFdlbm5ib3JnICA8aGFuc0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCA2NzBkNmUwLi4w
MGU3ZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aApAQCAtNjAsNyArNjAsOCBAQCBzdHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBvc3RU
eXBlIHsgUG9zdFN5bmNocm9ub3VzbHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFzcyBB
WE9iamVjdENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2FjaGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBWE9iamVjdENhY2hlKGNvbnN0IERvY3VtZW50Kik7
CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCmluZGV4IGVhNjhkMTAuLjliYWU4
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgY2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0
U291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0ZShDYWNoZWRTY3JpcHQqIGNh
Y2hlZFNjcmlwdCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hlZFNjcmlwdFNvdXJjZVByb3Zp
ZGVyKGNhY2hlZFNjcmlwdCkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250
cm9sbGVyLmgKaW5kZXggNGMyNTQwNy4uOTFmMWU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwxMiBAQAogI2lmbmRlZiBHQ0NvbnRy
b2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAg
Y2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHQ0Nv
bnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHQ0NvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgZnJpZW5kIEdDQ29udHJvbGxlciYgZ2ND
b250cm9sbGVyKCk7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5lMTEzOGVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKQEAgLTM3LDcgKzM3
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgZGVsZXRl
ZCB3aXRob3V0IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAtIHdyYXBwZXJz
IGJlaW5nIGNhY2hlZCB0d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNEZWJ1Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVh
ZFNwZWNpZmljPEpTRGVidWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNEZWJ1
Z1dyYXBwZXJTZXQmIHNoYXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAppbmRleCA4MTkzZDdjLi4zNDlkYzE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaApA
QCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAgIHN0YXRpYyBKU0M6
OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2YzlkMGJhLi41OWFkNmZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaApAQCAtNDEsNyArNDEs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgKiB0aW1lIGludGVydmFsLCBlaXRoZXIgb25j
ZSBvciByZXBlYXRlZGx5LiBVc2VkIGZvciB3aW5kb3cuc2V0VGltZW91dCgpCiAgICAgKiBhbmQg
d2luZG93LnNldEludGVydmFsKCkKICAgICAqLwotICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkQWN0aW9uKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxTY2hlZHVs
ZWRBY3Rpb24+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIERPTVdyYXBwZXJXb3JsZCogaXNvbGF0
ZWRXb3JsZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENhY2hlZEZyYW1lRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmgKaW5kZXggMTVjMjNjNS4uNWY2OTFkOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTQwLDcgKzQw
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRvdzsKICAgICBjbGFz
cyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFtZURhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPCBSZWZQdHI8RE9N
V3JhcHBlcldvcmxkPiwgSlNDOjpQcm90ZWN0ZWRQdHI8SlNET01XaW5kb3c+ID4gSlNET01XaW5k
b3dTZXQ7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0RGVidWdTZXJ2ZXIuaAppbmRleCBkZTI3NGRiLi5iZGU0NzM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTU2LDcgKzU2LDggQEAg
Y2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIGNsYXNzIEphdmFT
Y3JpcHRDYWxsRnJhbWU7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dl
ciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpE
ZWJ1Z2dlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdT
ZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaAppbmRleCAwNWU3YTI1Li5kNGRkNjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMyLDExICszMiwxMSBAQAogI2luY2x1ZGUgIlNj
cmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NyaXB0UHJv
ZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0
YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRTdGF0ZS5oCmluZGV4IDBjMDg2MTEuLmUxOWMwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaApAQCAtNTIsNyArNTIsOCBAQCBjbGFzcyBQYWdlOwogLy8gRm9y
IG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0eXBlZGVmIEpT
Qzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVi
bGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKik7
CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNmUyZDdiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEu
aApAQCAtMjQsMTcgKzI0LDE4IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNp
bmNsdWRlICJET01PYmplY3RIYXNoVGFibGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVi
bGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6Q2xp
ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZUpTQ2xpZW50RGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGFX
b3JsZEl0ZXJhdG9yOwogICAgIGZyaWVuZCB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEo
SlNDOjpKU0dsb2JhbERhdGEqKTsKIAogcHVibGljOgorICAgIFdlYkNvcmVKU0NsaWVudERhdGEo
KSB7IH0KICAgICB2aXJ0dWFsIH5XZWJDb3JlSlNDbGllbnREYXRhKCkKICAgICB7CiAgICAgICAg
IEFTU0VSVChtX3dvcmxkU2V0LmNvbnRhaW5zKG1fbm9ybWFsV29ybGQuZ2V0KCkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApp
bmRleCBiZTdkYTRkLi40NTc4OTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0gICAgY2xhc3Mg
V29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
V29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdv
cmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2VyQ29udGV4dCopOwogICAg
ICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9N
RGF0YS5oCmluZGV4IDc4ZWRmOTIuLmIwNDI2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L0RPTURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01EYXRhLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHRo
cmVhZC4gIFRoZSBET01EYXRhIGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZSBET01EYXRhIGZv
ciBjaGlsZCB0aHJlYWRzCiAgICAgLy8gdXNlIGRpZmZlcmVudCBzdWJjbGFzc2VzLgogICAgIC8v
Ci0gICAgY2xhc3MgRE9NRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9N
RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGEpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgRE9NRGF0YSgpOwogICAgICAgICB2aXJ0dWFsIH5ET01EYXRhKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCmluZGV4IGNmZTIyMGUuLmRiZWFk
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC0xNDks
NyArMTQ5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24n
dCBtYW5hZ2UgdGhlIGxpZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAg
Ly8gbGlmZXRpbWUgaXMgbWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3Mg
RE9NRGF0YVN0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3Rv
cmUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01O
b2RlTWFwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRG
cmFtZURhdGEuaAppbmRleCAxYWExZjYyLi4zNzZiNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaApAQCAtNjAsMTQgKzYwLDE0
IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93bkhhbmRsZS5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7CiAKLWNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0
YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKTsKIHB1Ymxp
YzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAgICB+U2NyaXB0Q2FjaGVk
RnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVi
dWdTZXJ2ZXIuaAppbmRleCA0MGRkNWZjLi44ZmE3MjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTQ4LDcgKzQ4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiAK
LWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNj
cmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1Nl
cnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggYjc1
YTA1NC4uZTA5NjllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3Mg
U2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmls
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYg
dGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0
U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRTdGF0ZS5oCmluZGV4IDExODEzYjAuLjBmZWNlZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApAQCAtNDIsNyArNDIsOCBAQCBjbGFzcyBGcmFt
ZTsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NyaXB0U3RhdGUpOwogcHVibGljOgogICAgIGJvb2wgaGFkRXhjZXB0aW9uKCkgeyBy
ZXR1cm4gIW1fZXhjZXB0aW9uLklzRW1wdHkoKTsgfQogICAgIHZvaWQgc2V0RXhjZXB0aW9uKHY4
OjpMb2NhbDx2ODo6VmFsdWU+IGV4Y2VwdGlvbikKQEAgLTc5LDcgKzgwLDggQEAgcHVibGljOgog
ICAgIH5FbXB0eVNjcmlwdFN0YXRlKCkgeyB9CiB9OwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3Rl
ZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIp
OwogcHVibGljOgogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCkgOiBtX3NjcmlwdFN0YXRl
KDApIHsgfQogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKiBzY3JpcHRT
dGF0ZSkgOiBtX3NjcmlwdFN0YXRlKHNjcmlwdFN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggZTA1MGJmYy4u
NjY2ZTYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAogLy8gV3Jp
dGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMgYW5kIHN0
b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRlIHR5cGVz
LgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAgICAgICAg
IDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHBy
aXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0ZUJhc2Up
OwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9CcmlkZ2UuaAppbmRleCA1MGVmYzY0Li4wMGQ2ZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0JyaWRn
ZS5oCkBAIC0yOCwxNCArMjgsMTUgQEAKICNkZWZpbmUgQnJpZGdlX2gKIAogI2luY2x1ZGUgIkJy
aWRnZUpTQy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlND
ICB7CiAKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZXRob2QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1ldGhv
ZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1ldGhvZCgpIHsgfQog
ICAgIHZpcnR1YWwgaW50IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFs
IH5NZXRob2QoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlm
aWVyUmVwLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCmluZGV4IDk5
YmFlMGIuLjg2NDZlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlm
aWVyUmVwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaApAQCAt
MzMsNyArMzMsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBJZGVudGlm
aWVyUmVwIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclJlcCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZp
ZXJSZXAqIGdldChpbnQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hh
ciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKaW5kZXggOTY5NzRkOS4uZWJj
ZmFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01OSw4ICs1OSwx
MCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNsYXNzIENsYXNz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDbGFzcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIENs
YXNzKCkgeyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25zdCBJZGVu
dGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVsZCogZmllbGRO
YW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29uc3QgSWRl
bnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsxMjcsOCBAQCBw
cml2YXRlOgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVPYmplY3Q7CiB9
OwogCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcnJheSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFycmF5KFBhc3NS
ZWZQdHI8Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlVmFsdWUuaAppbmRleCA4MzNkN2ZlLi4xNzRmMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNs
YXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENTU0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0
aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFs
dWU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbWFnZVZhbHVlKTsgfQogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVy
bCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUodXJsKSk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLmFkNGU5N2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ltcG9ydFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNoZWRDU1NTdHlsZVNo
ZWV0OwogY2xhc3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxlIDogcHVibGljIENT
U1J1bGUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NOYW1lc3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaApp
bmRleCA2MjI1YzM2Li45MjYzOGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TmFtZXNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCkBAIC0y
Niw3ICsyNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIHN0cnVjdCBDU1NOYW1l
c3BhY2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENTU05hbWVzcGFjZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENTU05hbWVzcGFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgIHB1YmxpYzoKICAgICAgICAgQXRvbWljU3RyaW5nIHByZWZpeDsKICAgICAgICAg
QXRvbWljU3RyaW5nIHVyaTsKICAgICAgICAgT3duUHRyPENTU05hbWVzcGFjZT4gcGFyZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDQ5NmEyMWEuLmQzMjY4MTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTM0MCw3ICszNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNob3J0aGFu
ZFNjb3BlKENTU1BhcnNlciogcGFyc2VyLCBpbnQgcHJvcElkKSA6IG1fcGFyc2VyKHBhcnNlcikK
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVl
cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjgu
Ljk5NmU3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTU5LDcgKzU5
LDggQEAgc3RydWN0IENTU1BhcnNlclZhbHVlIHsKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBj
cmVhdGVDU1NWYWx1ZSgpOwogfTsKIAotY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAg
ICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3Rv
cjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVu
Y3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ1NTUGFyc2VyU3RyaW5nIG5h
bWU7CiAgICAgT3duUHRyPENTU1BhcnNlclZhbHVlTGlzdD4gYXJnczsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjEwZTU5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
Q1NTUHJvcGVydHkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQcm9wZXJ0eSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHko
aW50IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0g
ZmFsc2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAg
ICAgOiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IDQwMGRk
NDAuLmNhMzgxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcApAQCAtMzcsOCArMzcs
MTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
Ci1jbGFzcyBDU1NTZWxlY3RvckJhZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NT
ZWxlY3RvckJhZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JCYWcpOwog
cHVibGljOgorICAgIENTU1NlbGVjdG9yQmFnKCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yQmFnKCkK
ICAgICB7CiAgICAgICAgIEFTU0VSVChpc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
aAppbmRleCA1NDU2YmU2Li5iOTMwMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAt
MzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ1NTU2VsZWN0b3JC
YWc7CiAKICAgICAvLyB0aGlzIGNsYXNzIHJlcHJlc2VudHMgYSBzZWxlY3RvciBmb3IgYSBTdHls
ZVJ1bGUKLSAgICBjbGFzcyBDU1NTZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgQ1NTU2VsZWN0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxl
Y3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ1NT
U2VsZWN0b3IoKQogICAgICAgICAgICAgOiBtX3JlbGF0aW9uKERlc2NlbmRhbnQpCkBAIC0zMDYs
NyArMzA3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBzcGVjaWZp
Y2l0eUZvclBhZ2UoKSBjb25zdDsKICAgICAgICAgdm9pZCBleHRyYWN0UHNldWRvVHlwZSgpIGNv
bnN0OwogCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
c3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJhcmVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIFJhcmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAg
ICAgICAgICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yTGlzdC5oCmluZGV4IDdhZGM2YjkuLmFiZDliYzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3JMaXN0LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBDU1NTZWxl
Y3Rvckxpc3RfaAogCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQ1NTU2VsZWN0
b3JMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJy
YXkoMCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwCmluZGV4IGZjMDcyMmEuLjI3YjQ0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM1Miw3ICszNTIsOCBAQCBpZiAoaWQgPT0gcHJv
cElEKSB7IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQ1NTUnVsZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENTU1J1bGVEYXRhKTsKIHB1YmxpYzoKICAgICBDU1NSdWxlRGF0YSh1bnNpZ25lZCBwb3Ms
IENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNlbCwgQ1NTUnVsZURhdGEqIHByZXYgPSAw
KQogICAgICAgICA6IG1fcG9zaXRpb24ocG9zKQpAQCAtMzgwLDcgKzM4MSw4IEBAIHByaXZhdGU6
CiAgICAgQ1NTUnVsZURhdGEqIG1fbmV4dDsKIH07CiAKLWNsYXNzIENTU1J1bGVEYXRhTGlzdCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxlRGF0YUxpc3QgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7CiBwdWJsaWM6CiAgICAgQ1NTUnVsZURh
dGFMaXN0KHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2Vs
KQogICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKQEAg
LTQxMCw3ICs0MTIsOCBAQCBwcml2YXRlOgogICAgIENTU1J1bGVEYXRhKiBtX2xhc3Q7CiB9Owog
Ci1jbGFzcyBDU1NSdWxlU2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVT
ZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwogcHVibGljOgogICAg
IENTU1J1bGVTZXQoKTsKICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmgKaW5kZXggZWVhY2U1Ny4uZTAzNWFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBj
bGFzcyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
OwogCi1jbGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE1lZGlhUXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlS
ZXN1bHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5
UmVzdWx0KGNvbnN0IE1lZGlhUXVlcnlFeHAmIGV4cHIsIGJvb2wgcmVzdWx0KQogICAgICAgICA6
IG1fZXhwcmVzc2lvbihleHByKQpAQCAtODIsNyArODMsOCBAQCBwdWJsaWM6CiB9OwogCiAgICAg
Ly8gVGhpcyBjbGFzcyBzZWxlY3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4gZWxlbWVudCBi
YXNlZCBvbiBhIGNvbGxlY3Rpb24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3MgQ1NTU3R5bGVT
ZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3Rv
ciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1N0eWxlU2VsZWN0b3IpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0
b3IoRG9jdW1lbnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0
KiBtYXBwZWRFbGVtZW50U2hlZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVT
aGVldCogcGFnZVVzZXJTaGVldCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+
KiBwYWdlR3JvdXBVc2VyU2hlZXRzLApAQCAtMjE0LDcgKzIxNiw4IEBAIHB1YmxpYzoKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRBdmFpbGFibGUo
KSB7IHJldHVybiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAgY2xhc3MgU2Vs
ZWN0b3JDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU2VsZWN0
b3JDaGVja2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdG9yQ2hl
Y2tlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1
bWVudCosIGJvb2wgc3RyaWN0UGFyc2luZyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCmluZGV4
IDI4MTAwOWIuLmE2MzhhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaApAQCAtMzcsNyArMzcs
OCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFRdWVyeUV4cDsKIAotY2xhc3Mg
TWVkaWFRdWVyeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9yIHsKICAgICAgICAgT25seSwgTm90LCBO
b25lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRleCAwMGFjMzk0
Li4wN2M0ZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAg
LTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hhcmFj
dGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhlIGxv
YWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2JhYmxl
IHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgLyoqIENyZWF0ZXMgZXZhbHVhdG9yIHdoaWNoIGV2YWx1YXRlcyBvbmx5IHNp
bXBsZSBtZWRpYSBxdWVyaWVzCiAgICAgICogIEV2YWx1YXRvciByZXR1cm5zIHRydWUgZm9yICJh
bGwiLCBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVkaWFGZWF0dXJlUmVzdWx0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlFeHAuaAppbmRleCA3MmQzZmZmLi43ZTRkNDc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3MgTWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlFeHAgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVM
aXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Bc3lu
Y1NjcmlwdFJ1bm5lci5oCmluZGV4IDIzMjZmNjcuLjZhNzUzMjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Bc3luY1NjcmlwdFJ1bm5lci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIERvY3VtZW50Owog
Y2xhc3MgUGVuZGluZ1NjcmlwdDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiAgICAgCi1jbGFzcyBB
c3luY1NjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY1Njcmlw
dFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNTY3JpcHRSdW5uZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxB
c3luY1NjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkgeyByZXR1cm4gbmV3
IEFzeW5jU2NyaXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1NjcmlwdFJ1bm5lcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCmluZGV4IDg2YTIyYjAuLjc3MmE3MDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRWxlbWVudDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNz
IERPTVN0cmluZ01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01TdHJpbmdNYXAg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVN0cmluZ01hcCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVN0cmluZ01hcCgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAppbmRleCAwYmIwMjVhLi4xNWIwOTdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTQ2OTEsNyArNDY5MSw5IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsCiAg
ICAgICAgIHdpbmRvdy0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgY2FsbFN0YWNrKTsKIH0KIAotc3RydWN0
IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0Nv
bnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBlcmZvcm1UYXNrQ29udGV4dChQ
YXNzUmVmUHRyPERvY3VtZW50V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVuY2UsIFBhc3NP
d25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAgICAgOiBkb2N1
bWVudFJlZmVyZW5jZShkb2N1bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNrKHRhc2spCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggODMx
NzdmYy4uMmRjMmI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNv
bnRyb2xsZXIuaApAQCAtMzgsOCArMzgsMTAgQEAgY2xhc3MgSW50UmVjdDsKIGNsYXNzIE5vZGU7
CiBjbGFzcyBSYW5nZTsKIAotY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyB9
CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7IH0KIAogICAgIHZv
aWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGY2MjkyNDEuLjQ1Yjg3OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudC5oCkBAIC0yNCwxMyArMjQsMTMgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVu
dF9oCiAKKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIK
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0
cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBDbGlwYm9hcmQ7CiAg
ICAgY2xhc3MgRXZlbnRUYXJnZXQ7CiAKICAgICBjbGFzcyBFdmVudCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEV2ZW50PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA3Mjc2OGQyLi40MzllOWQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE4MCw3ICsxODAsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgXAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCi0g
ICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZl
bnROYW1lcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TmFtZXMpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgaW50IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFr
ZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgogICAgICAgICAvLyBQcml2YXRlIHRvIHByZXZl
bnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMo
KQogICAgICAgICBFdmVudE5hbWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IGRk
Y2I2NjMuLjgxZWViN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3ICs4Myw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlcmVkRXZl
bnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhhc2hNYXA8
QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1hcDsKIAot
ICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2
ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50VGFyZ2V0
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgRXZl
bnRUYXJnZXREYXRhKCk7CiAgICAgICAgIH5FdmVudFRhcmdldERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aApAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVmaW5lIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3Vu
dEluY3JlbWVudGVyX2gKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWdub3JlRGVzdHJ1
Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKTsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcihE
b2N1bWVudCogZG9jdW1lbnQpCiAgICAgICAgIDogbV9jb3VudChkb2N1bWVudCA/ICZkb2N1bWVu
dC0+bV9pZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnQgOiAwKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGYzMDhhMjkuLjA3NjY4YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBl
bmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4K
ICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVu
dCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVz
IHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJl
Zm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5lbChQ
YXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBAIC03
OCw3ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0cnVl
IGlmIHRoZSBwcm94eSBjdXJyZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9ydC4K
ICAgICAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBFdmVu
dERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERhdGEgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3du
UHRyPEV2ZW50RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwg
UGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJh
cmVEYXRhLmgKaW5kZXggYWIyMDhkMi4uNzM1MGY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBO
b2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8RHluYW1pY05v
ZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAgTm9kZUxpc3RTZXQgbV9saXN0c1dpdGhDYWNoZXM7
CiAgICAgCkBAIC02Nyw3ICs2OSw4IEBAIHByaXZhdGU6CiAgICAgfQogfTsKICAgICAKLWNsYXNz
IE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOb2RlUmFyZURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGVSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOiAgICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAgICA6IG1f
dGFiSW5kZXgoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IDM0ZmMwNjkuLmNi
OTVmMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBAQCBz
dHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFtZXNw
YWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIGNsYXNzIFF1YWxpZmllZE5hbWVJbXBsIDogcHVibGljIFJlZkNvdW50ZWQ8UXVh
bGlmaWVkTmFtZUltcGw+IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQu
aAppbmRleCAwN2M1OWRiLi41MjUwZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgK
QEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2NyaXB0RWxlbWVudDsKIGNsYXNzIFNjcmlwdFNvdXJj
ZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTY3JpcHRF
bGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7
CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggZmJiOTZlYy4uYjU3Yjc1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTExNCw4ICsxMTUsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2b2lkIHJlZigpIHsgcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAg
ICAgICAgIHZvaWQgZGVyZWYoKSB7IGRlcmVmU2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAK
LSAgICAgICAgY2xhc3MgVGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNz
IFRhc2sgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CisgICAgICAgICAgICBUYXNrKCkgeyB9
CiAgICAgICAgICAgICB2aXJ0dWFsIH5UYXNrKCk7CiAgICAgICAgICAgICB2aXJ0dWFsIHZvaWQg
cGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopID0gMDsKICAgICAgICAgICAgIC8v
IENlcnRhaW4gdGFza3MgZ2V0IG1hcmtlZCBzcGVjaWFsbHkgc28gdGhhdCB0aGV5IGFyZW4ndCBk
aXNjYXJkZWQsIGFuZCBhcmUgZXhlY3V0ZWQsIHdoZW4gdGhlIGNvbnRleHQgaXMgc2h1dHRpbmcg
ZG93biBpdHMgbWVzc2FnZSBxdWV1ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
cGFjZVNwbGl0U3RyaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5o
CmluZGV4IDgyNmU2YmQuLjZlYjg5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
cGFjZVNwbGl0U3RyaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJp
bmcuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFz
cyBTcGFjZVNwbGl0U3RyaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
U3BhY2VTcGxpdFN0cmluZ0RhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTcGFj
ZVNwbGl0U3RyaW5nRGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgU3BhY2VTcGxpdFN0cmluZ0RhdGEoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJvb2wg
c2hvdWxkRm9sZENhc2UpCiAgICAgICAgICAgICA6IG1fc3RyaW5nKHN0cmluZyksIG1fc2hvdWxk
Rm9sZENhc2Uoc2hvdWxkRm9sZENhc2UpLCBtX2NyZWF0ZWRWZWN0b3IoZmFsc2UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJhbnNmb3JtU291cmNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVHJhbnNmb3JtU291cmNlLmgKaW5kZXggZjk3YWZjZi4uNjNkYzc4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVRyYW5zZm9ybVNvdXJjZTsKICNlbmRp
ZgogCi0gICAgY2xhc3MgVHJhbnNmb3JtU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBUcmFuc2Zvcm1Tb3VyY2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
cmFuc2Zvcm1Tb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFRyYW5zZm9ybVNvdXJjZShjb25zdCBQbGF0Zm9ybVRyYW5zZm9ybVNvdXJjZSYgc291
cmNlKTsKICAgICAgICAgflRyYW5zZm9ybVNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVXNl
ckdlc3R1cmVJbmRpY2F0b3IuaAppbmRleCAxN2VhMzE5Li5iMWVkOTZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuaApAQCAtMzYsNyArMzYsOCBAQCBlbnVtIFBy
b2Nlc3NpbmdVc2VyR2VzdHVyZVN0YXRlIHsKICAgICBEZWZpbml0ZWx5Tm90UHJvY2Vzc2luZ1Vz
ZXJHZXN0dXJlCiB9OwogCi1jbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBVc2VyR2VzdHVyZUluZGljYXRvciB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVXNlckdlc3R1cmVJbmRpY2F0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBib29s
IHByb2Nlc3NpbmdVc2VyR2VzdHVyZSgpIHsgcmV0dXJuIHNfcHJvY2Vzc2luZ1VzZXJHZXN0dXJl
ID09IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmU7IH0KICAgICBzdGF0aWMgUHJvY2Vz
c2luZ1VzZXJHZXN0dXJlU3RhdGUgZ2V0VXNlckdlc3R1cmVTdGF0ZSgpIHsgcmV0dXJuIHNfcHJv
Y2Vzc2luZ1VzZXJHZXN0dXJlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVXNl
clR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5n
R2VzdHVyZUluZGljYXRvci5oCmluZGV4IDZjNzEwNzkuLjIxZjRjN2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oCkBAIC0zNCw3ICszNCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZyYW1lOwogY2xhc3MgTm9kZTsKIAotY2xh
c3MgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBw
cm9jZXNzaW5nVXNlclR5cGluZ0dlc3R1cmUoKTsKICAgICBzdGF0aWMgTm9kZSogZm9jdXNlZEVs
ZW1lbnRBdEdlc3R1cmVTdGFydCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1hN
TERvY3VtZW50UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXIu
aAppbmRleCA3NTMzYzViLi4xYWFkOWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
WE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQ
YXJzZXIuaApAQCAtNzEsNiArNzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKIAog
ICAgIGNsYXNzIFhNTERvY3VtZW50UGFyc2VyIDogcHVibGljIFNjcmlwdGFibGVEb2N1bWVudFBh
cnNlciwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxE
b2N1bWVudFBhcnNlcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCwgRnJhbWVWaWV3KiB2aWV3
KQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQ
YXJzZXJMaWJ4bWwyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxp
YnhtbDIuY3BwCmluZGV4IDBmNmI0YjQuLjEwZDZlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCkBAIC03NSw4ICs3NSwxMCBAQCB1c2lu
ZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFBlbmRpbmdD
YWxsYmFja3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGVuZGluZ0NhbGxiYWNrcyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVuZGluZ0NhbGxiYWNrcyk7CiBwdWJsaWM6Cisg
ICAgUGVuZGluZ0NhbGxiYWNrcygpIHsgfQogICAgIH5QZW5kaW5nQ2FsbGJhY2tzKCkKICAgICB7
CiAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2NhbGxiYWNrcyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAppbmRleCA1OGU4YTZiLi5mNjA0NzFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKQEAgLTM2LDcgKzM2
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXI7CiAKLSAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNjb3BlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlclNjb3BlIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoWE1MRG9jdW1lbnRQYXJzZXJTY29wZSk7CiAgICAgcHVibGljOgogICAg
ICAgICBYTUxEb2N1bWVudFBhcnNlclNjb3BlKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRS
ZXNvdXJjZUxvYWRlcik7CiAgICAgICAgIH5YTUxEb2N1bWVudFBhcnNlclNjb3BlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0dG9uQ29udHJvbGxlci5oCmluZGV4IDEy
ODZjMDcuLjRkOTI4YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRl
QnV0dG9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlQnV0
dG9uQ29udHJvbGxlci5oCkBAIC0zNiw3ICszNiw4IEBAIGNsYXNzIEhUTUxFbGVtZW50OwogY2xh
c3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgVmlzaWJsZVNlbGVjdGlvbjsKIAotY2xhc3MgRGVsZXRl
QnV0dG9uQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEZWxldGVCdXR0
b25Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWxldGVCdXR0b25Db250
cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVsZXRlQnV0
dG9uQ29udHJvbGxlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCmluZGV4IDI0Y2ZhNDEuLmY0N2NiNGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3Bw
CkBAIC02Miw3ICs2Miw4IEBAIGVudW0gRUZyYWdtZW50VHlwZSB7IEVtcHR5RnJhZ21lbnQsIFNp
bmdsZVRleHROb2RlRnJhZ21lbnQsIFRyZWVGcmFnbWVudCB9OwogCiAvLyAtLS0gUmVwbGFjZW1l
bnRGcmFnbWVudCBoZWxwZXIgY2xhc3MKIAotY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZXBsYWNlbWVudEZyYWdtZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZXBsYWNlbWVudEZyYWdtZW50KTsKIHB1YmxpYzoKICAgICBSZXBs
YWNlbWVudEZyYWdtZW50KERvY3VtZW50KiwgRG9jdW1lbnRGcmFnbWVudCosIGJvb2wgbWF0Y2hT
dHlsZSwgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCmluZGV4IGVlNTIxODcuLjNmODA1ZDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5oCkBAIC00OCw3ICs0OCw4
IEBAIGNsYXNzIFZpc2libGVQb3NpdGlvbjsKIAogZW51bSBEaXJlY3Rpb25hbGl0eVBvbGljeSB7
IE1ha2VOb25EaXJlY3Rpb25hbFNlbGVjdGlvbiwgTWFrZURpcmVjdGlvbmFsU2VsZWN0aW9uIH07
CiAKLWNsYXNzIFNlbGVjdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgU2VsZWN0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VsZWN0
aW9uQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGVu
dW0gRUFsdGVyYXRpb24geyBBbHRlcmF0aW9uTW92ZSwgQWx0ZXJhdGlvbkV4dGVuZCB9OwogICAg
IGVudW0gQ3Vyc29yQWxpZ25PblNjcm9sbCB7IEFsaWduQ3Vyc29yT25TY3JvbGxJZk5lZWRlZCwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCmluZGV4IGY2MjE1ZDIuLjgxYmI1MTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaApAQCAtNTQsNyArNTQsOCBAQCBw
cml2YXRlOgogICAgIGludCBtX2xlbmd0aDsKIH07CiAKLWNsYXNzIFNwZWxsQ2hlY2tlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTcGVsbENoZWNrZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFNwZWxsQ2hlY2tlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgU3BlbGxDaGVj
a2VyKEZyYW1lKiwgRWRpdG9yQ2xpZW50Kik7CiAgICAgflNwZWxsQ2hlY2tlcigpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXggMjI3NTMwZi4uOGI1
YzY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxw
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBA
IC03Miw3ICs3Miw4IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBpbnQgbV9jaGVja2luZ0xlbmd0
aDsKIH07CiAKLWNsYXNzIFRleHRDaGVja2luZ0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRl
eHRDaGVja2luZ0hlbHBlcik7CiBwdWJsaWM6CiAgICAgVGV4dENoZWNraW5nSGVscGVyKEVkaXRv
ckNsaWVudCosIFBhc3NSZWZQdHI8UmFuZ2U+KTsKICAgICB+VGV4dENoZWNraW5nSGVscGVyKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKaW5kZXggYzI0YmNiMi4uMWZj
NzYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtNjEsNyAr
NjEsOCBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogLy8gQ2FzZSBmb2xkaW5nIGlzIGFs
c28gZG9uZSBpZiB0aGUgQ2FzZUluc2Vuc2l0aXZlIG9wdGlvbiBpcyBzcGVjaWZpZWQuCiAvLyBN
YXRjaGVzIGFyZSBmdXJ0aGVyIGZpbHRlcmVkIGlmIHRoZSBBdFdvcmRTdGFydHMgb3B0aW9uIGlz
IHNwZWNpZmllZCwgYWx0aG91Z2ggc29tZQogLy8gbWF0Y2hlcyBpbnNpZGUgYSB3b3JkIGFyZSBw
ZXJtaXR0ZWQgaWYgVHJlYXRNZWRpYWxDYXBpdGFsQXNXb3JkU3RhcnQgaXMgc3BlY2lmaWVkIGFz
IHdlbGwuCi1jbGFzcyBTZWFyY2hCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
U2VhcmNoQnVmZmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZWFyY2hCdWZmZXIpOwog
cHVibGljOgogICAgIFNlYXJjaEJ1ZmZlcihjb25zdCBTdHJpbmcmIHRhcmdldCwgRmluZE9wdGlv
bnMpOwogICAgIH5TZWFyY2hCdWZmZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRmlsZVRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgK
aW5kZXggZDdhYWJmNy4uNDUyMDVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9GaWxlVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlVGhyZWFkLmgK
QEAgLTU0LDcgKzU0LDggQEAgcHVibGljOgogICAgIGJvb2wgc3RhcnQoKTsKICAgICB2b2lkIHN0
b3AoKTsKIAotICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFRhc2sgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIHZpcnR1YWwgflRhc2soKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHBlcmZv
cm1UYXNrKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZp
bGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5k
ZXggYjc3OWE1Zi4uMTJhNzAxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9M
b2NhbEZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5
c3RlbS5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIEZpbGVTeXN0ZW1DYWxsYmFjazsKIGNsYXNz
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIEtlZXBzIHBlci1wcm9jZXNzIGluZm9ybWF0
aW9uIGFuZCBwcm92aWRlcyBhbiBlbnRyeSBwb2ludCB0byBvcGVuIGEgZmlsZSBzeXN0ZW0uCi1j
bGFzcyBMb2NhbEZpbGVTeXN0ZW0gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxG
aWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbEZpbGVTeXN0ZW0pOwog
cHVibGljOgogICAgIC8vIFJldHVybnMgYSBwZXItcHJvY2VzcyBpbnN0YW5jZSBvZiBMb2NhbEZp
bGVTeXN0ZW0uCiAgICAgLy8gTm90ZSB0aGF0IExvY2FsRmlsZVN5c3RlbTo6aW5pdGlhbGl6ZUxv
Y2FsRmlsZVN5c3RlbSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCmluZGV4IDI1ZTY3MzkuLjAyMGFjNDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZmlsZWFwaS9TeW5jQ2FsbGJhY2tIZWxwZXIuaApAQCAtNTgsNyArNTgsOCBA
QCBjbGFzcyBGaWxlRW50cnlTeW5jOwogCiAvLyBBIGhlbHBlciB0ZW1wbGF0ZSBmb3IgRmlsZVN5
c3RlbVN5bmMgaW1wbGVtZW50YXRpb24uCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgU3VjY2Vzc0NhbGxi
YWNrLCB0eXBlbmFtZSBPYnNlcnZlclR5cGUsIHR5cGVuYW1lIENhbGxiYWNrQXJnLCB0eXBlbmFt
ZSBSZXN1bHRUeXBlPgotY2xhc3MgU3luY0NhbGxiYWNrSGVscGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFN5bmNDYWxsYmFja0hlbHBlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU3luY0NhbGxiYWNrSGVscGVyKTsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFN5bmNDYWxsYmFj
a0hlbHBlcjxTdWNjZXNzQ2FsbGJhY2ssIE9ic2VydmVyVHlwZSwgQ2FsbGJhY2tBcmcsIFJlc3Vs
dFR5cGU+IEhlbHBlclR5cGU7CiAgICAgU3luY0NhbGxiYWNrSGVscGVyKE9ic2VydmVyVHlwZSog
b2JzZXJ2ZXIgPSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDb250
cm9sbGVyLmgKaW5kZXggZTg5ZTMyYi4uMTI4ODRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaGlzdG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
aXN0b3J5L0JhY2tGb3J3YXJkQ29udHJvbGxlci5oCkBAIC0zNiw3ICszNiw4IEBAIGNsYXNzIEJh
Y2tGb3J3YXJkTGlzdDsKIGNsYXNzIEhpc3RvcnlJdGVtOwogY2xhc3MgUGFnZTsKIAotY2xhc3Mg
QmFja0ZvcndhcmRDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEJhY2tG
b3J3YXJkQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQmFja0ZvcndhcmRD
b250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQmFja0Zv
cndhcmRDb250cm9sbGVyKFBhZ2UqLCBQYXNzUmVmUHRyPEJhY2tGb3J3YXJkTGlzdD4pOwogICAg
IH5CYWNrRm9yd2FyZENvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hp
c3RvcnkvUGFnZUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5oCmlu
ZGV4IDcxYWU1YWQuLjkxMmJkNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2hpc3Rvcnkv
UGFnZUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaApAQCAt
MzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgSGlzdG9yeUl0ZW07
CiAgICAgY2xhc3MgUGFnZTsKICAgICAKLSAgICBjbGFzcyBQYWdlQ2FjaGUgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFBhZ2VDYWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBhZ2VDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgZnJpZW5kIFBhZ2VDYWNoZSogcGFnZUNhY2hlKCk7CiAgICAgICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKaW5kZXggZGYxZDFmYS4uOGU0YTA2NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCkBAIC0yOSw3ICsyOSw5IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotc3RydWN0IENvbGxlY3Rpb25DYWNoZSA6
IEZhc3RBbGxvY0Jhc2Ugeworc3RydWN0IENvbGxlY3Rpb25DYWNoZSB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ29sbGVjdGlvbkNhY2hlKCk7CiAgICAgQ29s
bGVjdGlvbkNhY2hlKGNvbnN0IENvbGxlY3Rpb25DYWNoZSYpOwogICAgIENvbGxlY3Rpb25DYWNo
ZSYgb3BlcmF0b3I9KGNvbnN0IENvbGxlY3Rpb25DYWNoZSYgb3RoZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKaW5kZXggMmI3MTFiNC4uOGY2ZmQ0ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaApAQCAtMzUsNiArMzUs
NyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBET01TZXR0YWJsZVRva2VuTGlzdCA6
IHB1YmxpYyBET01Ub2tlbkxpc3QsIHB1YmxpYyBSZWZDb3VudGVkPERPTVNldHRhYmxlVG9rZW5M
aXN0PiB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8RE9NU2V0dGFibGVUb2tlbkxpc3Q+IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvRE9NVG9rZW5MaXN0LmgKaW5kZXggNWRmMmVkZS4uMGI3NWI2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9ET01Ub2tlbkxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0RPTVRva2VuTGlzdC5oCkBAIC0yNywxNSArMjcsMTYgQEAKIAogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIAotY2xhc3MgRE9NVG9rZW5MaXN0IDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERPTVRva2VuTGlzdCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRE9NVG9rZW5MaXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CisgICAgRE9NVG9rZW5MaXN0KCkgeyB9CiAgICAgdmlydHVhbCB+RE9NVG9rZW5MaXN0KCkge307
CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVmKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQYXJz
ZXJRdWlya3MuaAppbmRleCA1MGRlNzEwLi4zYmYyMmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQYXJzZXJRdWlya3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQYXJzZXJRdWlya3MuaApAQCAtMjcsMTMgKzI3LDEzIEBACiAjZGVmaW5lIEhUTUxQYXJzZXJR
dWlya3NfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBOb2RlOwogCi1jbGFzcyBI
VE1MUGFyc2VyUXVpcmtzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxQYXJzZXJR
dWlya3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJzZXJRdWlya3MpOwogcHVi
bGljOgogICAgIEhUTUxQYXJzZXJRdWlya3MoKSB7IH0KICAgICB2aXJ0dWFsIH5IVE1MUGFyc2Vy
UXVpcmtzKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAppbmRleCBlYTQ1NDFmLi5lNmNlYjk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNkZWZpbmUgSW5w
dXRUeXBlX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL0Zhc3RB
bGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpAQCAtNTYsMTcgKzU3LDE4IEBAIGNs
YXNzIFdoZWVsRXZlbnQ7CiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiBzdHJ1Y3QgQ2xp
Y2tIYW5kbGluZ1N0YXRlIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBib29sIGNoZWNrZWQ7CiAgICAgYm9vbCBpbmRldGVybWluYXRlOwogICAgIFJlZlB0cjxI
VE1MSW5wdXRFbGVtZW50PiBjaGVja2VkUmFkaW9CdXR0b247Ci0KLSAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRAogfTsKIAogLy8gQW4gSW5wdXRUeXBlIG9iamVjdCByZXByZXNlbnRzIHRoZSB0
eXBlLXNwZWNpZmljIHBhcnQgb2YgYW4gSFRNTElucHV0RWxlbWVudC4KIC8vIERvIG5vdCBleHBv
c2UgaW5zdGFuY2VzIG9mIElucHV0VHlwZSBhbmQgY2xhc3NlcyBkZXJpdmVkIGZyb20gaXQgdG8g
Y2xhc3NlcwogLy8gb3RoZXIgdGhhbiBIVE1MSW5wdXRFbGVtZW50LgotY2xhc3MgSW5wdXRUeXBl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElucHV0VHlwZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5wdXRUeXBlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5wdXRUeXBlPiBjcmVhdGUoSFRNTElucHV0RWxlbWVu
dCosIGNvbnN0IFN0cmluZyYpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3Jl
YXRlVGV4dChIVE1MSW5wdXRFbGVtZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1N0ZXBSYW5nZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2UuaAppbmRleCBj
ZTA0NGVhLi4yZmExMzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5n
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKQEAgLTI4LDcgKzI4LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MSW5wdXRFbGVtZW50OwogCi1jbGFz
cyBTdGVwUmFuZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RlcFJhbmdlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGVwUmFuZ2UpOwogcHVibGljOgogICAgIGJvb2wgaGFz
U3RlcDsKICAgICBkb3VibGUgc3RlcDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
VmFsaWRhdGlvbk1lc3NhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3Nh
Z2UuaAppbmRleCA1ZmExZjk2Li43Y2QwY2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0
aW9uTWVzc2FnZS5oCkBAIC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEZvcm1Bc3NvY2lhdGVkRWxlbWVudDsKIGNsYXNzIEhUTUxFbGVtZW50OwogCi1jbGFzcyBWYWxp
ZGF0aW9uTWVzc2FnZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWYWxpZGF0aW9uTWVz
c2FnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRhdGlvbk1lc3NhZ2UpOwogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPFZhbGlkYXRpb25NZXNzYWdlPiBjcmVhdGUoRm9y
bUFzc29jaWF0ZWRFbGVtZW50Kik7CiAgICAgflZhbGlkYXRpb25NZXNzYWdlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5oCmluZGV4IGUxNDBjNDkuLjRhOTY0ODggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgVmFsaWRpdHlTdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBWYWxpZGl0eVN0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWYWxpZGl0eVN0YXRl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8VmFsaWRpdHlTdGF0ZT4gY3JlYXRlKEZvcm1Bc3NvY2lhdGVkRWxlbWVudCogY29udHJvbCkK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0LmgKaW5kZXggYTI1ZThhMS4uYTE0MzU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaApAQCAtNDEsNyArNDEs
OCBAQCBjbGFzcyBIVE1MVmlkZW9FbGVtZW50OwogY2xhc3MgS1VSTDsKIGNsYXNzIFdlYkdMT2Jq
ZWN0OwogCi1jbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENhbnZhc1JlbmRlcmluZ0NvbnRleHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0KEhUTUxDYW52YXNFbGVtZW50Kik7CiAg
ICAgdmlydHVhbCB+Q2FudmFzUmVuZGVyaW5nQ29udGV4dCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmgKaW5kZXggN2FjMjgyZi4uZmFlOTVh
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5u
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5o
CkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50Owog
Y2xhc3MgSFRNTFRva2VuOwogCi1jbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBDU1NQcmVsb2FkU2Nhbm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUHJlbG9hZFNjYW5uZXIpOwogcHVibGljOgogICAgIENTU1ByZWxvYWRTY2FubmVy
KERvY3VtZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxDb25zdHJ1Y3Rpb25TaXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29u
c3RydWN0aW9uU2l0ZS5oCmluZGV4IDhiMDliZjUuLjVhNGE2NWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaApAQCAtNDAsNyArNDAs
OCBAQCBjbGFzcyBBdG9taWNIVE1MVG9rZW47CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEVsZW1l
bnQ7CiAKLWNsYXNzIEhUTUxDb25zdHJ1Y3Rpb25TaXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEhUTUxDb25zdHJ1Y3Rpb25TaXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
VE1MQ29uc3RydWN0aW9uU2l0ZSk7CiBwdWJsaWM6CiAgICAgSFRNTENvbnN0cnVjdGlvblNpdGUo
RG9jdW1lbnQqLCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24sIGJvb2wgaXNQYXJzaW5nRnJh
Z21lbnQpOwogICAgIH5IVE1MQ29uc3RydWN0aW9uU2l0ZSgpOwpAQCAtODksNyArOTAsOCBAQCBw
dWJsaWM6CiAgICAgSFRNTEZvcm1FbGVtZW50KiBmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9mb3Jt
LmdldCgpOyB9CiAgICAgUGFzc1JlZlB0cjxIVE1MRm9ybUVsZW1lbnQ+IHRha2VGb3JtKCk7CiAK
LSAgICBjbGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJlZGlyZWN0VG9Gb3N0ZXJQYXJlbnRHdWFyZCk7CiAgICAgcHVi
bGljOgogICAgICAgICBSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQoSFRNTENvbnN0cnVjdGlv
blNpdGUmIHRyZWUpCiAgICAgICAgICAgICA6IG1fdHJlZSh0cmVlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCA4MGNhNzI3Li5mOTI1
MjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJz
ZXIuaApAQCAtNTAsNiArNTAsNyBAQCBjbGFzcyBTY3JpcHRDb250cm9sbGVyOwogY2xhc3MgU2Ny
aXB0U291cmNlQ29kZTsKIAogY2xhc3MgSFRNTERvY3VtZW50UGFyc2VyIDogIHB1YmxpYyBTY3Jp
cHRhYmxlRG9jdW1lbnRQYXJzZXIsIEhUTUxTY3JpcHRSdW5uZXJIb3N0LCBDYWNoZWRSZXNvdXJj
ZUNsaWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8SFRNTERvY3VtZW50UGFyc2VyPiBjcmVhdGUoSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCmluZGV4IDhhOGUxNjAuLmFkOGI5NDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKQEAgLTM5LDEy
ICszOSwxNCBAQCBjbGFzcyBRdWFsaWZpZWROYW1lOwogCiAvLyBOT1RFOiBUaGUgSFRNTDUgc3Bl
YyB1c2VzIGEgYmFja3dhcmRzIChncm93cyBkb3dud2FyZCkgc3RhY2suICBXZSdyZSB1c2luZwog
Ly8gbW9yZSBzdGFuZGFyZCAoZ3Jvd3MgdXB3YXJkcykgc3RhY2sgdGVybWlub2xvZ3kgaGVyZS4K
LWNsYXNzIEhUTUxFbGVtZW50U3RhY2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRN
TEVsZW1lbnRTdGFjayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEVsZW1lbnRTdGFj
ayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEhUTUxFbGVtZW50U3Rh
Y2soKTsKICAgICB+SFRNTEVsZW1lbnRTdGFjaygpOwogCi0gICAgY2xhc3MgRWxlbWVudFJlY29y
ZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRWxlbWVudFJlY29yZCB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEVsZW1lbnRSZWNvcmQpOwogICAgIHB1YmxpYzoKICAg
ICAgICAgfkVsZW1lbnRSZWNvcmQoKTsgLy8gUHVibGljIGZvciB+UGFzc093blB0cigpCiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0Vs
ZW1lbnRMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0Vs
ZW1lbnRMaXN0LmgKaW5kZXggYWNhMDViYi4uZjc1ZmE1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaApAQCAtMzUs
NyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBFbGVtZW50OwogCiAvLyBUaGlz
IG1heSBlbmQgdXAgbWVyZ2VkIGludG8gSFRNTEVsZW1lbnRTdGFjay4KLWNsYXNzIEhUTUxGb3Jt
YXR0aW5nRWxlbWVudExpc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTEZvcm1h
dHRpbmdFbGVtZW50TGlzdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTEZvcm1hdHRp
bmdFbGVtZW50TGlzdCk7CiBwdWJsaWM6CiAgICAgSFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCgp
OwogICAgIH5IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCmluZGV4IDFiZmJhZjkuLmQ5NWVjMzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxJbnB1dFN0cmVhbS5oCkBAIC00Nyw3ICs0
Nyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIC8vIG1fbGFzdCBpcyBhIHBvaW50ZXIgdG8gdGhl
IGxhc3Qgb2YgdGhlIGFmdGVySW5zZXJ0aW9uUG9pbnQgc3RyaW5ncy4KIC8vIFRoZSBuZXR3b3Jr
IGFkZHMgZGF0YSBhdCB0aGUgZW5kIG9mIHRoZSBJbnB1dFN0cmVhbSwgd2hpY2ggYXBwZW5kcwog
Ly8gdGhlbSB0byB0aGUgImxhc3QiIHN0cmluZy4KLWNsYXNzIEhUTUxJbnB1dFN0cmVhbSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MSW5wdXRTdHJlYW0geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhUTUxJbnB1dFN0cmVhbSk7CiBwdWJsaWM6CiAgICAgSFRNTElucHV0U3Ry
ZWFtKCkKICAgICAgICAgOiBtX2xhc3QoJm1fZmlyc3QpCkBAIC0xMjksNyArMTMwLDggQEAgcHJp
dmF0ZToKICAgICBTZWdtZW50ZWRTdHJpbmcqIG1fbGFzdDsKIH07CiAKLWNsYXNzIEluc2VydGlv
blBvaW50UmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc2VydGlvblBvaW50
UmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNlcnRpb25Qb2ludFJlY29yZCk7
CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgSW5zZXJ0aW9uUG9pbnRSZWNvcmQoSFRNTElucHV0U3Ry
ZWFtJiBpbnB1dFN0cmVhbSkKICAgICAgICAgOiBtX2lucHV0U3RyZWFtKCZpbnB1dFN0cmVhbSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBh
cnNlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2Vy
LmgKaW5kZXggYzMxMzZmNS4uNDVmYmFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmgKQEAgLTM2LDcgKzM2LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgSFRNTFRva2VuaXplcjsKIGNsYXNzIFRleHRDb2RlYzsKIAot
Y2xhc3MgSFRNTE1ldGFDaGFyc2V0UGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxNZXRhQ2hhcnNldFBhcnNlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTE1l
dGFDaGFyc2V0UGFyc2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MTWV0
YUNoYXJzZXRQYXJzZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBIVE1MTWV0YUNo
YXJzZXRQYXJzZXIoKSk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFBhcnNlclNjaGVkdWxlci5oCmluZGV4IDNhMjBiMmIuLmM0MTVjNjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJTY2hlZHVsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKQEAgLTI4LDE0ICsy
OCwxNCBAQAogCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUu
aD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlcjsK
IAotY2xhc3MgSFRNTFBhcnNlclNjaGVkdWxlciA6ICBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFRNTFBhcnNlclNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFBh
cnNlclNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPEhUTUxQYXJzZXJTY2hlZHVsZXI+IGNyZWF0ZShIVE1MRG9jdW1lbnRQ
YXJzZXIqIHBhcnNlcikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxQcmVsb2FkU2Nhbm5lci5oCmluZGV4IDk0YTkwZTYuLmJlZDc3ZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5oCkBAIC0zMCw3ICszMCw2
IEBACiAjaW5jbHVkZSAiQ1NTUHJlbG9hZFNjYW5uZXIuaCIKICNpbmNsdWRlICJIVE1MVG9rZW4u
aCIKICNpbmNsdWRlICJTZWdtZW50ZWRTdHJpbmcuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zOSw3ICszOCw4IEBAIGNsYXNzIEhU
TUxUb2tlbjsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFzcyBTZWdtZW50ZWRTdHJpbmc7CiAK
LWNsYXNzIEhUTUxQcmVsb2FkU2Nhbm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBI
VE1MUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQcmVsb2Fk
U2Nhbm5lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEhUTUxQcmVs
b2FkU2Nhbm5lcihEb2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MU2NyaXB0UnVubmVyLmgKaW5kZXggNmNmNzRkOC4uOTg2ZjdiZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaApAQCAtMjksNyArMjksNiBAQAog
I2luY2x1ZGUgIlBlbmRpbmdTY3JpcHQuaCIKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9UZXh0UG9zaXRpb24uaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC00Miw3ICs0MSw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgSFRNTFNjcmlwdFJ1bm5lckhvc3Q7
CiBjbGFzcyBTY3JpcHRTb3VyY2VDb2RlOwogCi1jbGFzcyBIVE1MU2NyaXB0UnVubmVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxTY3JpcHRSdW5uZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhUTUxTY3JpcHRSdW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MU2NyaXB0UnVubmVyPiBjcmVhdGUo
RG9jdW1lbnQqIGRvY3VtZW50LCBIVE1MU2NyaXB0UnVubmVySG9zdCogaG9zdCkKICAgICB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCmluZGV4IDQyY2RkYjguLjFjYmMxNTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbi5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgSFRNTFRva2VuX2gKIAogI2luY2x1ZGUgIk5hbWVkTm9kZU1hcC5oIgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIEhU
TUxUb2tlbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVG9rZW4geworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUb2tlbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIFVuaW5pdGlhbGl6ZWQsCkBAIC0zMTMs
NyArMzEzLDggQEAgcHJpdmF0ZToKICAgICAvLyB3YW50IHRvIGVuZCB1cCB3aXRoIGEgY2xlYW5l
ciBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgdHdvIGNsYXNzZXMuCiAgICAgZnJpZW5kIGNsYXNzIEF0
b21pY0hUTUxUb2tlbjsKIAotICAgIGNsYXNzIERvY3R5cGVEYXRhIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBEb2N0eXBlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKERvY3R5cGVEYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvY3R5cGVEYXRhKCkKICAg
ICAgICAgICAgIDogbV9oYXNQdWJsaWNJZGVudGlmaWVyKGZhbHNlKQpAQCAtMzUyLDcgKzM1Myw4
IEBAIHByaXZhdGU6CiAKIC8vIEZJWE1FOiBUaGlzIGNsYXNzIHNob3VsZCBldmVudHVhbGx5IGJl
IG5hbWVkIEhUTUxUb2tlbiBvbmNlIHdlIG1vdmUgdGhlCiAvLyBleGl0aW5nIEhUTUxUb2tlbiB0
byBiZSBpbnRlcm5hbCB0byB0aGUgSFRNTFRva2VuaXplci4KLWNsYXNzIEF0b21pY0hUTUxUb2tl
biA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdG9taWNIVE1MVG9rZW4geworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEF0b21pY0hUTUxUb2tlbik7CiBwdWJsaWM6CiAgICAgQXRvbWlj
SFRNTFRva2VuKEhUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIDogbV90eXBlKHRva2VuLnR5cGUo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaAppbmRleCBmMTZi
MDQ5Li5mYTQ1Y2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VG9rZW5pemVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXpl
ci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBGcmFtZTsKIGNsYXNz
IEhUTUxUb2tlbjsKIAotY2xhc3MgSFRNTFRva2VuaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIVE1MVG9rZW5pemVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MVG9r
ZW5pemVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgZW51bSBTdGF0
ZSB7CiAgICAgICAgIERhdGFTdGF0ZSwKQEAgLTE3Miw3ICsxNzMsOCBAQCBwdWJsaWM6CiAKIHBy
aXZhdGU6CiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJl
bnQtd29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtCi0gICAgY2xhc3MgSW5wdXRT
dHJlYW1QcmVwcm9jZXNzb3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIElucHV0
U3RyZWFtUHJlcHJvY2Vzc29yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5wdXRT
dHJlYW1QcmVwcm9jZXNzb3IpOwogICAgIHB1YmxpYzoKICAgICAgICAgSW5wdXRTdHJlYW1QcmVw
cm9jZXNzb3IoSFRNTFRva2VuaXplciogdG9rZW5pemVyKQogICAgICAgICAgICAgOiBtX3Rva2Vu
aXplcih0b2tlbml6ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAppbmRleCAwMjcxM2U1Li45N2NlZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTI0MSw3ICsyNDEsOCBAQCBIVE1M
Rm9ybUVsZW1lbnQqIGNsb3Nlc3RGb3JtQW5jZXN0b3IoRWxlbWVudCogZWxlbWVudCkKIAogfSAv
LyBuYW1lc3BhY2UKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRv
a2VuQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxUcmVlQnVpbGRlcjo6
RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RXh0ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgRXh0
ZXJuYWxDaGFyYWN0ZXJUb2tlbkJ1ZmZlcihBdG9taWNIVE1MVG9rZW4mIHRva2VuKQogICAgICAg
ICA6IG1fY3VycmVudCh0b2tlbi5jaGFyYWN0ZXJzKCkuZGF0YSgpKQpAQCAtMjM0Miw3ICsyMzQz
LDggQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnJlcHJvY2Vzc0VuZFRhZyhBdG9taWNIVE1MVG9r
ZW4mIHRva2VuKQogICAgIHByb2Nlc3NFbmRUYWcodG9rZW4pOwogfQogCi1jbGFzcyBIVE1MVHJl
ZUJ1aWxkZXI6OkZha2VJbnNlcnRpb25Nb2RlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxUcmVlQnVpbGRlcjo6RmFrZUluc2VydGlvbk1vZGUgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEZha2VJbnNlcnRpb25Nb2RlKTsKIHB1YmxpYzoKICAgICBGYWtlSW5zZXJ0aW9uTW9k
ZShIVE1MVHJlZUJ1aWxkZXIqIHRyZWVCdWlsZGVyLCBJbnNlcnRpb25Nb2RlIG1vZGUpCiAgICAg
ICAgIDogbV90cmVlQnVpbGRlcih0cmVlQnVpbGRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKaW5kZXggMTdiNzdiNy4uMzA5YWM2ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmgKQEAgLTUxLDcgKzUxLDgg
QEAgY2xhc3MgSFRNTERvY3VtZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIEhUTUxEb2N1bWVudFBh
cnNlcjsKIAotY2xhc3MgSFRNTFRyZWVCdWlsZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEhUTUxUcmVlQnVpbGRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRyZWVC
dWlsZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NPd25QdHI8SFRNTFRyZWVCdWlsZGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFyc2VyKiBwYXJz
ZXIsIEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzLCBib29sIHVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzKQogICAgIHsKQEAgLTIwNCw3ICsyMDUsOCBAQCBwcml2YXRlOgog
ICAgIHZvaWQgcHJvY2Vzc0ZvcmVpZ25Db250ZW50VXNpbmdJbkJvZHlNb2RlQW5kUmVzZXRNb2Rl
KEF0b21pY0hUTUxUb2tlbiYgdG9rZW4pOwogICAgIHZvaWQgcmVzZXRGb3JlaWduSW5zZXJ0aW9u
TW9kZSgpOwogCi0gICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZyYWdtZW50UGFyc2luZ0NvbnRleHQpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgRnJhZ21lbnRQYXJzaW5nQ29udGV4dCgpOwogICAgICAgICBGcmFnbWVudFBhcnNp
bmdDb250ZXh0KERvY3VtZW50RnJhZ21lbnQqLCBFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgRnJh
Z21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3JlbWVudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oCmluZGV4IGM1OTc4NzYuLjgxNTU2MzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3Jl
bWVudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvTmVzdGluZ0xldmVsSW5j
cmVtZW50ZXIuaApAQCAtMjgsNyArMjgsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIE5lc3RpbmdMZXZlbEluY3JlbWVudGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE5lc3RpbmdMZXZlbEluY3JlbWVudGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXN0
aW5nTGV2ZWxJbmNyZW1lbnRlcik7CiBwdWJsaWM6CiAgICAgZXhwbGljaXQgTmVzdGluZ0xldmVs
SW5jcmVtZW50ZXIodW5zaWduZWQmIG5lc3RpbmdMZXZlbCkKICAgICAgICAgOiBtX25lc3RpbmdM
ZXZlbCgmbmVzdGluZ0xldmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0NvbnNvbGVNZXNzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29uc29sZU1lc3Nh
Z2UuaAppbmRleCAzMTBhYThlLi43YzMzNDhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvQ29uc29sZU1lc3NhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
Q29uc29sZU1lc3NhZ2UuaApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBTY3JpcHRDYWxsRnJhbWU7
CiBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiBjbGFzcyBTY3JpcHRWYWx1ZTsKIAotY2xhc3MgQ29u
c29sZU1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ29uc29sZU1lc3NhZ2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnNvbGVNZXNzYWdlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwg
TWVzc2FnZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCB1bnNpZ25lZCBsaSwg
Y29uc3QgU3RyaW5nJiB1KTsKICAgICBDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNz
YWdlVHlwZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG0sIFBhc3NSZWZQdHI8U2NyaXB0
QXJndW1lbnRzPiwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQu
aAppbmRleCAzZDllNDk0Li5hYzBhY2JmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCkBAIC00MSw3ICs0
MSw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOwogY2xh
c3MgUmVzb3VyY2VSZXNwb25zZTsKIAotY2xhc3MgSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFn
ZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQXBwbGljYXRpb25D
YWNoZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50KEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNv
bnRyb2xsZXIsIEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCk7CiAgICAgfkluc3BlY3RvckFw
cGxpY2F0aW9uQ2FjaGVBZ2VudCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaAppbmRleCA1MzdiZGExLi42
YWYzMWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQnJv
d3NlckRlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQuaApAQCAtNDgsNyArNDgsOCBAQCBjbGFzcyBJbnNwZWN0
b3JDb250cm9sbGVyOwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgTm9kZTsKIAotY2xh
c3MgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50KTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudD4gY3JlYXRlKEluc3Bl
Y3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNvbGVBZ2VudC5oCmluZGV4IDk3ZmNiM2Yu
LmEzZTZhNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b25zb2xlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
c29sZUFnZW50LmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgU2NyaXB0QXJndW1lbnRzOwogY2xh
c3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xhc3MgSW5zcGVj
dG9yQ29uc29sZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEluc3BlY3RvckNv
bnNvbGVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yQ29uc29sZUFn
ZW50KTsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JDb25zb2xlQWdlbnQoSW5zcGVjdG9yQ29udHJv
bGxlciosIEluc3BlY3RvclN0YXRlKik7CiAgICAgfkluc3BlY3RvckNvbnNvbGVBZ2VudCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXgg
YWI4Mzc3ZC4uYjA5YmYyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5oCkBAIC0xMDUsNyArMTA1LDggQEAgY2xhc3MgV2ViU29ja2V0SGFuZHNo
YWtlUmVxdWVzdDsKIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlOwogI2VuZGlmCiAK
LWNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SW5zcGVjdG9yQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9y
Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBjb25zdCBjaGFyKiBjb25zdCBDb25zb2xlUGFuZWw7CiAgICAgc3RhdGljIGNvbnN0IGNoYXIq
IGNvbnN0IEVsZW1lbnRzUGFuZWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRlYnVnZ2VyQWdlbnQuaAppbmRleCA5OGFjMWY5Li40Y2I5ZjljIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50LmgKQEAgLTUz
LDcgKzUzLDggQEAgZW51bSBEZWJ1Z2dlckV2ZW50VHlwZSB7CiAgICAgTmF0aXZlQnJlYWtwb2lu
dERlYnVnZ2VyRXZlbnRUeXBlCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JEZWJ1Z2dlckFnZW50IDog
cHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
bnNwZWN0b3JEZWJ1Z2dlckFnZW50IDogcHVibGljIFNjcmlwdERlYnVnTGlzdGVuZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckRlYnVnZ2VyQWdlbnQpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JE
ZWJ1Z2dlckFnZW50PiBjcmVhdGUoSW5zcGVjdG9yQ29udHJvbGxlciosIEluc3BlY3RvckZyb250
ZW5kKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRGVidWdnZXJBZ2VudCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2Fs
LmgKaW5kZXggOWRjYWE1YS4uMTlmNmFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5oCkBAIC00MSw3ICs0MSw4
IEBAIGNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZEhv
c3Q7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsIDog
cHVibGljIEluc3BlY3RvckZyb250ZW5kQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1YmxpYyBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRMb2NhbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50TG9jYWwoSW5zcGVjdG9yQ29udHJvbGxlciosIFBhZ2UqKTsKICAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmlsZXJBZ2VudC5oIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaAppbmRleCBlNjc4NDhkLi4x
NjA4ZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJv
ZmlsZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9m
aWxlckFnZW50LmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xh
c3MgU2NyaXB0SGVhcFNuYXBzaG90OwogY2xhc3MgU2NyaXB0UHJvZmlsZTsKIAotY2xhc3MgSW5z
cGVjdG9yUHJvZmlsZXJBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0
b3JQcm9maWxlckFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JQcm9m
aWxlckFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8SW5zcGVjdG9yUHJvZmlsZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRy
b2xsZXIqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JQcm9maWxlckFnZW50KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUnVudGltZUFnZW50LmgKaW5kZXggYTEz
ZWI1OS4uYjRmMzcwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJ1bnRpbWVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JSdW50aW1lQWdlbnQuaApAQCAtNDYsNyArNDYsOCBAQCBjbGFzcyBJbmplY3RlZFNjcmlwdEhv
c3Q7CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0b3JWYWx1ZTsKIAotY2xh
c3MgSW5zcGVjdG9yUnVudGltZUFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
c3BlY3RvclJ1bnRpbWVBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9y
UnVudGltZUFnZW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JS
dW50aW1lQWdlbnQ+IGNyZWF0ZShJbmplY3RlZFNjcmlwdEhvc3QqIGluamVjdGVkU2NyaXB0SG9z
dCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuaAppbmRleCAzM2UyNzM3Li5jYWU1YWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTcwLDcgKzcwLDggQEAg
ZW51bSBUaW1lbGluZVJlY29yZFR5cGUgewogICAgIFNjaGVkdWxlUmVzb3VyY2VSZXF1ZXN0VGlt
ZWxpbmVSZWNvcmRUeXBlID0gMjAKIH07CiAKLWNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQg
OiBTY3JpcHRHQ0V2ZW50TGlzdGVuZXIsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50IDogU2NyaXB0R0NFdmVudExpc3RlbmVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShJbnNwZWN0b3JUaW1lbGluZUFnZW50KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudChJbnNwZWN0b3JGcm9u
dGVuZCogZnJvbnRlbmQpOwogICAgIH5JbnNwZWN0b3JUaW1lbGluZUFnZW50KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNo
ZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2Fj
aGUuaAppbmRleCAxMDE2YWVkLi5kZGQ1MDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmgKQEAgLTM4LDcgKzM4
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhUVFBIZWFkZXJNYXA7CiAgICAg
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAotICAgIGNsYXNzIENyb3NzT3JpZ2luUHJlZmxpZ2h0
UmVzdWx0Q2FjaGVJdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9zc09y
aWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGVJdGVtKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlSXRlbShib29sIGNyZWRlbnRpYWxzKQogICAgICAgICAgICAgOiBtX2Fic29sdXRlRXhw
aXJ5VGltZSgwKQpAQCAtNjMsNyArNjQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IEhlYWRlcnNTZXQgbV9oZWFkZXJzOwogICAgIH07CiAKLSAgICBjbGFzcyBDcm9zc09yaWdpblBy
ZWZsaWdodFJlc3VsdENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDcm9z
c09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVz
dWx0Q2FjaGUmIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZWJmM2EyNS4uM2EzY2M2NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaApAQCAtNDcsNiAr
NDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlckNs
aWVudDsKIAogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZD
b3VudGVkPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVy
LCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7CisgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291
cmNlU3luY2hyb25vdXNseShEb2N1bWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwogICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+IGNyZWF0ZShE
b2N1bWVudCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRXcml0ZXIuaAppbmRleCA1ZmIzZGMxLi5mYjkzNjA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRXcml0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRXcml0ZXIuaApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNz
IFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIAotY2xhc3MgRG9j
dW1lbnRXcml0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRG9jdW1lbnRXcml0ZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERvY3VtZW50V3JpdGVyKTsKIHB1YmxpYzoKICAg
ICBEb2N1bWVudFdyaXRlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKaW5kZXggZTRjZWZjNS4uZjY3MDAyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuaApAQCAtMjE0LDggKzIxNCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKIH07CiAKLWNsYXNzIEVt
cHR5RnJhbWVMb2FkZXJDbGllbnQgOiBwdWJsaWMgRnJhbWVMb2FkZXJDbGllbnQsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1l
TG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUZyYW1lTG9hZGVy
Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRW1wdHlGcmFt
ZUxvYWRlckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RnJhbWVMb2FkZXJDbGllbnQo
KSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGZyYW1lTG9hZGVyRGVzdHJveWVkKCkgeyB9CiAKQEAg
LTM4Nyw4ICszODksMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGcmFtZU5l
dHdvcmtpbmdDb250ZXh0PiBjcmVhdGVOZXR3b3JraW5nQ29udGV4dCgpIHsgcmV0dXJuIFBhc3NS
ZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4oKTsgfQogfTsKIAotY2xhc3MgRW1wdHlFZGl0
b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRW1wdHlFZGl0b3JDbGllbnQgOiBwdWJsaWMgRWRpdG9yQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShFbXB0eUVkaXRvckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgorICAgIEVtcHR5RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+RW1w
dHlFZGl0b3JDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpIHsg
fQogCkBAIC01MDEsOCArNTA1LDEwIEBAIHB1YmxpYzoKIH07CiAKICNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJsaWMgQ29udGV4dE1l
bnVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xp
ZW50IDogcHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFbXB0eUNvbnRleHRNZW51Q2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CisgICAgRW1wdHlDb250ZXh0TWVudUNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5
Q29udGV4dE1lbnVDbGllbnQoKSB7ICB9CiAgICAgdmlydHVhbCB2b2lkIGNvbnRleHRNZW51RGVz
dHJveWVkKCkgeyB9CiAKQEAgLTUyOCw4ICs1MzQsMTAgQEAgcHVibGljOgogI2VuZGlmIC8vIEVO
QUJMRShDT05URVhUX01FTlVTKQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLWNsYXNzIEVt
cHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRW1wdHlEcmFnQ2xpZW50IDogcHVibGljIERyYWdDbGllbnQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEVtcHR5RHJhZ0NsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgorICAgIEVtcHR5RHJhZ0NsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5RHJh
Z0NsaWVudCgpIHt9CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9u
QWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgRHJhZ0RhdGEqKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgd2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb24sIGNvbnN0
IEludFBvaW50JiwgQ2xpcGJvYXJkKikgeyB9CkBAIC01NDEsOCArNTQ5LDEwIEBAIHB1YmxpYzoK
IH07CiAjZW5kaWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKIAotY2xhc3MgRW1wdHlJbnNwZWN0
b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRW1wdHlJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbXB0eUluc3BlY3RvckNsaWVudCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAg
ICAgdmlydHVhbCB+RW1wdHlJbnNwZWN0b3JDbGllbnQoKSB7IH0KIAogICAgIHZpcnR1YWwgdm9p
ZCBpbnNwZWN0b3JEZXN0cm95ZWQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Gb3JtU3VibWlzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1TdWJtaXNz
aW9uLmgKaW5kZXggZDcyNDgzNS4uN2Y1OGY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0Zvcm1TdWJtaXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zvcm1T
dWJtaXNzaW9uLmgKQEAgLTQ3LDcgKzQ3LDggQEAgY2xhc3MgRm9ybVN1Ym1pc3Npb24gOiBwdWJs
aWMgUmVmQ291bnRlZDxGb3JtU3VibWlzc2lvbj4gewogcHVibGljOgogICAgIGVudW0gTWV0aG9k
IHsgR2V0TWV0aG9kLCBQb3N0TWV0aG9kIH07CiAKLSAgICBjbGFzcyBBdHRyaWJ1dGVzIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBdHRyaWJ1dGVzIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoQXR0cmlidXRlcyk7CiAgICAgcHVibGljOgogICAgICAgICBBdHRyaWJ1
dGVzKCkKICAgICAgICAgICAgIDogbV9tZXRob2QoR2V0TWV0aG9kKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaAppbmRleCA3ZmY1ZGJkLi5hZjk3ZmIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuaApAQCAtODYsNyArODYsOCBAQCBzdHJ1Y3QgV2luZG93RmVhdHVyZXM7CiAK
IGJvb2wgaXNCYWNrRm9yd2FyZExvYWRUeXBlKEZyYW1lTG9hZFR5cGUpOwogCi1jbGFzcyBGcmFt
ZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGcmFtZUxvYWRlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRnJhbWVMb2FkZXIpOwogcHVibGljOgogICAgIEZyYW1lTG9h
ZGVyKEZyYW1lKiwgRnJhbWVMb2FkZXJDbGllbnQqKTsKICAgICB+RnJhbWVMb2FkZXIoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lLmgKaW5kZXgg
YzM0MDhjMi4uZmUzN2VjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyU3RhdGVNYWNoaW5lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyU3RhdGVNYWNoaW5lLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAvLyBFbmNhcHN1bGF0ZXMgYSBzdGF0ZSBtYWNoaW5lIGZvciBGcmFtZUxvYWRlci4gTm90ZSB0
aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gRnJhbWVTdGF0ZSwKIC8vIHdoaWNoIHN0b3JlcyB0
aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgbG9hZCB0aGF0IEZyYW1lTG9hZGVyIGlzIGV4ZWN1dGlu
Zy4KLWNsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEZyYW1lTG9hZGVyU3RhdGVNYWNoaW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShGcmFtZUxvYWRlclN0YXRlTWFjaGluZSk7CiBwdWJsaWM6CiAgICAgRnJhbWVMb2FkZXJTdGF0
ZU1hY2hpbmUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlD
b250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNvbnRyb2xsZXIuaApp
bmRleCAxN2Y4MGViLi4wNjFmMjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
SGlzdG9yeUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSGlzdG9yeUNv
bnRyb2xsZXIuaApAQCAtNDEsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhpc3RvcnlJ
dGVtOwogY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogCi1jbGFzcyBIaXN0b3J5Q29udHJv
bGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIaXN0b3J5Q29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGlzdG9yeUNvbnRyb2xsZXIpOwogcHVibGljOgogICAg
IGVudW0gSGlzdG9yeVVwZGF0ZVR5cGUgeyBVcGRhdGVBbGwsIFVwZGF0ZUFsbEV4Y2VwdEJhY2tG
b3J3YXJkTGlzdCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcAppbmRleCBh
NzdlOGMwLi4wNjliNDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAg
LTU3LDcgKzU3LDggQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgVmFsdWVDaGVjazxXZWJDb3JlOjpJbWFn
ZUxvYWRlcio+IHsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBJbWFnZUV2ZW50U2Vu
ZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEltYWdlRXZlbnRTZW5kZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlRXZlbnRTZW5kZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbWFnZUV2ZW50U2VuZGVyKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hl
ZHVsZXIuY3BwCmluZGV4IDE3NTIxOWMuLmQ1MTU3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiB1bnNpZ25lZCBOYXZpZ2F0aW9uRGlzYWJsZXJGb3JCZWZvcmVVbmxvYWQ6
OnNfbmF2aWdhdGlvbkRpc2FibGVDb3VudCA9IDA7CiAKLWNsYXNzIFNjaGVkdWxlZE5hdmlnYXRp
b24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NoZWR1bGVkTmF2aWdhdGlvbiB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkTmF2aWdhdGlvbik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNjaGVkdWxlZE5hdmlnYXRpb24oZG91YmxlIGRl
bGF5LCBib29sIGxvY2tIaXN0b3J5LCBib29sIGxvY2tCYWNrRm9yd2FyZExpc3QsIGJvb2wgd2Fz
RHVyaW5nTG9hZCwgYm9vbCBpc0xvY2F0aW9uQ2hhbmdlKQogICAgICAgICA6IG1fZGVsYXkoZGVs
YXkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAppbmRleCAzYTA3NmZiLi41OTg4YjYwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgUmVz
b3VyY2VSZXNwb25zZTsKIC8vIHRvIGFsbG93IHRoZSBsb2FkIHRvIGxpdmUgbG9uZyBlbm91Z2gg
dG8gZW5zdXJlIHRoZSBtZXNzYWdlIHdhcyBhY3R1YWxseSBzZW50LgogLy8gVGhlcmVmb3JlLCBh
cyBzb29uIGFzIGEgY2FsbGJhY2sgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgUmVzb3VyY2VIYW5kbGUs
IHRoaXMgY2xhc3MgCiAvLyB3aWxsIGNhbmNlbCB0aGUgbG9hZCBhbmQgZGVsZXRlIGl0c2VsZi4K
LWNsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgUGluZ0xvYWRlciA6IHByaXZhdGUgUmVzb3VyY2VIYW5kbGVD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBpbmdMb2FkZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBsb2FkSW1hZ2UoRnJhbWUq
LCBjb25zdCBLVVJMJiB1cmwpOwogICAgIHN0YXRpYyB2b2lkIHNlbmRQaW5nKEZyYW1lKiwgY29u
c3QgS1VSTCYgcGluZ1VSTCwgY29uc3QgS1VSTCYgZGVzdGluYXRpb25VUkwpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKaW5kZXggNTQxNzI5Yy4uMzExOGRhZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5oCkBAIC00NSw3ICs0NSw4IEBAIGNsYXNzIE5hdmln
YXRpb25BY3Rpb247CiBjbGFzcyBSZXNvdXJjZUVycm9yOwogY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKIAotY2xhc3MgUG9saWN5Q2hlY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQ
b2xpY3lDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQb2xpY3lDaGVja2VyKTsK
IHB1YmxpYzoKICAgICBQb2xpY3lDaGVja2VyKEZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKaW5kZXggY2QxNTQzMy4uNjVkZDFjNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAKQEAgLTUwLDcgKzUwLDkgQEAgc3Rh
dGljIGNvbnN0IGRvdWJsZSBmaW5hbFByb2dyZXNzVmFsdWUgPSAwLjk7IC8vIDEuMCAtIGluaXRp
YWxQcm9ncmVzc1ZhbHVlCiAKIHN0YXRpYyBjb25zdCBpbnQgcHJvZ3Jlc3NJdGVtRGVmYXVsdEVz
dGltYXRlZExlbmd0aCA9IDEwMjQgKiAxNjsKIAotc3RydWN0IFByb2dyZXNzSXRlbSA6IE5vbmNv
cHlhYmxlIHsKK3N0cnVjdCBQcm9ncmVzc0l0ZW0geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFByb2dyZXNzSXRlbSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBy
b2dyZXNzSXRlbShsb25nIGxvbmcgbGVuZ3RoKSAKICAgICAgICAgOiBieXRlc1JlY2VpdmVkKDAp
CiAgICAgICAgICwgZXN0aW1hdGVkTGVuZ3RoKGxlbmd0aCkgeyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUHJvZ3Jlc3NUcmFja2VyLmgKaW5kZXggNWQ1YjZiMi4uZWE1ZjdmOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBGcmFt
ZTsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBzdHJ1Y3QgUHJvZ3Jlc3NJdGVtOwogCi1jbGFz
cyBQcm9ncmVzc1RyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUHJvZ3Jlc3NU
cmFja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQcm9ncmVzc1RyYWNrZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQcm9ncmVzc1RyYWNrZXIoKTsKICAg
ICB+UHJvZ3Jlc3NUcmFja2VyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkTm90aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWROb3RpZmllci5oCmluZGV4IDJmMTA4NTYuLmE2ZDkyZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCkBAIC00Myw3ICs0Myw4IEBAIGNsYXNzIFJl
c291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIGNsYXNzIFJlc291cmNlUmVx
dWVzdDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgUmVzb3VyY2VMb2FkTm90aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFJlc291cmNlTG9hZE5vdGlmaWVyKTsKIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWROb3RpZmll
cihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkU2NoZWR1bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU2NoZWR1
bGVyLmgKaW5kZXggMTYzYjY3ZS4uZjJlNjI3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBSZXNvdXJj
ZVJlcXVlc3Q7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFN1YnJlc291cmNlTG9h
ZGVyQ2xpZW50OwogCi1jbGFzcyBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZXNvdXJjZUxvYWRTY2hlZHVsZXIpOwogcHVibGljOgogICAgIGZyaWVuZCBSZXNv
dXJjZUxvYWRTY2hlZHVsZXIqIHJlc291cmNlTG9hZFNjaGVkdWxlcigpOwogCkBAIC02OSw3ICs3
MCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZVNlcnZlUGVuZGluZ1JlcXVlc3RzKCk7
CiAgICAgdm9pZCByZXF1ZXN0VGltZXJGaXJlZChUaW1lcjxSZXNvdXJjZUxvYWRTY2hlZHVsZXI+
Kik7CiAKLSAgICBjbGFzcyBIb3N0SW5mb3JtYXRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIEhvc3RJbmZvcm1hdGlvbiB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEhvc3RJbmZvcm1hdGlvbik7CiAgICAgcHVibGljOgogICAgICAgICBIb3N0SW5mb3JtYXRpb24o
Y29uc3QgU3RyaW5nJiwgdW5zaWduZWQpOwogICAgICAgICB+SG9zdEluZm9ybWF0aW9uKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCmluZGV4IGE1NzMwNDUuLmJhNjNhNWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJmcmFtZUxvYWRlci5oCkBAIC01NCw3ICs1NCw4IEBA
IGNsYXNzIE5vZGU7CiBjbGFzcyBXaWRnZXQ7CiAKIC8vIFRoaXMgaXMgYSBzbGlnaHQgbWlzbm9t
ZXIuIEl0IGhhbmRsZXMgdGhlIGhpZ2hlciBsZXZlbCBsb2dpYyBvZiBsb2FkaW5nIGJvdGggc3Vi
ZnJhbWVzIGFuZCBwbHVnaW5zLgotY2xhc3MgU3ViZnJhbWVMb2FkZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU3ViZnJhbWVMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN1YmZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBTdWJmcmFtZUxvYWRlcihGcmFtZSopOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAppbmRleCBmNDFhNzc0Li5m
NTc0Yzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTY1
LDcgKzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gVXNlZnVsIGZvciBkb2lu
ZyBsb2FkZXIgb3BlcmF0aW9ucyBmcm9tIGFueSB0aHJlYWQgKG5vdCB0aHJlYWRzYWZlLCAKICAg
ICAvLyBqdXN0IGFibGUgdG8gcnVuIG9uIHRocmVhZHMgb3RoZXIgdGhhbiB0aGUgbWFpbiB0aHJl
YWQpLgotICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
ICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShUaHJlYWRhYmxlTG9hZGVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxlTG9h
ZGVyPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFRocmVhZGFibGVMb2FkZXJDbGll
bnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBUaHJlYWRhYmxlTG9hZGVyT3B0aW9u
cyYpOwpAQCAtNzUsNiArNzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQg
ZGVyZWYoKSB7IGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpOyB9CiAKICAgICBwcm90ZWN0ZWQ6Cisg
ICAgICAgIFRocmVhZGFibGVMb2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJs
ZUxvYWRlcigpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVmVGhyZWFkYWJsZUxvYWRlcigp
ID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmVGhyZWFkYWJsZUxvYWRlcigpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oCmluZGV4
IGJjZjY4YmUuLmNlYThiMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJl
YWRhYmxlTG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXJDbGllbnQuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaWZuZGVmIFRocmVhZGFibGVM
b2FkZXJDbGllbnRfaAogI2RlZmluZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50X2gKIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkYWJsZUxvYWRlckNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9u
ZyAvKmJ5dGVzU2VudCovLCB1bnNpZ25lZCBsb25nIGxvbmcgLyp0b3RhbEJ5dGVzVG9CZVNlbnQq
LykgeyB9CiAKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2FuY2VsbGF0aW9uKGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmKSB7IH0KIAogICAgIHByb3RlY3RlZDoKKyAgICAgICAgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCgpIHsgfQogICAgICAgICB2aXJ0dWFsIH5UaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50KCkgeyB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1dv
cmtlclRocmVhZGFibGVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJl
YWRhYmxlTG9hZGVyLmgKaW5kZXggODFkYTJlMC4uNjVjYzYzNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCkBAIC01NCw2ICs1NCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3RE
YXRhOwogCiAgICAgY2xhc3MgV29ya2VyVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFdvcmtlclRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShXb3JrZXJDb250ZXh0KiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYsIGNvbnN0IFRocmVhZGFi
bGVMb2FkZXJPcHRpb25zJik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlclRocmVh
ZGFibGVMb2FkZXI+IGNyZWF0ZShXb3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9w
dGlvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZUdyb3VwLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZUdyb3VwLmgKaW5kZXggMmQ4YjgzZS4uZjNhMTE3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaApA
QCAtNTMsNyArNTMsOCBAQCBlbnVtIEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVPcHRpb24gewogICAg
IEFwcGxpY2F0aW9uQ2FjaGVVcGRhdGVXaXRob3V0QnJvd3NpbmdDb250ZXh0CiB9OwogCi1jbGFz
cyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUsIFJlc291cmNlSGFu
ZGxlQ2xpZW50IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVHcm91cCA6IFJlc291cmNlSGFuZGxl
Q2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBcHBsaWNhdGlvbkNhY2hlR3JvdXAp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBcHBsaWNhdGlvbkNhY2hl
R3JvdXAoY29uc3QgS1VSTCYgbWFuaWZlc3RVUkwsIGJvb2wgaXNDb3B5ID0gZmFsc2UpOyAgICAK
ICAgICB+QXBwbGljYXRpb25DYWNoZUdyb3VwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdC5oCmluZGV4IDhhYzUzNTcuLmEx
ZjI4NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBs
aWNhdGlvbkNhY2hlSG9zdC5oCkBAIC01OCw3ICs1OCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKICNlbmRpZgogCi0gICAgY2xhc3Mg
QXBwbGljYXRpb25DYWNoZUhvc3QgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVIb3N0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGlj
YXRpb25DYWNoZUhvc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIC8vIFRoZSBTdGF0dXMgbnVtZXJpYyB2YWx1ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUg
SFRNTDUgc3BlYy4KICAgICAgICAgZW51bSBTdGF0dXMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaAppbmRleCA3
ZGIzNGU2Li44YmZkZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaApAQCAtNDQsNyArNDQsOCBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVD4KIGNsYXNzIFN0b3JhZ2VJREpvdXJuYWw7CiBjbGFzcyBTZWN1cml0eU9y
aWdpbjsKIAotY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgZW51bSBGYWlsdXJlUmVhc29uIHsKICAgICAgICAgT3JpZ2luUXVvdGFS
ZWFjaGVkLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2
ZVJlc291cmNlQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oCmluZGV4IDlkNjMwZDEuLmZkMmRkYmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVSZXNvdXJjZUNvbGxlY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VD
b2xsZWN0aW9uLmgKQEAgLTM5LDcgKzM5LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEFyY2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggMzYwMGEwMi4uNWM4YjM4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTUw
LDcgKzUwLDggQEAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyOwogLy8gQSByZXNvdXJjZSB0aGF0IGlz
IGhlbGQgaW4gdGhlIGNhY2hlLiBDbGFzc2VzIHdobyB3YW50IHRvIHVzZSB0aGlzIG9iamVjdCBz
aG91bGQgZGVyaXZlCiAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xpZW50LCB0byBnZXQgdGhlIGZ1
bmN0aW9uIGNhbGxzIGluIGNhc2UgdGhlIHJlcXVlc3RlZCBkYXRhIGhhcyBhcnJpdmVkLgogLy8g
VGhpcyBjbGFzcyBhbHNvIGRvZXMgdGhlIGFjdHVhbCBjb21tdW5pY2F0aW9uIHdpdGggdGhlIGxv
YWRlciB0byBvYnRhaW4gdGhlIHJlc291cmNlIGZyb20gdGhlIG5ldHdvcmsuCi1jbGFzcyBDYWNo
ZWRSZXNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRSZXNvdXJjZSB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgTWVtb3J5Q2FjaGU7CiAgICAgZnJpZW5kIGNs
YXNzIEluc3BlY3RvclJlc291cmNlOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGllbnQuaAppbmRleCAyNzVkMzMxLi4xYzU2ZjEzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VDbGll
bnQuaApAQCAtNDUsOCArNDUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICogaW5oZXJp
dCBmcm9tIHRoaXMgY2xhc3MgYW5kIG92ZXJsb2FkIG9uZSBvZiB0aGUgMyBmdW5jdGlvbnMKICAg
ICAgKgogICAgICAqLwotICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50IDogcHVibGljIEZh
c3RBbGxvY0Jhc2UKLSAgICB7CisgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1
YWwgfkNhY2hlZFJlc291cmNlQ2xpZW50KCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggMzRlZjcwMC4uYTU0MGE0
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmgKQEAgLTQ5LDcgKzQ5LDggQEAgY2xhc3MgSW1hZ2VMb2FkZXI7CiBjbGFzcyBLVVJM
OwogCiAvLyBUaGUgQ2FjaGVkUmVzb3VyY2VMb2FkZXIgbWFuYWdlcyB0aGUgbG9hZGluZyBvZiBz
Y3JpcHRzL2ltYWdlcy9zdHlsZXNoZWV0cyBmb3IgYSBzaW5nbGUgZG9jdW1lbnQuCi1jbGFzcyBD
YWNoZWRSZXNvdXJjZUxvYWRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDYWNoZWRS
ZXNvdXJjZUxvYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FjaGVkUmVzb3VyY2VM
b2FkZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIGZyaWVuZCBjbGFzcyBJbWFnZUxvYWRl
cjsKIAogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuaApp
bmRleCBlOTI2ZDdjLi5kZDhiODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvTWVtb3J5Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVt
b3J5Q2FjaGUuaApAQCAtNzAsNyArNzAsOCBAQCBjbGFzcyBLVVJMOwogLy8gaXRzIG1lbWJlciB2
YXJpYWJsZXMpIGFyZSBhbGxvY2F0ZWQgaW4gbm9uLXB1cmdlYWJsZSBUQy1tYWxsb2MnZCBtZW1v
cnkgc28gd2Ugd291bGQgc2VlIHNsaWdodGx5CiAvLyBtb3JlIG1lbW9yeSB1c2UgZHVlIHRvIHRo
aXMuCiAKLWNsYXNzIE1lbW9yeUNhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE1l
bW9yeUNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZW1vcnlDYWNoZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGZyaWVuZCBNZW1vcnlDYWNoZSogbWVt
b3J5Q2FjaGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNv
bkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuaApp
bmRleCA2MTQ2YWE2Li5lMDhkY2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
aWNvbi9JY29uRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2UuaApAQCAtNjIsOCArNjIsOCBAQCBlbnVtIEljb25Mb2FkRGVjaXNpb24gewogICAg
IEljb25Mb2FkVW5rbm93bgogfTsKIAotY2xhc3MgSWNvbkRhdGFiYXNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKLQorY2xhc3MgSWNvbkRhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShJY29uRGF0YWJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIC8vICoqKiBNYWluIFRo
cmVhZCBPbmx5ICoqKgogcHVibGljOgogICAgIHZvaWQgc2V0Q2xpZW50KEljb25EYXRhYmFzZUNs
aWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFi
YXNlQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGll
bnQuaAppbmRleCBjMjEwZDdkLi5mOTdhMmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvaWNvbi9JY29uRGF0YWJhc2VDbGllbnQuaApAQCAtMjksNiArMjksNyBAQAogI2lmbmRlZiBJ
Y29uRGF0YWJhc2VDbGllbnRfaAogI2RlZmluZSBJY29uRGF0YWJhc2VDbGllbnRfaAogCisjaW5j
bHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCkBAIC0zNyw4ICszOCwxMCBAQAogIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1jbGFzcyBJY29uRGF0YWJhc2VDbGllbnQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShJY29uRGF0YWJhc2VDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKKyAgICBJY29uRGF0YWJhc2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5JY29uRGF0YWJh
c2VDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgcGVyZm9ybUltcG9ydCgpIHsgcmV0dXJu
IHRydWU7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRSZW1vdmVBbGxJY29ucygpIHsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCmluZGV4IDFlYmFjNDguLjI5
ODUzOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgKQEAgLTM3LDcg
KzM3LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBLVVJMOwogY2xhc3MgU2hhcmVkQnVmZmVyOwog
Ci1jbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEljb25Mb2FkZXIgOiBwcml2YXRlIFN1YnJlc291cmNl
TG9hZGVyQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJY29uTG9hZGVyKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SWNv
bkxvYWRlcj4gY3JlYXRlKEZyYW1lKik7CiAgICAgfkljb25Mb2FkZXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaAppbmRleCBmN2NjYjhmLi43OTM1ZGM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oCkBAIC01MSw3ICs1
MSw4IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgaWNvblVSTDsKIH07CiAKLWNsYXNzIFBhZ2VVUkxS
ZWNvcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFnZVVSTFJlY29yZCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZVVSTFJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFBhZ2VVUkxSZWNvcmQoY29uc3QgU3RyaW5nJiBwYWdlVVJMKTsK
ICAgICB+UGFnZVVSTFJlY29yZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbm90aWZp
Y2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmgKaW5kZXggZjE0YTMwMi4uNzMxMzFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCkBAIC01OSw2ICs1OSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCiAgICAgY2xhc3MgTm90aWZpY2F0
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8Tm90aWZpY2F0aW9uPiwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCwgcHVibGljIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBFdmVudFRhcmdldCB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgS1VSTCYgdXJsLCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYywgUGFzc1Jl
ZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsKICAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Tm90aWZpY2F0aW9uPiBjcmVhdGUoY29uc3QgTm90aWZpY2F0aW9uQ29udGVudHMmIGNv
bnRlbnRzLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBl
YywgUGFzc1JlZlB0cjxOb3RpZmljYXRpb25DZW50ZXI+IHByb3ZpZGVyKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IGFiOTI3OTYuLmU2YTBhMDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtNDEs
NyArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRXZlbnQ7CiAgICAgY2xh
c3MgUGFnZTsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVDb250cm9sbGVyIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ29udGV4dE1lbnVDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudUNvbnRyb2xsZXIoUGFn
ZSosIENvbnRleHRNZW51Q2xpZW50Kik7CiAgICAgICAgIH5Db250ZXh0TWVudUNvbnRyb2xsZXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAxMGJiNWY4Li4wZjE3NmIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBAIC00Nyw3ICs0Nyw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSYW5nZTsKICAgICBjbGFzcyBTZWxlY3Rpb25D
b250cm9sbGVyOwogICAgIAotICAgIGNsYXNzIERyYWdDb250cm9sbGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBEcmFnQ29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERyYWdDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAg
cHVibGljOgogICAgICAgICBEcmFnQ29udHJvbGxlcihQYWdlKiwgRHJhZ0NsaWVudCopOwogICAg
ICAgICB+RHJhZ0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4
IDBjMTg0NTAuLmQxMmE1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtODEs
NyArODEsOCBAQCBleHRlcm4gY29uc3QgaW50IEdlbmVyYWxEcmFnSHlzdGVyZXNpczsKIAogZW51
bSBIaXRUZXN0U2Nyb2xsYmFycyB7IFNob3VsZEhpdFRlc3RTY3JvbGxiYXJzLCBEb250SGl0VGVz
dFNjcm9sbGJhcnMgfTsKIAotY2xhc3MgRXZlbnRIYW5kbGVyIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEV2ZW50SGFuZGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRI
YW5kbGVyKTsKIHB1YmxpYzoKICAgICBFdmVudEhhbmRsZXIoRnJhbWUqKTsKICAgICB+RXZlbnRI
YW5kbGVyKCk7CkBAIC0yMjQsNyArMjI1LDEwIEBAIHByaXZhdGU6CiAgICAgICAgIFBlcmZvcm1E
cmFnQW5kRHJvcAogICAgIH07CiAKLSAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlIDog
Tm9uY29weWFibGUgeworICAgIHN0cnVjdCBFdmVudEhhbmRsZXJEcmFnU3RhdGUgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFdmVudEhhbmRsZXJEcmFnU3RhdGUpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIEV2ZW50SGFuZGxlckRyYWdTdGF0
ZSgpIHsgfQogICAgICAgICBSZWZQdHI8Tm9kZT4gbV9kcmFnU3JjOyAvLyBlbGVtZW50IHRoYXQg
bWF5IGJlIGEgZHJhZyBzb3VyY2UsIGZvciB0aGUgY3VycmVudCBtb3VzZSBnZXN0dXJlCiAgICAg
ICAgIGJvb2wgbV9kcmFnU3JjSXNMaW5rOwogICAgICAgICBib29sIG1fZHJhZ1NyY0lzSW1hZ2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggZmZlZDU5Mi4uMTBhZDZiYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtNTEsNiArNTEsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogICAgIGNsYXNzIEV2ZW50U291cmNl
IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXQsIHBy
aXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7Cisg
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8RXZlbnRTb3VyY2U+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVybCwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgdmlydHVhbCB+
RXZlbnRTb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5oCmluZGV4IGJl
NTFjNzcuLjUwZmEyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250
cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaApAQCAt
NDAsNyArNDAsOCBAQCBjbGFzcyBLZXlib2FyZEV2ZW50OwogY2xhc3MgTm9kZTsKIGNsYXNzIFBh
Z2U7CiAKLWNsYXNzIEZvY3VzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBGb2N1c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvY3VzQ29udHJv
bGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvY3VzQ29udHJv
bGxlcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCmluZGV4IDk0YjhkMTYuLmJhYzU0
NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaApAQCAtMjYsNyArMjYsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBGcmFtZTsKIAotICAgIGNsYXNzIEZyYW1lVHJlZSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRnJhbWVUcmVlIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRnJhbWVUcmVlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZyYW1lVHJl
ZShGcmFtZSogdGhpc0ZyYW1lLCBGcmFtZSogcGFyZW50RnJhbWUpIAogICAgICAgICAgICAgOiBt
X3RoaXNGcmFtZSh0aGlzRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggYmNj
OGI5Zi4uZTAzZWY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTA4LDcgKzEw
OCwxMCBAQCBkb3VibGUgRnJhbWVWaWV3OjpzX2RlZmVycmVkUmVwYWludERlbGF5SW5jcmVtZW50
RHVyaW5nTG9hZGluZyA9IDA7CiAvLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgdXBkYXRlV2lkZ2V0
cyBpdGVyYXRpb25zIHRoYXQgc2hvdWxkIGJlIGRvbmUgYmVmb3JlIHJldHVybmluZy4KIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBtYXhVcGRhdGVXaWRnZXRzSXRlcmF0aW9ucyA9IDI7CiAKLXN0cnVj
dCBTY2hlZHVsZWRFdmVudCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBTY2hlZHVsZWRFdmVudCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkRXZlbnQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBTY2hlZHVsZWRFdmVudCgpIHsgfQogICAgIFJlZlB0
cjxFdmVudD4gbV9ldmVudDsKICAgICBSZWZQdHI8Tm9kZT4gbV9ldmVudFRhcmdldDsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaAppbmRleCA3ZGIxOTUx
Li4xYTJjZTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVy
LmgKQEAgLTQwLDcgKzQwLDggQEAgY2xhc3MgR2VvbG9jYXRpb25FcnJvcjsKIGNsYXNzIEdlb2xv
Y2F0aW9uUG9zaXRpb247CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBHZW9sb2NhdGlvbkNvbnRyb2xs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHZW9sb2NhdGlvbkNvbnRyb2xsZXIpOwogcHVibGlj
OgogICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcihQYWdlKiwgR2VvbG9jYXRpb25DbGllbnQqKTsK
ICAgICB+R2VvbG9jYXRpb25Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0dyb3VwU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5n
cy5oCmluZGV4IGZiNmY2YjUuLjFiYmFkMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvR3JvdXBTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvR3JvdXBTZXR0aW5n
cy5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGFnZUdy
b3VwOwogCi1jbGFzcyBHcm91cFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEdyb3VwU2V0dGluZ3MgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyb3VwU2V0dGluZ3Mp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxHcm91cFNldHRpbmdzPiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggNzQxM2Ji
Ni4uMDcxYjE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTkwLDEyICs5MCwxNSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBlbnVtIEZpbmREaXJlY3Rpb24geyBGaW5kRGlyZWN0aW9uRm9yd2Fy
ZCwgRmluZERpcmVjdGlvbkJhY2t3YXJkIH07CiAKLSAgICBjbGFzcyBQYWdlIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGFnZSk7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBzY2hlZHVsZUZvcmNl
ZFN0eWxlUmVjYWxjRm9yQWxsUGFnZXMoKTsKIAogICAgICAgICAvLyBJdCBpcyB1cCB0byB0aGUg
cGxhdGZvcm0gdG8gZW5zdXJlIHRoYXQgbm9uLW51bGwgY2xpZW50cyBhcmUgcHJvdmlkZWQgd2hl
cmUgcmVxdWlyZWQuCi0gICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50cyA6IE5vbmNvcHlhYmxlIHsK
KyAgICAgICAgc3RydWN0IFBhZ2VDbGllbnRzIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFBhZ2VDbGllbnRzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIFBhZ2VDbGllbnRzKCk7CiAgICAgICAgICAgICB+UGFnZUNsaWVu
dHMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKaW5kZXggY2M0N2ZiYS4uNjQzYzVlNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXAuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VHcm91cC5oCkBAIC00MSw3ICs0MSw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBQYWdlOwogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2U7CiAKLSAgICBj
bGFzcyBQYWdlR3JvdXAgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFBhZ2VHcm91
cCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VHcm91cCk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFnZUdyb3VwKGNvbnN0IFN0cmlu
ZyYgbmFtZSk7CiAgICAgICAgIFBhZ2VHcm91cChQYWdlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAppbmRleCBkNDQzZWJkLi5mNzk1NmM0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwTG9hZERlZmVycmVyLmgKQEAgLTI4LDcgKzI4LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIFBhZ2U7
CiAKLSAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFBhZ2VHcm91cExvYWREZWZlcnJlciB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBhZ2VHcm91cExvYWREZWZlcnJlcik7CiAgICAgcHVibGljOgogICAgICAgICBQ
YWdlR3JvdXBMb2FkRGVmZXJyZXIoUGFnZSosIGJvb2wgZGVmZXJTZWxmKTsKICAgICAgICAgflBh
Z2VHcm91cExvYWREZWZlcnJlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
bHVnaW5IYWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFsdGVyLmgKaW5kZXgg
YWY4YjMxZS4uNWI5NmQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnaW5I
YWx0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCkBAIC0zNSw3
ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSGFsdGFibGVQbHVnaW47CiAK
LWNsYXNzIFBsdWdpbkhhbHRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5I
YWx0ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkhhbHRlcik7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFBsdWdpbkhhbHRlcihQbHVnaW5IYWx0ZXJD
bGllbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGY0NjMwZGUuLjQyMGRhY2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAot
ICAgIGNsYXNzIFNldHRpbmdzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTZXR0
aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNldHRpbmdzKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTZXR0aW5ncyhQYWdlKik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXQuaAppbmRleCAyNzBmNTAwLi41MmQ2YzAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TcGVlY2hJbnB1dC5oCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiU3BlZWNo
SW5wdXRMaXN0ZW5lci5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC00OCw3ICs0Nyw4IEBAIGNsYXNzIFNwZWVjaElucHV0TGlzdGVuZXI7CiAv
LyBUaGlzIGNsYXNzIGNvbm5lY3RzIHRoZSBpbnB1dCBlbGVtZW50cyByZXF1aXJpbmcgc3BlZWNo
IGlucHV0IHdpdGggdGhlIHBsYXRmb3JtIHNwZWNpZmljCiAvLyBzcGVlY2ggcmVjb2duaXRpb24g
ZW5naW5lLiBJdCBwcm92aWRlcyBtZXRob2RzIGZvciB0aGUgaW5wdXQgZWxlbWVudHMgdG8gYWN0
aXZhdGUgc3BlZWNoCiAvLyByZWNvZ25pdGlvbiBhbmQgbWV0aG9kcyBmb3IgdGhlIHNwZWVjaCBy
ZWNvZ25pdGlvbiBlbmdpbmUgdG8gcmV0dXJuIGJhY2sgdGhlIHJlc3VsdHMuCi1jbGFzcyBTcGVl
Y2hJbnB1dCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFNwZWVjaElucHV0TGlzdGVuZXIg
eworY2xhc3MgU3BlZWNoSW5wdXQgOiBwdWJsaWMgU3BlZWNoSW5wdXRMaXN0ZW5lciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU3BlZWNoSW5wdXQpOwogcHVibGljOgogICAgIFNwZWVjaElu
cHV0KFNwZWVjaElucHV0Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+U3BlZWNoSW5wdXQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Vc2VyU2NyaXB0LmgKaW5kZXggMDY1MjQzOS4uMDUxNDA5MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU2NyaXB0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Vc2VyU2NyaXB0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBVc2VyU2NyaXB0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFVzZXJTY3Jp
cHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVzZXJTY3JpcHQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBVc2VyU2NyaXB0KGNvbnN0IFN0cmluZyYgc291cmNl
LCBjb25zdCBLVVJMJiB1cmwsCiAgICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJp
bmc+ID4gd2hpdGVsaXN0LCBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCmluZGV4IGZhNDJlMmMuLjA2OGRmMWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKQEAgLTM1LDcgKzM1LDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBVc2VyU3R5bGVTaGVldCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBVc2VyU3R5bGVTaGVldCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VXNlclN0eWxlU2hlZXQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBV
c2VyU3R5bGVTaGVldChjb25zdCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgS1VSTCYgdXJsLAogICAg
ICAgICAgICAgICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB3aGl0ZWxpc3QsIFBh
c3NPd25QdHI8VmVjdG9yPFN0cmluZz4gPiBibGFja2xpc3QsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRv
ci5oCmluZGV4IDJiNzgxZjEuLjViZWVkNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvWFNTQXVkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvWFNTQXVkaXRvci5oCkBA
IC02OSw3ICs2OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyAqIEhUTUxEb2N1bWVu
dFBhcnNlcjo6c2hvdWxkTG9hZEV4dGVybmFsU2NyaXB0RnJvbVNyYyAtIHVzZWQgdG8gbG9hZCBl
eHRlcm5hbCBKYXZhU2NyaXB0IHNjcmlwdHMuCiAgICAgLy8gKiBTdWJmcmFtZUxvYWRlcjo6cmVx
dWVzdE9iamVjdCAtIHVzZWQgdG8gbG9hZCA8b2JqZWN0Pi88ZW1iZWQ+IGVsZW1lbnRzLgogICAg
IC8vCi0gICAgY2xhc3MgWFNTQXVkaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgWFNTQXVkaXRvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFhTU0F1ZGl0b3Ip
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFhTU0F1ZGl0
b3IoRnJhbWUqKTsKICAgICAgICAgflhTU0F1ZGl0b3IoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKaW5kZXggMTRhNDRkMi4uOWE5MDZlMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAK
QEAgLTIyMyw3ICsyMjMsOCBAQCBjbGFzcyBQcm9wZXJ0eVdyYXBwZXJCYXNlOwogc3RhdGljIHZv
aWQgYWRkU2hvcnRoYW5kUHJvcGVydGllcygpOwogc3RhdGljIFByb3BlcnR5V3JhcHBlckJhc2Uq
IHdyYXBwZXJGb3JQcm9wZXJ0eShpbnQgcHJvcGVydHlJRCk7CiAKLWNsYXNzIFByb3BlcnR5V3Jh
cHBlckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFz
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvcGVydHlXcmFwcGVyQmFzZSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFByb3BlcnR5V3JhcHBlckJhc2UoaW50
IHByb3ApCiAgICAgICAgIDogbV9wcm9wKHByb3ApCkBAIC00NDYsNyArNDQ3LDggQEAgcHVibGlj
OgogfTsKIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1jbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdy
YXBwZXJHZXR0ZXIgOiBwdWJsaWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSwgcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckdldHRlciA6IHB1
YmxpYyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIpOwogcHVibGljOgogICAgIEZpbGxM
YXllclByb3BlcnR5V3JhcHBlckdldHRlcihUIChGaWxsTGF5ZXI6OipnZXR0ZXIpKCkgY29uc3Qp
CiAgICAgICAgIDogbV9nZXR0ZXIoZ2V0dGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKaW5kZXggNjgx
MmUwOS4uMTg2ZGQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24v
QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCkBAIC00OSw3ICs0OSw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJTdHlsZTsKIAotY2xh
c3MgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUoRnJhbWUqKTsKICAgICB+QW5p
bWF0aW9uQ29udHJvbGxlclByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50
SGFuZGxlck1hYy5tbQppbmRleCAyZDRkODZiLi42MDExODU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCkBAIC03Nyw3ICs3Nyw4IEBAIE5TRXZlbnQgKkV2
ZW50SGFuZGxlcjo6Y3VycmVudE5TRXZlbnQoKQogICAgIHJldHVybiBjdXJyZW50TlNFdmVudFNs
b3QoKS5nZXQoKTsKIH0KIAotY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQ3VycmVudEV2ZW50U2NvcGUgeworICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShDdXJyZW50RXZlbnRTY29wZSk7CiBwdWJsaWM6CiAgICAgQ3VycmVudEV2ZW50U2NvcGUo
TlNFdmVudCAqKTsKICAgICB+Q3VycmVudEV2ZW50U2NvcGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKaW5kZXggZDk2YzFhZC4uYzM0YTY0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xh
c3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyQ2xpZW50
OwogCiAvLyBUaGlzIGNsYXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFjZSBmb3IgcGxhdGZvcm0t
c3BlY2lmaWMgZmlsZSBzeXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3RlIHRoYXQgYWxsIHRoZSBt
ZXRob2RzIHRha2UgcGxhdGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW0gOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIHZpcnR1YWwgfkFzeW5j
RmlsZVN5c3RlbSgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9B
c3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5j
RmlsZVN5c3RlbUNhbGxiYWNrcy5oCmluZGV4IDI5MGE2NjkuLmNlZThkOTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oCkBAIC00
MSw4ICs0MSwxMSBAQCBjbGFzcyBBc3luY0ZpbGVTeXN0ZW07CiBjbGFzcyBBc3luY0ZpbGVXcml0
ZXI7CiBzdHJ1Y3QgRmlsZU1ldGFkYXRhOwogCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFj
a3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tz
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MpOwog
cHVibGljOgorICAgIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcygpIHsgfSAgICAKKwogICAgIC8v
IENhbGxlZCB3aGVuIGEgcmVxdWVzdGVkIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1
bGx5LgogICAgIHZpcnR1YWwgdm9pZCBkaWRTdWNjZWVkKCkgPSAwOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCmluZGV4IGQ0NGVlMWUuLmYwM2VjODEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oCkBAIC0zOSw3ICszOSw4IEBA
IGNsYXNzIE5TQXV0b3JlbGVhc2VQb29sOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IEF1dG9kcmFpbmVkUG9vbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdXRvZHJhaW5l
ZFBvb2wgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1dG9kcmFpbmVkUG9vbCk7CiBwdWJs
aWM6CiAgICAgQXV0b2RyYWluZWRQb29sKGludCBpdGVyYXRpb25MaW1pdCA9IDEpOwogICAgIH5B
dXRvZHJhaW5lZFBvb2woKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oCmluZGV4
IDU3NWM4NmQuLjI5Nzc3NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaApA
QCAtNDEsOCArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDb250ZXh0
TWVudUNvbnRyb2xsZXI7CiAKLSAgICBjbGFzcyBDb250ZXh0TWVudSA6IHB1YmxpYyBOb25jb3B5
YWJsZQotICAgIHsKKyAgICBjbGFzcyBDb250ZXh0TWVudSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKENvbnRleHRNZW51KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBDb250ZXh0TWVudSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nv
bnRleHRNZW51SXRlbS5oCmluZGV4IDE0NWQ3OTUuLjZlODQxMzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCkBAIC0yMjMsNyArMjIzLDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1NZW51SXRlbURlc2NyaXB0aW9u
OwogI2VuZGlmCiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUl0ZW0gOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIHsKKyAgICAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBDb250ZXh0TWVudUl0ZW0oQ29udGV4
dE1lbnVJdGVtVHlwZSwgQ29udGV4dE1lbnVBY3Rpb24sIGNvbnN0IFN0cmluZyYsIENvbnRleHRN
ZW51KiBzdWJNZW51ID0gMCk7CiAgICAgICAgIENvbnRleHRNZW51SXRlbShDb250ZXh0TWVudUl0
ZW1UeXBlLCBDb250ZXh0TWVudUFjdGlvbiwgY29uc3QgU3RyaW5nJiwgYm9vbCBlbmFibGVkLCBi
b29sIGNoZWNrZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVj
YXRlZFB0ckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0
LmgKaW5kZXggNDdjZDUzOC4uYzA3ZDE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRGVwcmVjYXRlZFB0ckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9E
ZXByZWNhdGVkUHRyTGlzdC5oCkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIERlcHJlY2F0ZWRQdHJMaXN0SXRlcmF0b3I7CiAK
LXRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlIHsKK3RlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdCB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZFB0
ckxpc3QoKSA6IGltcGwoZGVsZXRlRnVuYyksIGRlbF9pdGVtKGZhbHNlKSB7IH0KICAgICB+RGVw
cmVjYXRlZFB0ckxpc3QoKSB7IGltcGwuY2xlYXIoZGVsX2l0ZW0pOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdEltcGwuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcAppbmRleCA5NmZkNTEz
Li5jNjMzNzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVk
UHRyTGlzdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQ
dHJMaXN0SW1wbC5jcHAKQEAgLTI5LDEyICsyOSwxMyBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAj
aW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVk
ZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgOiBwdWJsaWMg
Tm9uY29weWFibGUKLXsKK2NsYXNzIERlcHJlY2F0ZWRMaXN0Tm9kZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGVwcmVjYXRlZExpc3ROb2RlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgRGVwcmVjYXRlZExpc3ROb2RlKHZvaWQgKmQpIDogZGF0YShkKSwgbmV4
dCgwKSwgcHJldigwKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RXZlbnRMb29wLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaAppbmRleCBi
MDUwN2Y3Li4xMjhlOTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVu
dExvb3AuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9FdmVudExvb3AuaApAQCAtMzAs
NyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBFdmVudExvb3Ag
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEV2ZW50TG9vcCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TG9vcCk7CiAgICAgcHVibGljOgogICAgICAgICBFdmVu
dExvb3AoKQogICAgICAgICAgICAgOiBtX2VuZGVkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAppbmRleCAxNTg1ZjY1Li45MjExZjhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9HZW9sb2NhdGlvblNlcnZpY2UuaApAQCAtNDIsNyAr
NDIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGdlb2xvY2F0aW9uU2VydmljZUVycm9y
T2NjdXJyZWQoR2VvbG9jYXRpb25TZXJ2aWNlKikgPSAwOwogfTsKIAotY2xhc3MgR2VvbG9jYXRp
b25TZXJ2aWNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uU2Vydmlj
ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2VvbG9jYXRpb25TZXJ2aWNlKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgR2VvbG9jYXRpb25TZXJ2aWNlKiBjcmVhdGUoR2VvbG9jYXRpb25TZXJ2
aWNlQ2xpZW50Kik7CiAgICAgdmlydHVhbCB+R2VvbG9jYXRpb25TZXJ2aWNlKCkgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKaW5kZXggNzg4MmQ0OC4uMjI1ODg0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaApAQCAtMjYsMTUgKzI2LDE2IEBACiAjaWZuZGVm
IEhvc3RXaW5kb3dfaAogI2RlZmluZSBIb3N0V2luZG93X2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25j
b3B5YWJsZS5oPgogI2luY2x1ZGUgIldpZGdldC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIEN1cnNvcjsKIAotY2xhc3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBIb3N0V2luZG93IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0V2luZG93
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgSG9zdFdpbmRvdygpIHsg
fQogICAgIHZpcnR1YWwgfkhvc3RXaW5kb3coKSB7IH0KIAogICAgIC8vIFJlcXVlc3RzIHRoZSBo
b3N0IGludmFsaWRhdGUgdGhlIHdpbmRvdywgbm90IHRoZSBjb250ZW50cy4gIElmIGltbWVkaWF0
ZSBpcyB0cnVlIGRvIHNvIHN5bmNocm9ub3VzbHksIG90aGVyd2lzZSBhc3luYy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9LaWxsUmluZy5oCmluZGV4IDhlMjczNTAuLmI2ODcyNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tpbGxSaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vS2lsbFJpbmcuaApAQCAtMzEsNiArMzEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBLaWxsUmluZyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgdm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwcmVwZW5kKGNvbnN0
IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAppbmRleCA3ZGQ4NzVlLi45ZGE3MWM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMzUsNyArMzUsOSBAQCBjb25zdCBpbnQg
aW50TWluRm9yTGVuZ3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBhIDI4
LWJpdCBpbnQKIAogZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZp
eGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CiAKLXN0cnVjdCBMZW5ndGgg
OiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBMZW5ndGggeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOworcHVibGljOgogICAgIExlbmd0aCgpCiAgICAgICAgIDogbV92YWx1ZSgwKQogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAppbmRleCA3OGE0MGIzLi41MGE5Y2I2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCkBAIC04MSw3ICs4MSw4IEBAIGNs
YXNzIE5vZGU7CiBjbGFzcyBSYW5nZTsKIGNsYXNzIEFyY2hpdmVSZXNvdXJjZTsKICAgICAKLWNs
YXNzIFBhc3RlYm9hcmQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGFzdGVib2FyZCB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFzdGVib2FyZCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICAvL0hlbHBlciBmdW5jdGlv
bnMgdG8gYWxsb3cgQ2xpcGJvYXJkIHRvIHNoYXJlIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgKaW5kZXggYmMyOGU4NC4uYWVlOTViNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgK
QEAgLTc1LDcgKzc1LDggQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudCA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIGVu
dW0gVHlwZSB7CiAgICAgICAgICAgICAvLyBLZXlEb3duIGlzIHNlbnQgYnkgcGxhdGZvcm1zIHN1
Y2ggYXMgTWFjIE9TIFgsIGd0ayBhbmQgUXQsIGFuZCBoYXMgaW5mb3JtYXRpb24gYWJvdXQgYm90
aCBwaHlzaWNhbCBwcmVzc2VkIGtleSwgYW5kIGl0cyB0cmFuc2xhdGlvbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKaW5kZXggOWJkYTJkNS4uNDQxMzZjMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUHVyZ2VhYmxlQnVmZmVyLmgKQEAgLTI3LDEzICsyNywx
MyBAQAogI2RlZmluZSBQdXJnZWFibGVCdWZmZXJfaAogCiAjaW5jbHVkZSAiUHVyZ2VQcmlvcml0
eS5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgCi0gICAgY2xhc3MgUHVyZ2VhYmxlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBQdXJnZWFibGVCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
dXJnZWFibGVCdWZmZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8
UHVyZ2VhYmxlQnVmZmVyPiBjcmVhdGUoY29uc3QgY2hhciogZGF0YSwgc2l6ZV90KTsKICAgICAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCmluZGV4IDY1ZjI1M2UuLmY4
YzUyOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oCkBAIC0zMCwxNSAr
MzAsMTYgQEAKICNkZWZpbmUgUnVuTG9vcFRpbWVyX2gKIAogI2luY2x1ZGUgIlNjaGVkdWxlUGFp
ci5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBUaW1lIGludGVydmFscyBhcmUgYWxs
IGluIHNlY29uZHMuCiAKLWNsYXNzIFJ1bkxvb3BUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgUnVuTG9vcFRpbWVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UnVuTG9vcFRpbWVyQmFzZSk7CiBwdWJsaWM6CisgICAgUnVuTG9vcFRpbWVyQmFzZSgpIHsgfQog
ICAgIHZpcnR1YWwgflJ1bkxvb3BUaW1lckJhc2UoKTsKIAogICAgIHZvaWQgc2NoZWR1bGUoY29u
c3QgU2NoZWR1bGVQYWlyKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUu
aAppbmRleCA0ZTllMjRiLi5lZjUyYjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGJhclRoZW1lLmgKQEAgLTM2LDggKzM2LDEwIEBAIGNsYXNzIFBsYXRmb3JtTW91c2VFdmVudDsK
IGNsYXNzIFNjcm9sbGJhcjsKIGNsYXNzIFNjcm9sbFZpZXc7CiAKLWNsYXNzIFNjcm9sbGJhclRo
ZW1lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcm9sbGJhclRoZW1lIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTY3JvbGxiYXJUaGVtZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgorICAgIFNjcm9sbGJhclRoZW1lKCkgeyB9CiAgICAgdmlydHVhbCB+U2Ny
b2xsYmFyVGhlbWUoKSB7fTsKIAogICAgIHZpcnR1YWwgYm9vbCBwYWludChTY3JvbGxiYXIqLCBH
cmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0JiAvKmRhbWFnZVJlY3QqLykgeyByZXR1cm4g
ZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5oCmluZGV4IDViNWNkMTQu
LjE2ZTBkMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaApAQCAtMjYsNiAr
MjYsNyBAQAogI2lmbmRlZiBTaGFyZWRUaW1lcl9oCiAjZGVmaW5lIFNoYXJlZFRpbWVyX2gKIAor
I2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMzLDggKzM0LDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAvLyBFYWNoIHRocmVhZCBoYXMgaXRzIG93biBzaW5nbGUgaW5zdGFuY2Ug
b2Ygc2hhcmVkIHRpbWVyLCB3aGljaCBpbXBsZW1lbnRzIHRoaXMgaW50ZXJmYWNlLgogICAgIC8v
IFRoaXMgaW5zdGFuY2UgaXMgc2hhcmVkIGJ5IGFsbCB0aW1lcnMgaW4gdGhlIHRocmVhZC4KICAg
ICAvLyBOb3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseTsgdXNlIHRoZSBUaW1lciBjbGFz
cyBpbnN0ZWFkLgotICAgIGNsYXNzIFNoYXJlZFRpbWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBTaGFyZWRUaW1lciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNo
YXJlZFRpbWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAg
ICBTaGFyZWRUaW1lcigpIHsgfQogICAgICAgICB2aXJ0dWFsIH5TaGFyZWRUaW1lcigpIHt9CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBzZXRGaXJlZEZ1bmN0aW9uKHZvaWQgKCopKCkpID0gMDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCmluZGV4IDlmNTdmMDAu
Ljc2Mzc3YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2Jh
bERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxEYXRhLmgK
QEAgLTQ1LDcgKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBURUNDb252
ZXJ0ZXJXcmFwcGVyOwogICAgIGNsYXNzIFRocmVhZFRpbWVyczsKIAotICAgIGNsYXNzIFRocmVh
ZEdsb2JhbERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRocmVhZEdsb2Jh
bERhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaHJlYWRHbG9iYWxEYXRhKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIFRocmVhZEdsb2JhbERhdGEoKTsKICAgICAgICAgflRocmVh
ZEdsb2JhbERhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVh
ZFRpbWVycy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkVGltZXJzLmgKaW5kZXgg
YWI0MjU5OC4uM2Q3YjVmOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Ro
cmVhZFRpbWVycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5o
CkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBUaW1lckJh
c2U7CiAKICAgICAvLyBBIGNvbGxlY3Rpb24gb2YgdGltZXJzIHBlciB0aHJlYWQuIEtlcHQgaW4g
VGhyZWFkR2xvYmFsRGF0YS4KLSAgICBjbGFzcyBUaHJlYWRUaW1lcnMgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFRocmVhZFRpbWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFRocmVhZFRpbWVycyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgVGhyZWFkVGltZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4
IGM0NDQzZGEuLmMzMzFlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMzUsNyArMzUs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNs
YXNzIFRpbWVyQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaW1lckJhc2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRpbWVyQmFzZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFRpbWVyQmFzZSgpOwogICAgIHZpcnR1YWwgflRpbWVyQmFzZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCmluZGV4IDlkOWFjMWYuLjllMjdjNWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKQEAgLTMyLDcgKzMyLDggQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHZvaWQgYWRvcHRlZChUcmVlU2hhcmVkPFQ+Kik7CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5h
bWUgVD4gY2xhc3MgVHJlZVNoYXJlZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBUcmVlU2hhcmVkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShU
cmVlU2hhcmVkKTsKIHB1YmxpYzoKICAgICBUcmVlU2hhcmVkKCkKICAgICAgICAgOiBtX3JlZkNv
dW50KDEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5p
bWF0aW9uTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlv
bkxpc3QuaAppbmRleCA5YTMzNGNhLi5iZjhmZjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBBbmltYXRpb25MaXN0IDogcHVibGljIEZhc3RB
bGxvY0Jhc2UgeworY2xhc3MgQW5pbWF0aW9uTGlzdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgQW5pbWF0aW9uTGlzdCgpIHsgfQogICAgIEFuaW1hdGlvbkxp
c3QoY29uc3QgQW5pbWF0aW9uTGlzdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9CdXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1
ZGlvQnVzLmgKaW5kZXggNDMxOGI4MS4uODg4ZjZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9CdXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9BdWRpb0J1cy5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IC8vIEFuIEF1ZGlvQnVzIHJlcHJlc2VudHMgYSBjb2xsZWN0aW9uIG9mIG9uZSBvciBtb3JlIEF1
ZGlvQ2hhbm5lbHMuCiAvLyBUaGUgZGF0YSBsYXlvdXQgaXMgInBsYW5hciIgYXMgb3Bwb3NlZCB0
byAiaW50ZXJsZWF2ZWQiLgogLy8gQW4gQXVkaW9CdXMgd2l0aCBvbmUgY2hhbm5lbCBpcyBtb25v
LCBhbiBBdWRpb0J1cyB3aXRoIHR3byBjaGFubmVscyBpcyBzdGVyZW8sIGV0Yy4KLWNsYXNzIEF1
ZGlvQnVzICA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBdWRpb0J1cyB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQXVkaW9CdXMpOwogcHVibGljOgogICAgIGVudW0gewogICAgICAg
ICBDaGFubmVsTGVmdCA9IDAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb0NoYW5uZWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
Q2hhbm5lbC5oCmluZGV4IDY4MTY4MzAuLjczMjVlOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvQ2hhbm5lbC5oCkBAIC0zMCwxNCArMzAsMTQgQEAKICNkZWZpbmUg
QXVkaW9DaGFubmVsX2gKIAogI2luY2x1ZGUgIkF1ZGlvQXJyYXkuaCIKLSNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIC8vIEFuIEF1ZGlvQ2hhbm5lbCByZXByZXNlbnRzIGEgYnVmZmVyIG9mIG5v
bi1pbnRlcmxlYXZlZCBmbG9hdGluZy1wb2ludCBhdWRpbyBzYW1wbGVzLgogLy8gVGhlIFBDTSBz
YW1wbGVzIGFyZSBub3JtYWxseSBhc3N1bWVkIHRvIGJlIGluIGEgbm9taW5hbCByYW5nZSAtMS4w
IC0+ICsxLjAKLWNsYXNzIEF1ZGlvQ2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBBdWRpb0NoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEF1ZGlvQ2hhbm5lbCk7
CiBwdWJsaWM6CiAgICAgLy8gTWVtb3J5IGNhbiBiZSBleHRlcm5hbGx5IHJlZmVyZW5jZWQsIG9y
IGNhbiBiZSBpbnRlcm5hbGx5IGFsbG9jYXRlZCB3aXRoIGFuIEF1ZGlvRmxvYXRBcnJheS4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0YWJhc2UuaAppbmRleCBjMzNi
MzhmLi5iZjEzYTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9I
UlRGRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9IUlRGRGF0
YWJhc2UuaApAQCAtNDMsNyArNDMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhS
VEZLZXJuZWw7CiAKLWNsYXNzIEhSVEZEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBIUlRGRGF0YWJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhSVEZEYXRhYmFz
ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFJURkRhdGFiYXNlPiBjcmVhdGUo
ZG91YmxlIHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9IUlRGRWxldmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9I
UlRGRWxldmF0aW9uLmgKaW5kZXggYjM4OGIzNC4uMjRiNzgyMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkVsZXZhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaApAQCAtNDMsNyArNDMsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIC8vIEhSVEZFbGV2YXRpb24gY29udGFpbnMgYWxsIG9mIHRoZSBI
UlRGS2VybmVscyAob25lIGxlZnQgZWFyIGFuZCBvbmUgcmlnaHQgZWFyIHBlciBhemltdXRoIGFu
Z2xlKSBmb3IgYSBwYXJ0aWN1bGFyIGVsZXZhdGlvbi4KIAotY2xhc3MgSFJURkVsZXZhdGlvbiA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIUlRGRWxldmF0aW9uIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShIUlRGRWxldmF0aW9uKTsKIHB1YmxpYzoKICAgICAvLyBMb2FkcyBhbmQg
cmV0dXJucyBhbiBIUlRGRWxldmF0aW9uIHdpdGggdGhlIGdpdmVuIEhSVEYgZGF0YWJhc2Ugc3Vi
amVjdCBuYW1lIGFuZCBlbGV2YXRpb24gZnJvbSBicm93c2VyIChvciBXZWJLaXQuZnJhbWV3b3Jr
KSByZXNvdXJjZXMuCiAgICAgLy8gTm9ybWFsbHksIHRoZXJlIHdpbGwgb25seSBiZSBhIHNpbmds
ZSBIUlRGIGRhdGFiYXNlIHNldCwgYnV0IHRoaXMgQVBJIHN1cHBvcnRzIHRoZSBwb3NzaWJpbGl0
eSBvZiBtdWx0aXBsZSBvbmVzIHdpdGggZGlmZmVyZW50IG5hbWVzLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmgKaW5kZXggMWQ2
OTkyMS4uZDVhZGExNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vQ2xpcGJvYXJkQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBJbnRQb2ludDsKIAogICAgIGNsYXNzIENsaXBib2FyZENocm9taXVt
IDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB+Q2xpcGJv
YXJkQ2hyb21pdW0oKSB7fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuaAppbmRleCA1YTU0OTYzLi5lOTY3OGMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTY4LDcgKzY4LDkgQEAgdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFRpbWVyOwogLy8gRnJhbWVEYXRhIENsYXNzCiAvLyA9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotc3RydWN0
IEZyYW1lRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGcmFtZURhdGEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZyYW1lRGF0YSk7CitwdWJsaWM6CiAgICAgRnJhbWVEYXRhKCkKICAg
ICAgICAgOiBtX2ZyYW1lKDApCiAgICAgICAgICwgbV9oYXZlTWV0YWRhdGEoZmFsc2UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAppbmRleCBlZjBkMzFjLi5kYTk4ZGQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKQEAgLTc4LDcgKzc4
LDggQEAgaW5saW5lIGludCBncmVlbkNoYW5uZWwoUkdCQTMyIGNvbG9yKSB7IHJldHVybiAoY29s
b3IgPj4gOCkgJiAweEZGOyB9CiBpbmxpbmUgaW50IGJsdWVDaGFubmVsKFJHQkEzMiBjb2xvcikg
eyByZXR1cm4gY29sb3IgJiAweEZGOyB9CiBpbmxpbmUgaW50IGFscGhhQ2hhbm5lbChSR0JBMzIg
Y29sb3IpIHsgcmV0dXJuIChjb2xvciA+PiAyNCkgJiAweEZGOyB9CiAKLWNsYXNzIENvbG9yIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ29sb3IgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbG9yKCkgOiBtX2NvbG9yKDApLCBtX3ZhbGlkKGZh
bHNlKSB7IH0KICAgICBDb2xvcihSR0JBMzIgY29sKSA6IG1fY29sb3IoY29sKSwgbV92YWxpZCh0
cnVlKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUu
Y3BwCmluZGV4IDE0OWVhNzkuLmNmY2E5ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcApAQCAtNTMsNyArNTMsOSBAQCBGb250Q2FjaGU6OkZv
bnRDYWNoZSgpCiB7CiB9CiAKLXN0cnVjdCBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkgOiBGYXN0
QWxsb2NCYXNlIHsKK3N0cnVjdCBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXkgeworICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIEZvbnRQbGF0Zm9ybURhdGFDYWNoZUtl
eShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSA9IEF0b21pY1N0cmluZygpLCB1bnNpZ25lZCBz
aXplID0gMCwgdW5zaWduZWQgd2VpZ2h0ID0gMCwgYm9vbCBpdGFsaWMgPSBmYWxzZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc1ByaW50ZXJGb250ID0gZmFsc2UsIEZvbnRS
ZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdNb2RlLCBGb250T3Jp
ZW50YXRpb24gb3JpZW50YXRpb24gPSBIb3Jpem9udGFsKQogICAgICAgICA6IG1fc2l6ZShzaXpl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRleCBl
Njg0NWQ5Li44NmY4YzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250Q2FjaGUuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBGb250RGVzY3JpcHRpb247CiBjbGFz
cyBGb250U2VsZWN0b3I7CiBjbGFzcyBTaW1wbGVGb250RGF0YTsKIAotY2xhc3MgRm9udENhY2hl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRDYWNoZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgZnJpZW5kIEZvbnRDYWNoZSogZm9udENhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCmluZGV4IGVlOTRhOTguLjNkMzVkMmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaApAQCAtMjYsNiArMjYs
NyBAQAogI2lmbmRlZiBGb250RGF0YV9oCiAjZGVmaW5lIEZvbnREYXRhX2gKIAorI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CkBA
IC0zNCw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2ltcGxlRm9udERh
dGE7CiAKLWNsYXNzIEZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZvbnRE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250RGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIEZvbnREYXRhKCkKICAgICAgICAgOiBtX21heEdseXBo
UGFnZVRyZWVMZXZlbCgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR2x5cGhNZXRyaWNzTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HbHlwaE1ldHJpY3NNYXAuaAppbmRleCBmYTg1YmNjLi4zZTEzZmJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaE1ldHJpY3NNYXAuaApAQCAtNDAs
NyArNDAsOCBAQCB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IEdseXBoOwogCiBjb25zdCBmbG9hdCBj
R2x5cGhTaXplVW5rbm93biA9IC0xOwogCi10ZW1wbGF0ZTxjbGFzcyBUPiBjbGFzcyBHbHlwaE1l
dHJpY3NNYXAgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3Mg
R2x5cGhNZXRyaWNzTWFwIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHbHlwaE1ldHJpY3NN
YXApOwogcHVibGljOgogICAgIEdseXBoTWV0cmljc01hcCgpIDogbV9maWxsZWRQcmltYXJ5UGFn
ZShmYWxzZSkgeyB9CiAgICAgfkdseXBoTWV0cmljc01hcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IGE0NTliMzcuLjM1
ODI0ZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0NvbnRleHQuaApAQCAtMjA2LDcgKzIwNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgYm9vbCBzaGFkb3dzSWdub3JlVHJhbnNmb3JtcyA6IDE7CiAgICAgfTsKIAotICAgIGNs
YXNzIEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3Jh
cGhpY3NDb250ZXh0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR3JhcGhpY3NDb250
ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBHcmFw
aGljc0NvbnRleHQoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKTsKICAgICAgICAgfkdyYXBoaWNz
Q29udGV4dCgpOwpAQCAtNDI0LDcgKzQyNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdm9pZCBzZXRTaG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKGJvb2wpOwogICAgICAgICBib29s
IHNob3VsZEluY2x1ZGVDaGlsZFdpbmRvd3MoKSBjb25zdDsKIAotICAgICAgICBjbGFzcyBXaW5k
b3dzQml0bWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgV2luZG93c0Jp
dG1hcCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXaW5kb3dzQml0bWFwKTsK
ICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgV2luZG93c0JpdG1hcChIREMsIEludFNpemUp
OwogICAgICAgICAgICAgfldpbmRvd3NCaXRtYXAoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAppbmRleCA1ZmRmNzM4Li43OGMxZTc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5o
CkBAIC05NCw3ICs5NCw4IEBAIGNsYXNzIFRpbWluZ0Z1bmN0aW9uOwogLy8gQmFzZSBjbGFzcyBm
b3IgYW5pbWF0aW9uIHZhbHVlcyAoYWxzbyB1c2VkIGZvciB0cmFuc2l0aW9ucykuIEhlcmUgdG8K
IC8vIHJlcHJlc2VudCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgYmVpbmcgYW5pbWF0ZWQgdmlhIHRo
ZSBHcmFwaGljc0xheWVyLAogLy8gd2l0aG91dCBwdWxsaW5nIGluIHN0eWxlLXJlbGF0ZWQgZGF0
YSBmcm9tIG91dHNpZGUgb2YgdGhlIHBsYXRmb3JtIGRpcmVjdG9yeS4KLWNsYXNzIEFuaW1hdGlv
blZhbHVlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFuaW1hdGlvblZhbHVlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShBbmltYXRpb25WYWx1ZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIEFuaW1hdGlvblZhbHVlKGZsb2F0IGtleVRpbWUsIFBhc3NS
ZWZQdHI8VGltaW5nRnVuY3Rpb24+IHRpbWluZ0Z1bmN0aW9uID0gMCkKICAgICAgICAgOiBtX2tl
eVRpbWUoa2V5VGltZSkKQEAgLTE0Niw3ICsxNDcsOCBAQCBwcml2YXRlOgogCiAvLyBVc2VkIHRv
IHN0b3JlIGEgc2VyaWVzIG9mIHZhbHVlcyBpbiBhIGtleWZyYW1lIGxpc3QuIFZhbHVlcyB3aWxs
IGFsbCBiZSBvZiB0aGUgc2FtZSB0eXBlLAogLy8gd2hpY2ggY2FuIGJlIGluZmVycmVkIGZyb20g
dGhlIHByb3BlcnR5LgotY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEtleWZyYW1lVmFsdWVMaXN0KTsKIHB1YmxpYzoKIAogICAgIEtleWZyYW1lVmFsdWVMaXN0KEFu
aW1hdGVkUHJvcGVydHlJRCBwcm9wZXJ0eSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZUJ1ZmZlci5oCmluZGV4IGM0NmNjOTAuLmE2Y2MwZDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAtNjMsNyArNjMs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEFjY2VsZXJhdGVkCiAgICAgfTsKIAot
ICAgIGNsYXNzIEltYWdlQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJ
bWFnZUJ1ZmZlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlQnVmZmVyKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBXaWxsIHJl
dHVybiBhIG51bGwgcG9pbnRlciBvbiBhbGxvY2F0aW9uIGZhaWx1cmUuCiAgICAgICAgIHN0YXRp
YyBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBjcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgQ29s
b3JTcGFjZSBjb2xvclNwYWNlID0gQ29sb3JTcGFjZURldmljZVJHQiwgUmVuZGVyaW5nTW9kZSBy
ZW5kZXJpbmdNb2RlID0gVW5hY2NlbGVyYXRlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCmluZGV4IDcwMThhNWMuLjNmMTZkMDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuaApAQCAtMTE3LDcg
KzExNyw4IEBAIGNvbnN0IGludCBjQW5pbWF0aW9uTG9vcE9uY2UgPSAwOwogY29uc3QgaW50IGNB
bmltYXRpb25Mb29wSW5maW5pdGUgPSAtMTsKIGNvbnN0IGludCBjQW5pbWF0aW9uTm9uZSA9IC0y
OwogCi1jbGFzcyBJbWFnZVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFn
ZVNvdXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW1hZ2VTb3VyY2UpOwogcHVibGlj
OgogICAgIGVudW0gQWxwaGFPcHRpb24gewogICAgICAgICBBbHBoYVByZW11bHRpcGxpZWQsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5k
ZXggYWJmNTEwNS4uYmExOWVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTQ3LDcgKzE0Nyw5IEBAIHN0YXRpYyBNZWRpYVBs
YXllclByaXZhdGVJbnRlcmZhY2UqIGNyZWF0ZU51bGxNZWRpYVBsYXllcihNZWRpYVBsYXllciog
cGxheWVyKQogCiAvLyBlbmdpbmUgc3VwcG9ydAogCi1zdHJ1Y3QgTWVkaWFQbGF5ZXJGYWN0b3J5
IDogTm9uY29weWFibGUgeworc3RydWN0IE1lZGlhUGxheWVyRmFjdG9yeSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJGYWN0b3J5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CiAgICAgTWVkaWFQbGF5ZXJGYWN0b3J5KENyZWF0ZU1lZGlhRW5naW5lUGxh
eWVyIGNvbnN0cnVjdG9yLCBNZWRpYUVuZ2luZVN1cHBvcnRlZFR5cGVzIGdldFN1cHBvcnRlZFR5
cGVzLCBNZWRpYUVuZ2luZVN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGVBbmRDb2RlY3MpIAogICAg
ICAgICA6IGNvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKQogICAgICAgICAsIGdldFN1cHBvcnRlZFR5
cGVzKGdldFN1cHBvcnRlZFR5cGVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmgKaW5kZXggYzdkN2VmMy4uMWNiYmUxNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0xNDksNyArMTQ5LDgg
QEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBNZWRpYVBsYXllciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZWRpYVBsYXllciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TWVkaWFQbGF5ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKIAogICAgIHN0
YXRpYyBQYXNzT3duUHRyPE1lZGlhUGxheWVyPiBjcmVhdGUoTWVkaWFQbGF5ZXJDbGllbnQqIGNs
aWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlh
UGxheWVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQ
bGF5ZXJQcml2YXRlLmgKaW5kZXggZDk1NjI4Ni4uNmFiZTI1OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXJQcml2YXRlLmgKQEAgLTM2
LDggKzM2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludFJlY3Q7CiBjbGFzcyBJ
bnRTaXplOwogCi1jbGFzcyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2Uo
KSB7IH0KICAgICB2aXJ0dWFsIH5NZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UoKSB7IH0KIAog
ICAgIHZpcnR1YWwgdm9pZCBsb2FkKGNvbnN0IFN0cmluZyYgdXJsKSA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKaW5kZXggNDIzYTc5Mi4uODUyZDg4ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaApAQCAtMTAwLDcgKzEwMCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHR5cGVkZWYgdm9pZCAoKlBhdGhBcHBsaWVyRnVuY3Rp
b24pKHZvaWQqIGluZm8sIGNvbnN0IFBhdGhFbGVtZW50Kik7CiAKLSAgICBjbGFzcyBQYXRoIDog
cHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFBhdGggeworICAgICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhdGgoKTsKICAgICAgICAg
flBhdGgoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Rp
bGVkQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmdTdG9yZS5oCmluZGV4IDU4NDc3ZGIuLjA2YzdmZTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaApAQCAtMzYs
NyArMzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBj
bGFzcyBUaWxlZEJhY2tpbmdTdG9yZUNsaWVudDsKIAotY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGlsZWRCYWNraW5nU3RvcmUgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFRpbGVkQmFja2luZ1N0b3JlKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgVGlsZWRCYWNraW5nU3RvcmUoVGlsZWRCYWNraW5nU3RvcmVD
bGllbnQqKTsKICAgICB+VGlsZWRCYWNraW5nU3RvcmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAppbmRleCBkYWMzMWY4Li41MGVhMDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiBjbGFzcyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOwogcHVi
bGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoRlRfRmFjZSwgU2hhcmVkQnVmZmVyKik7
CiAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oCmluZGV4IDZmYzFh
MGUuLjg5YTc5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaApAQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBGbG9h
dFJlY3Q7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKIGNsYXNzIFNoYXJlZEdyYXBoaWNzQ29u
dGV4dDNEOwogCi1jbGFzcyBHTEVTMkNhbnZhcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBHTEVTMkNhbnZhcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR0xFUzJDYW52YXMpOwog
cHVibGljOgogICAgIEdMRVMyQ2FudmFzKFNoYXJlZEdyYXBoaWNzQ29udGV4dDNEKiwgRHJhd2lu
Z0J1ZmZlciosIGNvbnN0IEludFNpemUmKTsKICAgICB+R0xFUzJDYW52YXMoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVy
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0
dXJlLmgKaW5kZXggNzExZTY4Ny4uYjYwZGZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJUZXh0dXJlLmgKQEAgLTI4LDYg
KzI4LDcgQEAKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVGV4dHVyZU1hbmFnZXIu
aCIKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CkBAIC0zNyw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEdyYXBo
aWNzQ29udGV4dDNEOwogY2xhc3MgVGV4dHVyZU1hbmFnZXI7CiAKLWNsYXNzIExheWVyVGV4dHVy
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMYXllclRleHR1cmUgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKExheWVyVGV4dHVyZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPExheWVyVGV4dHVyZT4gY3JlYXRlKEdyYXBo
aWNzQ29udGV4dDNEKiBjb250ZXh0LCBUZXh0dXJlTWFuYWdlciogbWFuYWdlcikKICAgICB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXll
clRpbGVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyVGlsZXJDaHJvbWl1bS5oCmluZGV4IDA1ZjUyNDIuLmUwOTY5M2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGlsZXJD
aHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyVGlsZXJDaHJvbWl1bS5oCkBAIC00Myw3ICs0Myw4IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcGFpbnQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBj
b250ZW50UmVjdCkgPSAwOwogfTsKIAotY2xhc3MgTGF5ZXJUaWxlckNocm9taXVtIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheWVyVGlsZXJDaHJvbWl1bSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTGF5ZXJUaWxlckNocm9taXVtKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxMYXllclRpbGVyQ2hyb21pdW0+IGNyZWF0ZShMYXllclJlbmRlcmVyQ2hyb21pdW0q
IGxheWVyUmVuZGVyZXIsIGNvbnN0IEludFNpemUmIHRpbGVTaXplKTsKIApAQCAtNjIsNyArNjMs
OCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIExheWVyVGlsZXJDaHJvbWl1bShMYXllclJlbmRl
cmVyQ2hyb21pdW0qIGxheWVyUmVuZGVyZXIsIGNvbnN0IEludFNpemUmIHRpbGVTaXplKTsKIAot
ICAgIGNsYXNzIFRpbGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRpbGUgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxlKTsKICAgICBwdWJsaWM6CiAgICAgICAg
IGV4cGxpY2l0IFRpbGUoUGFzc093blB0cjxMYXllclRleHR1cmU+IHRleCkgOiBtX3RleCh0ZXgp
IHt9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggYTkzMjE4Zi4uNjg5
YTZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKQEAgLTQxLDcgKzQxLDgg
QEAgY2xhc3MgTGF5ZXJDaHJvbWl1bTsKIGNsYXNzIExheWVyUmVuZGVyZXJDaHJvbWl1bTsKIGNs
YXNzIExheWVyVGV4dHVyZTsKIAotY2xhc3MgUmVuZGVyU3VyZmFjZUNocm9taXVtIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVuZGVyU3VyZmFjZUNocm9taXVtKTsKICAgICBmcmllbmQgY2xhc3Mg
TGF5ZXJSZW5kZXJlckNocm9taXVtOwogcHVibGljOgogICAgIGV4cGxpY2l0IFJlbmRlclN1cmZh
Y2VDaHJvbWl1bShMYXllckNocm9taXVtKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaAppbmRleCA0ODkx
Y2M3Li44MzEwNGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNp
bmNsdWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogCisjaW5jbHVkZSA8d3Rm
L0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9MaXN0SGFzaFNldC5oPgogCkBAIC0zNiw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogdHlwZWRlZiBpbnQgVGV4dHVyZVRva2VuOwogCi1jbGFzcyBUZXh0dXJlTWFuYWdlciA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXh0dXJlTWFuYWdlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoVGV4dHVyZU1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3du
UHRyPFRleHR1cmVNYW5hZ2VyPiBjcmVhdGUoR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQsIHNp
emVfdCBtZW1vcnlMaW1pdEJ5dGVzLCBpbnQgbWF4VGV4dHVyZVNpemUpCiAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJl
bmN5V2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFu
c3BhcmVuY3lXaW4uaAppbmRleCBiNmJlZjkxLi41MzVjYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lXaW4uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9UcmFuc3BhcmVuY3lX
aW4uaApAQCAtNTQsNyArNTQsOCBAQCBjbGFzcyBUcmFuc3BhcmVuY3lXaW5fT3BhcXVlQ29tcG9z
aXRlTGF5ZXJfVGVzdDsKIC8vIHRoYXQgaXMgY29tcG9zaXRlZCBsYXRlciBtYW51YWxseS4gVGhp
cyBpcyB0byBnZXQgYXJvdW5kIFdpbmRvd3MnIGluYWJpbGl0eQogLy8gdG8gaGFuZGxlIHRoZSBh
bHBoYSBjaGFubmVsLCBzZW1pdHJhbnNwYXJlbnQgdGV4dCwgYW5kIHRyYW5zZm9ybWVkIGZvcm0K
IC8vIGNvbnRyb2xzLgotY2xhc3MgVHJhbnNwYXJlbmN5V2luIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFRyYW5zcGFyZW5jeVdpbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJh
bnNwYXJlbmN5V2luKTsKIHB1YmxpYzoKICAgICBlbnVtIExheWVyTW9kZSB7CiAgICAgICAgIC8v
IE5vIGV4dHJhIGxheWVyIGlzIGNyZWF0ZWQuIERyYXdpbmcgd2lsbCBoYXBwZW4gdG8gdGhlIHNv
dXJjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9E
cmF3aW5nQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJh
d2luZ0J1ZmZlci5oCmluZGV4IGUwZTBlZTEuLjg3N2NhYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuaApAQCAtODAsOCAr
ODAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQTEFURk9STShDSFJPTUlVTSkKLSAgICBj
bGFzcyBXaWxsUHVibGlzaENhbGxiYWNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBXaWxsUHVibGlzaENhbGxiYWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ls
bFB1Ymxpc2hDYWxsYmFjayk7CiAgICAgcHVibGljOgorICAgICAgICBXaWxsUHVibGlzaENhbGxi
YWNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgfldpbGxQdWJsaXNoQ2FsbGJhY2soKSB7IH0KICAg
ICAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsUHVibGlzaCgpID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lm
aWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xh
c3NpZmllci5oCmluZGV4IGM2NjU4NDQuLjFiZDY3YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNzaWZpZXIuaApA
QCAtMzAsMTQgKzMwLDE0IEBACiAjaWZuZGVmIExvb3BCbGlubkNsYXNzaWZpZXJfaAogI2RlZmlu
ZSBMb29wQmxpbm5DbGFzc2lmaWVyX2gKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UG9pbnQ7CiAKIC8vIENsYXNzaWZp
ZXMgY3ViaWMgY3VydmVzIGludG8gc3BlY2lmaWMgdHlwZXMuCi1jbGFzcyBMb29wQmxpbm5DbGFz
c2lmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvb3BCbGlubkNsYXNzaWZpZXIg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvb3BCbGlubkNsYXNzaWZpZXIpOwogcHVibGlj
OgogICAgIC8vIFRoZSB0eXBlcyBvZiBjdWJpYyBjdXJ2ZXMuCiAgICAgZW51bSBDdXJ2ZVR5cGUg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BC
bGlubkxvY2FsVHJpYW5ndWxhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaAppbmRleCBlYTNkN2UzLi5kMDFlNmM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJs
aW5uTG9jYWxUcmlhbmd1bGF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IuaApAQCAtMzAsMTkgKzMwLDIwIEBA
CiAjaW5jbHVkZSAiRmxvYXRQb2ludDNELmgiCiAjaW5jbHVkZSAiTG9vcEJsaW5uQ29uc3RhbnRz
LmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBQZXJmb3JtcyBhIGxvY2FsaXplZCB0
cmlhbmd1bGF0aW9uIG9mIHRoZSB0cmlhbmdsZSBtZXNoCiAvLyBjb3JyZXNwb25kaW5nIHRvIHRo
ZSBmb3VyIGNvbnRyb2wgcG9pbnQgdmVydGljZXMgb2YgYSBjdWJpYyBjdXJ2ZQogLy8gc2VnbWVu
dC4KLWNsYXNzIExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIExvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvcik7CiBwdWJsaWM6CiAgICAgLy8gVGhl
IHZlcnRpY2VzIHRoYXQgdGhlIHRyaWFuZ3VsYXRvciBvcGVyYXRlcyB1cG9uLCBjb250YWluaW5n
IGJvdGgKICAgICAvLyB0aGUgcG9zaXRpb24gaW5mb3JtYXRpb24gYXMgd2VsbCBhcyB0aGUgY3Vi
aWMgdGV4dHVyZQogICAgIC8vIGNvb3JkaW5hdGVzLgotICAgIGNsYXNzIFZlcnRleCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVmVydGV4IHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVmVydGV4KTsKICAgICBwdWJsaWM6CiAgICAgICAgIFZlcnRleCgpCiAgICAgICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RB
cmVuYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgK
aW5kZXggZjY4YmFlZi4uNmVkYzFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1BPREFyZW5hLmgKQEAgLTE1OCw3ICsxNTgsOCBAQCBwcml2YXRlOgogICAg
IH0KIAogICAgIC8vIE1hbmFnZXMgYSBjaHVuayBvZiBtZW1vcnkgYW5kIGluZGl2aWR1YWwgYWxs
b2NhdGlvbnMgb3V0IG9mIGl0LgotICAgIGNsYXNzIENodW5rIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBDaHVuayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENodW5r
KTsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIEFsbG9jYXRlcyBhIGJsb2NrIG9mIG1lbW9yeSBv
ZiB0aGUgZ2l2ZW4gc2l6ZSBmcm9tIHRoZSBwYXNzZWQKICAgICAgICAgLy8gQWxsb2NhdG9yLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVy
dmFsVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVy
dmFsVHJlZS5oCmluZGV4IDMyMGNlNjAuLjViZjNkZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZhbFRyZWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmgKQEAgLTQ0LDgg
KzQ0LDggQEAgc3RydWN0IFZhbHVlVG9TdHJpbmc7CiAvLyBzdXBwb3J0cyBlZmZpY2llbnQgKE8o
bGcgbikpIGluc2VydGlvbiwgcmVtb3ZhbCBhbmQgcXVlcnlpbmcgb2YKIC8vIGludGVydmFscyBp
biB0aGUgdHJlZS4KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+Ci1j
bGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgTm9uY29weWFibGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPREludGVydmFsPFQsIFVzZXJEYXRh
PiA+IHsKK2NsYXNzIFBPREludGVydmFsVHJlZSA6IHB1YmxpYyBQT0RSZWRCbGFja1RyZWU8UE9E
SW50ZXJ2YWw8VCwgVXNlckRhdGE+ID4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBPRElu
dGVydmFsVHJlZSk7CiBwdWJsaWM6CiAgICAgLy8gVHlwZWRlZiB0byByZWR1Y2UgdHlwaW5nIHdo
ZW4gZGVjbGFyaW5nIGludGVydmFscyB0byBiZSBzdG9yZWQgaW4KICAgICAvLyB0aGlzIHRyZWUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVk
QmxhY2tUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVk
QmxhY2tUcmVlLmgKaW5kZXggNmQ1OTU0Yy4uYmQwODk4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJsYWNrVHJlZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaApAQCAtMTk4
LDcgKzE5OCw4IEBAIHByb3RlY3RlZDoKICAgICAvLyBUaGUgYmFzZSBOb2RlIGNsYXNzIHdoaWNo
IGlzIHN0b3JlZCBpbiB0aGUgdHJlZS4gTm9kZXMgYXJlIG9ubHkKICAgICAvLyBhbiBpbnRlcm5h
bCBjb25jZXB0OyB1c2VycyBvZiB0aGUgdHJlZSBkZWFsIG9ubHkgd2l0aCB0aGUgZGF0YQogICAg
IC8vIHRoZXkgc3RvcmUgaW4gaXQuCi0gICAgY2xhc3MgTm9kZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgTm9kZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGUp
OwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gQ29uc3RydWN0b3IuIE5ld2x5LWNyZWF0ZWQgbm9k
ZXMgYXJlIGNvbG9yZWQgcmVkLgogICAgICAgICBleHBsaWNpdCBOb2RlKGNvbnN0IFQmIGRhdGEp
CkBAIC02NTksNyArNjYwLDggQEAgcHJpdmF0ZToKICAgICAvLyBIZWxwZXIgY2xhc3MgZm9yIHNp
emUoKQogCiAgICAgLy8gQSBWaXNpdG9yIHdoaWNoIHNpbXBseSBjb3VudHMgdGhlIG51bWJlciBv
ZiB2aXNpdGVkIGVsZW1lbnRzLgotICAgIGNsYXNzIENvdW50ZXIgOiBwdWJsaWMgVmlzaXRvciwg
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3Ig
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb3VudGVyKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIENvdW50ZXIoKQogICAgICAgICAgICAgOiBtX2NvdW50KDApIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5oCmluZGV4IGU1YmQ4ZGUuLjRm
NjJjYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9T
aGFkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hhZGVy
LmgKQEAgLTQwLDcgKzQwLDggQEAgY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwogY2xhc3MgR3JhcGhp
Y3NDb250ZXh0M0Q7CiBjbGFzcyBDb2xvcjsKIAotY2xhc3MgU2hhZGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNoYWRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2hhZGVy
KTsKIHByb3RlY3RlZDoKICAgICBTaGFkZXIoR3JhcGhpY3NDb250ZXh0M0QqLCB1bnNpZ25lZCBw
cm9ncmFtKTsKICAgICB+U2hhZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAppbmRleCAxYmRjNTFhLi5kMTE0MGJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKQEAg
LTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRmxvYXRSZWN0OwogY2xh
c3MgSW50UmVjdDsKIAotY2xhc3MgVGlsaW5nRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBUaWxpbmdEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaWxpbmdEYXRhKTsK
IHB1YmxpYzoKICAgICBUaWxpbmdEYXRhKGludCBtYXhUZXh0dXJlU2l6ZSwgaW50IHRvdGFsU2l6
ZVgsIGludCB0b3RhbFNpemVZLCBib29sIGhhc0JvcmRlclRleGVscyk7CiAgICAgaW50IG1heFRl
eHR1cmVTaXplKCkgY29uc3QgeyByZXR1cm4gbV9tYXhUZXh0dXJlU2l6ZTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNv
dXJjZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAppbmRleCBlMTBlNjFmLi4zNmI0OWRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
V2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2ViU291cmNlR1N0cmVhbWVyLmNwcApAQCAtMzYs
NyArMzYsOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgU3RyZWFtaW5n
Q2xpZW50IDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQg
eworY2xhc3MgU3RyZWFtaW5nQ2xpZW50IDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJlYW1pbmdDbGllbnQpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgU3RyZWFtaW5nQ2xpZW50KFdlYktpdFdlYlNyYyopOwogICAgICAgICB2aXJ0dWFs
IH5TdHJlYW1pbmdDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBj
YzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCwx
NCArMjQsMTQgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250
UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZvbnRQ
bGF0Zm9ybURhdGE7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCi0gICAgc3RydWN0IEZvbnRD
dXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEo
KSB7IH0KICAgICAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oCmluZGV4IGMxMTg1OGMuLjcwNDNkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaApAQCAtMzYsNyArMzYsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxh
dGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKK3B1Ymxp
YzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFp
bmVyLCBDR0ZvbnRSZWYgY2dGb250KQogICAgICAgICA6IG1fYXRzQ29udGFpbmVyKGNvbnRhaW5l
cikKICAgICAgICAgLCBtX2NnRm9udChjZ0ZvbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvUGFpbnRlck9wZW5WRy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaAppbmRleCAzMmYxZmU1
Li4zZjE0OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVudmcvUGFpbnRlck9wZW5WRy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgVGlsZWRJ
bWFnZU9wZW5WRzsKIAogc3RydWN0IFBsYXRmb3JtUGFpbnRlclN0YXRlOwogCi1jbGFzcyBQYWlu
dGVyT3BlblZHIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhaW50ZXJPcGVuVkcgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhaW50ZXJPcGVuVkcpOwogcHVibGljOgogICAgIGZy
aWVuZCBjbGFzcyBTdXJmYWNlT3BlblZHOwogICAgIGZyaWVuZCBzdHJ1Y3QgUGxhdGZvcm1QYWlu
dGVyU3RhdGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVudmcvU3VyZmFjZU9wZW5WRy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnZnL1N1cmZhY2VPcGVuVkcuaAppbmRleCA0NmQxNjQ2Li4xOWQ5NWQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5WRy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9TdXJmYWNlT3Bl
blZHLmgKQEAgLTQyLDcgKzQyLDggQEAgY2xhc3MgSW50U2l6ZTsKICAqIG9mICNpZmRlZnMgYW5k
IHNob3VsZCBtYWtlIGl0IGVhc3kgdG8gYWRkIGRpZmZlcmVudCBzdXJmYWNlL2NvbnRleHQKICAq
IGltcGxlbWVudGF0aW9ucyB0aGFuIEVHTC4KICAqLwotY2xhc3MgU3VyZmFjZU9wZW5WRyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTdXJmYWNlT3BlblZHIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShTdXJmYWNlT3BlblZHKTsKIHB1YmxpYzoKICAgICBlbnVtIE1ha2VDdXJyZW50
TW9kZSB7CiAgICAgICAgIEFwcGx5UGFpbnRlclN0YXRlT25TdXJmYWNlU3dpdGNoLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YS5oCmluZGV4IDZjNDFkNDcuLjU0ZmE2NzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhLmgKQEAgLTI0LDYgKzI0LDcgQEAKIAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5o
IgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxv
Y0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCkBAIC0zMiw3ICszMywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBG
b250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YSgpIHsgfQogICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CiAKICAgICAvLyBmb3Ig
dXNlIHdpdGggUUZvbnREYXRhYmFzZTo6YWRkQXBwbGljYXRpb25Gb250L3JlbW92ZUFwcGxpY2F0
aW9uRm9udApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
Rm9udFBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
Rm9udFBsYXRmb3JtRGF0YS5oCmluZGV4IDFjNTdlMjkuLmYyNjgzNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgK
QEAgLTMyLDcgKzMyLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBGb250UGxh
dGZvcm1EYXRhUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250UGxhdGZv
cm1EYXRhUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udFBsYXRmb3JtRGF0
YVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250UGxh
dGZvcm1EYXRhUHJpdmF0ZSgpCiAgICAgICAgIDogcmVmQ291bnQoMSkKQEAgLTYyLDggKzYzLDEw
IEBAIHB1YmxpYzoKIAogCiAKLWNsYXNzIEZvbnRQbGF0Zm9ybURhdGEgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7CitjbGFzcyBGb250UGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKKyAgICBGb250UGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgRm9udFBs
YXRmb3JtRGF0YShmbG9hdCBzaXplLCBib29sIGJvbGQsIGJvb2wgb2JsaXF1ZSk7CiAgICAgRm9u
dFBsYXRmb3JtRGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhICYpOwogICAgIEZvbnRQbGF0Zm9y
bURhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHlO
YW1lLCBpbnQgd29yZFNwYWNpbmcgPSAwLCBpbnQgbGV0dGVyU3BhY2luZyA9IDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0
UXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250
ZXh0UXQuY3BwCmluZGV4IGMyMWI0ZWUuLjA1OTI4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAg
LTE3NCw3ICsxNzQsOCBAQCBzdGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUo
V2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1jbGFzcyBH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoUVBhaW50
ZXIqLCBjb25zdCBRQ29sb3ImIGluaXRpYWxTb2xpZENvbG9yKTsKICAgICB+R3JhcGhpY3NDb250
ZXh0UGxhdGZvcm1Qcml2YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9UcmFuc3BhcmVuY3lMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaAppbmRleCA1YjJmOGIyLi5lNDgyOGY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFuc3Bh
cmVuY3lMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1Ry
YW5zcGFyZW5jeUxheWVyLmgKQEAgLTQyLDcgKzQyLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1zdHJ1Y3QgVHJhbnNwYXJlbmN5TGF5ZXIgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBU
cmFuc3BhcmVuY3lMYXllciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CiAgICAgVHJhbnNwYXJlbmN5TGF5ZXIoY29uc3QgUVBhaW50ZXIqIHAsIGNvbnN0IFFSZWN0ICZy
ZWN0LCBxcmVhbCBvcGFjaXR5LCBRUGl4bWFwJiBhbHBoYU1hc2spCiAgICAgICAgIDogcGl4bWFw
KHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSkKICAgICAgICAgLCBvcGFjaXR5KG9wYWNpdHkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRD
dXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IGU1MWI2YjYuLjQyMjhiNDAzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtNDksNyArNDksOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1z
dHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250
Q3VzdG9tUGxhdGZvcm1EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9t
UGxhdGZvcm1EYXRhKTsKK3B1YmxpYzoKICNpZiBPUyhXSU5ET1dTKQogICAgIEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAg
ICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Q
cml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNz
Q29udGV4dFBsYXRmb3JtUHJpdmF0ZS5oCmluZGV4IDVlMTJhZDYuLjQ0ODM1YTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0
UGxhdGZvcm1Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUuaApAQCAtMzEsMTQgKzMxLDE0IEBA
CiAjaWZuZGVmIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZV9oCiAjZGVmaW5lIEdyYXBo
aWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZV9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KIAogY2xhc3MgUGxhdGZvcm1Db250ZXh0U2tpYTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAvLyBUaGlzIGNsYXNzIGp1c3QgaG9sZHMgb250byBhIFBsYXRmb3JtQ29udGV4dFNraWEgZm9y
IEdyYXBoaWNzQ29udGV4dC4KLWNsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZSk7CiBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKFBsYXRm
b3JtQ29udGV4dFNraWEqIHBsYXRmb3JtQ29udGV4dCkKICAgICAgICAgOiBtX2NvbnRleHQocGxh
dGZvcm1Db250ZXh0KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKaW5kZXggMTFiMzExYS4uMDMw
NDQ4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Q
bGF0Zm9ybUNvbnRleHRTa2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmgKQEAgLTY3LDcgKzY3LDggQEAgY2xhc3MgVGV4
dHVyZTsKIC8vIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyB0aGUgcGFpbnRpbmcgc3RhdGUgd2hp
Y2ggaXMgc3RvcmUgaW4gc2VwYXJhdGUKIC8vIFNrUGFpbnQgb2JqZWN0cy4gVGhpcyBjbGFzcyBw
cm92aWRlcyB0aGUgYWRhcHRvciB0aGF0IGFsbG93cyB0aGUgcGFpbnRpbmcKIC8vIHN0YXRlIHRv
IGJlIHB1c2hlZCBhbmQgcG9wcGVkIGFsb25nIHdpdGggdGhlIGJpdG1hcC4KLWNsYXNzIFBsYXRm
b3JtQ29udGV4dFNraWEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGxhdGZvcm1Db250
ZXh0U2tpYSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGxhdGZvcm1Db250ZXh0U2tpYSk7
CiBwdWJsaWM6CiAgICAgLy8gRm9yIHByaW50aW5nLCB0aGVyZSBzaG91bGRuJ3QgYmUgYW55IGNh
bnZhcy4gY2FudmFzIGNhbiBiZSBOVUxMLiBJZiB5b3UKICAgICAvLyBzdXBwbHkgYSBOVUxMIGNh
bnZhcywgeW91IGNhbiBhbHNvIGNhbGwgc2V0Q2FudmFzIGxhdGVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0u
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJh
bnNmb3JtLmgKaW5kZXggMmFkYmIzOS4uNTBkMDY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9y
bS5oCkBAIC01NSw3ICs1NSw4IEBAIGNsYXNzIEludFBvaW50OwogY2xhc3MgSW50UmVjdDsKIGNs
YXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4OwogCi1jbGFzcyBBZmZpbmVUcmFuc2Zvcm0gOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBBZmZpbmVUcmFuc2Zvcm0geworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgZG91YmxlIFRyYW5zZm9ybVs2
XTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaAppbmRleCBjMGRhMzc3Li45ODFl
MWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbnMuaApAQCAtMzEsNyArMzEsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbnMgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIHsKKyAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUcmFuc2Zvcm1PcGVyYXRpb25z
KGJvb2wgbWFrZUlkZW50aXR5ID0gZmFsc2UpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1h
dGlvbk1hdHJpeC5oCmluZGV4IDY4NGIxNGMuLmM4ODM2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXgu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5z
Zm9ybWF0aW9uTWF0cml4LmgKQEAgLTY0LDcgKzY0LDggQEAgY2xhc3MgRmxvYXRQb2ludDNEOwog
Y2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRmxvYXRRdWFkOwogCi1jbGFzcyBUcmFuc2Zvcm1hdGlv
bk1hdHJpeCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFRyYW5zZm9ybWF0aW9uTWF0
cml4IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVm
IGRvdWJsZSBNYXRyaXg0WzRdWzRdOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCAx
YmRmMjcwLi5kZTMzYzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTM0LDcgKzM0
LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNz
IFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YShIQU5ETEUgZm9udFJlZmVyZW5jZSwgY29uc3QgU3RyaW5nJiBuYW1lKQog
ICAgICAgICA6IG1fZm9udFJlZmVyZW5jZShmb250UmVmZXJlbmNlKQogICAgICAgICAsIG1fbmFt
ZShuYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCmluZGV4IDNhYjUyYjgu
LjljNjcwMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKQEAgLTMzLDcg
KzMzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNs
YXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25j
b3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6CiAgICAgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YShjYWlyb19mb250X2ZhY2VfdCogZm9udEZhY2UpCiAgICAgICAgIDog
bV9mb250RmFjZShmb250RmFjZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaAppbmRleCBjMjE2
MTQwLi41OTUxZTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsV2luZG93c0NvbnRleHQgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKExvY2FsV2luZG93c0NvbnRleHQpOwogcHVibGljOgogICAgIExvY2FsV2lu
ZG93c0NvbnRleHQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIGNvbnN0IEludFJl
Y3QmIHJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQgPSB0cnVlLCBib29sIG1heUNyZWF0ZUJp
dG1hcCA9IHRydWUpCiAgICAgICAgIDogbV9ncmFwaGljc0NvbnRleHQoZ3JhcGhpY3NDb250ZXh0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92
aWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUTW92aWUuY3Bw
CmluZGV4IGVmYWYyMTguLmRmYTFkMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKQEAgLTYzLDcgKzYzLDggQEAgdW5pb24gVXBwUGFy
YW0gewogc3RhdGljIFZlY3RvcjxDRlN0cmluZ1JlZj4qIGdTdXBwb3J0ZWRUeXBlcyA9IDA7CiBz
dGF0aWMgU0ludDMyIHF1aWNrVGltZVZlcnNpb24gPSAwOwogCi1jbGFzcyBRVE1vdmllUHJpdmF0
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFFUTW92aWVUYXNrQ2xpZW50IHsKK2NsYXNz
IFFUTW92aWVQcml2YXRlIDogcHVibGljIFFUTW92aWVUYXNrQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShRVE1vdmllUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRNb3ZpZVByaXZh
dGUoKTsKICAgICB+UVRNb3ZpZVByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcAppbmRleCAwOTE0MmJjLi5iZjgwYTgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCkBA
IC0zMSw3ICszMSw4IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKLWNsYXNzIFFUVHJhY2tQ
cml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFFUVHJhY2tQcml2YXRlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShRVFRyYWNrUHJpdmF0ZSk7CiBwdWJsaWM6CiAgICAgUVRU
cmFja1ByaXZhdGUoKTsKICAgICB+UVRUcmFja1ByaXZhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVy
LmgKaW5kZXggMTdlYzQxZC4uNzhlODQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkNvbnRleHRGbHVzaGVyLmgKQEAgLTM2
LDcgKzM2LDggQEAgc3RydWN0IFdLQ0FDRkNvbnRleHQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgV0tDQUNGQ29udGV4dEZsdXNoZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgV0tDQUNGQ29udGV4dEZsdXNoZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdLQ0FD
RkNvbnRleHRGbHVzaGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV0tDQUNGQ29udGV4dEZsdXNo
ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vV0tDQUNGTGF5ZXJSZW5kZXJlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaAppbmRleCAwMmNkYmRiLi5jYzlkZmNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNG
TGF5ZXJSZW5kZXJlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKQEAgLTYwLDcgKzYwLDggQEAgcHVibGljOgogLy8gRklY
TUU6IEN1cnJlbnRseSB0aGVyZSBpcyBhIFdLQ0FDRkxheWVyUmVuZGVyZXIgZm9yIGVhY2ggV2Vi
VmlldyBhbmQgZWFjaAogLy8gaGFzIGl0cyBvd24gQ0FSZW5kZXJPR0xDb250ZXh0IGFuZCBEaXJl
Y3QzRERldmljZTksIHdoaWNoIGlzIGluZWZmaWNpZW50LgogLy8gKGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTg1NSkKLWNsYXNzIFdLQ0FDRkxheWVyUmVuZGVyZXIg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV0tDQUNGTGF5ZXJSZW5kZXJlciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoV0tDQUNGTGF5ZXJSZW5kZXJlcik7CiAgICAgZnJpZW5kIFBs
YXRmb3JtQ0FMYXllcjsKIAogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmlu
ZGV4IGFiZGMwZjIuLjA1MDgyNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAg
LTM3LDcgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
dW5yZWdpc3RlckZvbnQoY29uc3QgU3RyaW5nJiBmb250TmFtZSkgPSAwOwogICAgIH07CiAKLSAg
ICBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1
Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworICAgIHB1YmxpYzoKICAgICAgICAgRm9udEN1c3Rv
bVBsYXRmb3JtRGF0YShjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgICAgICAgICA6IG1fbmFtZShu
YW1lKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKaW5kZXggMWI4YTcw
NC4uOWI2NzJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcApAQCAtNDM4LDcgKzQz
OCw4IEBAIHN0YXRpYyB2b2lkIHJvdGF0ZUJpdG1hcChTaGFyZWRCaXRtYXAqIGRlc3RCbXAsIGNv
bnN0IFNoYXJlZEJpdG1hcCogc291cmNlQm1wLCBjCiAgICAgICAgIF9yb3RhdGVCaXRtYXA8dW5z
aWduZWQsIGZhbHNlPihkZXN0Qm1wLCBzb3VyY2VCbXAsIHRyYW5zZm9ybSk7CiB9CiAKLWNsYXNz
IFRyYW5zcGFyZW50TGF5ZXJEQyA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zcGFyZW50TGF5
ZXJEQyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNwYXJlbnRMYXllckRDKTsKIHB1
YmxpYzoKICAgICBUcmFuc3BhcmVudExheWVyREMoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2
YXRlKiBkYXRhLCBJbnRSZWN0JiBvcmlnUmVjdCwgY29uc3QgSW50UmVjdCogcmVjdEJlZm9yZVRy
YW5zZm9ybSA9IDAsIGludCBhbHBoYSA9IDI1NSwgYm9vbCBwYWludEltYWdlID0gZmFsc2UpOwog
ICAgIH5UcmFuc3BhcmVudExheWVyREMoKTsKQEAgLTU1OCw3ICs1NTksOCBAQCB2b2lkIFRyYW5z
cGFyZW50TGF5ZXJEQzo6ZmlsbEFscGhhQ2hhbm5lbCgpCiAgICAgfQogfQogCi1jbGFzcyBTY29w
ZURDUHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBTY29wZURDUHJvdmlkZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjb3BlRENQcm92aWRlcik7CiBwdWJsaWM6CiAgICAgZXhw
bGljaXQgU2NvcGVEQ1Byb3ZpZGVyKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSogZGF0
YSkKICAgICAgICAgOiBtX2RhdGEoZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBj
YzM0OGUzLi44NmY5OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0yNCwxNCArMjQs
MTQgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIKICNpbmNsdWRlICJGb250UmVuZGVy
aW5nTW9kZS5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZvbnRQbGF0Zm9y
bURhdGE7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogCi0gICAgc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1E
YXRhKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0K
ICAgICAgICAgfkZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9DbGlwYm9hcmRHdGsuaAppbmRleCBlMTRhNTgzLi4wYzA3YzA3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCkBAIC0zOSw2ICszOSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZl
bnRzIGZvciBkcmFnIGFuZCBkcm9wIGFuZCBjb3B5L3Bhc3RlCiAgICAgLy8gQ3JlYXRlZCBmcm9t
IHRoZSBFdmVudEhhbmRsZXJHdGsgdG8gYmUgdXNlZCBieSB0aGUgZG9tCiAgICAgY2xhc3MgQ2xp
cGJvYXJkR3RrIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50
IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRHdGs+IGNyZWF0ZShDbGlwYm9hcmRBY2Nlc3NQ
b2xpY3kgcG9saWN5LCBHdGtDbGlwYm9hcmQqIGNsaXBib2FyZCwgRnJhbWUqIGZyYW1lKQogICAg
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9JbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L0ltYWdlRGVjb2Rlci5oCmluZGV4IDM5ZGVlZTIuLjI0YmNkY2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCkBAIC0y
MjEsNyArMjIxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHNldE1heE51bVBpeGVs
cygpIHRvIHNwZWNpZnkgdGhlIGJpZ2dlc3Qgc2l6ZSB0aGF0IGRlY29kZWQgaW1hZ2VzIGNhbgog
ICAgIC8vIGhhdmUuIEltYWdlIGRlY29kZXJzIHdpbGwgZGVmbGF0ZSB0aG9zZSBpbWFnZXMgdGhh
dCBhcmUgYmlnZ2VyIHRoYW4KICAgICAvLyBtX21heE51bVBpeGVscy4gKE5vdCBzdXBwb3J0ZWQg
YnkgYWxsIGltYWdlIGRlY29kZXJzIHlldCkKLSAgICBjbGFzcyBJbWFnZURlY29kZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEltYWdlRGVjb2RlciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEltYWdlRGVjb2Rlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
ICAgIHB1YmxpYzoKICAgICAgICAgSW1hZ2VEZWNvZGVyKEltYWdlU291cmNlOjpBbHBoYU9wdGlv
biBhbHBoYU9wdGlvbiwgSW1hZ2VTb3VyY2U6OkdhbW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uIGdh
bW1hQW5kQ29sb3JQcm9maWxlT3B0aW9uKQogICAgICAgICAgICAgOiBtX3NjYWxlZChmYWxzZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaAppbmRleCA3MTg3ZWNm
Li4zOWVhZGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJv
YXJkTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5o
CkBAIC00NCw2ICs0NCw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgRmlsZUxpc3Q7CiAKIGNsYXNz
IENsaXBib2FyZE1hYyA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNs
aWVudCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q2xpcGJvYXJkTWFjPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRU
eXBlLCBOU1Bhc3RlYm9hcmQgKnBhc3RlYm9hcmQsIENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xp
Y3ksIEZyYW1lKiBmcmFtZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmgKaW5kZXggOTBiZWI0MC4u
OGZkZTJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3Vy
cmVudEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9M
b2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaApAQCAtMzEsNyArMzEsOCBAQCBjbGFzcyBHcmFw
aGljc0NvbnRleHQ7CiAgICAgCiAvLyBUaGlzIGNsYXNzIGF1dG9tYXRpY2FsbHkgc2F2ZXMgYW5k
IHJlc3RvcmVzIHRoZSBjdXJyZW50IE5TR3JhcGhpY3NDb250ZXh0IGZvcgogLy8gZnVuY3Rpb25z
IHdoaWNoIGNhbGwgb3V0IGludG8gQXBwS2l0IGFuZCByZWx5IG9uIHRoZSBjdXJyZW50Q29udGV4
dCBiZWluZyBzZXQKLWNsYXNzIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCk7CiBwdWJsaWM6
CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhp
Y3NDb250ZXh0KTsKICAgICB+TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKaW5kZXggMWZmNjM0NC4uYzFmNTUy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaApAQCAtMTQ1
LDYgKzE0NSw3IEBAIHByaXZhdGU6CiB0eXBlZGVmIFZlY3RvcjxCbG9iRGF0YUl0ZW0+IEJsb2JE
YXRhSXRlbUxpc3Q7CiAKIGNsYXNzIEJsb2JEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxCbG9iRGF0YT4gY3JlYXRlKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGFC
dWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRl
ci5oCmluZGV4IDg3ZDBlZjMuLjExMmUzMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIuaApAQCAtMjMsMTQgKzIzLDE0IEBACiAKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
RG9jdW1lbnQ7CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKLWNsYXNzIEZvcm1EYXRhQnVpbGRlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb3JtRGF0YUJ1aWxkZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEZvcm1EYXRhQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRl
eHRFbmNvZGluZyBlbmNvZGluZ0Zyb21BY2NlcHRDaGFyc2V0KGNvbnN0IFN0cmluZyYgYWNjZXB0
Q2hhcnNldCwgRG9jdW1lbnQqIGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrU3RhdGVOb3RpZmllci5oCmluZGV4IGQxZjJkYjQu
LjI2ZjhkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0
d29ya1N0YXRlTm90aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L05ldHdvcmtTdGF0ZU5vdGlmaWVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgTmV0d29y
a1N0YXRlTm90aWZpZXJfaAogI2RlZmluZSBOZXR3b3JrU3RhdGVOb3RpZmllcl9oCiAKKyNpbmNs
dWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNjEsNyArNjIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBjbGFzcyBOZXR3b3JrU3RhdGVOb3RpZmllclByaXZhdGU7CiAjZW5kaWYKIAotY2xhc3MgTmV0
d29ya1N0YXRlTm90aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTmV0d29ya1N0
YXRlTm90aWZpZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5ldHdvcmtTdGF0ZU5vdGlm
aWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgTmV0d29ya1N0YXRl
Tm90aWZpZXIoKTsKICAgICB2b2lkIHNldE5ldHdvcmtTdGF0ZUNoYW5nZWRGdW5jdGlvbih2b2lk
ICgqKSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZUludGVybmFsLmgKaW5kZXggZDgzM2UzMi4uZWQ2Njk0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFs
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUlu
dGVybmFsLmgKQEAgLTgwLDcgKzgwLDggQEAgY2xhc3MgTlNVUkxDb25uZWN0aW9uOwogbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlQ2xpZW50OwogCi0gICAgY2xh
c3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBw
dWJsaWM6CiAgICAgICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwoUmVzb3VyY2VIYW5kbGUqIGxv
YWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVu
dCogYywgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZikKICAgICAg
ICAgICAgIDogbV9jbGllbnQoYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggNWNiN2VlMy4uZGNlMzNkYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmgKQEAgLTQ5LDcgKzQ5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVj
dCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE7CiAKICAgICAvLyBEbyBub3QgdXNlIHRo
aXMgdHlwZSBkaXJlY3RseS4gIFVzZSBSZXNvdXJjZVJlcXVlc3QgaW5zdGVhZC4KLSAgICBjbGFz
cyBSZXNvdXJjZVJlcXVlc3RCYXNlIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNz
IFJlc291cmNlUmVxdWVzdEJhc2UgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFRoZSB0eXBlIG9mIHRoaXMgUmVzb3VyY2VSZXF1ZXN0
LCBiYXNlZCBvbiBob3cgdGhlIHJlc291cmNlIHdpbGwgYmUgdXNlZC4KICAgICAgICAgZW51bSBU
YXJnZXRUeXBlIHsKQEAgLTIwNyw3ICsyMDgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IGlubGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBhLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVxdWVzdEJhc2U6OmNvbXBhcmUo
YSwgYik7IH0KICAgICBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KFJlc291cmNlUmVxdWVzdCYgYSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotICAgIHN0
cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIDogTm9uY29weWFibGUgewor
ICAgIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXNlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKKyAgICAgICAgQ3Jvc3NUaHJl
YWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSgpIHsgfQogICAgICAgICBLVVJMIG1fdXJsOwogCiAg
ICAgICAgIFJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IG1fY2FjaGVQb2xpY3k7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKaW5kZXggOWM1NGJhYi4uZTA3NzRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaApAQCAtNDEsNyArNDEsOCBA
QCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNw
b25zZURhdGE7CiAKIC8vIERvIG5vdCB1c2UgdGhpcyBjbGFzcyBkaXJlY3RseSwgdXNlIHRoZSBj
bGFzcyBSZXNwb25zZVJlc3BvbnNlIGluc3RlYWQKLWNsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNl
IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUmVzb3VyY2VSZXNwb25zZUJhc2Ugewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3du
UHRyPFJlc291cmNlUmVzcG9uc2U+IGFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJj
ZVJlc3BvbnNlRGF0YT4pOwogCkBAIC0xNzUsNyArMTc2LDEwIEBAIHByaXZhdGU6CiBpbmxpbmUg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIGIpIHsgcmV0dXJuIFJlc291cmNlUmVzcG9uc2VCYXNlOjpjb21wYXJlKGEsIGIp
OyB9CiBpbmxpbmUgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIGEsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQogCi1zdHJ1Y3Qg
Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgOiBOb25jb3B5YWJsZSB7CitzdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlKTsKK3B1YmxpYzoK
KyAgICBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSgpIHsgfQogICAgIEtVUkwg
bV91cmw7CiAgICAgU3RyaW5nIG1fbWltZVR5cGU7CiAgICAgbG9uZyBsb25nIG1fZXhwZWN0ZWRD
b250ZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCBlYmI2YzVmLi5hNzE3MGZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtNjAsNyArNjAsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICNkZWZpbmUgUkVBRF9CVUZGRVJfU0laRSA4MTkyCiAKLWNsYXNzIFdlYkNvcmVT
eW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlciA6IHB1YmxpYyBSZXNv
dXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZVN5bmNo
cm9ub3VzTG9hZGVyKTsKIHB1YmxpYzoKICAgICBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIoUmVz
b3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UgJiwgVmVjdG9yPGNoYXI+Jik7CiAgICAgfldl
YkNvcmVTeW5jaHJvbm91c0xvYWRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCmluZGV4IDM4ZDljZDEu
LmY1MDU0MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvd2lu
L1Jlc291cmNlSGFuZGxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3dpbi9SZXNvdXJjZUhhbmRsZVdpbi5jcHAKQEAgLTc2LDcgKzc2LDggQEAgc3RhdGljIFN0
cmluZyBxdWVyeUhUVFBIZWFkZXIoSElOVEVSTkVUIHJlcXVlc3RIYW5kbGUsIERXT1JEIGluZm9M
ZXZlbCkKIH0KIAogCi1jbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVz
b3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3lu
Y2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFdlYkNvcmVTeW5jaHJvbm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAg
V2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNl
JiwgVmVjdG9yPGNoYXI+JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAgIH5XZWJDb3Jl
U3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3F0L0NsaXBib2FyZFF0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9DbGlwYm9hcmRR
dC5oCmluZGV4IDVhY2ExYTYuLmZiNWFiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3F0L0NsaXBib2FyZFF0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQv
Q2xpcGJvYXJkUXQuaApAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICAvLyBTdGF0ZSBhdmFpbGFibGUgZHVyaW5nIElFJ3MgZXZlbnRzIGZvciBkcmFnIGFuZCBkcm9w
IGFuZCBjb3B5L3Bhc3RlCiAgICAgY2xhc3MgQ2xpcGJvYXJkUXQgOiBwdWJsaWMgQ2xpcGJvYXJk
LCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENsaXBib2Fy
ZFF0PiBjcmVhdGUoQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgY29uc3QgUU1pbWVEYXRh
KiByZWFkYWJsZUNsaXBib2FyZCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcWwvU1FMaXRlRGF0YWJhc2UuaAppbmRleCBjMzI5MjczLi5kYTUzYWNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaApAQCAtNTAsNyArNTAsOCBA
QCBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdFNjaGVtYTsKIGV4dGVybiBjb25zdCBpbnQgU1FM
UmVzdWx0RnVsbDsKIGV4dGVybiBjb25zdCBpbnQgU1FMUmVzdWx0SW50ZXJydXB0OwogCi1jbGFz
cyBTUUxpdGVEYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTUUxpdGVEYXRh
YmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlRGF0YWJhc2UpOwogICAgIGZy
aWVuZCBjbGFzcyBTUUxpdGVUcmFuc2FjdGlvbjsKIHB1YmxpYzoKICAgICBTUUxpdGVEYXRhYmFz
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVN0YXRlbWVudC5oCmlu
ZGV4IDE0NDRmMGUuLmZkMWFiZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwv
U1FMaXRlU3RhdGVtZW50LmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBTUUxWYWx1ZTsKIAotY2xhc3MgU1FMaXRlU3RhdGVtZW50IDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNRTGl0ZVN0YXRlbWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoU1FMaXRlU3RhdGVtZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgU1FMaXRlU3RhdGVtZW50KFNRTGl0ZURhdGFiYXNlJiwgY29uc3QgU3RyaW5nJik7CiAgICAg
flNRTGl0ZVN0YXRlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlVHJhbnNhY3Rpb24uaAppbmRleCA5MjQyNDFmLi5iYTY4NmJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uaApAQCAtMjYsMTQgKzI2LDE1
IEBACiAjaWZuZGVmIFNRTGl0ZVRyYW5zYWN0aW9uX2gKICNkZWZpbmUgU1FMaXRlVHJhbnNhY3Rp
b25faAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTUUxpdGVEYXRhYmFz
ZTsKIAotY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb24gOiBwdWJsaWMgTm9uY29weWFibGUKLXsKK2Ns
YXNzIFNRTGl0ZVRyYW5zYWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxpdGVU
cmFuc2FjdGlvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNRTGl0
ZVRyYW5zYWN0aW9uKFNRTGl0ZURhdGFiYXNlJiBkYiwgYm9vbCByZWFkT25seSA9IGZhbHNlKTsK
ICAgICB+U1FMaXRlVHJhbnNhY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0JpZGlSZXNvbHZlci5oCmluZGV4IDFmODcxMTUuLjk3YjkzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaApAQCAtMTI2LDcgKzEyNiw4IEBAIHN0cnVj
dCBCaWRpQ2hhcmFjdGVyUnVuIHsKICAgICBCaWRpQ2hhcmFjdGVyUnVuKiBtX25leHQ7CiB9Owog
Ci10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3Mg
UnVuPiBjbGFzcyBCaWRpUmVzb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJpZGlS
ZXNvbHZlcik7CiBwdWJsaWMgOgogICAgIEJpZGlSZXNvbHZlcigpCiAgICAgICAgIDogbV9kaXJl
Y3Rpb24oV1RGOjpVbmljb2RlOjpPdGhlck5ldXRyYWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgKaW5kZXggZjE2MTFlNS4uNTM2ZWQ0OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24u
aApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlZ3Vs
YXJFeHByZXNzaW9uIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgUmVndWxhckV4cHJl
c3Npb24geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlZ3Vs
YXJFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYsIFRleHRDYXNlU2Vuc2l0aXZpdHkpOwogICAgIH5S
ZWd1bGFyRXhwcmVzc2lvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0Q29kZWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
LmgKaW5kZXggYzZhZjM4YS4uMzUyMjlhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1RleHRDb2RlYy5oCkBAIC01Nyw4ICs1NywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICB0eXBlZGVmIGNoYXIgVW5lbmNvZGFibGVSZXBsYWNlbWVudEFycmF5WzMyXTsKIAotICAgIGNs
YXNzIFRleHRDb2RlYyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgVGV4dENvZGVj
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGV4dENvZGVjKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAgICBUZXh0Q29kZWMoKSB7IH0KICAgICAg
ICAgdmlydHVhbCB+VGV4dENvZGVjKCk7CiAKICAgICAgICAgU3RyaW5nIGRlY29kZShjb25zdCBj
aGFyKiBzdHIsIHNpemVfdCBsZW5ndGgsIGJvb2wgZmx1c2ggPSBmYWxzZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVy
LmgKaW5kZXggNjdkYjk3Ny4uNjk5MGExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC90cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmgKQEAgLTQwLDcgKzQw
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3Mg
VGV4dEVuY29kaW5nOwogCi1jbGFzcyBGb250VHJhbnNjb2RlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBGb250VHJhbnNjb2RlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9u
dFRyYW5zY29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2b2lk
IGNvbnZlcnQoU3RyaW5nJiB0ZXh0LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0
RW5jb2RpbmcqID0gMCkgY29uc3Q7CiAgICAgYm9vbCBuZWVkc1RyYW5zY29kaW5nKGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYsIGNvbnN0IFRleHRFbmNvZGluZyogPSAwKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaAppbmRleCBjZTY0Yjg1Li43NzlkYTI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCkBAIC00MSw2
ICs0MSw3IEBAIGNsYXNzIFdDRGF0YU9iamVjdDsKIAogLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmlu
ZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogY2xhc3MgQ2xp
cGJvYXJkV2luIDogcHVibGljIENsaXBib2FyZCwgcHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxDbGlwYm9hcmRXaW4+IGNyZWF0ZShDbGlwYm9hcmRUeXBlIGNsaXBib2FyZFR5cGUs
IElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBG
cmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1dpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlci5oCmluZGV4IGU3ODU2ZTcuLmQzNmMyMzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaW5kb3dNZXNzYWdlQnJvYWRj
YXN0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJy
b2FkY2FzdGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBXaW5kb3dNZXNzYWdlTGlzdGVu
ZXI7CiAKLSAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIFdpbmRvd01lc3NhZ2VCcm9hZGNhc3RlciB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdpbmRvd01lc3NhZ2VCcm9hZGNhc3Rlcik7CiAgICAgcHVibGlj
OgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRMaXN0ZW5lcihIV05ELCBXaW5kb3dNZXNzYWdlTGlz
dGVuZXIqKTsKICAgICAgICAgc3RhdGljIHZvaWQgcmVtb3ZlTGlzdGVuZXIoSFdORCwgV2luZG93
TWVzc2FnZUxpc3RlbmVyKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpbkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFiYXNlLmgK
aW5kZXggYjE0NjA1Zi4uYzQxMmMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5EYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luRGF0
YWJhc2UuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBl
ZGVmIEhhc2hTZXQ8UmVmUHRyPFBsdWdpblBhY2thZ2U+LCBQbHVnaW5QYWNrYWdlSGFzaD4gUGx1
Z2luU2V0OwogCi0gICAgY2xhc3MgUGx1Z2luRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGx1Z2luRGF0YWJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFBsdWdpbkRhdGFiYXNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvcGx1
Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyLmgKaW5kZXggNjEwZTg5Yy4uMjliYzRlNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5NYWluVGhyZWFkU2NoZWR1
bGVyLmgKQEAgLTM2LDcgKzM2LDggQEAgdHlwZWRlZiBOUFBfdCogTlBQOwogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHR5cGVkZWYgdm9pZCBNYWluVGhyZWFkRnVuY3Rpb24o
dm9pZCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCmluZGV4IDA0NGQ2ZTIuLjhm
OGYxM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luVmlldy5oCkBAIC05NSw3ICs5NSw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUGx1Z2luU3RhdHVzTG9hZGVkU3VjY2Vzc2Z1
bGx5CiAgICAgfTsKIAotICAgIGNsYXNzIFBsdWdpblJlcXVlc3QgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIGNsYXNzIFBsdWdpblJlcXVlc3QgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbHVnaW5SZXF1ZXN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBQbHVnaW5SZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIGZyYW1lTG9h
ZFJlcXVlc3QsIGJvb2wgc2VuZE5vdGlmaWNhdGlvbiwgdm9pZCogbm90aWZ5RGF0YSwgYm9vbCBz
aG91bGRBbGxvd1BvcHVwcykKICAgICAgICAgICAgIDogbV9mcmFtZUxvYWRSZXF1ZXN0KGZyYW1l
TG9hZFJlcXVlc3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1u
SW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbkluZm8uaAppbmRleCA1ZTZm
NjE5Li5kNzdkNmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1u
SW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKQEAgLTMx
LDcgKzMxLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDb2x1bW5JbmZvIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENvbHVtbkluZm8geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKENvbHVtbkluZm8pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoK
ICAgICBDb2x1bW5JbmZvKCkKICAgICAgICAgOiBtX2Rlc2lyZWRDb2x1bW5XaWR0aCgwKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAppbmRleCAwZDA2Y2IxLi5jNDk5NDM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAtMzcsNyArMzcsOCBAQCBj
bGFzcyBSZW5kZXJBcmVuYTsKIGNsYXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRlck9iamVjdDsK
IAotY2xhc3MgTGF5b3V0U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5b3V0
U3RhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRlKTsKIHB1YmxpYzoK
ICAgICBMYXlvdXRTdGF0ZSgpCiAgICAgICAgIDogbV9jbGlwcGVkKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAppbmRleCAzMjEzOWZiLi5lMWZmNTM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuaApAQCAtMzYsMTMgKzM2LDE1IEBACiAjZGVm
aW5lIFJlbmRlckFyZW5hX2gKIAogI2luY2x1ZGUgIkFyZW5hLmgiCisjaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3Qgc2l6ZV90IGdNYXhSZWN5Y2xlZFNpemUgPSA0MDA7
CiAKLWNsYXNzIFJlbmRlckFyZW5hIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRl
ckFyZW5hIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJBcmVuYSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbmRlckFyZW5hKHVuc2lnbmVkIGFyZW5h
U2l6ZSA9IDQwOTYpOwogICAgIH5SZW5kZXJBcmVuYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suaAppbmRleCA5NTI5YmQ2Li5mODgyOWVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMzYwLDcgKzM2MCw5IEBAIHByaXZhdGU6CiAgICAgICAg
IGJvb2wgZXZlckhhZExheW91dDsKICAgICB9OwogCi0gICAgc3RydWN0IEZsb2F0aW5nT2JqZWN0
IDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZsb2F0aW5nT2JqZWN0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CisgICAgcHVibGljOgogICAgICAgICAvLyBOb3RlIHRoYXQgVHlwZSB1c2VzIGJpdHMgc28g
eW91IGNhbiB1c2UgRmxvYXRCb3RoIGFzIGEgbWFzayB0byBxdWVyeSBmb3IgYm90aCBsZWZ0IGFu
ZCByaWdodC4KICAgICAgICAgZW51bSBUeXBlIHsgRmxvYXRMZWZ0ID0gMSwgRmxvYXRSaWdodCA9
IDIsIEZsb2F0Qm90aCA9IDMgfTsKIApAQCAtNjc4LDcgKzY4MCw5IEBAIHByaXZhdGU6CiAgICAg
UG9zaXRpb25lZE9iamVjdHNMaXN0SGFzaFNldCogbV9wb3NpdGlvbmVkT2JqZWN0czsKIAogICAg
IC8vIEFsbG9jYXRlZCBvbmx5IHdoZW4gc29tZSBvZiB0aGVzZSBmaWVsZHMgaGF2ZSBub24tZGVm
YXVsdCB2YWx1ZXMKLSAgICBzdHJ1Y3QgUmVuZGVyQmxvY2tSYXJlRGF0YSA6IE5vbmNvcHlhYmxl
IHsKKyAgICBzdHJ1Y3QgUmVuZGVyQmxvY2tSYXJlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlckJsb2NrUmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
KyAgICBwdWJsaWM6CiAgICAgICAgIFJlbmRlckJsb2NrUmFyZURhdGEoY29uc3QgUmVuZGVyQmxv
Y2sqIGJsb2NrKSAKICAgICAgICAgICAgIDogbV9tYXJnaW5zKHBvc2l0aXZlTWFyZ2luQmVmb3Jl
RGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQmVmb3JlRGVmYXVsdChibG9jayksIHBvc2l0
aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJsb2NrKSwgbmVnYXRpdmVNYXJnaW5BZnRlckRlZmF1bHQo
YmxvY2spKQogICAgICAgICAgICAgLCBtX3BhZ2luYXRpb25TdHJ1dCgwKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggZmIwMjRm
Yy4uZjI0MTJhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwCkBAIC02Myw3ICs2Myw4IEBAIHR5cGVkZWYgSGFzaE1hcDxMYXN0UGFp
bnRTaXplTWFwS2V5LCBJbnRTaXplPiBMYXN0UGFpbnRTaXplTWFwOwogdHlwZWRlZiBIYXNoTWFw
PGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiwgUmVuZGVyQm94TW9kZWxPYmplY3QqPiBDb250
aW51YXRpb25NYXA7CiBzdGF0aWMgQ29udGludWF0aW9uTWFwKiBjb250aW51YXRpb25NYXAgPSAw
OwogCi1jbGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIEltYWdlUXVhbGl0eUNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEltYWdlUXVhbGl0eUNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBJbWFnZVF1YWxpdHlDb250cm9sbGVyKCk7CiAgICAgYm9vbCBzaG91bGRQYWludEF0
TG93UXVhbGl0eShHcmFwaGljc0NvbnRleHQqLCBSZW5kZXJCb3hNb2RlbE9iamVjdCosIEltYWdl
KiwgY29uc3Qgdm9pZCogbGF5ZXIsIGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKaW5kZXggZDBhYjM0Ni4uMWU1MTFkMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYW1lU2V0LmgKQEAgLTczLDcgKzczLDggQEAgcHVi
bGljOgogcHJpdmF0ZToKICAgICBzdGF0aWMgY29uc3QgaW50IG5vU3BsaXQgPSAtMTsKIAotICAg
IGNsYXNzIEdyaWRBeGlzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHcmlkQXhp
cyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyaWRBeGlzKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIEdyaWRBeGlzKCk7CiAgICAgICAgIHZvaWQgcmVzaXplKGludCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNvdXJjZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaAppbmRleCAyMzQ2NzEy
Li5hMjBjNTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1h
Z2VSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJl
c291cmNlLmgKQEAgLTI5LDEzICsyOSwxMyBAQAogI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgiCiAj
aW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJTdHlsZUltYWdlLmgi
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgUmVuZGVyT2JqZWN0OwogCi1jbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlckltYWdlUmVzb3VyY2UgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlckltYWdlUmVzb3VyY2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SZW5kZXJJbWFnZVJlc291cmNlKCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuaAppbmRleCA1YzZlZDEy
Li43MjZiNzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFj
a2luZy5oCkBAIC01Myw3ICs1Myw4IEBAIGVudW0gQ29tcG9zaXRpbmdMYXllclR5cGUgewogLy8g
CiAvLyBUaGVyZSBpcyBvbmUgUmVuZGVyTGF5ZXJCYWNraW5nIGZvciBlYWNoIFJlbmRlckxheWVy
IHRoYXQgaXMgY29tcG9zaXRlZC4KIAotY2xhc3MgUmVuZGVyTGF5ZXJCYWNraW5nIDogcHVibGlj
IEdyYXBoaWNzTGF5ZXJDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJM
YXllckJhY2tpbmcgOiBwdWJsaWMgR3JhcGhpY3NMYXllckNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVuZGVyTGF5ZXJCYWNraW5nKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgUmVuZGVyTGF5ZXJCYWNraW5nKFJlbmRlckxheWVyKik7CiAgICAgflJl
bmRlckxheWVyQmFja2luZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1hcnF1ZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNYXJxdWVl
LmgKaW5kZXggNzk5OThlZC4uOThmZGRiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1hcnF1ZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWFycXVlZS5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IFJlbmRlckxheWVyOwogCiAvLyBUaGlzIGNsYXNzIGhhbmRsZXMgdGhlIGF1dG8tc2Nyb2xsaW5n
IG9mIGxheWVycyB3aXRoIG92ZXJmbG93OiBtYXJxdWVlLgotY2xhc3MgUmVuZGVyTWFycXVlZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJNYXJxdWVlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZW5kZXJNYXJxdWVlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgZXhwbGljaXQgUmVuZGVyTWFycXVlZShSZW5kZXJMYXllciopOwogICAgIHZp
cnR1YWwgflJlbmRlck1hcnF1ZWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPdmVyZmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck92
ZXJmbG93LmgKaW5kZXggN2RjMmJjYi4uMzNlOGNmZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPdmVyZmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPdmVyZmxvdy5oCkBAIC0zNyw3ICszNyw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
CiAvLyBFeGFtcGxlcyBvZiB2aXN1YWwgb3ZlcmZsb3cgYXJlIHNoYWRvd3MsIHRleHQgc3Ryb2tl
IChhbmQgZXZlbnR1YWxseSBvdXRsaW5lIGFuZCBib3JkZXItaW1hZ2UpLgogCiAvLyBUaGlzIG9i
amVjdCBpcyBhbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9u
LWRlZmF1bHQgdmFsdWVzIGluIHRoZSBvd25pbmcgYm94LgotY2xhc3MgUmVuZGVyT3ZlcmZsb3cg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyT3ZlcmZsb3cgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlbmRlck92ZXJmbG93KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgUmVuZGVyT3ZlcmZsb3coY29uc3QgSW50UmVjdCYgbGF5b3V0UmVjdCwg
Y29uc3QgSW50UmVjdCYgdmlzdWFsUmVjdCkgCiAgICAgICAgIDogbV90b3BMYXlvdXRPdmVyZmxv
dyhsYXlvdXRSZWN0LnkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTZWxlY3Rpb25JbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Vs
ZWN0aW9uSW5mby5oCmluZGV4IGEwOWZjMWEuLjQ1Y2E4MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclNlbGVjdGlvbkluZm8uaApAQCAtMzAsNyArMzAsOCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFJlbmRlclNlbGVjdGlvbkluZm9CYXNlKCkKICAg
ICAgICAgOiBtX29iamVjdCgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5k
ZXggMWRmZDRjZS4uN2U1YjRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5o
CkBAIC0yNjQsNyArMjY0LDggQEAgdm9pZCB0b1JlbmRlclZpZXcoY29uc3QgUmVuZGVyVmlldyop
OwogCiAKIC8vIFN0YWNrLWJhc2VkIGNsYXNzIHRvIGFzc2lzdCB3aXRoIExheW91dFN0YXRlIHB1
c2gvcG9wCi1jbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShMYXlvdXRTdGF0ZU1haW50YWluZXIpOwogcHVibGljOgogICAgIC8vIGN0b3IgdG8gcHVzaCBu
b3cKICAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmlldyogdmlldywgUmVuZGVyQm94
KiByb290LCBJbnRTaXplIG9mZnNldCwgYm9vbCBkaXNhYmxlU3RhdGUgPSBmYWxzZSwgaW50IHBh
Z2VIZWlnaHQgPSAwLCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkID0gZmFsc2UsIENvbHVtbkluZm8q
IGNvbEluZm8gPSAwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
cldpZGdldFByb3RlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcldpZGdl
dFByb3RlY3Rvci5oCmluZGV4IDc4ODMwNGMuLjhiZjZhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQcm90ZWN0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKQEAgLTMwLDcgKzMwLDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgOiBw
cml2YXRlIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlcldpZGdldFByb3RlY3RvciB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyV2lkZ2V0UHJvdGVjdG9yKTsKIHB1YmxpYzoKICAg
ICBSZW5kZXJXaWRnZXRQcm90ZWN0b3IoUmVuZGVyV2lkZ2V0KiBvYmplY3QpCiAgICAgICAgIDog
bV9vYmplY3Qob2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Rh
YmxlTGF5b3V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQuaAppbmRl
eCBlMGZhOGVlLi5jNWY2MWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
VGFibGVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGFibGVMYXlvdXQu
aApAQCAtMjEsMTMgKzIxLDE1IEBACiAjaWZuZGVmIFRhYmxlTGF5b3V0X2gKICNkZWZpbmUgVGFi
bGVMYXlvdXRfaAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBSZW5kZXJU
YWJsZTsKIAotY2xhc3MgVGFibGVMYXlvdXQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VGFibGVMYXlvdXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhYmxlTGF5b3V0KTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGFibGVMYXlvdXQoUmVuZGVyVGFi
bGUqIHRhYmxlKQogICAgICAgICA6IG1fdGFibGUodGFibGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9UcmFuc2Zvcm1TdGF0ZS5oCmluZGV4IDBiNGNhNDYuLjM2ZmM2ZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UcmFuc2Zvcm1TdGF0ZS5oCkBAIC0zMSwxNCArMzEsMTQgQEAKICNp
bmNsdWRlICJGbG9hdFF1YWQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiVHJh
bnNmb3JtYXRpb25NYXRyaXguaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFRyYW5z
Zm9ybVN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRyYW5zZm9ybVN0YXRlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUcmFuc2Zvcm1TdGF0ZSk7CiBwdWJsaWM6CiAgICAg
ZW51bSBUcmFuc2Zvcm1EaXJlY3Rpb24geyBBcHBseVRyYW5zZm9ybURpcmVjdGlvbiwgVW5hcHBs
eUludmVyc2VUcmFuc2Zvcm1EaXJlY3Rpb24gfTsKICAgICBlbnVtIFRyYW5zZm9ybUFjY3VtdWxh
dGlvbiB7IEZsYXR0ZW5UcmFuc2Zvcm0sIEFjY3VtdWxhdGVUcmFuc2Zvcm0gfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBvc2l0aW9uQ2FjaGUuaAppbmRleCA0ZGVh
ZWY1Li5iMjViMmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGlj
YWxQb3NpdGlvbkNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2Fs
UG9zaXRpb25DYWNoZS5oCkBAIC0zOCw3ICszOCw4IEBAIGNvbnN0IGludCBQb3NpdGlvblRvcCA9
IC0weDdmZmZmZmZmOwogY29uc3QgaW50IFBvc2l0aW9uQm90dG9tID0gMHg3ZmZmZmZmZjsKIGNv
bnN0IGludCBQb3NpdGlvblVuZGVmaW5lZCA9IDB4ODAwMDAwMDA7CiAKLWNsYXNzIFZlcnRpY2Fs
UG9zaXRpb25DYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBWZXJ0aWNhbFBvc2l0
aW9uQ2FjaGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZlcnRpY2FsUG9zaXRpb25DYWNo
ZSk7CiBwdWJsaWM6CiAgICAgVmVydGljYWxQb3NpdGlvbkNhY2hlKCkKICAgICB7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRhLmgKaW5kZXggNGY5NjRhMi4u
MTVmNjkxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRl
bnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0NvbnRlbnREYXRh
LmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTdHlsZUlt
YWdlOwogCi1zdHJ1Y3QgQ29udGVudERhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgQ29udGVu
dERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbnRlbnREYXRhKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ29udGVudERhdGEoKQogICAgICAgICA6IG1f
dHlwZShDT05URU5UX05PTkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQ291bnRlckNvbnRlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9D
b3VudGVyQ29udGVudC5oCmluZGV4IDUyNzU3YWQuLjgxNDAzOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db3VudGVyQ29udGVudC5oCkBAIC0zMCw3ICszMCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ291bnRlckNvbnRlbnQgOiBwdWJsaWMg
RmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDb3VudGVyQ29udGVudCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ291bnRlckNvbnRlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiBpZGVudGlmaWVyLCBFTGlzdFN0eWxlVHlwZSBzdHlsZSwgY29uc3QgQXRvbWljU3RyaW5n
JiBzZXBhcmF0b3IpCiAgICAgICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKaW5kZXggNDlmYjI5NC4uODQ3ZThk
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaApAQCAtNTks
NyArNTksOCBAQCBzdHJ1Y3QgRmlsbFNpemUgewogICAgIExlbmd0aFNpemUgc2l6ZTsKIH07CiAK
LWNsYXNzIEZpbGxMYXllciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIEZpbGxMYXll
ciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRmlsbExheWVy
KEVGaWxsTGF5ZXJUeXBlKTsKICAgICB+RmlsbExheWVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAppbmRleCBmYjU5MjZkLi4wYmUzZmMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKQEAgLTI2LDcgKzI2LDYg
QEAKICNkZWZpbmUgU2hhZG93RGF0YV9oCiAKICNpbmNsdWRlICJDb2xvci5oIgotI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzcsNyAr
MzYsOCBAQCBlbnVtIFNoYWRvd1N0eWxlIHsgTm9ybWFsLCBJbnNldCB9OwogCiAvLyBUaGlzIHN0
cnVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCBzaGFkb3dzIGZvciB0aGUgdGV4dC1zaGFkb3cg
YW5kIGJveC1zaGFkb3cgcHJvcGVydGllcy4KIAotY2xhc3MgU2hhZG93RGF0YSA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIFNoYWRvd0RhdGEgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIFNoYWRvd0RhdGEoKQogICAgICAgICA6IG1feCgwKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNs
aXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VD
bGlwcGVyLmgKaW5kZXggN2Y4NjJhNy4uOTk4NjFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5oCkBAIC0zNSw3
ICszNSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RydWN0IENsaXBwZXJEYXRhIDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2xpcHBlckRhdGEgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgogICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gY2xpcE1hc2tJbWFn
ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW1h
Z2VCdWZmZXJUb29scy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbWFnZUJ1
ZmZlclRvb2xzLmgKaW5kZXggY2ZiMTViMi4uMTE1NzdjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbWFnZUJ1ZmZlclRvb2xzLmgKQEAgLTMyLDcgKzMyLDgg
QEAgY2xhc3MgRmxvYXRTaXplOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3MgUmVuZGVy
T2JqZWN0OwogCi1jbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFNWR0ltYWdlQnVmZmVyVG9vbHMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNWR0ltYWdlQnVmZmVyVG9vbHMpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIGNyZWF0ZUlt
YWdlQnVmZmVyKGNvbnN0IEZsb2F0UmVjdCYgYWJzb2x1dGVUYXJnZXRSZWN0LCBjb25zdCBGbG9h
dFJlY3QmIGNsYW1wZWRBYnNvbHV0ZVRhcmdldFJlY3QsIE93blB0cjxJbWFnZUJ1ZmZlcj4mLCBD
b2xvclNwYWNlKTsKICAgICBzdGF0aWMgdm9pZCByZW5kZXJTdWJ0cmVlVG9JbWFnZUJ1ZmZlcihJ
bWFnZUJ1ZmZlciosIFJlbmRlck9iamVjdCosIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdNYXJrZXJMYXlvdXRJbmZv
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR01hcmtlckxheW91dEluZm8uaApp
bmRleCA1ZTc1ZjBiLi4zMjMxN2I5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR01hcmtlckxheW91dEluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR01hcmtlckxheW91dEluZm8uaApAQCAtNDMsNyArNDMsOCBAQCBzdHJ1Y3QgTWFy
a2VyTGF5b3V0IHsKICAgICBBZmZpbmVUcmFuc2Zvcm0gbWF0cml4OwogfTsKIAotY2xhc3MgU1ZH
TWFya2VyTGF5b3V0SW5mbyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdNYXJrZXJM
YXlvdXRJbmZvIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdNYXJrZXJMYXlvdXRJbmZv
KTsKIHB1YmxpYzoKICAgICBTVkdNYXJrZXJMYXlvdXRJbmZvKCk7CiAgICAgflNWR01hcmtlckxh
eW91dEluZm8oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
UmVzb3VyY2VzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5o
CmluZGV4IGRkMzI4YjguLjQ4Y2NhMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHUmVzb3VyY2VzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdSZXNvdXJjZXMuaApAQCAtMzgsNyArMzgsOCBAQCBjbGFzcyBSZW5kZXJTVkdSZXNvdXJj
ZU1hc2tlcjsKIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogCiAvLyBIb2xkcyBhIHNldCBvZiByZXNv
dXJjZXMgYXNzb2NpYXRlZCB3aXRoIGEgUmVuZGVyT2JqZWN0Ci1jbGFzcyBTVkdSZXNvdXJjZXMg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVzb3VyY2VzIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBTVkdSZXNvdXJjZXMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oCmluZGV4IDMwZWFlY2EuLmJjNzNmNGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmgKQEAg
LTMxLDcgKzMxLDggQEAgY2xhc3MgUmVuZGVyU3R5bGU7CiBjbGFzcyBSZW5kZXJTVkdSZXNvdXJj
ZUNvbnRhaW5lcjsKIGNsYXNzIFNWR1Jlc291cmNlczsKIAotY2xhc3MgU1ZHUmVzb3VyY2VzQ2Fj
aGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVzb3VyY2VzQ2FjaGUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlc0NhY2hlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUmVzb3VyY2VzQ2FjaGUoKTsKICAgICB+U1ZHUmVz
b3VyY2VzQ2FjaGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIuaAppbmRleCAwNjUzMzA0Li4wOTlmOTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0N5Y2xlU29sdmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDeWNsZVNv
bHZlci5oCkBAIC0yOSw3ICsyOSw4IEBAIGNsYXNzIFJlbmRlck9iamVjdDsKIGNsYXNzIFJlbmRl
clNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHUmVzb3VyY2VzOwogCi1jbGFzcyBTVkdS
ZXNvdXJjZXNDeWNsZVNvbHZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdSZXNv
dXJjZXNDeWNsZVNvbHZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2Vz
Q3ljbGVTb2x2ZXIpOwogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0N5Y2xlU29sdmVyKFJlbmRl
ck9iamVjdCosIFNWR1Jlc291cmNlcyopOwogICAgIH5TVkdSZXNvdXJjZXNDeWNsZVNvbHZlcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtC
dWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxk
ZXIuaAppbmRleCAzNjM0MmU3Li4zMjFmMzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRDaHVua0J1aWxkZXIuaApAQCAtMzUsNyArMzUsOCBAQCBzdHJ1
Y3QgU1ZHVGV4dEZyYWdtZW50OwogLy8gUGhhc2UgdHdvIHBlcmZvcm1lZCB0aGUgYWN0dWFsIHBl
ci1jaGFyYWN0ZXIgbGF5b3V0LCBjb21wdXRpbmcgdGhlIGZpbmFsIHBvc2l0aW9ucyBmb3IgZWFj
aCBjaGFyYWN0ZXIsIHN0b3JlZCBpbiB0aGUgU1ZHSW5saW5lVGV4dEJveCBvYmplY3RzIChTVkdU
ZXh0RnJhZ21lbnQpLgogLy8gUGhhc2UgdGhyZWUgcGVyZm9ybXMgYWxsIG1vZGlmaWNhdGlvbnMg
dGhhdCBoYXZlIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCBpbmRpdmlkdWFsIHRleHQgY2h1bmsgKHRl
eHQtYW5jaG9yICYgdGV4dExlbmd0aCkuCiAKLWNsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dENodW5rQnVpbGRlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU1ZHVGV4dENodW5rQnVpbGRlcik7CiBwdWJsaWM6CiAgICAgU1ZH
VGV4dENodW5rQnVpbGRlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaAppbmRleCBmMjlh
YzY0Li5jNjgxODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKQEAgLTM4LDcgKzM4LDgg
QEAgY2xhc3MgUmVuZGVyU1ZHVGV4dDsKIC8vIHRvIGNyZWF0ZSB0aGUgSW5saW5lQm94IHRyZWUg
YmFzZWQgb24gdGV4dCBjaHVuayBib3VuZGFyaWVzICYgQmlEaSBpbmZvcm1hdGlvbi4KIC8vIFRo
ZSBzZWNvbmQgbGF5b3V0IHBoYXNlIGlzIGNhcnJpZWQgb3V0IGJ5IFNWR1RleHRMYXlvdXRFbmdp
bmUuCiAKLWNsYXNzIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcik7CiBwdWJs
aWM6CiAgICAgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyKCk7CiAgICAgdm9pZCBidWls
ZExheW91dEF0dHJpYnV0ZXNGb3JUZXh0U3VidHJlZShSZW5kZXJTVkdUZXh0Kik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCmluZGV4
IGFkMDU4ZDguLjYzMWU0Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHVGV4dExheW91dEVuZ2luZS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIFNWR1JlbmRl
clN0eWxlOwogLy8gUmVuZGVyU1ZHSW5saW5lVGV4dCByZW5kZXJlcnMgdG8gY29tcHV0ZSB0aGUg
ZmluYWwgcG9zaXRpb25zIGZvciBlYWNoIGNoYXJhY3RlcgogLy8gd2hpY2ggYXJlIHN0b3JlZCBp
biB0aGUgU1ZHSW5saW5lVGV4dEJveCBvYmplY3RzLgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5n
aW5lIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmUgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmUpOwogcHVibGljOgog
ICAgIFNWR1RleHRMYXlvdXRFbmdpbmUoKTsKICAgICBTVkdUZXh0Q2h1bmtCdWlsZGVyJiBjaHVu
a0xheW91dEJ1aWxkZXIoKSB7IHJldHVybiBtX2NodW5rTGF5b3V0QnVpbGRlcjsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFz
ZWxpbmUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZUJhc2VsaW5lLmgKaW5kZXggZDc1M2IzOS4uNjc5NGJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5o
CkBAIC0zMyw3ICszMyw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHVGV4dE1l
dHJpY3M7CiAKIC8vIEhlbHBlciBjbGFzcyB1c2VkIGJ5IFNWR1RleHRMYXlvdXRFbmdpbmUgdG8g
aGFuZGxlICdhbGlnbm1lbnQtYmFzZWxpbmUnIC8gJ2RvbWluYW50LWJhc2VsaW5lJyBhbmQgJ2Jh
c2VsaW5lLXNoaWZ0Jy4KLWNsYXNzIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZSk7CiBwdWJs
aWM6CiAgICAgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lKGNvbnN0IEZvbnQmKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5l
U3BhY2luZy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5n
aW5lU3BhY2luZy5oCmluZGV4IDBhNmQ3MzYuLjcxZDQ3MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgK
QEAgLTMwLDcgKzMwLDggQEAgY2xhc3MgU1ZHUmVuZGVyU3R5bGU7CiBjbGFzcyBTVkdFbGVtZW50
OwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhhbmRs
ZSAna2VybmluZycgLyAnbGV0dGVyLXNwYWNpbmcnIGFuZCAnd29yZC1zcGFjaW5nJy4KLWNsYXNz
IFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyk7CiBwdWJsaWM6CiAgICAgU1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmcoY29uc3QgRm9udCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0RhdGFiYXNlVGFzay5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRh
c2suaAppbmRleCBiNjFlNDY1Li5lMWRmNTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJh
c2VUYXNrLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAvLyBDYW4g
YmUgdXNlZCB0byB3YWl0IHVudGlsIERhdGFiYXNlVGFzayBpcyBjb21wbGV0ZWQuCiAvLyBIYXMg
dG8gYmUgcGFzc2VkIGludG8gRGF0YWJhc2VUYXNrOjpjcmVhdGUgdG8gYmUgYXNzb2NpYXRlZCB3
aXRoIHRoZSB0YXNrLgotY2xhc3MgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNrU3luY2hyb25pemVyKTsKIHB1YmxpYzoKICAgICBE
YXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIoKTsKIApAQCAtNjcsNyArNjgsOCBAQCBwcml2YXRlOgog
I2VuZGlmCiB9OwogCi1jbGFzcyBEYXRhYmFzZVRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgRGF0YWJhc2VUYXNrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRh
c2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5EYXRh
YmFzZVRhc2soKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFz
ZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgKaW5k
ZXggNzE0NWU2Yi4uYTFhNWJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJh
Y2tlci5oCkBAIC01Niw3ICs1Niw4IEBAIGNsYXNzIERhdGFiYXNlVHJhY2tlckNsaWVudDsKIHN0
cnVjdCBTZWN1cml0eU9yaWdpblRyYWl0czsKICNlbmRpZiAvLyAhUExBVEZPUk0oQ0hST01JVU0p
CiAKLWNsYXNzIERhdGFiYXNlVHJhY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBE
YXRhYmFzZVRyYWNrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlVHJhY2tl
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGlu
aXRpYWxpemVUcmFja2VyKGNvbnN0IFN0cmluZyYgZGF0YWJhc2VQYXRoKTsKICAgICBzdGF0aWMg
RGF0YWJhc2VUcmFja2VyJiB0cmFja2VyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oCmluZGV4IDc4M2E3MzEuLjViYzZh
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0
aW9uTW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5z
YWN0aW9uTW9uaXRvci5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNzIElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZTsKIC8vIEZJWE1FOiBtb3ZlIHRoZSB2ZWN0b3Igb2YgdHJhbnNhY3Rpb25z
IHRvIFRMUy4gS2VlcGluZyBpdCBzdGF0aWMKIC8vIHdpbGwgbm90IHdvcmsgb25jZSB3ZSBhZGQg
c3VwcG9ydCBmb3Igd29ya2Vycy4gQW5vdGhlciBwb3NzaWJsZQogLy8gc29sdXRpb24gaXMgdG8g
a2VlcCB0aGUgdmVjdG9yIGluIHRoZSBTY3JpcHRFeGVjdXRpb25Db250ZXh0LgotY2xhc3MgSURC
UGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJ
REJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
REJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBh
ZGRQZW5kaW5nVHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKik7CiAg
ICAgc3RhdGljIHZvaWQgcmVtb3ZlUGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2Nh
bFN0b3JhZ2VUYXNrLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2su
aAppbmRleCBhMmUzNWVhLi4yN2E4ZWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0xvY2FsU3RvcmFnZVRhc2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0xvY2Fs
U3RvcmFnZVRhc2suaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
Y2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkOwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIGNs
YXNzIHRvIFN0b3JhZ2VUYXNrCi0gICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzayB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKExvY2FsU3RvcmFnZVRhc2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gVHlwZSB7IEFyZWFJbXBvcnQsIEFyZWFTeW5j
LCBEZWxldGVFbXB0eURhdGFiYXNlLCBUZXJtaW5hdGVUaHJlYWQgfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKaW5kZXggNmYwNTkxMS4uYTJjNzhjNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCkBAIC00MCw3
ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBMb2NhbFN0b3JhZ2VUYXNr
OwogCiAgICAgLy8gRklYTUU6IFJlbmFtZSB0aGlzIGNsYXNzIHRvIFN0b3JhZ2VUaHJlYWQKLSAg
ICBjbGFzcyBMb2NhbFN0b3JhZ2VUaHJlYWQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIExvY2FsU3RvcmFnZVRocmVhZCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExv
Y2FsU3RvcmFnZVRocmVhZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGhyZWFkPiBjcmVhdGUoKTsK
ICAgICAgICAgfkxvY2FsU3RvcmFnZVRocmVhZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
T3JpZ2luUXVvdGFNYW5hZ2VyLmgKaW5kZXggZWM5NjIwYy4uODJkN2M3NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiBjbGFzcyBPcmlnaW5V
c2FnZVJlY29yZDsKIAotY2xhc3MgT3JpZ2luUXVvdGFNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIE9yaWdpblF1b3RhTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoT3JpZ2luUXVvdGFNYW5hZ2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgT3JpZ2luUXVvdGFNYW5hZ2VyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3Jp
Z2luVXNhZ2VSZWNvcmQuaAppbmRleCBhODMwZTY4Li43NTU3ZWFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogLy8gT2JqZWN0cyBvZiB0aGlzIGNsYXNzIGNhbiBiZSB1c2VkIGZyb20g
bXVsdGlwbGUgdGhyZWFkcyB3aXRoIGV4dGVybmFsIHN5bmNocm9uaXphdGlvbi4KIC8vIFN0cmlu
ZyBhcmd1bWVudHMgYXJlIGFsc28gc3VwcG9zZWQgdG8gYmUgZGVlcGx5IGNvcGllZCBieSB0aGUg
Y2FsbGVyIHdoZW4gbmVjZXNzYXJ5LgotY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgT3JpZ2luVXNhZ2VSZWNvcmQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKE9yaWdpblVzYWdlUmVjb3JkKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgT3JpZ2luVXNhZ2VSZWNvcmQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCmluZGV4IGZlZDA2NTcuLjNjNWVjMmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmgKQEAgLTMzLDYg
KzMzLDcgQEAKIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQxLDggKzQyLDEwIEBAIGNsYXNzIEFic3RyYWN0RGF0YWJhc2U7CiAKIC8vIEEg
Y2xpZW50IHRvIHRoZSBTUUxUcmFuc2FjdGlvbiBjbGFzcy4gQWxsb3dzIFNRTFRyYW5zYWN0aW9u
IHRvIG5vdGlmeSBpbnRlcmVzdGVkCiAvLyBwYXJ0aWVzIHRoYXQgY2VydGFpbiB0aGluZ3MgaGF2
ZSBoYXBwZW5lZCBpbiBhIHRyYW5zYWN0aW9uLgotY2xhc3MgU1FMVHJhbnNhY3Rpb25DbGllbnQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMVHJhbnNhY3Rpb25DbGllbnQgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTFRyYW5zYWN0aW9uQ2xpZW50KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgU1FMVHJhbnNhY3Rpb25DbGllbnQoKSB7IH0KICAg
ICB2b2lkIGRpZENvbW1pdFdyaXRlVHJhbnNhY3Rpb24oQWJzdHJhY3REYXRhYmFzZSopOwogICAg
IHZvaWQgZGlkRXhlY3V0ZVN0YXRlbWVudChBYnN0cmFjdERhdGFiYXNlKik7CiAgICAgYm9vbCBk
aWRFeGNlZWRRdW90YShBYnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oCmluZGV4IDk0MzYwYzAuLmZkNzY3
ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29y
ZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29y
ZGluYXRvci5oCkBAIC00Myw4ICs0MywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBj
bGFzcyBTUUxUcmFuc2FjdGlvbjsKIAotICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0
b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgorICAgICAgICBT
UUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKCkgeyB9CiAgICAgICAgIHZvaWQgYWNxdWlyZUxvY2so
U1FMVHJhbnNhY3Rpb24qKTsKICAgICAgICAgdm9pZCByZWxlYXNlTG9jayhTUUxUcmFuc2FjdGlv
biopOwogICAgICAgICB2b2lkIHNodXRkb3duKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgKaW5kZXggYTBjZjJiYi4uMGVkNjJhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaApAQCAtMzgsNyArMzgsOCBAQCBjbGFzcyBT
VkdTdHlsZWRFbGVtZW50OwogY2xhc3MgU1ZHU01JTEVsZW1lbnQ7CiBjbGFzcyBTVkdTVkdFbGVt
ZW50OwogCi1jbGFzcyBTVkdEb2N1bWVudEV4dGVuc2lvbnMgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShTVkdEb2N1bWVudEV4dGVuc2lvbnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPFNWR1N0eWxlZEVsZW1lbnQ+ID4gU1ZHUGVu
ZGluZ0VsZW1lbnRzOwogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhEb2N1bWVudCopOwpAQCAt
NjgsOSArNjksNiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5k
aW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7CiAgICAgT3duUHRyPFNWR1Jlc291cmNl
c0NhY2hlPiBtX3Jlc291cmNlc0NhY2hlOwogCi0gICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKGNv
bnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYg
b3BlcmF0b3I9KGNvbnN0IFNWR0RvY3VtZW50RXh0ZW5zaW9ucyYpOwotCiBwdWJsaWM6CiAgICAg
Ly8gVGhpcyBIYXNoTWFwIGNvbnRhaW5zIGEgbGlzdCBvZiBwZW5kaW5nIHJlc291cmNlcy4gUGVu
ZGluZyByZXNvdXJjZXMsIGFyZSBzdWNoCiAgICAgLy8gd2hpY2ggYXJlIHJlZmVyZW5jZWQgYnkg
YW55IG9iamVjdCBpbiB0aGUgU1ZHIGRvY3VtZW50LCBidXQgZG8gTk9UIGV4aXN0IHlldC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaAppbmRleCA0Mjc2YzRhLi4zMzE4ZGVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0zMSw3ICszMSw4
IEBAIGNsYXNzIFNWR0N1cnNvckVsZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50OwogY2xhc3MgU1ZH
RWxlbWVudEluc3RhbmNlOwogCi1jbGFzcyBTVkdFbGVtZW50UmFyZURhdGEgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdFbGVtZW50UmFyZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBTVkdFbGVtZW50UmFyZURhdGEoKQogICAgICAgICA6IG1fY3Vyc29yRWxlbWVu
dCgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAppbmRleCBlODk3YTU5Li5mMjAyZDI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udERhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRm9udERhdGEuaApAQCAtMjUsNyArMjUsOCBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIFNWR0ZvbnREYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNWR0ZvbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdGb250RGF0YSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0ZvbnREYXRhKFNWR0ZvbnRG
YWNlRWxlbWVudCopOwogICAgIHZpcnR1YWwgflNWR0ZvbnREYXRhKCkgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoQmxlbmRlci5oCmluZGV4IGMwYWU3ZjMuLjhlNDNiOTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQmxlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoQmxlbmRlci5oCkBAIC0yMywxMSArMjMsMTEgQEAKICNpZiBFTkFCTEUoU1ZHKQog
I2luY2x1ZGUgIlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTb3VyY2UuaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1j
bGFzcyBTVkdQYXRoQmxlbmRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRo
QmxlbmRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aEJsZW5kZXIpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdQYXRoQmxlbmRlcigpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCmluZGV4IGI4ODgyYjYuLmE0NDRhYzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQnl0ZVN0cmVhbS5oCkBAIC00Myw3ICs0Myw4IEBA
IHR5cGVkZWYgdW5pb24gewogICAgIHVuc2lnbmVkIGNoYXIgYnl0ZXNbc2l6ZW9mKHVuc2lnbmVk
IHNob3J0KV07CiB9IFVuc2lnbmVkU2hvcnRCeXRlOwogCi1jbGFzcyBTVkdQYXRoQnl0ZVN0cmVh
bSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQnl0ZVN0cmVhbSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aEJ5dGVTdHJlYW0pOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxTVkdQYXRoQnl0ZVN0cmVh
bT4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aENvbnN1bWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKaW5kZXgg
YjdjNWU3My4uYWYzZjc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhD
b25zdW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29uc3VtZXIuaApAQCAt
MjYsNiArMjYsNyBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJGbG9hdFBvaW50Lmgi
CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsOCArNDEsMTAgQEAgZW51bSBQYXRo
UGFyc2luZ01vZGUgewogICAgIFVuYWx0ZXJlZFBhcnNpbmcKIH07CiAKLWNsYXNzIFNWR1BhdGhD
b25zdW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdQYXRoQ29uc3VtZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhDb25zdW1lcik7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgorICAgIFNWR1BhdGhDb25zdW1lcigpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBpbmNyZW1lbnRQYXRoU2VnbWVudENvdW50KCkgPSAwOwogICAgIHZpcnR1YWwgYm9v
bCBjb250aW51ZUNvbnN1bWluZygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xlYW51cCgpID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCmluZGV4IDc2NzlhOTUuLjA5NjEzMWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaApAQCAtMjksMTIgKzI5LDEyIEBACiAjaW5jbHVk
ZSAiU1ZHUGF0aENvbnN1bWVyLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFNlZy5oIgogI2luY2x1ZGUg
IlNWR1BhdGhTb3VyY2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1Bh
dGhQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aFBhcnNlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aFBhcnNlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIFNWR1BhdGhQYXJzZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YXRoU291cmNlLmgKaW5kZXggZDFhNjE0OS4uNzdiZjlmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1BhdGhTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNvdXJjZS5oCkBAIC0yNSw4ICsyNSwxMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFNWR1BhdGhTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aFNv
dXJjZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHUGF0aFNvdXJjZSk7IFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIFNWR1BhdGhTb3VyY2UoKSB7IH0KICAgICB2
aXJ0dWFsIH5TVkdQYXRoU291cmNlKCkgeyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzTW9yZURh
dGEoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1Nw
ZWMuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCmluZGV4IDY4NmNlYzMuLmNk
MTBjYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCkBAIC0zMiw4ICszMiw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIFNWR0VsZW1lbnQ7CiAKIGNsYXNzIFNWR1ZpZXdTcGVjIDog
cHVibGljIFNWR0ZpdFRvVmlld0JveCwKLSAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR1pv
b21BbmRQYW4sCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
ICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdab29tQW5kUGFuIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTVkdWaWV3U3BlYyk7CiBwdWJsaWM6CiAgICAgU1ZHVmlld1NwZWMoU1ZHRWxlbWVu
dCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCA5N2Y4
NmJlLi5mYzJmZDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAK
QEAgLTU1LDcgKzU1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdJbWFn
ZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVudCwgcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFNWR0ltYWdlQ2hyb21lQ2xpZW50IDogcHVibGljIEVtcHR5Q2hyb21lQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdJbWFnZUNocm9tZUNsaWVudCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xpZW50
KFNWR0ltYWdlKiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oIGIvU291cmNlL1dlYkNv
cmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCmluZGV4IDY4NmMxN2MuLmNjNzkxZmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgKQEAgLTM5LDcgKzM5
LDggQEAgY2xhc3MgRmxvYXQzMkFycmF5OwogY2xhc3MgVWludDhBcnJheTsKICNlbmRpZgogCi1j
bGFzcyBSZWFsdGltZUFuYWx5c2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlYWx0
aW1lQW5hbHlzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlYWx0aW1lQW5hbHlzZXIp
OwogcHVibGljOgogICAgIFJlYWx0aW1lQW5hbHlzZXIoKTsKICAgICB2aXJ0dWFsIH5SZWFsdGlt
ZUFuYWx5c2VyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVh
ZGFibGVXZWJTb2NrZXRDaGFubmVsLmgKaW5kZXggMDViMzc2Ny4uOTU2ZTBmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWwuaApAQCAtNDMsOCArNDMsMTAgQEAgY2xhc3MgS1VSTDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CiBjbGFzcyBXZWJTb2NrZXRDaGFubmVsQ2xpZW50OwogCi1jbGFzcyBUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwpOwogcHVibGljOgorICAgIFRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsKCkgeyB9CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5u
ZWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgV2ViU29ja2V0Q2hhbm5lbENsaWVu
dCosIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBjb25uZWN0KCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0
cy9XZWJTb2NrZXRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tl
dENoYW5uZWwuaAppbmRleCA5YzUyMzc3Li5hMzljZDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuaApAQCAtNDksNiArNDksNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAogICAgIGNsYXNz
IFdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJTb2NrZXRDaGFubmVsPiwg
cHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCwgcHVibGljIFRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGlj
OgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJTb2NrZXRDaGFubmVsPiBjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgV2ViU29ja2V0Q2hhbm5lbENsaWVudCogY2xp
ZW50LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBXZWJTb2NrZXRDaGFubmVsKGNvbnRleHQsIGNsaWVudCwgdXJsLCBwcm90b2Nv
bCkpOyB9CiAgICAgICAgIHZpcnR1YWwgfldlYlNvY2tldENoYW5uZWwoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtlLmggYi9Tb3VyY2Uv
V2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oCmluZGV4IGE1YjQyNjAuLjM3
MWQ4NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFu
ZHNoYWtlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hh
a2UuaApAQCAtMzcsMTMgKzM3LDEzIEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNp
bmNsdWRlICJXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViU29ja2V0
SGFuZHNoYWtlUmVzcG9uc2UuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAot
ICAgIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFrZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgV2ViU29ja2V0SGFuZHNoYWtlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
V2ViU29ja2V0SGFuZHNoYWtlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIGVudW0gTW9kZSB7CiAg
ICAgICAgICAgICBJbmNvbXBsZXRlLCBOb3JtYWwsIEZhaWxlZCwgQ29ubmVjdGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRD
aGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJT
b2NrZXRDaGFubmVsLmgKaW5kZXggMzY2ZTRmYS4uOWYwYjAxYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENo
YW5uZWwuaApAQCAtNTIsNiArNTIsNyBAQCBjbGFzcyBXb3JrZXJMb2FkZXJQcm94eTsKIGNsYXNz
IFdvcmtlclJ1bkxvb3A7CiAKIGNsYXNzIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
IDogcHVibGljIFJlZkNvdW50ZWQ8V29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWw+LCBw
dWJsaWMgVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2Nr
ZXRDaGFubmVsPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgV2ViU29ja2V0
Q2hhbm5lbENsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgcHJvdG9jb2wpCiAgICAgewpAQCAtNzcsNyArNzgsOCBAQCBw
cm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIC8vIEdlbmVyYXRlZCBieSB0aGUgYnJpZGdlLiAgVGhl
IFBlZXIgYW5kIGl0cyBicmlkZ2Ugc2hvdWxkIGhhdmUgaWRlbnRpY2FsCiAgICAgLy8gbGlmZXRp
bWVzLgotICAgIGNsYXNzIFBlZXIgOiBwdWJsaWMgV2ViU29ja2V0Q2hhbm5lbENsaWVudCwgcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQZWVyIDogcHVibGljIFdlYlNvY2tldENoYW5u
ZWxDbGllbnQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZWVyKTsgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGVlciogY3JlYXRl
KFJlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbENsaWVudFdyYXBwZXI+IGNsaWVudFdy
YXBwZXIsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYgdXJsLCBj
b25zdCBTdHJpbmcmIHByb3RvY29sKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKaW5kZXggMjFlMTRh
MS4uNDM1YjYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hh
cmVkV29ya2VyUmVwb3NpdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaApAQCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgU2hhcmVkV29ya2VyUHJveHk7CiAKICAgICAvLyBQbGF0Zm9ybS1z
cGVjaWZpYyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2hhcmVkV29ya2VyUmVwb3NpdG9yeSBzdGF0
aWMgaW50ZXJmYWNlLgotICAgIGNsYXNzIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERlZmF1bHRTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICAvLyBJbnZva2VkIG9uY2UgdGhlIHdvcmtlciBzY3JpcHQgaGFzIGJlZW4gbG9hZGVkIHRvIGZp
cmUgdXAgdGhlIHdvcmtlciB0aHJlYWQuCiAgICAgICAgIHZvaWQgd29ya2VyU2NyaXB0TG9hZGVk
KFNoYXJlZFdvcmtlclByb3h5JiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNvbnN0IFN0cmlu
ZyYgd29ya2VyU2NyaXB0LCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0Q2hhbm5lbD4pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAppbmRleCBhZTM3MGUwLi4yZTgwMmYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaApAQCAtMTQ0LDcgKzE0NCw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpc0Nsb3NpbmcoKSB7IHJldHVybiBtX2Ns
b3Npbmc7IH0KIAogICAgICAgICAvLyBBbiBvYnNlcnZlciBpbnRlcmZhY2UgdG8gYmUgbm90aWZp
ZWQgd2hlbiB0aGUgd29ya2VyIHRocmVhZCBpcyBnZXR0aW5nIHN0b3BwZWQuCi0gICAgICAgIGNs
YXNzIE9ic2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgT2JzZXJ2
ZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoT2JzZXJ2ZXIpOwogICAgICAg
ICBwdWJsaWM6CiAgICAgICAgICAgICBPYnNlcnZlcihXb3JrZXJDb250ZXh0Kik7CiAgICAgICAg
ICAgICB2aXJ0dWFsIH5PYnNlcnZlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IDMzOTM3Y2UuLmFiNjExM2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTQ2LDcgKzQ2LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAg
ICAgY2xhc3MgV29ya2VyOwogCi0gICAgY2xhc3MgV29ya2VyTWVzc2FnaW5nUHJveHkgOiBwdWJs
aWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBX
b3JrZXJMb2FkZXJQcm94eSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBXb3JrZXJN
ZXNzYWdpbmdQcm94eSA6IHB1YmxpYyBXb3JrZXJDb250ZXh0UHJveHksIHB1YmxpYyBXb3JrZXJP
YmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5IHsKKyAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV29ya2VyTWVzc2FnaW5nUHJveHkpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIFdvcmtlck1lc3NhZ2luZ1Byb3h5KFdvcmtlciopOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcAppbmRleCA4M2YyNDNmLi43
YjMxNDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3Au
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKQEAgLTEw
NCw3ICsxMDQsOCBAQCBTdHJpbmcgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKQogICAgIHJl
dHVybiBTdHJpbmcoKTsKIH0KIAotY2xhc3MgUnVuTG9vcFNldHVwIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJ1bkxvb3BTZXR1cCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUnVu
TG9vcFNldHVwKTsKIHB1YmxpYzoKICAgICBSdW5Mb29wU2V0dXAoV29ya2VyUnVuTG9vcCYgcnVu
TG9vcCkKICAgICAgICAgOiBtX3J1bkxvb3AocnVuTG9vcCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJSdW5Mb29wLmgKaW5kZXggOWQ0ZWRmZC4uM2ZlYjRlOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJSdW5Mb29wLmgKQEAgLTY1LDcgKzY1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIHN0YXRpYyBTdHJpbmcgZGVmYXVsdE1vZGUoKTsKIAotICAgICAgICBjbGFz
cyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgVGFzayB7CisgICAg
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFRhc2s+
IGNyZWF0ZShQYXNzT3duUHRyPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+IHRhc2ssIGNv
bnN0IFN0cmluZyYgbW9kZSk7CiAgICAgICAgICAgICB+VGFzaygpIHsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY2MTEyMGUuLmUxZjFhNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTYxLDcgKzYxLDggQEAgdW5zaWdu
ZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAgcmV0dXJuIG1fdGhyZWFk
Q291bnQ7CiB9CiAKLXN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSA6IE5vbmNvcHlhYmxl
IHsKK3N0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4g
Y3JlYXRlKGNvbnN0IEtVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0LmNwcAppbmRleCA0OGE0ZjdmLi5jMDVhYjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRw
UmVxdWVzdC5jcHAKQEAgLTY1LDcgKzY1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGlj
IFdURjo6UmVmQ291bnRlZExlYWtDb3VudGVyIHhtbEh0dHBSZXF1ZXN0Q291bnRlcigiWE1MSHR0
cFJlcXVlc3QiKTsKICNlbmRpZgogCi1zdHJ1Y3QgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhIDog
Tm9uY29weWFibGUgeworc3RydWN0IFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgWE1MSHR0cFJlcXVlc3RTdGF0aWNEYXRhKCk7CiAg
ICAgU3RyaW5nIG1fcHJveHlIZWFkZXJQcmVmaXg7CiAgICAgU3RyaW5nIG1fc2VjSGVhZGVyUHJl
Zml4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCBiYzY4MTVkLi5iMTVkMzU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFz
cyBUZXh0UmVzb3VyY2VEZWNvZGVyOwogY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIAogY2xhc3Mg
WE1MSHR0cFJlcXVlc3QgOiBwdWJsaWMgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD4sIHB1Ymxp
YyBFdmVudFRhcmdldCwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxIdHRwUmVxdWVzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBYTUxIdHRwUmVxdWVzdChj
b250ZXh0KSk7IH0KICAgICB+WE1MSHR0cFJlcXVlc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBh
dGhFeHByZXNzaW9uTm9kZS5oCmluZGV4IGMwNGQ0NWIuLjRiNWJhYTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUveG1sL1hQYXRoRXhwcmVzc2lvbk5vZGUuaApAQCAtMzksNyArMzksOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogICAgICAgICAKLSAgICAgICAgc3Ry
dWN0IEV2YWx1YXRpb25Db250ZXh0IDogRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIHN0cnVjdCBF
dmFsdWF0aW9uQ29udGV4dCB7CisgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
KyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5vZGU7CiAgICAgICAg
ICAgICB1bnNpZ25lZCBsb25nIHNpemU7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHBvc2l0
aW9uOwpAQCAtNTMsNyArNTUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2
aXJ0dWFsIH5QYXJzZU5vZGUoKSB7IH0KICAgICAgICAgfTsKIAotICAgICAgICBjbGFzcyBFeHBy
ZXNzaW9uIDogcHVibGljIFBhcnNlTm9kZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
Y2xhc3MgRXhwcmVzc2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUgeworICAgICAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoRXhwcmVzc2lvbik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAg
ICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgRXZhbHVhdGlvbkNvbnRleHQmIGV2YWx1
YXRpb25Db250ZXh0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5v
ZGVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaAppbmRleCBkNWM0N2Jl
Li42MTlkOTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCkBAIC0zNyw3ICszNyw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIG5hbWVzcGFjZSBYUGF0aCB7CiAKLSAgICAgICAg
Y2xhc3MgTm9kZVNldCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgY2xhc3MgTm9k
ZVNldCB7CisgICAgICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVi
bGljOgogICAgICAgICAgICAgTm9kZVNldCgpIDogbV9pc1NvcnRlZCh0cnVlKSwgbV9zdWJ0cmVl
c0FyZURpc2pvaW50KGZhbHNlKSB7IH0KICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJz
ZXIuaAppbmRleCAwZWU0NDdhLi5mNDliNDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQYXJzZXIuaApA
QCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBUb2tlbihp
bnQgdCwgRXFUZXN0T3A6Ok9wY29kZSB2KTogdHlwZSh0KSwgZXFvcCh2KSB7fQogICAgICAgICB9
OwogCi0gICAgICAgIGNsYXNzIFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAg
IGNsYXNzIFBhcnNlciB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYXJzZXIp
OwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBQYXJzZXIoKTsKICAgICAgICAgICAgIH5Q
YXJzZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5o
IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKaW5kZXggNWYyNDgyYS4uMzYw
MDE1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUHJlZGljYXRlLmgKQEAgLTEwNSw3ICsxMDUsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB2aXJ0dWFsIFZhbHVlOjpUeXBlIHJl
c3VsdFR5cGUoKSBjb25zdCB7IHJldHVybiBWYWx1ZTo6Tm9kZVNldFZhbHVlOyB9CiAgICAgICAg
IH07CiAKLSAgICAgICAgY2xhc3MgUHJlZGljYXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICAgICAgY2xhc3MgUHJlZGljYXRlIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFByZWRpY2F0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAg
ICAgICAgICAgICBQcmVkaWNhdGUoRXhwcmVzc2lvbiopOwogICAgICAgICAgICAgflByZWRpY2F0
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oIGIvU291cmNl
L1dlYkNvcmUveG1sL1hQYXRoU3RlcC5oCmluZGV4IGVjMDIyYjMuLmIwMzFiYWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94
bWwvWFBhdGhTdGVwLmgKQEAgLTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAg
ICAgICAgIGNsYXNzIFByZWRpY2F0ZTsKICAgICAgICAgCi0gICAgICAgIGNsYXNzIFN0ZXAgOiBw
dWJsaWMgUGFyc2VOb2RlLCBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBTdGVw
IDogcHVibGljIFBhcnNlTm9kZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dGVwKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIGVudW0gQXhpcyB7CiAgICAgICAgICAgICAgICAgQW5jZXN0b3JBeGlzLCBBbmNlc3Rvck9y
U2VsZkF4aXMsIEF0dHJpYnV0ZUF4aXMsCkBAIC00OSw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgICAgICAgICBTZWxmQXhpcwogICAgICAgICAgICAgfTsKICAgICAgICAg
ICAgIAotICAgICAgICAgICAgY2xhc3MgTm9kZVRlc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7
CisgICAgICAgICAgICBjbGFzcyBOb2RlVGVzdCB7CisgICAgICAgICAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICAgICAgZW51
bSBLaW5kIHsKICAgICAgICAgICAgICAgICAgICAgVGV4dE5vZGVUZXN0LCBDb21tZW50Tm9kZVRl
c3QsIFByb2Nlc3NpbmdJbnN0cnVjdGlvbk5vZGVUZXN0LCBBbnlOb2RlVGVzdCwgTmFtZVRlc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCmluZGV4IGYzYTkzMTguLjVjMGNhOGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaApAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBDYWNoZWRYU0xTdHlsZVNoZWV0OwogCiBjbGFzcyBYU0xJbXBvcnRSdWxl
IDogcHVibGljIFN0eWxlQmFzZSwgcHJpdmF0ZSBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
WFNMSW1wb3J0UnVsZT4gY3JlYXRlKFhTTFN0eWxlU2hlZXQqIHBhcmVudFNoZWV0LCBjb25zdCBT
dHJpbmcmIGhyZWYpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkYzg5NTU4Li44OGUwNWQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTAxLTIwICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3
ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlZmFjdG9yaW5nIG9mIHRoZSBjdXN0b20gYWxsb2NhdGlvbiBmcmFtZXdvcmsKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5ODk3CisKKyAgICAg
ICAgSW5oZXJpdGluZyBmcm9tIEZhc3RBbGxvY0Jhc2UgY2FuIHJlc3VsdCBpbiBvYmplY3RzIGdl
dHRpbmcgbGFyZ2VyIChidWcgIzMzODk2LCAjNDY1ODkpLgorICAgICAgICBUaGUgbW9kaWZpY2F0
aW9uIHJlcGxhY2VzIE5vbmNvcHlhYmxlIGFuZCBGYXN0QWxsb2NCYXNlIGNsYXNzZXMgYW5kIHRo
ZXNlIGluaGVyaXRzIHdpdGggdGhlaXIKKyAgICAgICAgZXF1aXZhbGVudCBtYWNybyBpbXBsZW1l
bnRhdGlvbiBhdCB0aGUgbmVjZXNzYXJ5IHBsYWNlcy4KKwogMjAxMS0wMS0xNyAgRGFuIEJlcm5z
dGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IE1hcmsg
Um93ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5oCmluZGV4IDc2OWU4
M2YuLjM5NGZmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5k
T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaApA
QCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIC8vIEJvdW5kT2JqZWN0IGlzIGEg
aGVscGVyIGNsYXNzIHRoYXQgbGV0cyB5b3UgbWFwIEphdmFTY3JpcHQgbWV0aG9kIGNhbGxzCiAv
LyBkaXJlY3RseSB0byBDKysgbWV0aG9kIGNhbGxzLiBJdCBzaG91bGQgYmUgZGVzdHJveWVkIG9u
Y2UgSlMgb2JqZWN0IGlzCiAvLyBidWlsdC4KLWNsYXNzIEJvdW5kT2JqZWN0IDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIEJvdW5kT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShCb3VuZE9iamVjdCk7CiBwdWJsaWM6CiAgICAgQm91bmRPYmplY3Qodjg6OkhhbmRsZTx2ODo6
Q29udGV4dD4gY29udGV4dCwgdm9pZCogdjhUaGlzLCBjb25zdCBjaGFyKiBvYmplY3ROYW1lKTsK
ICAgICB2aXJ0dWFsIH5Cb3VuZE9iamVjdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuY3BwCmluZGV4IDA4NjBjYjEuLmI3NmJjZmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFu
YWdlci5jcHAKQEAgLTU1LDcgKzU1LDggQEAgYm9vbCBEZWJ1Z2dlckFnZW50TWFuYWdlcjo6c19l
eHBvc2VWOERlYnVnZ2VyUHJvdG9jb2wgPSBmYWxzZTsKIAogbmFtZXNwYWNlIHsKIAotY2xhc3Mg
Q2FsbGVySWRXcmFwcGVyIDogcHVibGljIHY4OjpEZWJ1Zzo6Q2xpZW50RGF0YSwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIENhbGxlcklkV3JhcHBlciA6IHB1YmxpYyB2ODo6RGVidWc6OkNs
aWVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhbGxlcklkV3JhcHBlcik7CiBw
dWJsaWM6CiAgICAgQ2FsbGVySWRXcmFwcGVyKCkgOiBtX2NhbGxlcklzTWFuYW5hZ2VyKHRydWUp
LCBtX2NhbGxlcklkKDApIHsgfQogICAgIGV4cGxpY2l0IENhbGxlcklkV3JhcHBlcihpbnQgY2Fs
bGVySWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFn
ZW50TWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1h
bmFnZXIuaAppbmRleCA2NmJkNzE0Li5hMzIzMzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmgKQEAgLTYzLDcgKzYzLDggQEAgY2xh
c3MgV2ViVmlld0ltcGw7CiAvLyB3b3VsZCBleHBlY3Qgc29tZSBhY3Rpb25zIGZyb20gdGhlIGhh
bmRsZXIuIElmIHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRlCiAvLyBkZWJ1Z2dlciBhZ2VudCB0byBo
YW5kbGUgc3VjaCBtZXNzYWdlcyB0aGUgbWFuYWdlciB3aWxsIHBlcmZvcm0gdGhlIGFjdGlvbgog
Ly8gaXRzZWxmLCBvdGhlcndpc2UgdjggbWF5IGhhbmcgd2FpdGluZyBmb3IgdGhlIGFjdGlvbi4K
LWNsYXNzIERlYnVnZ2VyQWdlbnRNYW5hZ2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IERlYnVnZ2VyQWdlbnRNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWJ1Z2dl
ckFnZW50TWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGVidWdBdHRhY2goRGVi
dWdnZXJBZ2VudEltcGwqIGRlYnVnZ2VyQWdlbnQpOwogICAgIHN0YXRpYyB2b2lkIGRlYnVnRGV0
YWNoKERlYnVnZ2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKaW5k
ZXggZmMyMWYzZS4uMjg2NzkxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKQEAgLTQ0LDggKzQ0LDggQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50OwogY2xh
c3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGw7CiAKLWNsYXNzIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlICB7CitjbGFz
cyBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250
ZW5kQ2xpZW50SW1wbCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
KFdlYkNvcmU6OlBhZ2UqLCBXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50KiwgV2ViRGV2VG9vbHNG
cm9udGVuZEltcGwqKTsKICAgICB2aXJ0dWFsIH5JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJv
bnRlbmRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250
ZW5kSW1wbC5oCmluZGV4IDg2NmExY2IuLmRjN2QyZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVuZEltcGwuaApAQCAtNTUsOCArNTUs
OCBAQCBzdHJ1Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogdXNpbmcgV1RGOjpTdHJpbmc7
CiAKLWNsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6V2ViRGV2
VG9vbHNGcm9udGVuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwgOiBwdWJsaWMgV2ViS2l0
OjpXZWJEZXZUb29sc0Zyb250ZW5kIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJEZXZU
b29sc0Zyb250ZW5kSW1wbCk7CiBwdWJsaWM6CiAgICAgV2ViRGV2VG9vbHNGcm9udGVuZEltcGwo
CiAgICAgICAgIFdlYktpdDo6V2ViVmlld0ltcGwqIHdlYlZpZXdJbXBsLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKaW5kZXggYTEzZWVjMC4uNGQxOTA1MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yODQs
NyArMjg0LDggQEAgV2ViUGx1Z2luQ29udGFpbmVySW1wbCogV2ViRnJhbWVJbXBsOjpwbHVnaW5D
b250YWluZXJGcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogCiAvLyBTaW1wbGUgY2xhc3MgdG8gb3Zl
cnJpZGUgc29tZSBvZiBQcmludENvbnRleHQgYmVoYXZpb3IuIFNvbWUgb2YgdGhlIG1ldGhvZHMK
IC8vIG1hZGUgdmlydHVhbCBzbyB0aGF0IHRoZXkgY2FuIGJlIG92ZXJyaWRlbiBieSBDaHJvbWVQ
bHVnaW5QcmludENvbnRleHQuCi1jbGFzcyBDaHJvbWVQcmludENvbnRleHQgOiBwdWJsaWMgUHJp
bnRDb250ZXh0LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0
IDogcHVibGljIFByaW50Q29udGV4dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ2hyb21l
UHJpbnRDb250ZXh0KTsKIHB1YmxpYzoKICAgICBDaHJvbWVQcmludENvbnRleHQoRnJhbWUqIGZy
YW1lKQogICAgICAgICA6IFByaW50Q29udGV4dChmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaAppbmRleCBiOGVmN2JhLi40MWE5NTJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCkBAIC01Niw2
ICs1Niw3IEBAIHN0cnVjdCBXZWJSZWN0OwogY2xhc3MgV2ViUG9wdXBNZW51SW1wbCA6IHB1Ymxp
YyBXZWJQb3B1cE1lbnUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFdlYkNvcmU6
OkZyYW1lbGVzc1Njcm9sbFZpZXdDbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHVi
bGljIFJlZkNvdW50ZWQ8V2ViUG9wdXBNZW51SW1wbD4geworICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIC8vIFdlYldpZGdldAogICAgIHZpcnR1YWwgdm9pZCBjbG9z
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlckVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oCmluZGV4IDRiYmFlMjUuLjY3YzQ2MDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXJFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyRWZsLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNs
dWRlICJIVE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFz
cyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1
bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIoKTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2Ny
ZWVuVmlkZW9Db250cm9sbGVyLmgKaW5kZXggZDRiYmVhMi4uM2ZiOGIxNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVvQ29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRl
b0NvbnRyb2xsZXIuaApAQCAtMjcsNyArMjcsOCBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1l
bnQuaCIKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlcik7CiBwdWJsaWM6CiAgICAgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwogICAgIHZp
cnR1YWwgfkZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCmluZGV4IDYwYjhlNmQuLmE3ODkwYzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGRvd25sb2FkLmNwcApAQCAtNTcsNyArNTcsOCBA
QCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKICAqIG91dCB3aGF0IGlzIHRvIGJlIGRvd25sb2Fk
ZWQsIGFuZCBkbyBpdCBpdHNlbGYuCiAgKi8KIAotY2xhc3MgRG93bmxvYWRDbGllbnQgOiBwdWJs
aWMgTm9uY29weWFibGUsIHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CitjbGFzcyBEb3du
bG9hZENsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRG93bmxvYWRDbGllbnQpOwogICAgIHB1YmxpYzoKICAgICAgICAgRG93bmxv
YWRDbGllbnQoV2ViS2l0RG93bmxvYWQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaApp
bmRleCBmNzg0YWRlLi40ZjJjNTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVn
aW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHkuaApAQCAt
MzEzLDcgKzMxMyw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBkZW1hcnNoYWxWYWx1ZUZyb21BcnJh
eShKU0M6OkV4ZWNTdGF0ZSosIE5TQXJyYXkgKmFycmF5LCBOU1VJbnRlZ2VyJiBpbmRleCwgSlND
OjpKU1ZhbHVlJiByZXN1bHQpOwogICAgIHZvaWQgZGVtYXJzaGFsVmFsdWVzKEpTQzo6RXhlY1N0
YXRlKiwgZGF0YV90IHZhbHVlc0RhdGEsIG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgdmFsdWVzTGVu
Z3RoLCBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyJiByZXN1bHQpOwogCi0gICAgY2xhc3MgTG9j
YWxPYmplY3RNYXAgOiBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTG9jYWxPYmplY3RNYXAgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbE9iamVjdE1hcCk7CiAgICAgcHVibGlj
OgogICAgICAgICBMb2NhbE9iamVjdE1hcCgpOwogICAgICAgICB+TG9jYWxPYmplY3RNYXAoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2Vy
Q2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJD
bGllbnQubW0KaW5kZXggMjkxMzczOS4uNjVhYmE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dl
YktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0KQEAgLTUyLDcgKzUy
LDggQEAgV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Ojp+V2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50
KCkKIHsKIH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEaWRNb2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRj
aFRvTWFpblRocmVhZChXZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQqIGNsaWVudCwgU2VjdXJpdHlP
cmlnaW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DT01F
bnVtVmFyaWFudC5oIGIvU291cmNlL1dlYktpdC93aW4vQ09NRW51bVZhcmlhbnQuaAppbmRleCBh
OTNhM2MyLi42NzI1MTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DT01FbnVtVmFy
aWFudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKQEAgLTI5LDEy
ICsyOSwxMiBAQAogI2RlZmluZSBOT01JTk1BWAogI2luY2x1ZGUgPHVua253bi5oPgogCi0jaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpbmNsdWRlICJDT01WYXJpYW50U2V0dGVyLmgi
CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENvbnRhaW5lclR5cGU+Ci1jbGFzcyBDT01FbnVtVmFyaWFu
dCA6IHB1YmxpYyBJRW51bVZBUklBTlQsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDT01F
bnVtVmFyaWFudCA6IHB1YmxpYyBJRW51bVZBUklBTlQgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENPTUVudW1WYXJpYW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09NRW51bVZhcmlhbnQq
IGFkb3B0KENvbnRhaW5lclR5cGUmKTsKICAgICBzdGF0aWMgQ09NRW51bVZhcmlhbnQqIGNyZWF0
ZUluc3RhbmNlKGNvbnN0IENvbnRhaW5lclR5cGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvd2luL0NPTVByb3BlcnR5QmFnLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9DT01Qcm9wZXJ0eUJh
Zy5oCmluZGV4IDYxMGMzNjcuLjYyMDQ1OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L0NPTVByb3BlcnR5QmFnLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aApAQCAtMzUsNyArMzUsOCBAQAogI2luY2x1ZGUgIkNPTVZhcmlhbnRTZXR0ZXIuaCINCiANCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZVR5cGUsIHR5cGVuYW1lIEtleVR5cGUgPSB0eXBlbmFtZSBX
VEY6OlN0cmluZywgdHlwZW5hbWUgSGFzaFR5cGUgPSB0eXBlbmFtZSBXVEY6OlN0cmluZ0hhc2g+
DQotY2xhc3MgQ09NUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgSVBy
b3BlcnR5QmFnMiwgTm9uY29weWFibGUgew0KK2NsYXNzIENPTVByb3BlcnR5QmFnIDogcHVibGlj
IElQcm9wZXJ0eUJhZywgcHVibGljIElQcm9wZXJ0eUJhZzIgew0KKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDT01Qcm9wZXJ0eUJhZyk7DQogcHVibGljOg0KICAgICB0eXBlZGVmIEhhc2hNYXA8
S2V5VHlwZSwgVmFsdWVUeXBlLCBIYXNoVHlwZT4gSGFzaE1hcFR5cGU7DQogDQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oIGIvU291cmNl
L1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5oCmluZGV4IDZiNTZhYjUuLmE2
NTUyOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVy
LmgKQEAgLTEwMiw3ICsxMDIsOCBAQCBwcml2YXRlOgogICAgIGludCBtX2RyYWdTdGFydE9mZnNl
dDsKIH07CiAKLWNsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRp
YVBsYXllclByaXZhdGVGdWxsc2NyZWVuQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0
ZUZ1bGxzY3JlZW5DbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5W
aWRlb0NvbnRyb2xsZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIo
KTsKICAgICB2aXJ0dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAppbmRleCBiZGNiNTQ5Li5lMmI4MWUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTUyLDcgKzUyLDggQEAg
c3RhdGljIGlubGluZSBib29sIGlzRXF1YWwoTFBDV1NUUiBzMSwgTFBDV1NUUiBzMikKICAgICBy
ZXR1cm4gIXdjc2NtcChzMSwgczIpOwogfQogCi1jbGFzcyBEYXRhYmFzZURldGFpbHNQcm9wZXJ0
eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBE
YXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyA6IHB1YmxpYyBJUHJvcGVydHlCYWcgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcqIGNyZWF0ZUluc3RhbmNlKGNv
bnN0IERhdGFiYXNlRGV0YWlscyYpOwogCkBAIC0zMjgsNyArMzI5LDggQEAgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBXZWJEYXRhYmFzZU1hbmFnZXI6OmRlbGV0ZURhdGFiYXNlKAogICAgIHJl
dHVybiBTX09LOwogfQogCi1jbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERpZE1vZGlmeU9yaWdpbkRhdGEpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRp
c3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlciogZGF0YWJhc2VNYW5hZ2VyLCBT
ZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkluc3BlY3Rvci5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKaW5k
ZXggMDUzYTU5My4uZTJkMmZjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViSW5z
cGVjdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViSW5zcGVjdG9yLmgKQEAgLTM0LDcg
KzM0LDggQEAKIAogY2xhc3MgV2ViVmlldzsKIAotY2xhc3MgV2ViSW5zcGVjdG9yIDogcHVibGlj
IElXZWJJbnNwZWN0b3IsIHB1YmxpYyBJV2ViSW5zcGVjdG9yUHJpdmF0ZSwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJV2ViSW5zcGVjdG9yLCBwdWJs
aWMgSVdlYkluc3BlY3RvclByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYklu
c3BlY3Rvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYkluc3BlY3RvciogY3JlYXRlSW5zdGFu
Y2UoV2ViVmlldyopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJMb2NhbGl6
YWJsZVN0cmluZ3MuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdz
LmNwcAppbmRleCBkYTZiMjIxLi5lOWI5OWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkxv
Y2FsaXphYmxlU3RyaW5ncy5jcHAKQEAgLTcyLDcgKzcyLDggQEAgc3RhdGljIExvY2FsaXplZFN0
cmluZ01hcCBmcmFtZXdvcmtMb2NTdHJpbmdzKCkKICAgICByZXR1cm4gbWFwOwogfQogCi1jbGFz
cyBMb2NhbGl6ZWRTdHJpbmcgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTG9jYWxpemVk
U3RyaW5nIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2NhbGl6ZWRTdHJpbmcpOwogcHVi
bGljOgogICAgIExvY2FsaXplZFN0cmluZyhDRlN0cmluZ1JlZiBzdHJpbmcpCiAgICAgICAgIDog
bV9jZlN0cmluZyhzdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTY3Jp
cHRXb3JsZC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQuaAppbmRleCBmMDg4
YTcyLi4wMTUxMWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3Js
ZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKQEAgLTMxLDcgKzMx
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIH0K
IAotY2xhc3MgV2ViU2NyaXB0V29ybGQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2Vi
U2NyaXB0V29ybGQgeworY2xhc3MgV2ViU2NyaXB0V29ybGQgOiBwdWJsaWMgSVdlYlNjcmlwdFdv
cmxkIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJTY3JpcHRXb3JsZCk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFdlYlNjcmlwdFdvcmxkKiBzdGFuZGFyZFdvcmxkKCk7CiAgICAgc3RhdGlj
IENPTVB0cjxXZWJTY3JpcHRXb3JsZD4gY3JlYXRlSW5zdGFuY2UoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmggYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCmluZGV4IGEyZDZkNTYuLjZlMzc0N2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKKysrIGIvU291cmNl
L1dlYktpdC93aW4vV2ViU2VyaWFsaXplZEpTVmFsdWUuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfQogCi1j
bGFzcyBXZWJTZXJpYWxpemVkSlNWYWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIElX
ZWJTZXJpYWxpemVkSlNWYWx1ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUg
eworY2xhc3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1Zh
bHVlLCBwdWJsaWMgSVdlYlNlcmlhbGl6ZWRKU1ZhbHVlUHJpdmF0ZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV2ViU2VyaWFsaXplZEpTVmFsdWUpOwogcHVibGljOgogICAgIHN0YXRpYyBD
T01QdHI8V2ViU2VyaWFsaXplZEpTVmFsdWU+IGNyZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIGIvU291cmNl
L1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgKaW5kZXggZThmNmI2Ny4uNDI4
NTRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0
ZXJuLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmgK
QEAgLTMyLDcgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFVzZXJDb250
ZW50VVJMUGF0dGVybjsKIH0KIAotY2xhc3MgV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIDogcHVi
bGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlVzZXJDb250ZW50VVJMUGF0dGVybiB7CitjbGFz
cyBXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4gOiBwdWJsaWMgSVdlYlVzZXJDb250ZW50VVJMUGF0
dGVybiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09NUHRyPFdlYlVzZXJDb250ZW50VVJMUGF0dGVybj4g
Y3JlYXRlSW5zdGFuY2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGRjNmRjNWIuLjVhN2U4YWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMS0yMCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0
YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBSZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJhbWV3b3JrCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisg
ICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0
cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAgICAgVGhlIG1vZGlm
aWNhdGlvbiByZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzIGFu
ZCB0aGVzZSBpbmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxlbnQgbWFjcm8gaW1w
bGVtZW50YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMuCisKIDIwMTEtMDEtMTkgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBXZWJL
aXQyIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAppbmRleCAwODI1YmY2Li5lYzc1MjNj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaApAQCAtMzksNyArMzksOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAotY2xhc3MgTW9kdWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE1vZHVsZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTW9kdWxlKTsKIHB1YmxpYzoKICAg
ICBNb2R1bGUoY29uc3QgU3RyaW5nJiBwYXRoKTsKICAgICB+TW9kdWxlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCmluZGV4IDA1ZGMwZGQuLjk4NTQxMzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oCkBAIC01Miw3ICs1Miw4IEBAIHB1YmxpYzoK
ICAgICAgICAgUmVhZFdyaXRlCiAgICAgfTsKIAotICAgIGNsYXNzIEhhbmRsZSA6IE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBIYW5kbGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
YW5kbGUpOwogICAgIHB1YmxpYzoKICAgICAgICAgSGFuZGxlKCk7CiAgICAgICAgIH5IYW5kbGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vz
cy5oIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmgKaW5kZXgg
ZDdmNTkyZS4uNmMyMjFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Qcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVn
aW5Qcm9jZXNzLmgKQEAgLTQwLDYgKzQwLDcgQEAgY2xhc3MgV2ViUHJvY2Vzc0Nvbm5lY3Rpb247
CiBzdHJ1Y3QgUGx1Z2luUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczsKICAgICAgICAgCiBjbGFz
cyBQbHVnaW5Qcm9jZXNzIDogQ2hpbGRQcm9jZXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShQbHVnaW5Qcm9jZXNzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2luUHJvY2VzcyYgc2hh
cmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaAppbmRleCA3OGZlMWY0Li44
YzVlOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCkBAIC0yNywxMyArMjcs
MTEgQEAKICNkZWZpbmUgQ2hpbGRQcm9jZXNzX2gKIAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIK
LSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIENoaWxkUHJvY2VzcyA6IHByb3RlY3RlZCBDb3JlSVBDOjpDb25uZWN0aW9uOjpDbGllbnQg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENoaWxkUHJvY2Vzcyk7Ci0KIHByb3RlY3RlZDoK
ICAgICBDaGlsZFByb2Nlc3MoKTsKICAgICB+Q2hpbGRQcm9jZXNzKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAppbmRleCA5MzI1NGQ5Li5jNTBkM2JmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKQEAgLTY5LDggKzY5LDggQEAgc3Ry
dWN0IFdlYk1lbW9yeVN0YXRpc3RpY3MKICAgICBWZWN0b3I8c2l6ZV90PiB2YWx1ZXM7CiB9Owog
ICAgIAotY2xhc3MgV2ViTWVtb3J5U2FtcGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Ci0KK2Ns
YXNzIFdlYk1lbW9yeVNhbXBsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYk1lbW9y
eVNhbXBsZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJNZW1vcnlTYW1wbGVyKiBzaGFyZWQo
KTsKICAgICB2b2lkIHN0YXJ0KGNvbnN0IGRvdWJsZSBpbnRlcnZhbD0wKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5o
CmluZGV4IGMyNjVmMmUyLi5hMTUwZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgKQEAgLTQxLDcgKzQxLDgg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBQbHVnaW5Qcm9jZXNzUHJveHk7CiBjbGFzcyBX
ZWJQcm9jZXNzUHJveHk7CiAKLWNsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIDogTm9uY29weWFi
bGUgIHsKK2NsYXNzIFBsdWdpblByb2Nlc3NNYW5hZ2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbHVnaW5Qcm9jZXNzTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblBy
b2Nlc3NNYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAppbmRleCA0ODVm
ODkyLi4xZTBjMjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcApAQCAtMjUzLDcgKzI1Myw4IEBA
IFZlY3RvcjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6cGx1Z2luc0RpcmVjdG9yaWVzKCkKICAg
ICByZXR1cm4gZGlyZWN0b3JpZXM7CiB9CiAKLWNsYXNzIFBhdGhXYWxrZXIgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgUGF0aFdhbGtlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGF0aFdhbGtlcik7CiBwdWJsaWM6CiAgICAgUGF0aFdhbGtlcihjb25zdCBTdHJpbmcmIGRpcmVj
dG9yeSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRl
ZExpbmtQcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJv
dmlkZXIuaAppbmRleCAwMTU1MTVjLi5hNDI4ZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgKQEAgLTMxLDEzICszMSwxMyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvTGlua0hhc2guaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJDb250ZXh0OwogICAgIAotY2xhc3MgVmlzaXRlZExp
bmtQcm92aWRlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFZpc2l0ZWRMaW5rUHJvdmlkZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZpc2l0ZWRMaW5rUHJvdmlkZXIpOwogcHVibGljOgog
ICAgIGV4cGxpY2l0IFZpc2l0ZWRMaW5rUHJvdmlkZXIoV2ViQ29udGV4dCopOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZC5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaAppbmRleCAyMzE5ZWM3
Li5iYWNkZDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fk
cy9Eb3dubG9hZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rv
d25sb2FkLmgKQEAgLTYzLDcgKzYzLDYgQEAgY2xhc3MgV2ViUGFnZTsKIAogY2xhc3MgRG93bmxv
YWQgOiBwdWJsaWMgQ29yZUlQQzo6TWVzc2FnZVNlbmRlcjxEb3dubG9hZD4gewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKERvd25sb2FkKTsKLQogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3du
UHRyPERvd25sb2FkPiBjcmVhdGUodWludDY0X3QgZG93bmxvYWRJRCwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgfkRvd25sb2FkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaAppbmRleCA2
NzM3YmQ0Li4zNTE4MjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKQEAgLTQwLDcgKzQwLDggQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiBjbGFzcyBOUFJ1bnRpbWVPYmplY3RNYXA7CiAgICAgCiAvLyBOUEpTT2Jq
ZWN0IGlzIGFuIE5QT2JqZWN0IHRoYXQgd3JhcHMgYSBKU09iamVjdC4KLWNsYXNzIE5QSlNPYmpl
Y3QgOiBwdWJsaWMgTlBPYmplY3QsIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5QSlNPYmplY3QgOiBw
dWJsaWMgTlBPYmplY3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5QSlNPYmplY3QpOwog
cHVibGljOgogICAgIHN0YXRpYyBOUEpTT2JqZWN0KiBjcmVhdGUoTlBSdW50aW1lT2JqZWN0TWFw
KiBvYmplY3RNYXAsIEpTQzo6SlNPYmplY3QqIGpzT2JqZWN0KTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uTWFuYWdlci5oCmluZGV4IGQ3YmE4NTMuLjhiNjBmMTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1h
bmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgKQEAgLTM4LDcgKzM4LDggQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOwogICAgICAgICAKLWNsYXNzIFBs
dWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciA6IE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsdWdp
blByb2Nlc3NDb25uZWN0aW9uTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDA0OTJjNGQuLmVlYWQzNzQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMS0wMS0yMCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3Rvcmlu
ZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcg
ZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAo
YnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlvbiByZXBsYWNlcyBO
b25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVzZSBpbmhlcml0cyB3
aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50YXRpb24gYXQgdGhl
IG5lY2Vzc2FyeSBwbGFjZXMuCiAyMDExLTAxLTE5ICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGJ1aWxkIGZpeCAtIEkgcHVsbGVkIHRo
aXMgcGF0Y2ggaW4gdG8gZml4IGFuIGlzc3VlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9DcHBCb3VuZENsYXNzLmgKaW5kZXggNmNiNjM4ZS4uNjE1MWE5YyAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaApAQCAtNTgsNyArNTgsOCBA
QCB0eXBlZGVmIFZlY3RvcjxDcHBWYXJpYW50PiBDcHBBcmd1bWVudExpc3Q7CiAKIC8vIENwcEJv
dW5kQ2xhc3MgbGV0cyB5b3UgbWFwIEphdmFzY3JpcHQgbWV0aG9kIGNhbGxzIGFuZCBwcm9wZXJ0
eSBhY2Nlc3NlcwogLy8gZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscyBhbmQgQ3BwVmFyaWFu
dCogdmFyaWFibGUgYWNjZXNzLgotY2xhc3MgQ3BwQm91bmRDbGFzcyA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBDcHBCb3VuZENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShD
cHBCb3VuZENsYXNzKTsKIHB1YmxpYzoKICAgICBjbGFzcyBQcm9wZXJ0eUNhbGxiYWNrIHsKICAg
ICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRE
ZXZUb29sc0FnZW50LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29s
c0FnZW50LmgKaW5kZXggZTE0NzhkMC4uNjY1NDM1YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNBZ2VudC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaApAQCAtNDksOCArNDksOCBAQCBzdHJ1
Y3QgV2ViRGV2VG9vbHNNZXNzYWdlRGF0YTsKIAogY2xhc3MgRFJURGV2VG9vbHNDbGllbnQ7CiAK
LWNsYXNzIERSVERldlRvb2xzQWdlbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50
Q2xpZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIERSVERldlRvb2xzQWdlbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50Q2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0FnZW50KTsKIHB1Ymxp
YzoKICAgICBEUlREZXZUb29sc0FnZW50KCk7CiAgICAgdmlydHVhbCB+RFJURGV2VG9vbHNBZ2Vu
dCgpIHt9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZU
b29sc0NsaWVudC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHND
bGllbnQuaAppbmRleCA5Y2ExNDAyLi4wY2JhNTFjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xpZW50LmgKQEAgLTQ4LDggKzQ4LDggQEAgY2xh
c3MgV2ViVmlldzsKIAogY2xhc3MgRFJURGV2VG9vbHNBZ2VudDsKIAotY2xhc3MgRFJURGV2VG9v
bHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBEUlREZXZU
b29sc0NsaWVudCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERSVERldlRvb2xzQ2xpZW50KTsKIHB1YmxpYzoKICAg
ICBEUlREZXZUb29sc0NsaWVudChEUlREZXZUb29sc0FnZW50KiwgV2ViS2l0OjpXZWJWaWV3Kik7
CiAgICAgdmlydHVhbCB+RFJURGV2VG9vbHNDbGllbnQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKaW5kZXgg
YjY3MTQ4OS4uODUwMmE5NiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdE5hdmlnYXRpb25Db250cm9sbGVyLmgKQEAgLTExMSw3ICsxMTEsOCBAQCBw
dWJsaWM6CiAKIC8vIFRlc3Qgc2hlbGwncyBOYXZpZ2F0aW9uQ29udHJvbGxlci4gVGhlIGdvYWwg
aXMgdG8gYmUgYXMgY2xvc2UgdG8gdGhlIENocm9tZQogLy8gdmVyc2lvbiBhcyBwb3NzaWJsZS4K
LWNsYXNzIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcjogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGVzdE5hdmlnYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBUZXN0TmF2aWdhdGlvbkNv
bnRyb2xsZXIoTmF2aWdhdGlvbkhvc3QqKTsKICAgICB+VGVzdE5hdmlnYXRpb25Db250cm9sbGVy
KCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNv
bnRyb2xEUlRXaW4uaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29u
dHJvbERSVFdpbi5oCmluZGV4IDRlMjI0NjEuLmVkZTE0NTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVFdpbi5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lQ29udHJvbERSVFdpbi5oCkBAIC00Niw3
ICs0Niw4IEBACiAvLyBTa2lhIGZvcndhcmQgZGVjbGFyYXRpb25zCiBzdHJ1Y3QgU2tJUmVjdDsK
IAotY2xhc3MgV2ViVGhlbWVDb250cm9sRFJUV2luIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFdlYlRoZW1lQ29udHJvbERSVFdpbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2Vi
VGhlbWVDb250cm9sRFJUV2luKTsKIHB1YmxpYzoKICAgICAvLyBUaGlzIGxpc3Qgb2Ygc3RhdGVz
IG1vc3RseSBtaXJyb3JzIHRoZSBsaXN0IGluIFdlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5o
CiAgICAgLy8gYnV0IGlzIG1haW50YWluZWQgc2VwYXJhdGVseSBzaW5jZSB0aGF0IGlzbid0IHB1
YmxpYyBhbmQgYWxzbyB0byBtaW5pbWl6ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVEUlRXaW4uaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJUV2luLmgKaW5kZXggMmUxNWNmOC4uOWIxZTgxNyAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVE
UlRXaW4uaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUVuZ2lu
ZURSVFdpbi5oCkBAIC01MCw3ICs1MCw4IEBACiAjaW5jbHVkZSAid2luL1dlYlRoZW1lRW5naW5l
LmgiCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLWNsYXNzIFdlYlRoZW1lRW5naW5l
RFJUV2luIDogcHVibGljIFdlYktpdDo6V2ViVGhlbWVFbmdpbmUsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBXZWJUaGVtZUVuZ2luZURSVFdpbiA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1l
RW5naW5lIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJUaGVtZUVuZ2luZURSVFdpbik7
CiBwdWJsaWM6CiAgICAgV2ViVGhlbWVFbmdpbmVEUlRXaW4oKSB7fQogCmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cuaCBiL1Rvb2xzL1dlYktpdEFQSVRlc3QvSG9z
dFdpbmRvdy5oCmluZGV4IGEyNzM0ZWQuLjJhYWE4NWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dEFQSVRlc3QvSG9zdFdpbmRvdy5oCisrKyBiL1Rvb2xzL1dlYktpdEFQSVRlc3QvSG9zdFdpbmRv
dy5oCkBAIC0zMCw3ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAotY2xh
c3MgSG9zdFdpbmRvdyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIb3N0V2luZG93IHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIb3N0V2luZG93KTsKIHB1YmxpYzoKICAgICBIb3N0
V2luZG93KCk7CiAgICAgfkhvc3RXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdEFQ
SVRlc3QvVGVzdHNDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRBUElUZXN0L1Rlc3RzQ29udHJv
bGxlci5oCmluZGV4IDExYjQ1N2QuLmJkY2M0NTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdEFQ
SVRlc3QvVGVzdHNDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0Nv
bnRyb2xsZXIuaApAQCAtMjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXRBUElUZXN0IHsKIAogY2xhc3Mg
VGVzdDsKIAotY2xhc3MgVGVzdHNDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIFRlc3RzQ29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGVzdHNDb250
cm9sbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgVGVzdHNDb250cm9sbGVyJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCmluZGV4IGZlYzFmN2EuLmVm
YzY2MzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24u
aAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTMxLDcg
KzMxLDggQEAKIAogbmFtZXNwYWNlIFdUUiB7CiAKLWNsYXNzIFRlc3RJbnZvY2F0aW9uIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRlc3RJbnZvY2F0aW9uIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShUZXN0SW52b2NhdGlvbik7CiBwdWJsaWM6CiAgICAgVGVzdEludm9jYXRpb24o
Y29uc3QgY2hhciopOwogICAgIH5UZXN0SW52b2NhdGlvbigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79572</attachid>
            <date>2011-01-20 03:24:09 -0800</date>
            <delta_ts>2011-01-20 04:41:04 -0800</delta_ts>
            <desc>proposed patch (review candidate)</desc>
            <filename>fab8.patch</filename>
            <type>text/plain</type>
            <size>297462</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKaW5kZXggNTA2MjA5My4uMDk3MTcw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKQEAgLTM0LDcgKzM0LDkg
QEAKICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ1B0ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAKLXN0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
U3RhdGljVmFsdWVFbnRyeSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CiAgICAgU3RhdGljVmFsdWVFbnRyeShKU09iamVjdEdldFByb3BlcnR5Q2FsbGJhY2sgX2dldFBy
b3BlcnR5LCBKU09iamVjdFNldFByb3BlcnR5Q2FsbGJhY2sgX3NldFByb3BlcnR5LCBKU1Byb3Bl
cnR5QXR0cmlidXRlcyBfYXR0cmlidXRlcykKICAgICAgICAgOiBnZXRQcm9wZXJ0eShfZ2V0UHJv
cGVydHkpLCBzZXRQcm9wZXJ0eShfc2V0UHJvcGVydHkpLCBhdHRyaWJ1dGVzKF9hdHRyaWJ1dGVz
KQogICAgIHsKQEAgLTQ1LDcgKzQ3LDkgQEAgc3RydWN0IFN0YXRpY1ZhbHVlRW50cnkgOiBGYXN0
QWxsb2NCYXNlIHsKICAgICBKU1Byb3BlcnR5QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwogfTsKIAot
c3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0
aWNGdW5jdGlvbkVudHJ5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBf
Y2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAg
ICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5jdGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0
ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8g
QW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMgY3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwg
c28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29udGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBn
cm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xkcyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFj
cm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoT3BhcXVl
SlNDbGFzcyopOwogICAgIH5PcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4Li5kNmRlNDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtNDgwLDcgKzQ4
MCw5IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVm
IGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
c3RydWN0IE9wYXF1ZUpTUHJvcGVydHlOYW1lQXJyYXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEo
Z2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGU1OGU4YzBkLi5iYjEzMmJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wMS0yMCAg
Wm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFs
bG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNl
IGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5
KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlvbiByZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFz
dEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVzZSBpbmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAg
IGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMu
CisKKyAgICAgICAgKiB3dGYvRmFzdEFsbG9jQmFzZS5oOiBUdXJuIEZhc3RBbGxvY0Jhc2UncyBp
bXBsZW1lbnRhdGlvbiBpbnRvIGEgbWFjcm8uCisKIDIwMTEtMDEtMjAgIE1hcmsgUm93ZSAgPG1y
b3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKaW5kZXggZTM4
YjlkNC4uYzVhN2Q1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9MaW5rQnVmZmVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhlIGFk
ZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZlZC4K
IC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0Lgog
Ly8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlua0J1
ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlwZWRl
ZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1i
bGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIExh
YmVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdl
Y2E3MmEuLjFjZDA4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKQEAgLTI0Miw3ICsyNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9CiAjZW5kaWYK
IAotICAgIGNsYXNzIENvZGVCbG9jayA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBDb2RlQmxvY2sgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAg
ZnJpZW5kIGNsYXNzIEpJVDsKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3Jp
cHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCos
IFBhc3NSZWZQdHI8U291cmNlUHJvdmlkZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJv
bFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9vbCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1Nzks
OSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBTeW1ib2xUYWJsZSogbV9zeW1ib2xUYWJs
ZTsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
c3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFZlY3RvcjxIYW5kbGVySW5mbz4gbV9leGNlcHRp
b25IYW5kbGVyczsKIAogICAgICAgICAgICAgLy8gUmFyZSBDb25zdGFudHMKQEAgLTU5OSw2ICs2
MDIsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIFZlY3RvcjxDYWxsUmV0dXJuT2Zm
c2V0VG9CeXRlY29kZU9mZnNldD4gbV9jYWxsUmV0dXJuSW5kZXhWZWN0b3I7CiAjZW5kaWYKICAg
ICAgICAgfTsKKyNpZiBQTEFURk9STShXSU4pCisgICAgICAgIGZyaWVuZCB2b2lkIFdURjo6ZGVs
ZXRlT3duZWRQdHI8UmFyZURhdGE+KFJhcmVEYXRhKik7CisjZW5kaWYKICAgICAgICAgT3duUHRy
PFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0luc3RydWN0aW9uLmgKaW5kZXggYzY0NjhhNS4uZjA3N2NiZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHN0
cnVjdCBQb2x5bW9ycGhpY1N0dWJJbmZvIHsKICAgICAgICAgICAgIGJvb2wgaXNDaGFpbjsKICAg
ICAgICAgICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdFN0dWJSb3V0aW5lVHlwZSBz
dHViUm91dGluZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9T
YW1wbGluZ1Rvb2wuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rv
b2wuaAppbmRleCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1NhbXBsaW5nVG9vbC5oCkBAIC0xNDIsNyArMTQyLDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBIb3N0Q2FsbFJlY29yZDsKICAgICAgICAgCiAjaWYg
RU5BQkxFKE9QQ09ERV9TQU1QTElORykKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAg
ICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKiBzYW1wbGluZ1Rvb2wpCiAgICAgICAgICAg
ICAgICAgOiBtX3NhbXBsaW5nVG9vbChzYW1wbGluZ1Rvb2wpCkBAIC0xNzIsNyArMTczLDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAjZWxzZQotICAgICAg
ICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
Q2FsbFJlY29yZCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3Jk
KTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wq
KQogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDhiMGNjNDAuLmRlMTZmOGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBE
ZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVj
bGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4u
NzhkNDlkMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9S
ZWdpc3RlcklELmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdp
c3RlcklELmgKQEAgLTMwLDEyICszMCwxMiBAQAogI2RlZmluZSBSZWdpc3RlcklEX2gKIAogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNs
YXNzIFJlZ2lzdGVySUQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVy
SUQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlcklEKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFJlZ2lzdGVySUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50KDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBk
ZmJlNjU4Li43NDAwMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvQ2FjaGVkQ2FsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgQ2FjaGVkQ2FsbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNGdW5jdGlvbiogZnVu
Y3Rpb24sIGludCBhcmdDb3VudCkKICAgICAgICAgICAgIDogbV92YWxpZChmYWxzZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3
OTBjZi4uNzUzZDkwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJfaAog
CiAjaW5jbHVkZSAiQXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNs
dWRlICJKU0NlbGwuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmplY3Qu
aCIKQEAgLTY1LDcgKzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4TGFy
Z2VUaHJlYWRSZWVudHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRoID0g
MzIgfTsKIAotICAgIGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgIGNsYXNzIEludGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRD
YWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9SZWdpc3Rlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1Jl
Z2lzdGVyLmgKaW5kZXggMzhkMTY0Ny4uMzk0NDY0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUg
IkpTVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKQEAgLTQ3LDcgKzQ2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0eXBlZGVm
IEV4ZWNTdGF0ZSBDYWxsRnJhbWU7CiAKLSAgICBjbGFzcyBSZWdpc3RlciA6IHB1YmxpYyBXVEY6
OkZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFJlZ2lzdGVyIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcigpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKaW5kZXgg
NzVmZDc4NC4uMzQ5OGU5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL1JlZ2lzdGVyRmlsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9SZWdpc3RlckZpbGUuaApAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJGaWxlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQgY2xhc3MgSklU
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRyeSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggZGZkYjIyYy4uZDQxNDVjMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIFJlZ0V4cDsKIAotICAgIGNsYXNzIExleGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMZXhlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKExleGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGljIGJv
b2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlcy5oCmluZGV4IDU0YjcyMzEuLjZlNzNjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L05vZGVzLmgKQEAgLTEzNzYsNyArMTM3Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBQ
YXJhbWV0ZXJOb2RlKiBtX25leHQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBTY29wZU5vZGVEYXRh
IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFNjb3BlTm9kZURhdGEgeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVj
bGFyYXRpb25TdGFja3M6OlZhclN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBlZGVmIERlY2xh
cmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CiAKQEAgLTE0NzIsNiAr
MTQ3NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBGdW5jdGlvblBh
cmFtZXRlcnMgOiBwdWJsaWMgVmVjdG9yPElkZW50aWZpZXI+LCBwdWJsaWMgUmVmQ291bnRlZDxG
dW5jdGlvblBhcmFtZXRlcnM+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+
IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFtZXRlcikgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFtZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IGIyNTdiNjguLjU4Mzk4ZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtNDUsOCArNDUsMTAgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5hRGF0YSA6
IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFyc2VyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CisgICAgICAgIFBhcnNlcigpIHsgfQogICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgUGFyc2Vk
Tm9kZT4KICAgICAgICAgUGFzc1JlZlB0cjxQYXJzZWROb2RlPiBwYXJzZShKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRGVidWdnZXIqLCBFeGVjU3RhdGUqLCBjb25zdCBTb3Vy
Y2VDb2RlJiBzb3VyY2UsIEZ1bmN0aW9uUGFyYW1ldGVycyosIEpTUGFyc2VyU3RyaWN0bmVzcyBz
dHJpY3RuZXNzLCBKU09iamVjdCoqIGV4Y2VwdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi44MmZiODA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oCkBAIC0zNCw3ICszNCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFBhcnNlckFyZW5hRGVsZXRhYmxlOwogICAgIGNsYXNz
IFBhcnNlckFyZW5hUmVmQ291bnRlZDsKIAotICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19J
TkxJTkUgY29uc3QgSWRlbnRpZmllciYgbWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29u
c3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVu
dGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJl
cik7CkBAIC01OSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9p
ZGVudGlmaWVycy5sYXN0KCk7CiAgICAgfQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYXJzZXJBcmVuYSk7CiAgICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgp
OwogICAgICAgICB+UGFyc2VyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3Jl
X2V4ZWMuY3BwCmluZGV4IDc4OWY4MGEuLmI3MDE4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BjcmUvcGNyZV9leGVjLmNwcApAQCAtMTEyLDcgKzExMiw5IEBAIHN0cnVjdCBCcmFja2V0Q2hh
aW5Ob2RlIHsKICAgICBjb25zdCBVQ2hhciogYnJhY2tldFN0YXJ0OwogfTsKIAotc3RydWN0IE1h
dGNoRnJhbWUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBNYXRjaEZyYW1lIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBSZXR1cm5Mb2NhdGlvbiByZXR1cm5M
b2NhdGlvbjsKICAgICBzdHJ1Y3QgTWF0Y2hGcmFtZSogcHJldmlvdXNGcmFtZTsKICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKaW5kZXgg
NzZjMTQ3MC4uYTk4MjdjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2Zp
bGVyL0NhbGxJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVy
L0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRp
Zmllcl9oCiAKICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxs
b2NCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElk
ZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlm
aWVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAg
ICAgICBVU3RyaW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3VybDsKICAgICAgICAgdW5z
aWduZWQgbV9saW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3By
b2ZpbGVyL1Byb2ZpbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmls
ZXIuaAppbmRleCBmOWMyY2NiLi5mODg3NDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvUHJvZmlsZXIuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBVU3RyaW5nOwogICAgIHN0cnVjdCBDYWxsSWRlbnRpZmllcjsgICAgCiAKLSAgICBjbGFz
cyBQcm9maWxlciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQcm9maWxlciB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNlKCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNj
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKQEAgLTI1LDE0ICsy
NSwxNCBAQAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgTWFy
a1N0YWNrOwogCi0gICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWFya2VkQXJndW1lbnRCdWZmZXIpOwogICAgIHByaXZhdGU6CiAgICAg
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDg7CiAgICAgICAgIHR5
cGVkZWYgVmVjdG9yPFJlZ2lzdGVyLCBpbmxpbmVDYXBhY2l0eT4gVmVjdG9yVHlwZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uZmU5MDBh
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcg
KzMzLDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0
aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFu
c2l0aW9uT3B0aW1pemVyLmgKaW5kZXggNzQwODlhNS4uZGIyZDFkNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplci5oCkBAIC0yNywxMiArMjcsMTIgQEAKICNpZm5kZWYgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXJfaAogI2RlZmluZSBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJKU09iamVjdC5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKEpTT2JqZWN0KiBv
YmplY3QpCiAgICAgICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDFlMjJiNmEuLjY1
ODdhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklk
ZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaApAQCAtODQsNyArODQsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNs
YXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
b21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklk
ZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgQ29tbW9uSWRlbnRpZmllcnMoSlNHbG9iYWxEYXRhKik7CiAgICAgICAgIGZyaWVuZCBjbGFz
cyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9IZWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IZWFwLmgKaW5kZXggMjQz
YmJhMy4uM2UxZDg4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuaApAQCAtNDUs
NyArNDUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0gT3BlcmF0aW9uSW5Qcm9ncmVz
cyB7IE5vT3BlcmF0aW9uLCBBbGxvY2F0aW9uLCBDb2xsZWN0aW9uIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGRlc3Ry
b3koKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKaW5kZXggYTIyYjBhYS4uMjRiYzJmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUsNyArNDY1LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJyYXkoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1ZXMpOwogICAgIH0KIAotICAgIGNsYXNz
IER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIER5bmFt
aWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNHbG9iYWxPYmplY3Qq
IGR5bmFtaWNHbG9iYWxPYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0xvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9j
ay5oCmluZGV4IDA1YjM4OGMuLjdiMDdiNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTG9jay5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBK
U0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRpb25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAot
ICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2Nr
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAgICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSop
OwpAQCAtODksNyArOTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhh
dmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgeworICAgICAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFsbExvY2tzKTsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNTdGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBE
cm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09OT2JqZWN0LmNwcAppbmRleCA5ZTYzMDI3Li5kZjRiZTUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcApAQCAtNzAsNyArNzAsOCBAQCBw
cml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1ZSBtX3ZhbHVlOwogfTsKIAotY2xhc3MgU3RyaW5n
aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5naWZpZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lmaWVyKTsKIHB1YmxpYzoKICAgICBTdHJpbmdpZmll
cihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxhY2VyLCBKU1ZhbHVlIHNwYWNlKTsKICAgICB+U3Ry
aW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJj
ODFkNC4uMGQ2ZDk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAg
LTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYyBHZXRGdW5jdGlvbjsKICAgICB0eXBlZGVmIHZvaWQgKCpQdXRGdW5jdGlv
bikoRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgdmFsdWUpOwogCi0g
ICAgY2xhc3MgSGFzaEVudHJ5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhh
c2hFbnRyeSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmluZ0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBh
dHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRyX3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZVN0YWNrTWFya2Vy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaApp
bmRleCBlODBmZTA1Li5iMTg2ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICBjbGFzcyBIZWFwOwogICAgIGNsYXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNz
IE1hY2hpbmVTdGFja01hcmtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFj
aGluZVN0YWNrTWFya2VyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFjaGluZVN0
YWNrTWFya2VyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hY2hpbmVTdGFja01hcmtlcihIZWFw
Kik7CiAgICAgICAgIH5NYWNoaW5lU3RhY2tNYXJrZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXggN2JjY2FkZi4uZjU0Y2ZhNiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgCiAgICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5O
dWxsVmFsdWVzLCBOb051bGxWYWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWFya1N0YWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lk
KiBqc0FycmF5VlB0cikKICAgICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZFNwYWNlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrZWRTcGFjZS5oCmluZGV4IDc4Zjkx
OGMuLjNiMGM1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
cmtlZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3Bh
Y2UuaApAQCAtNjMsNyArNjMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07
CiAKLSAgICBjbGFzcyBNYXJrZWRTcGFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgTWFya2VkU3BhY2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYXJrZWRTcGFj
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBNYXJrZWRTcGFjZShKU0dsb2JhbERhdGEqKTsKICAg
ICAgICAgdm9pZCBkZXN0cm95KFByb3RlY3RDb3VudFNldCYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggNThhYmRlNS4uMTcx
NGJkMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJl
Z0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0g
ICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
IHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIEdsb2JhbCBzZWFyY2ggY2FjaGUg
LyBzZXR0aW5ncwogICAgICAgICBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUoKQogICAgICAgICAg
ICAgOiBsYXN0TnVtU3ViUGF0dGVybnMoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggYzhjYWUyOC4uOTljODRkYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTU4LDcgKzU4LDkgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBtYXRjaChFeGVjU3RhdGUq
KTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVnRXhwT2JqZWN0
RGF0YShOb25OdWxsUGFzc1JlZlB0cjxSZWdFeHA+IHJlZ0V4cCwgZG91YmxlIGxhc3RJbmRleCkK
ICAgICAgICAgICAgICAgICA6IHJlZ0V4cChyZWdFeHApCiAgICAgICAgICAgICAgICAgLCBsYXN0
SW5kZXgobGFzdEluZGV4KQpAQCAtNjgsNyArNzAsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgICAgIFJlZlB0cjxSZWdFeHA+IHJlZ0V4cDsKICAgICAgICAgICAgIGRvdWJsZSBsYXN0SW5k
ZXg7CiAgICAgICAgIH07Ci0KKyNpZiBQTEFURk9STShXSU4pCisgICAgICAgIGZyaWVuZCB2b2lk
IFdURjo6ZGVsZXRlT3duZWRQdHI8UmVnRXhwT2JqZWN0RGF0YT4oUmVnRXhwT2JqZWN0RGF0YSop
OworI2VuZGlmCiAgICAgICAgIE93blB0cjxSZWdFeHBPYmplY3REYXRhPiBkOwogICAgIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAwYjE1YjY3
Li5iMTA0ZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29w
ZUNoYWluLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5o
CkBAIC0yMSw3ICsyMSw3IEBACiAjaWZuZGVmIFNjb3BlQ2hhaW5faAogI2RlZmluZSBTY29wZUNo
YWluX2gKIAotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdEFs
bG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU2NvcGVDaGFpbkl0ZXJh
dG9yOwogICAgIAotICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWlu
Tm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAg
ICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKaW5kZXggZjM1ODcyNy4uNTYxNDkzMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCkBAIC00MCw3ICs0MCw4IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc01hcmtlZChKU1N0cmluZyogc3RyaW5nKQogICAgIHJldHVybiBz
dHJpbmcgJiYgSGVhcDo6aXNDZWxsTWFya2VkKHN0cmluZyk7CiB9CiAKLWNsYXNzIFNtYWxsU3Ry
aW5nc1N0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU21hbGxTdHJpbmdzU3Rv
cmFnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU21hbGxTdHJpbmdzU3RvcmFnZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNtYWxsU3RyaW5nc1N0b3JhZ2Uo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJp
bmdzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRl
eCBkMWViZmIxMy4uYWM4NGZlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xh
c3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAgICBjbGFz
cyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNtYWxsU3Ry
aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU21hbGxTdHJpbmdzKCk7
CiAgICAgICAgIH5TbWFsbFN0cmluZ3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjI2MzU1MDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYgKzEyMiw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFN5bWJv
bFRhYmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJ
bXBsPiA+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9sVGFibGU7CiAKICAgICBj
bGFzcyBTaGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJsZSwgcHVibGljIFJlZkNv
dW50ZWQ8U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xU
YWJsZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsg
fQogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5o
CmluZGV4IDJkNGU1OWQuLjMxNjc5NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtHQ01hcC5oCkBAIC0zNSw3ICszNSw4IEBAIGNsYXNzIEpTQ2VsbDsKIAogLy8gQSBIYXNo
TWFwIHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMgZW1wdHlWYWx1ZSgpIGZvciBjZWxscyBh
d2FpdGluZyBkZXN0cnVjdGlvbi4KIHRlbXBsYXRlPHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1l
IE1hcHBlZFR5cGU+Ci1jbGFzcyBXZWFrR0NNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Citj
bGFzcyBXZWFrR0NNYXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIC8qCiAg
ICAgSW52YXJpYW50czoKICAgICAgICAgKiBBIHZhbHVlIGVudGVycyB0aGUgV2Vha0dDTWFwIG1h
cmtlZC4gKEd1YXJhbnRlZWQgYnkgc2V0KCkuKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaAppbmRleCA2Y2M3NWE1Li40OTQ2ZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRl
ICJIZWFwLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21hcnQgcG9pbnRlciB3aG9zZSBnZXQo
KSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6IE5vbmNvcHlhYmxlIHsKK3RlbXBs
YXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dDUHRyKCkKICAgICAgICAgOiBtX3B0
cigwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJl
ZkNvdW50ZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3Vu
dGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIC8vIHdpdGggcmVzcGVjdCB0byB0aGUgb3JpZ2luYWwgYW5kIGFueSBv
dGhlciBjb3BpZXMuICBUaGUgdW5kZXJseWluZyBtX2RhdGEgaXMgam9pbnRseQogICAgIC8vIG93
bmVkIGJ5IHRoZSBvcmlnaW5hbCBpbnN0YW5jZSBhbmQgYWxsIGNvcGllcy4KICAgICB0ZW1wbGF0
ZTxjbGFzcyBUPgotICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZWZDb3VudGVkKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENyb3NzVGhyZWFkUmVmQ291bnRlZDxUPiA+IGNyZWF0
ZShUKiBkYXRhKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0RhdGVNYXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKaW5k
ZXggOGQwZDkzMi4uNDFiZDRmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApA
QCAtNDQsNiArNDQsNyBAQAogI2RlZmluZSBEYXRlTWF0aF9oCiAKICNpbmNsdWRlIDxtYXRoLmg+
CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8dGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpAQCAtMTIwLDcgKzEyMSw5IEBAIGRv
dWJsZSBwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKEV4ZWNTdGF0ZSosIGNv
bnN0IGNoYXIqIGRhdGVTdHJpbmcpCiAKIC8vIEludGVudGlvbmFsbHkgb3ZlcnJpZGRpbmcgdGhl
IGRlZmF1bHQgdG0gb2YgdGhlIHN5c3RlbS4KIC8vIFRoZSBtZW1iZXJzIG9mIHRtIGRpZmZlciBv
biB2YXJpb3VzIG9wZXJhdGluZyBzeXN0ZW1zLgotc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIDog
Tm9uY29weWFibGUgeworc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHcmVnb3JpYW5EYXRlVGltZSk7CitwdWJsaWM6CiAgICAgR3JlZ29yaWFuRGF0
ZVRpbWUoKQogICAgICAgICA6IHNlY29uZCgwKQogICAgICAgICAsIG1pbnV0ZSgwKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLjFiMTZhZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0RlcXVlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgRGVxdWUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRv
cjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCmluZGV4IGJiMTgyNWUu
LmU0ODk5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9j
QmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCkBA
IC0zMiw4ICszMiw4IEBACiAvLyBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIGZh
c3RNYWxsb2MvZmFzdEZyZWUgYW5kIG9wZXJhdG9yIG5ldy9kZWxldGUKIC8vCiAvLyBQcm92aWRl
ZCBmdW5jdGlvbmFsaXR5OgorLy8gICAgTWFjcm86IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAv
LyAgICBuYW1lc3BhY2UgV1RGIHsKLS8vICAgICAgICBjbGFzcyBGYXN0QWxsb2NCYXNlOwogLy8K
IC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KCk7CiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxU
PihhcmcpOwpAQCAtNDgsNyArNDgsMTYgQEAKIC8vIEZhc3REZWxldGUgYXNzdW1lcyB0aGF0IHRo
ZSB1bmRlcmx5aW5nCiAvLwogLy8gRXhhbXBsZSB1c2FnZToKLS8vICAgIGNsYXNzIFdpZGdldCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsgLi4uIH07CisvLyAgICBjbGFzcyBXaWRnZXQgeworLy8g
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisvLyAgICAuLi4KKy8vICAgIH07CisvLwor
Ly8gICAgc3RydWN0IERhdGEgeworLy8gICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisv
LyAgICBwdWJsaWM6CisvLyAgICAuLi4KKy8vICAgIH07CiAvLwogLy8gICAgY2hhciogY2hhclB0
ciA9IGZhc3ROZXc8Y2hhcj4oKTsKIC8vICAgIGZhc3REZWxldGUoY2hhclB0cik7CkBAIC04Myw4
ICs5Miw2IEBACiAjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMu
aCIKIAotbmFtZXNwYWNlIFdURiB7Ci0KICNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQg
XAogcHVibGljOiBcCiAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyBy
ZXR1cm4gcDsgfSBcCkBAIC0xMTUsMTEgKzEyMiwxMCBAQCBwdWJsaWM6IFwKICAgICAgICAgIDo6
V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxv
Y1R5cGVDbGFzc05ld0FycmF5KTsgXAogICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCiAg
ICAgfSBcCi1wcml2YXRlOgorcHJpdmF0ZTogXAordHlwZWRlZiBpbnQgVGhpc0lzSGVyZVRvRm9y
Y2VBU2VtaWNvbG9uQWZ0ZXJUaGlzTWFjcm8KIAotY2xhc3MgRmFzdEFsbG9jQmFzZSB7Ci0gICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQgIAotfTsKK25hbWVzcGFjZSBXVEYgewogCiAgICAgLy8g
ZmFzdE5ldyAvIGZhc3REZWxldGUKIApAQCAtNDEwLDcgKzQxNiw2IEBAIGNsYXNzIEZhc3RBbGxv
Y0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NCYXNl
OwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYgLy8g
RmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hh
c2hDb3VudGVkU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0
LmgKaW5kZXggNGVkNzVjNS4uYjk3ZDhjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
SGFzaENvdW50ZWRTZXQuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjZGVmaW5lIFdURl9IYXNoQ291
bnRlZFNldF9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiRmFzdEFsbG9j
QmFzZS5oIgogI2luY2x1ZGUgIkhhc2hNYXAuaCIKICNpbmNsdWRlICJWZWN0b3IuaCIKIAogbmFt
ZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgSGFz
aEZ1bmN0aW9ucyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlPjo6SGFzaCwKLSAgICAgICAg
dHlwZW5hbWUgVHJhaXRzID0gSGFzaFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNl
dCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzID0gSGFz
aFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNldCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxW
YWx1ZSwgdW5zaWduZWQsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cz4gSW1wbFR5cGU7CiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAppbmRleCAwOTA5NGQxLi43NzMxNTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBuYW1l
c3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFw
cGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6
SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+
LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgotICAg
IGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1h
cCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAg
ICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBw
ZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApp
bmRleCA2NjYzOWU0Li5iZTZiOTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0hhc2hTZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApA
QCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgSWRlbnRpdHlFeHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1
ZUFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6
SGFzaCwKLSAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4g
PiBjbGFzcyBIYXNoU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFt
ZSBUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBl
ZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFs
dWVUcmFpdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNo
U2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKaW5kZXggZTE0
YWM0NS4uZTkxNmVmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0
SGFzaFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaApA
QCAtNTIsNyArNTIsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBW
YWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5PiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2RlQWxs
b2NhdG9yOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHksIHR5cGVuYW1lIEhhc2hBcmc+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVIYXNoRnVuY3Rp
b25zOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eSA9IDI1NiwgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVl
QXJnPjo6SGFzaD4gY2xhc3MgTGlzdEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDI1
NiwgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFz
aD4gY2xhc3MgTGlzdEhhc2hTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZTxWYWx1ZUFyZywg
aW5saW5lQ2FwYWNpdHk+IE5vZGU7CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hTZXROb2RlQWxs
b2NhdG9yPFZhbHVlQXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZUFsbG9jYXRvcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0xvY2tlci5oCmluZGV4IDQxODEzZDMuLmM0NjViOTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Mb2NrZXIuaApAQCAtMzIsNyArMzIsOCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAot
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb2NrZXIpOwogcHVibGljOgogICAgIExvY2tlcihUJiBsb2NrYWJsZSkgOiBtX2xv
Y2thYmxlKGxvY2thYmxlKSB7IG1fbG9ja2FibGUubG9jaygpOyB9CiAgICAgfkxvY2tlcigpIHsg
bV9sb2NrYWJsZS51bmxvY2soKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9NZXNzYWdlUXVldWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1
ZXVlLmgKaW5kZXggMTQxMDBjOS4uN2MxOGEwYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L01lc3NhZ2VRdWV1ZS5oCkBAIC00OCw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8v
IHdoZW4gbWVzc2FnZXMgYXJlIGZldGNoZWQgZnJvbSB0aGUgcXVldWUuCiAgICAgLy8gRXNzZW50
aWFsbHksIE1lc3NhZ2VRdWV1ZSBhY3RzIGFzIGEgcXVldWUgb2YgT3duUHRyPERhdGFUeXBlPi4K
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRhVHlwZT4KLSAgICBjbGFzcyBNZXNzYWdlUXVldWUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VRdWV1ZSk7CiAgICAgcHVibGljOgogICAgICAg
ICBNZXNzYWdlUXVldWUoKSA6IG1fa2lsbGVkKGZhbHNlKSB7IH0KICAgICAgICAgfk1lc3NhZ2VR
dWV1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCmluZGV4IDI4NWVk
MmUuLmNjNmJjNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29w
eWFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKQEAg
LTQxLDIzICs0MSw0IEBACiAgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBD
bGFzc05hbWUmKQogI2VuZGlmCiAKLS8vIFdlIGRvbid0IHdhbnQgYXJndW1lbnQtZGVwZW5kZW50
IGxvb2t1cCB0byBwdWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgV1RGCi0vLyBuYW1lc3BhY2Ug
d2hlbiB5b3UgdXNlIE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQgaW4gaXRzIG93biBuYW1lc3BhY2Uu
Ci0KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5hbWVzcGFjZSBXVEZOb25jb3B5YWJs
ZSB7Ci0KLSAgICBjbGFzcyBOb25jb3B5YWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKLSAg
ICAgICAgTm9uY29weWFibGUoY29uc3QgTm9uY29weWFibGUmKTsKLSAgICAgICAgTm9uY29weWFi
bGUmIG9wZXJhdG9yPShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgTm9uY29weWFibGUoKSB7IH0KLSAgICAgICAgfk5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgfTsK
LQotfSAvLyBuYW1lc3BhY2UgV1RGTm9uY29weWFibGUKLQotdXNpbmcgV1RGTm9uY29weWFibGU6
Ok5vbmNvcHlhYmxlOwotCiAjZW5kaWYgLy8gV1RGX05vbmNvcHlhYmxlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2NDNiOTBiLi5kYmQzNGFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVz
cGFjZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093bkFycmF5UHRyOwog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093bkFycmF5UHRyPFQ+IGFkb3B0QXJyYXlQdHIoVCop
OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgOiBwdWJsaWMgTm9u
Y29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIHsKIHB1
YmxpYzoKICAgICB0eXBlZGVmIFQqIFB0clR5cGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywx
MSBAQAogI2RlZmluZSBPd25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2Mu
aCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRl
bXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIGV4cGxpY2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikK
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKaW5kZXggY2RjMjc3Yy4uZmI1
OTQzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAj
ZGVmaW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUg
Ik5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93blB0ckNv
bW1vbi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIKQEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093blB0cjsKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRyPFQ+IGFkb3B0UHRyKFQqKTsKIAotICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9pbnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7
CiAgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5kYTE3OGIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaApAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBSZWZDb3Vu
dGVkX2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKKyNpbmNsdWRlICJGYXN0QWxsb2NCYXNl
LmgiCiAjaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMzEs
NyArMTMyLDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQog
CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1Ymxp
YyBSZWZDb3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICB2b2lkIGRlcmVmKCkKICAgICB7CkBAIC0xNDAsNiArMTQyLDcgQEAgcHVibGlj
OgogICAgIH0KIAogcHJvdGVjdGVkOgorICAgIFJlZkNvdW50ZWQoKSB7IH0KICAgICB+UmVmQ291
bnRlZCgpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IGQ1
N2Y4OGEuLjM1M2JkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVm
UHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMzYsNyAr
MzYsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIGVudW0gSGFzaFRhYmxlRGVsZXRlZFZhbHVl
VHlwZSB7IEhhc2hUYWJsZURlbGV0ZWRWYWx1ZSB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUmVmUHRyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoKSA6IG1fcHRyKDAp
IHsgfQogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cihUKiBwdHIpIDogbV9wdHIocHRyKSB7
IHJlZklmTm90TnVsbChwdHIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFz
aE1hcC5oCmluZGV4IGI5ZTdlZWEuLmRiZWFiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRySGFzaE1hcC5oCkBAIC00NSw3ICs0NSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVu
YW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRz
QXJnPgotICAgIGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtl
eVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNB
cmcsIE1hcHBlZFRyYWl0c0FyZz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAg
ICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRz
LmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICsz
MSwxNCBAQAogI2lmbmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUg
VGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAv
LyBIb2xkcyBUaHJlYWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBh
bmQgZW1wbG95cyBwdGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFi
bHkgcmVtb3ZlCiAvLyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVz
IHJlZ3VsYXIgVGhyZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVz
dHJ1Y3Rpb24uCi1jbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoVGhyZWFkSWRlbnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVy
RGF0YSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5o
CmluZGV4IDMzYzY2MTIuLmE2YTFjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU2FmZVNoYXJlZC5oCkBAIC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9y
bS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2Ug
V1RGIHsKIAotY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRocmVhZFNhZmVTaGFyZWRCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgVGhyZWFkU2FmZVNoYXJlZEJhc2UoaW50IGluaXRpYWxSZWZDb3VudCA9IDEpCiAgICAg
ICAgIDogbV9yZWZDb3VudChpbml0aWFsUmVmQ291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uZmE5YTM5MyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApAQCAtNjEsNyArNjEsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKIHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAot
dGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9uY29w
eWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBUaHJl
YWRTcGVjaWZpYygpOwogICAgIFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg1LDkgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHN0YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0UoUFRI
UkVBRFMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1MpCi0g
ICAgc3RydWN0IERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERhdGEo
VCogdmFsdWUsIFRocmVhZFNwZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93bmVy
KG93bmVyKSB7fQogI2lmIFBMQVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXItPmRl
c3Ryb3kodGhpcyk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkU3BlY2lmaWNXaW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVj
aWZpY1dpbi5jcHAKaW5kZXggZjJjMGNhZC4uZDcyOTk2YSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBm
aWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRv
d3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDQ5ZGU1OWUuLmYyZTA1NjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAKQEAgLTMwLDcgKzMwLDkgQEAKIAogbmFtZXNw
YWNlIFdURiB7CiAKLXN0cnVjdCBOZXdUaHJlYWRDb250ZXh0IDogRmFzdEFsbG9jQmFzZSB7Citz
dHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CiAgICAgTmV3VGhyZWFkQ29udGV4dChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2
b2lkKiBkYXRhLCBjb25zdCBjaGFyKiBuYW1lKQogICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQ
b2ludCkKICAgICAgICAgLCBkYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCmluZGV4IGMxMWE2Y2IuLjgwOWMzZTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm0uaCIKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTG9j
a2VyLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTk2LDcgKzk3LDggQEAg
dHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVJlYWRXcml0ZUxvY2s7CiB0eXBlZGVmIHZvaWQqIFBsYXRm
b3JtQ29uZGl0aW9uOwogI2VuZGlmCiAgICAgCi1jbGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBNdXRleCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTXV0ZXgpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRl
eCgpOwpAQCAtMTEzLDcgKzExNSw4IEBAIHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4
PiBNdXRleExvY2tlcjsKIAotY2xhc3MgUmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSZWFkV3JpdGVMb2NrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFk
V3JpdGVMb2NrKTsKIHB1YmxpYzoKICAgICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0
ZUxvY2soKTsKQEAgLTEzMCw3ICsxMzMsOCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdy
aXRlTG9jayBtX3JlYWRXcml0ZUxvY2s7CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUaHJlYWRDb25kaXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRp
dGlvbigpOwogICAgIH5UaHJlYWRDb25kaXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVmVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rv
ci5oCmluZGV4IGY3Mzc5M2YuLjZkOGRkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3Iu
aApAQCAtMjc3LDcgKzI3Nyw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIFZlY3RvckJ1ZmZlckJhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFZlY3RvckJ1ZmZlckJhc2UgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShWZWN0b3JCdWZmZXJCYXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZv
aWQgYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQogICAgICAgICB7CkBAIC00ODgs
NyArNDg5LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDA+Ci0gICAgY2xhc3MgVmVjdG9yIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFZlY3RvciB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yQnVm
ZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCdWZmZXI7CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yVHlw
ZU9wZXJhdGlvbnM8VD4gVHlwZU9wZXJhdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
V1RGVGhyZWFkRGF0YS5oCmluZGV4IDUyYzI2N2EuLjI0M2FhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBK
U0MgewogCiB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hhciosIFJlZlB0cjxTdHJpbmdJbXBsPiwg
UHRySGFzaDxjb25zdCBjaGFyKj4gPiBMaXRlcmFsSWRlbnRpZmllclRhYmxlOwogCi1jbGFzcyBJ
ZGVudGlmaWVyVGFibGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBJZGVudGlmaWVy
VGFibGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIH5JZGVu
dGlmaWVyVGFibGUoKTsKIApAQCAtODUsNyArODYsOCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJs
ZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNT
dHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJlYWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRo
cmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRocmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFk
RGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKaW5kZXggYzg5YzAzNi4uYjViMTI2
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCkBAIC00MTQsNyArNDE0LDEwIEBAIHN0
YXRpYyB2b2lkIG11bHQoQmlnSW50JiBhUmVmLCBjb25zdCBCaWdJbnQmIGJSZWYpCiAgICAgYVJl
ZiA9IGM7CiB9CiAKLXN0cnVjdCBQNU5vZGUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUDVOb2Rl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQNU5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBQNU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwogICAgIFA1
Tm9kZSogbmV4dDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dv
YmplY3QvR093blB0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAppbmRleCBjZWMzZTQzLi40MTM2ZjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTQxLDcgKzQxLDggQEAgdGVtcGxhdGU8PiB2b2lkIGZy
ZWVPd25lZEdQdHI8R1BhdHRlcm5TcGVjPihHUGF0dGVyblNwZWMqKTsKIHRlbXBsYXRlPD4gdm9p
ZCBmcmVlT3duZWRHUHRyPEdEaXI+KEdEaXIqKTsKIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRH
UHRyPEdGaWxlPihHRmlsZSopOwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093blB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093
blB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR093blB0cik7CiBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgR093blB0cihUKiBwdHIgPSAwKSA6IG1fcHRyKHB0cikgeyB9CiAgICAgfkdPd25Q
dHIoKSB7IGZyZWVPd25lZEdQdHIobV9wdHIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaApAQCAtMzAsMTMgKzMw
LDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2Rl
L1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFz
cyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nQnVmZmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdCdWZmZXIpOwogcHVibGljOgogICAg
IGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNpZ25lZCBsZW5ndGgpCiAgICAgICAgIDogbV9sZW5n
dGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0
cmluZ0ltcGxCYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1w
bEJhc2UuaAppbmRleCA2NTY3NjcyLi4yNmJjMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZu
ZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
Ym9vbCBpc1N0cmluZ0ltcGwoKSB7IHJldHVybiAobV9yZWZDb3VudEFuZEZsYWdzICYgc19yZWZD
b3VudEludmFsaWRGb3JTdHJpbmdJbXBsKSAhPSBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0lt
cGw7IH0KICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQpA
QCAtNDUsOSArNDUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEJ1ZmZlclNoYXJlZCwKICAgICB9
OwogCi0gICAgdXNpbmcgTm9uY29weWFibGU6Om9wZXJhdG9yIG5ldzsKLSAgICB2b2lkKiBvcGVy
YXRvciBuZXcoc2l6ZV90LCB2b2lkKiBpblBsYWNlKSB7IEFTU0VSVChpblBsYWNlKTsgcmV0dXJu
IGluUGxhY2U7IH0KLQogICAgIC8vIEZvciBTbWFsbFN0cmluZ1N0b3JhZ2UsIHdoaWNoIGFsbG9j
YXRlcyBhbiBhcnJheSBhbmQgdXNlcyBhbiBpbi1wbGFjZSBuZXcuCiAgICAgU3RyaW5nSW1wbEJh
c2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2Rl
L0NvbGxhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3Iu
aAppbmRleCBmZTZhODA5Li4wMGFiMTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3VuaWNvZGUvQ29sbGF0b3IuaApAQCAtMjksNiArMjksNyBAQAogI2lmbmRlZiBXVEZfQ29sbGF0
b3JfaAogI2RlZmluZSBXVEZfQ29sbGF0b3JfaAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jh
c2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTM5LDcgKzQwLDgg
QEAgc3RydWN0IFVDb2xsYXRvcjsKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBDb2xs
YXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29sbGF0b3IgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb2xsYXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIg
PSAxLCBMZXNzID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lh
cnIvWWFyckludGVycHJldGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySW50
ZXJwcmV0ZXIuaAppbmRleCBiZTcwM2E5Li5lZWE1MjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuaApAQCAtMjk5LDcgKzI5OSw4IEBAIHN0cnVjdCBC
eXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0ZURpc2p1bmN0aW9uIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBCeXRlRGlzanVuY3Rpb24odW5zaWduZWQgbnVtU3Vi
cGF0dGVybnMsIHVuc2lnbmVkIGZyYW1lU2l6ZSkKICAgICAgICAgOiBtX251bVN1YnBhdHRlcm5z
KG51bVN1YnBhdHRlcm5zKQpAQCAtMzEyLDcgKzMxMyw5IEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCBtX2ZyYW1lU2l6ZTsKIH07CiAKLXN0cnVjdCBCeXRlY29kZVBhdHRlcm4gOiBGYXN0QWxsb2NC
YXNlIHsKK3N0cnVjdCBCeXRlY29kZVBhdHRlcm4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgogICAgIEJ5dGVjb2RlUGF0dGVybihQYXNzT3duUHRyPEJ5dGVEaXNqdW5j
dGlvbj4gYm9keSwgVmVjdG9yPEJ5dGVEaXNqdW5jdGlvbio+IGFsbFBhcmVudGhlc2VzSW5mbywg
WWFyclBhdHRlcm4mIHBhdHRlcm4sIEJ1bXBQb2ludGVyQWxsb2NhdG9yKiBhbGxvY2F0b3IpCiAg
ICAgICAgIDogbV9ib2R5KGJvZHkpCiAgICAgICAgICwgbV9pZ25vcmVDYXNlKHBhdHRlcm4ubV9p
Z25vcmVDYXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBh
dHRlcm4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmgKaW5kZXgg
MjE3MmRkYS4uZDgwZjY5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
WWFyclBhdHRlcm4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0dGVy
bi5oCkBAIC02Myw3ICs2Myw5IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotc3RydWN0IENoYXJh
Y3RlckNsYXNzIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIC8vIEFsbCBDaGFyYWN0ZXJD
bGFzcyBpbnN0YW5jZXMgaGF2ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRjaGVzIGFuZCBy
YW5nZXMsCiAgICAgLy8gdGhleSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3IgZmFzdGVy
IGxvb2t1cHMgKHdoaWNoIG11c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVkIG1hdGNoZXMg
YW5kIHJhbmdlcykKQEAgLTIwNCw3ICsyMDYsOSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0gewogICAg
IH0KIH07CiAKLXN0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0
cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1
bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25j
ZVRocm91Z2goZmFsc2UpCkBAIC0yNDUsNyArMjQ5LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5h
dGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9Owog
Ci1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0
dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBQYXR0ZXJuRGlzanVuY3Rpb24oUGF0dGVybkFsdGVybmF0aXZlKiBwYXJlbnQgPSAwKQog
ICAgICAgICA6IG1fcGFyZW50KHBhcmVudCkKICAgICAgICAgLCBtX2hhc0ZpeGVkU2l6ZShmYWxz
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA0NjVjZjQzLi5jMmVkMjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTEtMDEtMjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3Jp
bmcgb2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5n
IGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIg
KGJ1ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVwbGFjZXMg
Tm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5oZXJpdHMg
d2l0aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9uIGF0IHRo
ZSBuZWNlc3NhcnkgcGxhY2VzLgorCiAyMDExLTAxLTIwICBIYW5zIFdlbm5ib3JnICA8aGFuc0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCA2NzBkNmUwLi4w
MGU3ZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aApAQCAtNjAsNyArNjAsOCBAQCBzdHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBvc3RU
eXBlIHsgUG9zdFN5bmNocm9ub3VzbHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFzcyBB
WE9iamVjdENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2FjaGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBWE9iamVjdENhY2hlKGNvbnN0IERvY3VtZW50Kik7
CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCmluZGV4IGVhNjhkMTAuLjliYWU4
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgY2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0
U291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0ZShDYWNoZWRTY3JpcHQqIGNh
Y2hlZFNjcmlwdCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hlZFNjcmlwdFNvdXJjZVByb3Zp
ZGVyKGNhY2hlZFNjcmlwdCkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250
cm9sbGVyLmgKaW5kZXggNGMyNTQwNy4uOTFmMWU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwxMiBAQAogI2lmbmRlZiBHQ0NvbnRy
b2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAg
Y2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHQ0Nv
bnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHQ0NvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgZnJpZW5kIEdDQ29udHJvbGxlciYgZ2ND
b250cm9sbGVyKCk7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5lMTEzOGVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKQEAgLTM3LDcgKzM3
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgZGVsZXRl
ZCB3aXRob3V0IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAtIHdyYXBwZXJz
IGJlaW5nIGNhY2hlZCB0d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNEZWJ1Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVh
ZFNwZWNpZmljPEpTRGVidWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNEZWJ1
Z1dyYXBwZXJTZXQmIHNoYXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAppbmRleCA4MTkzZDdjLi4zNDlkYzE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaApA
QCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAgIHN0YXRpYyBKU0M6
OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2YzlkMGJhLi41OWFkNmZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaApAQCAtNDEsNyArNDEs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgKiB0aW1lIGludGVydmFsLCBlaXRoZXIgb25j
ZSBvciByZXBlYXRlZGx5LiBVc2VkIGZvciB3aW5kb3cuc2V0VGltZW91dCgpCiAgICAgKiBhbmQg
d2luZG93LnNldEludGVydmFsKCkKICAgICAqLwotICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkQWN0aW9uKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxTY2hlZHVs
ZWRBY3Rpb24+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIERPTVdyYXBwZXJXb3JsZCogaXNvbGF0
ZWRXb3JsZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENhY2hlZEZyYW1lRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmgKaW5kZXggMTVjMjNjNS4uNWY2OTFkOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTQwLDcgKzQw
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRvdzsKICAgICBjbGFz
cyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFtZURhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPCBSZWZQdHI8RE9N
V3JhcHBlcldvcmxkPiwgSlNDOjpQcm90ZWN0ZWRQdHI8SlNET01XaW5kb3c+ID4gSlNET01XaW5k
b3dTZXQ7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0RGVidWdTZXJ2ZXIuaAppbmRleCBkZTI3NGRiLi5iZGU0NzM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTU2LDcgKzU2LDggQEAg
Y2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIGNsYXNzIEphdmFT
Y3JpcHRDYWxsRnJhbWU7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dl
ciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpE
ZWJ1Z2dlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdT
ZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaAppbmRleCAwNWU3YTI1Li5kNGRkNjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMyLDExICszMiwxMSBAQAogI2luY2x1ZGUgIlNj
cmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NyaXB0UHJv
ZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0
YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRTdGF0ZS5oCmluZGV4IDBjMDg2MTEuLmUxOWMwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaApAQCAtNTIsNyArNTIsOCBAQCBjbGFzcyBQYWdlOwogLy8gRm9y
IG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0eXBlZGVmIEpT
Qzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVi
bGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKik7
CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNmUyZDdiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEu
aApAQCAtMjQsMTcgKzI0LDE4IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNp
bmNsdWRlICJET01PYmplY3RIYXNoVGFibGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVi
bGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6Q2xp
ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZUpTQ2xpZW50RGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGFX
b3JsZEl0ZXJhdG9yOwogICAgIGZyaWVuZCB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEo
SlNDOjpKU0dsb2JhbERhdGEqKTsKIAogcHVibGljOgorICAgIFdlYkNvcmVKU0NsaWVudERhdGEo
KSB7IH0KICAgICB2aXJ0dWFsIH5XZWJDb3JlSlNDbGllbnREYXRhKCkKICAgICB7CiAgICAgICAg
IEFTU0VSVChtX3dvcmxkU2V0LmNvbnRhaW5zKG1fbm9ybWFsV29ybGQuZ2V0KCkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApp
bmRleCBiZTdkYTRkLi40NTc4OTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0gICAgY2xhc3Mg
V29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
V29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdv
cmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2VyQ29udGV4dCopOwogICAg
ICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9N
RGF0YS5oCmluZGV4IDc4ZWRmOTIuLmIwNDI2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L0RPTURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01EYXRhLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHRo
cmVhZC4gIFRoZSBET01EYXRhIGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZSBET01EYXRhIGZv
ciBjaGlsZCB0aHJlYWRzCiAgICAgLy8gdXNlIGRpZmZlcmVudCBzdWJjbGFzc2VzLgogICAgIC8v
Ci0gICAgY2xhc3MgRE9NRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9N
RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGEpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgRE9NRGF0YSgpOwogICAgICAgICB2aXJ0dWFsIH5ET01EYXRhKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCmluZGV4IGNmZTIyMGUuLmRiZWFk
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC0xNDks
NyArMTQ5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24n
dCBtYW5hZ2UgdGhlIGxpZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAg
Ly8gbGlmZXRpbWUgaXMgbWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3Mg
RE9NRGF0YVN0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3Rv
cmUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01O
b2RlTWFwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRG
cmFtZURhdGEuaAppbmRleCAxYWExZjYyLi4zNzZiNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaApAQCAtNjAsMTQgKzYwLDE0
IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93bkhhbmRsZS5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7CiAKLWNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0
YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKTsKIHB1Ymxp
YzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAgICB+U2NyaXB0Q2FjaGVk
RnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVi
dWdTZXJ2ZXIuaAppbmRleCA0MGRkNWZjLi44ZmE3MjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTQ4LDcgKzQ4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiAK
LWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNj
cmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1Nl
cnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggYjc1
YTA1NC4uZTA5NjllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3Mg
U2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmls
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYg
dGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0
U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRTdGF0ZS5oCmluZGV4IDExODEzYjAuLjBmZWNlZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApAQCAtNDIsNyArNDIsOCBAQCBjbGFzcyBGcmFt
ZTsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NyaXB0U3RhdGUpOwogcHVibGljOgogICAgIGJvb2wgaGFkRXhjZXB0aW9uKCkgeyBy
ZXR1cm4gIW1fZXhjZXB0aW9uLklzRW1wdHkoKTsgfQogICAgIHZvaWQgc2V0RXhjZXB0aW9uKHY4
OjpMb2NhbDx2ODo6VmFsdWU+IGV4Y2VwdGlvbikKQEAgLTc5LDcgKzgwLDggQEAgcHVibGljOgog
ICAgIH5FbXB0eVNjcmlwdFN0YXRlKCkgeyB9CiB9OwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3Rl
ZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIp
OwogcHVibGljOgogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCkgOiBtX3NjcmlwdFN0YXRl
KDApIHsgfQogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKiBzY3JpcHRT
dGF0ZSkgOiBtX3NjcmlwdFN0YXRlKHNjcmlwdFN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggZTA1MGJmYy4u
NjY2ZTYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAogLy8gV3Jp
dGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMgYW5kIHN0
b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRlIHR5cGVz
LgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAgICAgICAg
IDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHBy
aXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0ZUJhc2Up
OwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9CcmlkZ2UuaAppbmRleCA1MGVmYzY0Li4wMGQ2ZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0JyaWRn
ZS5oCkBAIC0yOCwxNCArMjgsMTUgQEAKICNkZWZpbmUgQnJpZGdlX2gKIAogI2luY2x1ZGUgIkJy
aWRnZUpTQy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlND
ICB7CiAKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZXRob2QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1ldGhv
ZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1ldGhvZCgpIHsgfQog
ICAgIHZpcnR1YWwgaW50IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFs
IH5NZXRob2QoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlm
aWVyUmVwLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCmluZGV4IDk5
YmFlMGIuLjg2NDZlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlm
aWVyUmVwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaApAQCAt
MzMsNyArMzMsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBJZGVudGlm
aWVyUmVwIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclJlcCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZp
ZXJSZXAqIGdldChpbnQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hh
ciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKaW5kZXggOTY5NzRkOS4uZWJj
ZmFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01OSw4ICs1OSwx
MCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNsYXNzIENsYXNz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDbGFzcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIENs
YXNzKCkgeyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25zdCBJZGVu
dGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVsZCogZmllbGRO
YW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29uc3QgSWRl
bnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsxMjcsOCBAQCBw
cml2YXRlOgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVPYmplY3Q7CiB9
OwogCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcnJheSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFycmF5KFBhc3NS
ZWZQdHI8Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlVmFsdWUuaAppbmRleCA4MzNkN2ZlLi4xNzRmMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNs
YXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENTU0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0
aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFs
dWU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbWFnZVZhbHVlKTsgfQogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVy
bCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUodXJsKSk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLmFkNGU5N2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ltcG9ydFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNoZWRDU1NTdHlsZVNo
ZWV0OwogY2xhc3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxlIDogcHVibGljIENT
U1J1bGUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NOYW1lc3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaApp
bmRleCA2MjI1YzM2Li45MjYzOGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TmFtZXNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCkBAIC0y
Niw3ICsyNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIHN0cnVjdCBDU1NOYW1l
c3BhY2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENTU05hbWVzcGFjZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENTU05hbWVzcGFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgIHB1YmxpYzoKICAgICAgICAgQXRvbWljU3RyaW5nIHByZWZpeDsKICAgICAgICAg
QXRvbWljU3RyaW5nIHVyaTsKICAgICAgICAgT3duUHRyPENTU05hbWVzcGFjZT4gcGFyZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDQ5NmEyMWEuLmQzMjY4MTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTM0MCw3ICszNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNob3J0aGFu
ZFNjb3BlKENTU1BhcnNlciogcGFyc2VyLCBpbnQgcHJvcElkKSA6IG1fcGFyc2VyKHBhcnNlcikK
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVl
cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjgu
Ljk5NmU3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTU5LDcgKzU5
LDggQEAgc3RydWN0IENTU1BhcnNlclZhbHVlIHsKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBj
cmVhdGVDU1NWYWx1ZSgpOwogfTsKIAotY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAg
ICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3Rv
cjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVu
Y3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ1NTUGFyc2VyU3RyaW5nIG5h
bWU7CiAgICAgT3duUHRyPENTU1BhcnNlclZhbHVlTGlzdD4gYXJnczsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjEwZTU5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
Q1NTUHJvcGVydHkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQcm9wZXJ0eSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHko
aW50IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0g
ZmFsc2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAg
ICAgOiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IDQwMGRk
NDAuLmNhMzgxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcApAQCAtMzcsOCArMzcs
MTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
Ci1jbGFzcyBDU1NTZWxlY3RvckJhZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NT
ZWxlY3RvckJhZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JCYWcpOwog
cHVibGljOgorICAgIENTU1NlbGVjdG9yQmFnKCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yQmFnKCkK
ICAgICB7CiAgICAgICAgIEFTU0VSVChpc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
aAppbmRleCA1NDU2YmU2Li5iOTMwMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAt
MzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ1NTU2VsZWN0b3JC
YWc7CiAKICAgICAvLyB0aGlzIGNsYXNzIHJlcHJlc2VudHMgYSBzZWxlY3RvciBmb3IgYSBTdHls
ZVJ1bGUKLSAgICBjbGFzcyBDU1NTZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgQ1NTU2VsZWN0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxl
Y3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ1NT
U2VsZWN0b3IoKQogICAgICAgICAgICAgOiBtX3JlbGF0aW9uKERlc2NlbmRhbnQpCkBAIC0zMDYs
NyArMzA3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBzcGVjaWZp
Y2l0eUZvclBhZ2UoKSBjb25zdDsKICAgICAgICAgdm9pZCBleHRyYWN0UHNldWRvVHlwZSgpIGNv
bnN0OwogCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
c3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJhcmVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIFJhcmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAg
ICAgICAgICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yTGlzdC5oCmluZGV4IDdhZGM2YjkuLmFiZDliYzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3JMaXN0LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBDU1NTZWxl
Y3Rvckxpc3RfaAogCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQ1NTU2VsZWN0
b3JMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJy
YXkoMCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwCmluZGV4IGZjMDcyMmEuLjI3YjQ0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM1Miw3ICszNTIsOCBAQCBpZiAoaWQgPT0gcHJv
cElEKSB7IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQ1NTUnVsZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENTU1J1bGVEYXRhKTsKIHB1YmxpYzoKICAgICBDU1NSdWxlRGF0YSh1bnNpZ25lZCBwb3Ms
IENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNlbCwgQ1NTUnVsZURhdGEqIHByZXYgPSAw
KQogICAgICAgICA6IG1fcG9zaXRpb24ocG9zKQpAQCAtMzgwLDcgKzM4MSw4IEBAIHByaXZhdGU6
CiAgICAgQ1NTUnVsZURhdGEqIG1fbmV4dDsKIH07CiAKLWNsYXNzIENTU1J1bGVEYXRhTGlzdCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxlRGF0YUxpc3QgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7CiBwdWJsaWM6CiAgICAgQ1NTUnVsZURh
dGFMaXN0KHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2Vs
KQogICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKQEAg
LTQxMCw3ICs0MTIsOCBAQCBwcml2YXRlOgogICAgIENTU1J1bGVEYXRhKiBtX2xhc3Q7CiB9Owog
Ci1jbGFzcyBDU1NSdWxlU2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVT
ZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwogcHVibGljOgogICAg
IENTU1J1bGVTZXQoKTsKICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmgKaW5kZXggZWVhY2U1Ny4uZTAzNWFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBj
bGFzcyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
OwogCi1jbGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE1lZGlhUXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlS
ZXN1bHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5
UmVzdWx0KGNvbnN0IE1lZGlhUXVlcnlFeHAmIGV4cHIsIGJvb2wgcmVzdWx0KQogICAgICAgICA6
IG1fZXhwcmVzc2lvbihleHByKQpAQCAtODIsNyArODMsOCBAQCBwdWJsaWM6CiB9OwogCiAgICAg
Ly8gVGhpcyBjbGFzcyBzZWxlY3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4gZWxlbWVudCBi
YXNlZCBvbiBhIGNvbGxlY3Rpb24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3MgQ1NTU3R5bGVT
ZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3Rv
ciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1N0eWxlU2VsZWN0b3IpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0
b3IoRG9jdW1lbnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0
KiBtYXBwZWRFbGVtZW50U2hlZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVT
aGVldCogcGFnZVVzZXJTaGVldCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+
KiBwYWdlR3JvdXBVc2VyU2hlZXRzLApAQCAtMjE0LDcgKzIxNiw4IEBAIHB1YmxpYzoKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRBdmFpbGFibGUo
KSB7IHJldHVybiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAgY2xhc3MgU2Vs
ZWN0b3JDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU2VsZWN0
b3JDaGVja2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdG9yQ2hl
Y2tlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1
bWVudCosIGJvb2wgc3RyaWN0UGFyc2luZyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCmluZGV4
IDI4MTAwOWIuLmE2MzhhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaApAQCAtMzcsNyArMzcs
OCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFRdWVyeUV4cDsKIAotY2xhc3Mg
TWVkaWFRdWVyeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9yIHsKICAgICAgICAgT25seSwgTm90LCBO
b25lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRleCAwMGFjMzk0
Li4wN2M0ZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAg
LTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hhcmFj
dGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhlIGxv
YWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2JhYmxl
IHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgLyoqIENyZWF0ZXMgZXZhbHVhdG9yIHdoaWNoIGV2YWx1YXRlcyBvbmx5IHNp
bXBsZSBtZWRpYSBxdWVyaWVzCiAgICAgICogIEV2YWx1YXRvciByZXR1cm5zIHRydWUgZm9yICJh
bGwiLCBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVkaWFGZWF0dXJlUmVzdWx0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlFeHAuaAppbmRleCA3MmQzZmZmLi43ZTRkNDc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3MgTWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlFeHAgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVM
aXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Bc3lu
Y1NjcmlwdFJ1bm5lci5oCmluZGV4IDIzMjZmNjcuLjZhNzUzMjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Bc3luY1NjcmlwdFJ1bm5lci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIERvY3VtZW50Owog
Y2xhc3MgUGVuZGluZ1NjcmlwdDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiAgICAgCi1jbGFzcyBB
c3luY1NjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY1Njcmlw
dFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNTY3JpcHRSdW5uZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxB
c3luY1NjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkgeyByZXR1cm4gbmV3
IEFzeW5jU2NyaXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1NjcmlwdFJ1bm5lcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCmluZGV4IDg2YTIyYjAuLjc3MmE3MDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRWxlbWVudDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNz
IERPTVN0cmluZ01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01TdHJpbmdNYXAg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVN0cmluZ01hcCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVN0cmluZ01hcCgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAppbmRleCAwYmIwMjVhLi4xNWIwOTdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTQ2OTEsNyArNDY5MSw5IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsCiAg
ICAgICAgIHdpbmRvdy0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgY2FsbFN0YWNrKTsKIH0KIAotc3RydWN0
IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0Nv
bnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBlcmZvcm1UYXNrQ29udGV4dChQ
YXNzUmVmUHRyPERvY3VtZW50V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVuY2UsIFBhc3NP
d25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAgICAgOiBkb2N1
bWVudFJlZmVyZW5jZShkb2N1bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNrKHRhc2spCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggODMx
NzdmYy4uMmRjMmI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNv
bnRyb2xsZXIuaApAQCAtMzgsOCArMzgsMTAgQEAgY2xhc3MgSW50UmVjdDsKIGNsYXNzIE5vZGU7
CiBjbGFzcyBSYW5nZTsKIAotY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyB9
CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7IH0KIAogICAgIHZv
aWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGY2MjkyNDEuLjQ1Yjg3OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudC5oCkBAIC0yNCwxMyArMjQsMTMgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVu
dF9oCiAKKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIK
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0
cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBDbGlwYm9hcmQ7CiAg
ICAgY2xhc3MgRXZlbnRUYXJnZXQ7CiAKICAgICBjbGFzcyBFdmVudCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEV2ZW50PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA3Mjc2OGQyLi40MzllOWQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE4MCw3ICsxODAsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgXAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCi0g
ICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZl
bnROYW1lcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TmFtZXMpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgaW50IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFr
ZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgogICAgICAgICAvLyBQcml2YXRlIHRvIHByZXZl
bnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMo
KQogICAgICAgICBFdmVudE5hbWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IGRk
Y2I2NjMuLjgxZWViN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3ICs4Myw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlcmVkRXZl
bnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhhc2hNYXA8
QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1hcDsKIAot
ICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2
ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50VGFyZ2V0
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgRXZl
bnRUYXJnZXREYXRhKCk7CiAgICAgICAgIH5FdmVudFRhcmdldERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aApAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVmaW5lIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3Vu
dEluY3JlbWVudGVyX2gKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWdub3JlRGVzdHJ1
Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKTsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcihE
b2N1bWVudCogZG9jdW1lbnQpCiAgICAgICAgIDogbV9jb3VudChkb2N1bWVudCA/ICZkb2N1bWVu
dC0+bV9pZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnQgOiAwKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGYzMDhhMjkuLjA3NjY4YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBl
bmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4K
ICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVu
dCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVz
IHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJl
Zm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5lbChQ
YXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBAIC03
OCw3ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0cnVl
IGlmIHRoZSBwcm94eSBjdXJyZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9ydC4K
ICAgICAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBFdmVu
dERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERhdGEgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3du
UHRyPEV2ZW50RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwg
UGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJh
cmVEYXRhLmgKaW5kZXggYWIyMDhkMi4uNzM1MGY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBO
b2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8RHluYW1pY05v
ZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAgTm9kZUxpc3RTZXQgbV9saXN0c1dpdGhDYWNoZXM7
CiAgICAgCkBAIC02Nyw3ICs2OSw4IEBAIHByaXZhdGU6CiAgICAgfQogfTsKICAgICAKLWNsYXNz
IE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOb2RlUmFyZURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGVSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOiAgICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAgICA6IG1f
dGFiSW5kZXgoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IDM0ZmMwNjkuLmNi
OTVmMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBAQCBz
dHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFtZXNw
YWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIGNsYXNzIFF1YWxpZmllZE5hbWVJbXBsIDogcHVibGljIFJlZkNvdW50ZWQ8UXVh
bGlmaWVkTmFtZUltcGw+IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQu
aAppbmRleCAwN2M1OWRiLi41MjUwZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgK
QEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2NyaXB0RWxlbWVudDsKIGNsYXNzIFNjcmlwdFNvdXJj
ZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTY3JpcHRF
bGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7
CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IGY0OThiZTAuLjFkZmM5ZjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTY2LDcgKzY2
LDggQEAgcHVibGljOgogICAgIH0KIH07CiAKLWNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OlBlbmRpbmdFeGNlcHRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6UGVuZGluZ0V4Y2VwdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGVuZGluZEV4Y2VwdGlvbik7CiBwdWJsaWM6CiAgICAgUGVuZGluZ0V4Y2VwdGlvbihjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQogICAgICAgICA6
IG1fZXJyb3JNZXNzYWdlKGVycm9yTWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGZiYjk2ZWMuLmI1N2I3NWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMzMsNiArMzMsNyBAQAogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC0xMTQsOCArMTE1LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCByZWYoKSB7IHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogICAg
ICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogCi0g
ICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBU
YXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgorICAgICAgICAgICAgVGFzaygpIHsgfQog
ICAgICAgICAgICAgdmlydHVhbCB+VGFzaygpOwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBl
cmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CiAgICAgICAgICAgICAvLyBD
ZXJ0YWluIHRhc2tzIGdldCBtYXJrZWQgc3BlY2lhbGx5IHNvIHRoYXQgdGhleSBhcmVuJ3QgZGlz
Y2FyZGVkLCBhbmQgYXJlIGV4ZWN1dGVkLCB3aGVuIHRoZSBjb250ZXh0IGlzIHNodXR0aW5nIGRv
d24gaXRzIG1lc3NhZ2UgcXVldWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3Bh
Y2VTcGxpdFN0cmluZy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaApp
bmRleCA4MjZlNmJkLi42ZWI4OTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3Bh
Y2VTcGxpdFN0cmluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5n
LmgKQEAgLTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3Mg
U3BhY2VTcGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNw
YWNlU3BsaXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VT
cGxpdFN0cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFNwYWNlU3BsaXRTdHJpbmdEYXRhKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBib29sIHNo
b3VsZEZvbGRDYXNlKQogICAgICAgICAgICAgOiBtX3N0cmluZyhzdHJpbmcpLCBtX3Nob3VsZEZv
bGRDYXNlKHNob3VsZEZvbGRDYXNlKSwgbV9jcmVhdGVkVmVjdG9yKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1RyYW5zZm9ybVNvdXJjZS5oCmluZGV4IGY5N2FmY2YuLjYzZGM3OGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYK
IAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJh
bnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBUcmFuc2Zvcm1Tb3VyY2UoY29uc3QgUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2UmIHNvdXJj
ZSk7CiAgICAgICAgIH5UcmFuc2Zvcm1Tb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJH
ZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uYjFlZDk2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTM2LDcgKzM2LDggQEAgZW51bSBQcm9j
ZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSB7CiAgICAgRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2Vy
R2VzdHVyZQogfTsKIAotY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFVzZXJHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBw
cm9jZXNzaW5nVXNlckdlc3R1cmUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZSA9
PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CiAgICAgc3RhdGljIFByb2Nlc3Np
bmdVc2VyR2VzdHVyZVN0YXRlIGdldFVzZXJHZXN0dXJlU3RhdGUoKSB7IHJldHVybiBzX3Byb2Nl
c3NpbmdVc2VyR2VzdHVyZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dl
c3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li4yMWY0YzdlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaApAQCAtMzQsNyArMzQsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiAKLWNsYXNz
IFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShV
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcHJv
Y2Vzc2luZ1VzZXJUeXBpbmdHZXN0dXJlKCk7CiAgICAgc3RhdGljIE5vZGUqIGZvY3VzZWRFbGVt
ZW50QXRHZXN0dXJlU3RhcnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxE
b2N1bWVudFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgK
aW5kZXggNzUzM2M1Yi4uMWFhZDliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1hN
TERvY3VtZW50UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFy
c2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAg
ICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJz
ZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8WE1MRG9j
dW1lbnRQYXJzZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZyYW1lVmlldyogdmlldykK
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFy
c2VyTGlieG1sMi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4
bWwyLmNwcAppbmRleCAwZjZiNGI0Li4xMGQ2ZTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUsMTAgQEAgdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5kaW5nQ2Fs
bGJhY2tzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFja3Mgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVibGljOgorICAg
IFBlbmRpbmdDYWxsYmFja3MoKSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNrcygpCiAgICAgewog
ICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKaW5kZXggNThlOGE2Yi4uZjYwNDcxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCkBAIC0zNiw3ICszNiw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVy
OwogCi0gICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFhNTERvY3VtZW50UGFyc2VyU2NvcGUpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZShDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVz
b3VyY2VMb2FkZXIpOwogICAgICAgICB+WE1MRG9jdW1lbnRQYXJzZXJTY29wZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaAppbmRleCAxMjg2
YzA3Li40ZDkyOGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1
dHRvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRv
bkNvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERlbGV0ZUJ1
dHRvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVsZXRlQnV0dG9u
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9uQ29udHJv
bGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlbGV0ZUJ1dHRv
bkNvbnRyb2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Jl
cGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAppbmRleCAyNGNmYTQxLi5mNDdjYjRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcApA
QCAtNjIsNyArNjIsOCBAQCBlbnVtIEVGcmFnbWVudFR5cGUgeyBFbXB0eUZyYWdtZW50LCBTaW5n
bGVUZXh0Tm9kZUZyYWdtZW50LCBUcmVlRnJhZ21lbnQgfTsKIAogLy8gLS0tIFJlcGxhY2VtZW50
RnJhZ21lbnQgaGVscGVyIGNsYXNzCiAKLWNsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVwbGFjZW1lbnRGcmFnbWVudCk7CiBwdWJsaWM6CiAgICAgUmVwbGFj
ZW1lbnRGcmFnbWVudChEb2N1bWVudCosIERvY3VtZW50RnJhZ21lbnQqLCBib29sIG1hdGNoU3R5
bGUsIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCBlZTUyMTg3Li4zZjgwNWQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtNDgsNyArNDgsOCBA
QCBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAKIGVudW0gRGlyZWN0aW9uYWxpdHlQb2xpY3kgeyBN
YWtlTm9uRGlyZWN0aW9uYWxTZWxlY3Rpb24sIE1ha2VEaXJlY3Rpb25hbFNlbGVjdGlvbiB9Owog
Ci1jbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNlbGVjdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdGlv
bkNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVt
IEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlvbk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBl
bnVtIEN1cnNvckFsaWduT25TY3JvbGwgeyBBbGlnbkN1cnNvck9uU2Nyb2xsSWZOZWVkZWQsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaAppbmRleCBmNjIxNWQyLi44MWJiNTE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKQEAgLTU0LDcgKzU0LDggQEAgcHJp
dmF0ZToKICAgICBpbnQgbV9sZW5ndGg7CiB9OwogCi1jbGFzcyBTcGVsbENoZWNrZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU3BlbGxDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTcGVsbENoZWNrZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNwZWxsQ2hlY2tl
cihGcmFtZSosIEVkaXRvckNsaWVudCopOwogICAgIH5TcGVsbENoZWNrZXIoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCmluZGV4IDIyNzUzMGYuLjhiNWM2
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAt
NzIsNyArNzIsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgaW50IG1fY2hlY2tpbmdMZW5ndGg7
CiB9OwogCi1jbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgVGV4dENoZWNraW5nSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0
Q2hlY2tpbmdIZWxwZXIpOwogcHVibGljOgogICAgIFRleHRDaGVja2luZ0hlbHBlcihFZGl0b3JD
bGllbnQqLCBQYXNzUmVmUHRyPFJhbmdlPik7CiAgICAgflRleHRDaGVja2luZ0hlbHBlcigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IGMyNGJjYjIuLjFmYzc2
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTYxLDcgKzYx
LDggQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIC8vIENhc2UgZm9sZGluZyBpcyBhbHNv
IGRvbmUgaWYgdGhlIENhc2VJbnNlbnNpdGl2ZSBvcHRpb24gaXMgc3BlY2lmaWVkLgogLy8gTWF0
Y2hlcyBhcmUgZnVydGhlciBmaWx0ZXJlZCBpZiB0aGUgQXRXb3JkU3RhcnRzIG9wdGlvbiBpcyBz
cGVjaWZpZWQsIGFsdGhvdWdoIHNvbWUKIC8vIG1hdGNoZXMgaW5zaWRlIGEgd29yZCBhcmUgcGVy
bWl0dGVkIGlmIFRyZWF0TWVkaWFsQ2FwaXRhbEFzV29yZFN0YXJ0IGlzIHNwZWNpZmllZCBhcyB3
ZWxsLgotY2xhc3MgU2VhcmNoQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNl
YXJjaEJ1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VhcmNoQnVmZmVyKTsKIHB1
YmxpYzoKICAgICBTZWFyY2hCdWZmZXIoY29uc3QgU3RyaW5nJiB0YXJnZXQsIEZpbmRPcHRpb25z
KTsKICAgICB+U2VhcmNoQnVmZmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0ZpbGVUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCmlu
ZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCkBA
IC01NCw3ICs1NCw4IEBAIHB1YmxpYzoKICAgICBib29sIHN0YXJ0KCk7CiAgICAgdm9pZCBzdG9w
KCk7CiAKLSAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBU
YXNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7CiAgICAgcHVibGljOgog
ICAgICAgICB2aXJ0dWFsIH5UYXNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3Jt
VGFzaygpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxl
U3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCmluZGV4
IGI3NzlhNWYuLjEyYTcwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9j
YWxGaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0
ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlv
biBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xh
c3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmls
ZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1
YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxl
U3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2Nh
bEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAppbmRleCAyNWU2NzM5Li4wMjBhYzQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKQEAgLTU4LDcgKzU4LDggQEAg
Y2xhc3MgRmlsZUVudHJ5U3luYzsKIAogLy8gQSBoZWxwZXIgdGVtcGxhdGUgZm9yIEZpbGVTeXN0
ZW1TeW5jIGltcGxlbWVudGF0aW9uLgogdGVtcGxhdGUgPHR5cGVuYW1lIFN1Y2Nlc3NDYWxsYmFj
aywgdHlwZW5hbWUgT2JzZXJ2ZXJUeXBlLCB0eXBlbmFtZSBDYWxsYmFja0FyZywgdHlwZW5hbWUg
UmVzdWx0VHlwZT4KLWNsYXNzIFN5bmNDYWxsYmFja0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN5bmNDYWxsYmFja0hlbHBlcik7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBTeW5jQ2FsbGJhY2tI
ZWxwZXI8U3VjY2Vzc0NhbGxiYWNrLCBPYnNlcnZlclR5cGUsIENhbGxiYWNrQXJnLCBSZXN1bHRU
eXBlPiBIZWxwZXJUeXBlOwogICAgIFN5bmNDYWxsYmFja0hlbHBlcihPYnNlcnZlclR5cGUqIG9i
c2VydmVyID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0Zvcndh
cmRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJv
bGxlci5oCmluZGV4IGU4OWUzMmIuLjEyODg0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBCYWNr
Rm9yd2FyZExpc3Q7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEJh
Y2tGb3J3YXJkQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBCYWNrRm9y
d2FyZENvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJhY2tGb3J3YXJkQ29u
dHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEJhY2tGb3J3
YXJkQ29udHJvbGxlcihQYWdlKiwgUGFzc1JlZlB0cjxCYWNrRm9yd2FyZExpc3Q+KTsKICAgICB+
QmFja0ZvcndhcmRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0
b3J5L1BhZ2VDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAppbmRl
eCA3MWFlNWFkLi45MTJiZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1Bh
Z2VDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAgLTM5
LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhpc3RvcnlJdGVtOwog
ICAgIGNsYXNzIFBhZ2U7CiAgICAgCi0gICAgY2xhc3MgUGFnZUNhY2hlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlQ2FjaGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQYWdlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUqIHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEuLjhlNGEwNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaApAQCAtMjksNyArMjksOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLXN0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgOiBG
YXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIENvbGxlY3Rpb25DYWNoZSgpOwogICAgIENvbGxl
Y3Rpb25DYWNoZShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUm
IG9wZXJhdG9yPShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmIG90aGVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oCmluZGV4IDJiNzExYjQuLjhmNmZkNGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBw
dWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJsaWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlz
dD4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPERPTVNldHRhYmxlVG9rZW5MaXN0PiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLjBiNzViNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9ET01Ub2tlbkxpc3QuaApAQCAtMjcsMTUgKzI3LDE2IEBACiAKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLWNsYXNzIERPTVRva2VuTGlzdCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01Ub2tlbkxpc3QgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERPTVRva2VuTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgor
ICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9Owog
CiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2Vy
UXVpcmtzLmgKaW5kZXggNTBkZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGFyc2VyUXVpcmtzLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MUGFyc2VyUXVp
cmtzX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTm9kZTsKIAotY2xhc3MgSFRN
TFBhcnNlclF1aXJrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2VyUXVp
cmtzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyUXVpcmtzKTsKIHB1Ymxp
YzoKICAgICBIVE1MUGFyc2VyUXVpcmtzKCkgeyB9CiAgICAgdmlydHVhbCB+SFRNTFBhcnNlclF1
aXJrcygpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggZWE0NTQxZi4uZTZjZWI5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw2ICszMyw3IEBACiAjZGVmaW5lIElucHV0
VHlwZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU2LDE3ICs1NywxOCBAQCBjbGFz
cyBXaGVlbEV2ZW50OwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAogc3RydWN0IENsaWNr
SGFuZGxpbmdTdGF0ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAg
ICAgYm9vbCBjaGVja2VkOwogICAgIGJvb2wgaW5kZXRlcm1pbmF0ZTsKICAgICBSZWZQdHI8SFRN
TElucHV0RWxlbWVudD4gY2hlY2tlZFJhZGlvQnV0dG9uOwotCi0gICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIH07CiAKIC8vIEFuIElucHV0VHlwZSBvYmplY3QgcmVwcmVzZW50cyB0aGUgdHlw
ZS1zcGVjaWZpYyBwYXJ0IG9mIGFuIEhUTUxJbnB1dEVsZW1lbnQuCiAvLyBEbyBub3QgZXhwb3Nl
IGluc3RhbmNlcyBvZiBJbnB1dFR5cGUgYW5kIGNsYXNzZXMgZGVyaXZlZCBmcm9tIGl0IHRvIGNs
YXNzZXMKIC8vIG90aGVyIHRoYW4gSFRNTElucHV0RWxlbWVudC4KLWNsYXNzIElucHV0VHlwZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnB1dFR5cGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKElucHV0VHlwZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQq
LCBjb25zdCBTdHJpbmcmKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0
ZVRleHQoSFRNTElucHV0RWxlbWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggY2Uw
NDRlYS4uMmZhMTM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yOCw3ICsyOCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAotY2xhc3Mg
U3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29sIGhhc1N0
ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1Zh
bGlkYXRpb25NZXNzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdl
LmgKaW5kZXggNWZhMWY5Ni4uN2NkMGNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlv
bk1lc3NhZ2UuaApAQCAtNDIsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBG
b3JtQXNzb2NpYXRlZEVsZW1lbnQ7CiBjbGFzcyBIVE1MRWxlbWVudDsKIAotY2xhc3MgVmFsaWRh
dGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlvbk1lc3Nh
Z2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRlKEZvcm1B
c3NvY2lhdGVkRWxlbWVudCopOwogICAgIH5WYWxpZGF0aW9uTWVzc2FnZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuaAppbmRleCBlMTQwYzQ5Li40YTk2NDg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFZhbGlkaXR5U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VmFsaWRpdHlTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRy
PFZhbGlkaXR5U3RhdGU+IGNyZWF0ZShGb3JtQXNzb2NpYXRlZEVsZW1lbnQqIGNvbnRyb2wpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5oCmluZGV4IGEyNWU4YTEuLmExNDM1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTQxLDcgKzQxLDgg
QEAgY2xhc3MgSFRNTFZpZGVvRWxlbWVudDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9iamVj
dDsKIAotY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDYW52YXNSZW5kZXJpbmdDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAg
IHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCmluZGV4IDdhYzI4MmYuLmZhZTk1YTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaApA
QCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEb2N1bWVudDsKIGNs
YXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgQ1NTUHJlbG9hZFNjYW5uZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQ1NTUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENTU1ByZWxvYWRTY2FubmVyKTsKIHB1YmxpYzoKICAgICBDU1NQcmVsb2FkU2Nhbm5lcihE
b2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
Q29uc3RydWN0aW9uU2l0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0
cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li41YTRhNjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTQwLDcgKzQwLDgg
QEAgY2xhc3MgQXRvbWljSFRNTFRva2VuOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50
OwogCi1jbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TENvbnN0cnVjdGlvblNpdGUpOwogcHVibGljOgogICAgIEhUTUxDb25zdHJ1Y3Rpb25TaXRlKERv
Y3VtZW50KiwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLCBib29sIGlzUGFyc2luZ0ZyYWdt
ZW50KTsKICAgICB+SFRNTENvbnN0cnVjdGlvblNpdGUoKTsKQEAgLTg5LDcgKzkwLDggQEAgcHVi
bGljOgogICAgIEhUTUxGb3JtRWxlbWVudCogZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9ybS5n
ZXQoKTsgfQogICAgIFBhc3NSZWZQdHI8SFRNTEZvcm1FbGVtZW50PiB0YWtlRm9ybSgpOwogCi0g
ICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKEhUTUxDb25zdHJ1Y3Rpb25T
aXRlJiB0cmVlKQogICAgICAgICAgICAgOiBtX3RyZWUodHJlZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKaW5kZXggODBjYTcyNy4uZjkyNTI2
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2Vy
LmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNjcmlw
dFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2NyaXB0
YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1bWVudCogZG9j
dW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi5hZDhiOTQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCkBAIC0zOSwxMiAr
MzksMTQgQEAgY2xhc3MgUXVhbGlmaWVkTmFtZTsKIAogLy8gTk9URTogVGhlIEhUTUw1IHNwZWMg
dXNlcyBhIGJhY2t3YXJkcyAoZ3Jvd3MgZG93bndhcmQpIHN0YWNrLiAgV2UncmUgdXNpbmcKIC8v
IG1vcmUgc3RhbmRhcmQgKGdyb3dzIHVwd2FyZHMpIHN0YWNrIHRlcm1pbm9sb2d5IGhlcmUuCi1j
bGFzcyBIVE1MRWxlbWVudFN0YWNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxF
bGVtZW50U3RhY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxFbGVtZW50U3RhY2sp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNr
KCk7CiAgICAgfkhUTUxFbGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIH5FbGVtZW50UmVjb3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVt
ZW50TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVt
ZW50TGlzdC5oCmluZGV4IGFjYTA1YmIuLmY3NWZhNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKQEAgLTM1LDcg
KzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKIAogLy8gVGhpcyBt
YXkgZW5kIHVwIG1lcmdlZCBpbnRvIEhUTUxFbGVtZW50U3RhY2suCi1jbGFzcyBIVE1MRm9ybWF0
dGluZ0VsZW1lbnRMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxGb3JtYXR0
aW5nRWxlbWVudExpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QpOwogcHVibGljOgogICAgIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsK
ICAgICB+SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCAxYmZiYWY5Li5kOTVlYzMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBs
YXN0IG9mIHRoZSBhZnRlckluc2VydGlvblBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBh
ZGRzIGRhdGEgYXQgdGhlIGVuZCBvZiB0aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8v
IHRoZW0gdG8gdGhlICJsYXN0IiBzdHJpbmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MSW5wdXRTdHJlYW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVh
bSgpCiAgICAgICAgIDogbV9sYXN0KCZtX2ZpcnN0KQpAQCAtMTI5LDcgKzEzMCw4IEBAIHByaXZh
dGU6CiAgICAgU2VnbWVudGVkU3RyaW5nKiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Q
b2ludFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJl
Y29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwog
cHVibGljOgogICAgIGV4cGxpY2l0IEluc2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVh
bSYgaW5wdXRTdHJlYW0pCiAgICAgICAgIDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJz
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5o
CmluZGV4IGMzMTM2ZjUuLjQ1ZmJhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCkBAIC0zNiw3ICszNiw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFzcyBUZXh0Q29kZWM7CiAKLWNs
YXNzIEhUTUxNZXRhQ2hhcnNldFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBI
VE1MTWV0YUNoYXJzZXRQYXJzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxNZXRh
Q2hhcnNldFBhcnNlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTE1ldGFD
aGFyc2V0UGFyc2VyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTE1ldGFDaGFy
c2V0UGFyc2VyKCkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJTY2hlZHVsZXIuaAppbmRleCAzYTIwYjJiLi5jNDE1YzYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCArMjgs
MTQgQEAKIAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiAK
LWNsYXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIgOiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxQYXJzZXJTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJz
ZXJTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFy
c2VyKiBwYXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFByZWxvYWRTY2FubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAppbmRleCA5NGE5MGU2Li5iZWQ3N2ZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaApAQCAtMzAsNyArMzAsNiBA
QAogI2luY2x1ZGUgIkNTU1ByZWxvYWRTY2FubmVyLmgiCiAjaW5jbHVkZSAiSFRNTFRva2VuLmgi
CiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzksNyArMzgsOCBAQCBjbGFzcyBIVE1M
VG9rZW47CiBjbGFzcyBIVE1MVG9rZW5pemVyOwogY2xhc3MgU2VnbWVudGVkU3RyaW5nOwogCi1j
bGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRN
TFByZWxvYWRTY2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUHJlbG9hZFNj
YW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBIVE1MUHJlbG9h
ZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFNjcmlwdFJ1bm5lci5oCmluZGV4IDZjZjc0ZDguLjk4NmY3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNp
bmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NDIsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0Owog
Y2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFNjcmlwdFJ1bm5lcj4gY3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCwgSFRNTFNjcmlwdFJ1bm5lckhvc3QqIGhvc3QpCiAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li4xY2JjMTUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaApAQCAtMjcsMTMgKzI3LDEzIEBA
CiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAKICNpbmNsdWRlICJOYW1lZE5vZGVNYXAuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBIVE1M
VG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRva2VuIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW4pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmluaXRpYWxpemVkLApAQCAtMzEzLDcg
KzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBlbmQgdXAgd2l0aCBhIGNsZWFuZXIg
aW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgogICAgIGZyaWVuZCBjbGFzcyBBdG9t
aWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBEb2N0eXBlRGF0YSgpCiAgICAg
ICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxzZSkKQEAgLTM1Miw3ICszNTMsOCBA
QCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBzaG91bGQgZXZlbnR1YWxseSBiZSBu
YW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8gZXhpdGluZyBIVE1MVG9rZW4gdG8g
YmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1jbGFzcyBBdG9taWNIVE1MVG9rZW4g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWljSFRNTFRva2VuIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwogcHVibGljOgogICAgIEF0b21pY0hU
TUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6IG1fdHlwZSh0b2tlbi50eXBlKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKaW5kZXggZjE2YjA0
OS4uZmE0NWNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIu
aApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBFbGVtZW50OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBI
VE1MVG9rZW47CiAKLWNsYXNzIEhUTUxUb2tlbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSFRNTFRva2VuaXplciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2Vu
aXplcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGVudW0gU3RhdGUg
ewogICAgICAgICBEYXRhU3RhdGUsCkBAIC0xNzIsNyArMTczLDggQEAgcHVibGljOgogCiBwcml2
YXRlOgogICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvI3ByZXByb2Nlc3NpbmctdGhlLWlucHV0LXN0cmVhbQotICAgIGNsYXNzIElucHV0U3Ry
ZWFtUHJlcHJvY2Vzc29yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbnB1dFN0
cmVhbVByZXByb2Nlc3NvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElucHV0U3Ry
ZWFtUHJlcHJvY2Vzc29yKTsKICAgICBwdWJsaWM6CiAgICAgICAgIElucHV0U3RyZWFtUHJlcHJv
Y2Vzc29yKEhUTUxUb2tlbml6ZXIqIHRva2VuaXplcikKICAgICAgICAgICAgIDogbV90b2tlbml6
ZXIodG9rZW5pemVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAKaW5kZXggMDI3MTNlNS4uOTdjZWUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDEsNyArMjQxLDggQEAgSFRNTEZv
cm1FbGVtZW50KiBjbG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8g
bmFtZXNwYWNlCiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tl
bkJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4
dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4
dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVy
bmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAg
OiBtX2N1cnJlbnQodG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzNDIsNyArMjM0Myw4
IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2Vu
JiB0b2tlbikKICAgICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVC
dWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBI
VE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGYWtlSW5zZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUo
SFRNTFRyZWVCdWlsZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAg
ICA6IG1fdHJlZUJ1aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5oCmluZGV4IDE3Yjc3YjcuLjMwOWFjNmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCkBAIC01MSw3ICs1MSw4IEBA
IGNsYXNzIEhUTUxEb2N1bWVudDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJz
ZXI7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUcmVlQnVp
bGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
T3duUHRyPEhUTUxUcmVlQnVpbGRlcj4gY3JlYXRlKEhUTUxEb2N1bWVudFBhcnNlciogcGFyc2Vy
LCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywgYm9vbCB1c2VQcmVI
VE1MNVBhcnNlclF1aXJrcykKICAgICB7CkBAIC0yMDQsNyArMjA1LDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHByb2Nlc3NGb3JlaWduQ29udGVudFVzaW5nSW5Cb2R5TW9kZUFuZFJlc2V0TW9kZShB
dG9taWNIVE1MVG9rZW4mIHRva2VuKTsKICAgICB2b2lkIHJlc2V0Rm9yZWlnbkluc2VydGlvbk1v
ZGUoKTsKIAotICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoKTsKICAgICAgICAgRnJhZ21lbnRQYXJzaW5n
Q29udGV4dChEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdt
ZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1l
bnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3Jl
bWVudGVyLmgKQEAgLTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBO
ZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmVzdGlu
Z0xldmVsSW5jcmVtZW50ZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyKHVuc2lnbmVkJiBuZXN0aW5nTGV2ZWwpCiAgICAgICAgIDogbV9uZXN0aW5nTGV2
ZWwoJm5lc3RpbmdMZXZlbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdl
LmgKaW5kZXggMzEwYWE4ZS4uN2MzMzQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgU2NyaXB0Q2FsbEZyYW1lOwog
Y2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFsdWU7CiAKLWNsYXNzIENvbnNv
bGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENvbnNvbGVNZXNzYWdlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2FnZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5zaWduZWQgbGksIGNv
bnN0IFN0cmluZyYgdSk7CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgK
aW5kZXggM2Q5ZTQ5NC4uYWMwYWNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtNDEsNyArNDEs
OCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0b3JWYWx1ZTsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiAKLWNsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250
cm9sbGVyLCBJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpOwogICAgIH5JbnNwZWN0b3JBcHBs
aWNhdGlvbkNhY2hlQWdlbnQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmgKaW5kZXggNTM3YmRhMS4uNmFm
MzFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJyb3dz
ZXJEZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckJyb3dzZXJEZWJ1Z2dlckFnZW50LmgKQEAgLTQ4LDcgKzQ4LDggQEAgY2xhc3MgSW5zcGVjdG9y
Q29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNz
IEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCk7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0
b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyKQogICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaAppbmRleCA5N2ZjYjNmLi5h
M2U2YTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
c29sZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNv
bGVBZ2VudC5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIGNsYXNz
IFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiAKLWNsYXNzIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JDb25z
b2xlQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckNvbnNvbGVBZ2Vu
dCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KEluc3BlY3RvckNvbnRyb2xs
ZXIqLCBJbnNwZWN0b3JTdGF0ZSopOwogICAgIH5JbnNwZWN0b3JDb25zb2xlQWdlbnQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IGFi
ODM3N2QuLmIwOWJmMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaApAQCAtMTA1LDcgKzEwNSw4IEBAIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFr
ZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZTsKICNlbmRpZgogCi1j
bGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
c3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckNv
bnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgQ29uc29sZVBhbmVsOwogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBj
b25zdCBFbGVtZW50c1BhbmVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50LmgKaW5kZXggOThhYzFmOS4uNGNiOWY5YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC01Myw3
ICs1Myw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2ZUJyZWFrcG9pbnRE
ZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1
YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5z
cGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yRGVi
dWdnZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqLCBJbnNwZWN0b3JGcm9udGVu
ZCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRlYnVnZ2VyQWdlbnQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5o
CmluZGV4IDlkY2FhNWEuLjE5ZjZhZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaApAQCAtNDEsNyArNDEsOCBA
QCBjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRIb3N0
OwogY2xhc3MgUGFnZTsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1
YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBwdWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsKEluc3BlY3RvckNvbnRyb2xsZXIqLCBQYWdlKik7CiAgICAgdmly
dHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXggZTY3ODQ4ZC4uMTYw
OGRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2Zp
bGVyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudC5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNz
IFNjcmlwdEhlYXBTbmFwc2hvdDsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiAKLWNsYXNzIEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9y
UHJvZmlsZXJBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9s
bGVyKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCmluZGV4IGExM2Vi
NTkuLmI0ZjM3MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UnVudGltZUFnZW50LmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgSW5qZWN0ZWRTY3JpcHRIb3N0
OwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9yVmFsdWU7CiAKLWNsYXNz
IEluc3BlY3RvclJ1bnRpbWVBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNw
ZWN0b3JSdW50aW1lQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclJ1
bnRpbWVBZ2VudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yUnVu
dGltZUFnZW50PiBjcmVhdGUoSW5qZWN0ZWRTY3JpcHRIb3N0KiBpbmplY3RlZFNjcmlwdEhvc3Qp
CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmgKaW5kZXggMzNlMjczNy4uY2FlNWFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC03MCw3ICs3MCw4IEBAIGVu
dW0gVGltZWxpbmVSZWNvcmRUeXBlIHsKICAgICBTY2hlZHVsZVJlc291cmNlUmVxdWVzdFRpbWVs
aW5lUmVjb3JkVHlwZSA9IDIwCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IDog
U2NyaXB0R0NFdmVudExpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zcGVjdG9yRnJvbnRl
bmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
LmgKaW5kZXggMTAxNmFlZC4uZGRkNTA3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCkBAIC0zOCw3ICszOCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIVFRQSGVhZGVyTWFwOwogICAgIGNs
YXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlSXRlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmln
aW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRD
YWNoZUl0ZW0oYm9vbCBjcmVkZW50aWFscykKICAgICAgICAgICAgIDogbV9hYnNvbHV0ZUV4cGly
eVRpbWUoMCkKQEAgLTYzLDcgKzY0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBI
ZWFkZXJzU2V0IG1faGVhZGVyczsKICAgICB9OwogCi0gICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRSZXN1bHRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NP
cmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBDcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGViZjNhMjUuLjNhM2NjNjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTQ3LDYgKzQ3
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXJDbGll
bnQ7CiAKICAgICBjbGFzcyBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291
bnRlZDxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciwg
cHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCAgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJj
ZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9j
dW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50V3JpdGVyLmgKaW5kZXggNWZiM2RjMS4uZmI5MzYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBT
ZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiAKLWNsYXNzIERvY3Vt
ZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50V3JpdGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVudFdyaXRlcik7CiBwdWJsaWM6CiAgICAg
RG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CmluZGV4IGU0Y2VmYzUuLmY2NzAwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKQEAgLTIxNCw4ICsyMTQsMTAgQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBFbXB0
eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxv
YWRlckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlGcmFtZUxvYWRlckNs
aWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RnJhbWVM
b2FkZXJDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkg
eyAgfQogICAgIHZpcnR1YWwgdm9pZCBmcmFtZUxvYWRlckRlc3Ryb3llZCgpIHsgfQogCkBAIC0z
ODcsOCArMzg5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWVOZXR3
b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVybiBQYXNzUmVm
UHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KIH07CiAKLWNsYXNzIEVtcHR5RWRpdG9y
Q2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEVtcHR5RWRpdG9yQ2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRW1wdHlFZGl0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5
RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0K
IApAQCAtNTAxLDggKzUwNSwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCi1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51
Q2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVu
dCA6IHB1YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RW1wdHlDb250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgorICAgIEVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUNv
bnRleHRNZW51Q2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwgdm9pZCBjb250ZXh0TWVudURlc3Ry
b3llZCgpIHsgfQogCkBAIC01MjgsOCArNTM0LDEwIEBAIHB1YmxpYzoKICNlbmRpZiAvLyBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi1jbGFzcyBFbXB0
eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShFbXB0eURyYWdDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKKyAgICBFbXB0eURyYWdDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eURyYWdD
bGllbnQoKSB7fQogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFj
dGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb24sIERyYWdEYXRhKikgeyB9CiAgICAgdmlydHVhbCB2
b2lkIHdpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25zdCBJ
bnRQb2ludCYsIENsaXBib2FyZCopIHsgfQpAQCAtNTQxLDggKzU0OSwxMCBAQCBwdWJsaWM6CiB9
OwogI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKLWNsYXNzIEVtcHR5SW5zcGVjdG9y
Q2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlJbnNwZWN0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAg
IHZpcnR1YWwgfkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
aW5zcGVjdG9yRGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRm9ybVN1Ym1pc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oCmluZGV4IGQ3MjQ4MzUuLjdmNThmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3Vi
bWlzc2lvbi5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEZvcm1TdWJtaXNzaW9uIDogcHVibGlj
IFJlZkNvdW50ZWQ8Rm9ybVN1Ym1pc3Npb24+IHsKIHB1YmxpYzoKICAgICBlbnVtIE1ldGhvZCB7
IEdldE1ldGhvZCwgUG9zdE1ldGhvZCB9OwogCi0gICAgY2xhc3MgQXR0cmlidXRlcyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXR0cmlidXRlcyB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEF0dHJpYnV0ZXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgQXR0cmlidXRl
cygpCiAgICAgICAgICAgICA6IG1fbWV0aG9kKEdldE1ldGhvZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmgKaW5kZXggN2ZmNWRiZC4uYWY5N2ZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmgKQEAgLTg2LDcgKzg2LDggQEAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogCiBi
b29sIGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBlKTsKIAotY2xhc3MgRnJhbWVM
b2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRl
cihGcmFtZSosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAgICAgfkZyYW1lTG9hZGVyKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCmluZGV4IGMz
NDA4YzIuLmZlMzdlY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlclN0YXRlTWFjaGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
clN0YXRlTWFjaGluZS5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gRW5jYXBzdWxhdGVzIGEgc3RhdGUgbWFjaGluZSBmb3IgRnJhbWVMb2FkZXIuIE5vdGUgdGhh
dCB0aGlzIGlzIGRpZmZlcmVudCBmcm9tIEZyYW1lU3RhdGUsCiAvLyB3aGljaCBzdG9yZXMgdGhl
IHN0YXRlIG9mIHRoZSBjdXJyZW50IGxvYWQgdGhhdCBGcmFtZUxvYWRlciBpcyBleGVjdXRpbmcu
Ci1jbGFzcyBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUpOwogcHVibGljOgogICAgIEZyYW1lTG9hZGVyU3RhdGVN
YWNoaW5lKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29u
dHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMTdmODBlYi4uMDYxZjIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hp
c3RvcnlDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250
cm9sbGVyLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRl
bTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3RvcnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBl
bnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBkYXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9y
d2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggYTc3
ZThjMC4uMDY5YjQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC01
Nyw3ICs1Nyw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IFZhbHVlQ2hlY2s8V2ViQ29yZTo6SW1hZ2VM
b2FkZXIqPiB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSW1hZ2VFdmVudFNlbmRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZUV2ZW50U2VuZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZUV2ZW50U2VuZGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgSW1hZ2VFdmVudFNlbmRlcihjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1
bGVyLmNwcAppbmRleCAxNzUyMTljLi5kNTE1NzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogdW5zaWduZWQgTmF2aWdhdGlvbkRpc2FibGVyRm9yQmVmb3JlVW5sb2FkOjpz
X25hdmlnYXRpb25EaXNhYmxlQ291bnQgPSAwOwogCi1jbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjaGVkdWxlZE5hdmlnYXRpb24geworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZE5hdmlnYXRpb24pOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9uKGRvdWJsZSBkZWxh
eSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0LCBib29sIHdhc0R1
cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBtX2RlbGF5KGRlbGF5
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKaW5kZXggM2EwNzZmYi4uNTk4OGI2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiAvLyB0byBhbGxvdyB0aGUgbG9hZCB0byBsaXZlIGxvbmcgZW5vdWdoIHRv
IGVuc3VyZSB0aGUgbWVzc2FnZSB3YXMgYWN0dWFsbHkgc2VudC4KIC8vIFRoZXJlZm9yZSwgYXMg
c29vbiBhcyBhIGNhbGxiYWNrIGlzIHJlY2VpdmVkIGZyb20gdGhlIFJlc291cmNlSGFuZGxlLCB0
aGlzIGNsYXNzIAogLy8gd2lsbCBjYW5jZWwgdGhlIGxvYWQgYW5kIGRlbGV0ZSBpdHNlbGYuCi1j
bGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQaW5nTG9hZGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwg
Y29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0
IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUG9saWN5Q2hlY2tlci5oCmluZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBOYXZpZ2F0
aW9uQWN0aW9uOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7
CiAKLWNsYXNzIFBvbGljeUNoZWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUG9s
aWN5Q2hlY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUG9saWN5Q2hlY2tlcik7CiBw
dWJsaWM6CiAgICAgUG9saWN5Q2hlY2tlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjY1ZGQxYzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01MCw3ICs1MCw5IEBAIHN0YXRp
YyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAgLSBpbml0aWFs
UHJvZ3Jlc3NWYWx1ZQogCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzSXRlbURlZmF1bHRFc3Rp
bWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKLXN0cnVjdCBQcm9ncmVzc0l0ZW0gOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
cm9ncmVzc0l0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBQcm9n
cmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQog
ICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Byb2dyZXNzVHJhY2tlci5oCmluZGV4IDVkNWI2YjIuLmVhNWY3ZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgRnJhbWU7
CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsKIAotY2xhc3Mg
UHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb2dyZXNzVHJh
Y2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2VyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvZ3Jlc3NUcmFja2VyKCk7CiAgICAg
flByb2dyZXNzVHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZE5vdGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
Tm90aWZpZXIuaAppbmRleCAyZjEwODU2Li5hNmQ5MmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaApAQCAtNDMsNyArNDMsOCBAQCBjbGFzcyBSZXNv
dXJjZUxvYWRlcjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVl
c3Q7CiAKLWNsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZXNvdXJjZUxvYWROb3RpZmllcik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIo
RnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZFNjaGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxl
ci5oCmluZGV4IDE2M2I2N2UuLmYyZTYyN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgUmVzb3VyY2VS
ZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRl
ckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBmcmllbmQgUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKTsKIApAQCAtNjksNyArNzAs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpOwog
ICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVzb3VyY2VMb2FkU2NoZWR1bGVyPiop
OwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
b3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAgICAgSG9zdEluZm9ybWF0aW9uKGNv
bnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhvc3RJbmZvcm1hdGlvbigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAppbmRleCBhNTczMDQ1Li5iYTYzYTVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaApAQCAtNTQsNyArNTQsOCBAQCBj
bGFzcyBOb2RlOwogY2xhc3MgV2lkZ2V0OwogCiAvLyBUaGlzIGlzIGEgc2xpZ2h0IG1pc25vbWVy
LiBJdCBoYW5kbGVzIHRoZSBoaWdoZXIgbGV2ZWwgbG9naWMgb2YgbG9hZGluZyBib3RoIHN1YmZy
YW1lcyBhbmQgcGx1Z2lucy4KLWNsYXNzIFN1YmZyYW1lTG9hZGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFN1YmZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dWJmcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgU3ViZnJhbWVMb2FkZXIoRnJhbWUqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uZjU3
NGM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC02NSw3
ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcg
bG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2FmZSwgCiAgICAg
Ly8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFk
KS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2Fk
UmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxv
YWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRl
cj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMm
KTsKQEAgLTc1LDYgKzc2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGRl
cmVmKCkgeyBkZXJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQogCiAgICAgcHJvdGVjdGVkOgorICAg
ICAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVM
b2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIoKSA9
IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAppbmRleCBi
Y2Y2OGJlLi5jZWE4YjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFk
YWJsZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxl
TG9hZGVyQ2xpZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3Mg
UmVzb3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRo
cmVhZGFibGVMb2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcg
LypieXRlc1NlbnQqLywgdW5zaWduZWQgbG9uZyBsb25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8p
IHsgfQogCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJikgeyB9CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVM
b2FkZXJDbGllbnQoKSB7IH0KICAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJsZUxvYWRlckNsaWVu
dCgpIHsgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFk
YWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLjY1Y2M2MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaApAQCAtNTQsNiArNTQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0
YTsKIAogICAgIGNsYXNzIFdvcmtlclRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXb3JrZXJUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRp
b25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5oCmluZGV4IDJkOGI4M2UuLmYzYTExN2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKQEAg
LTUzLDcgKzUzLDggQEAgZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlT3B0aW9uIHsKICAgICBB
cHBsaWNhdGlvbkNhY2hlVXBkYXRlV2l0aG91dEJyb3dzaW5nQ29udGV4dAogfTsKIAotY2xhc3Mg
QXBwbGljYXRpb25DYWNoZUdyb3VwIDogcHVibGljIE5vbmNvcHlhYmxlLCBSZXNvdXJjZUhhbmRs
ZUNsaWVudCB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNoZUdyb3VwKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQXBwbGljYXRpb25DYWNoZUdy
b3VwKGNvbnN0IEtVUkwmIG1hbmlmZXN0VVJMLCBib29sIGlzQ29weSA9IGZhbHNlKTsgICAgCiAg
ICAgfkFwcGxpY2F0aW9uQ2FjaGVHcm91cCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li5hMWYy
ODQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZUhvc3QuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVIb3N0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBcHBs
aWNhdGlvbkNhY2hlSG9zdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0
aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhU
TUw1IHNwZWMuCiAgICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKaW5kZXggN2Ri
MzRlNi4uOGJmZGYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgdGVtcGxh
dGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwogY2xhc3MgU2VjdXJpdHlPcmln
aW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIGVudW0gRmFpbHVyZVJlYXNvbiB7CiAgICAgICAgIE9yaWdpblF1b3RhUmVh
Y2hlZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi5mZDJkZGJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29s
bGVjdGlvbi5oCkBAIC0zOSw3ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
cmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IDM2MDBhMDIuLjVjOGIzOGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC01MCw3
ICs1MCw4IEBAIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlcjsKIC8vIEEgcmVzb3VyY2UgdGhhdCBpcyBo
ZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBvYmplY3Qgc2hv
dWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0IHRoZSBmdW5j
dGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZlZC4KIC8vIFRo
aXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBsb2Fk
ZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xhc3MgQ2FjaGVk
UmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVzb3VyY2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogICAgIGZyaWVuZCBjbGFz
cyBJbnNwZWN0b3JSZXNvdXJjZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uMWM1NmYxMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50
LmgKQEAgLTQ1LDggKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAqIGluaGVyaXQg
ZnJvbSB0aGlzIGNsYXNzIGFuZCBvdmVybG9hZCBvbmUgb2YgdGhlIDMgZnVuY3Rpb25zCiAgICAg
ICoKICAgICAgKi8KLSAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlCi0gICAgeworICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFs
IH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDM0ZWY3MDAuLmE1NDBhNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIEltYWdlTG9hZGVyOwogY2xhc3MgS1VSTDsK
IAogLy8gVGhlIENhY2hlZFJlc291cmNlTG9hZGVyIG1hbmFnZXMgdGhlIGxvYWRpbmcgb2Ygc2Ny
aXB0cy9pbWFnZXMvc3R5bGVzaGVldHMgZm9yIGEgc2luZ2xlIGRvY3VtZW50LgotY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2VMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlTG9h
ZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBmcmllbmQgY2xhc3MgSW1hZ2VMb2FkZXI7
CiAKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKaW5k
ZXggZTkyNmQ3Yy4uZGQ4Yjg0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgKQEAgLTcwLDcgKzcwLDggQEAgY2xhc3MgS1VSTDsKIC8vIGl0cyBtZW1iZXIgdmFy
aWFibGVzKSBhcmUgYWxsb2NhdGVkIGluIG5vbi1wdXJnZWFibGUgVEMtbWFsbG9jJ2QgbWVtb3J5
IHNvIHdlIHdvdWxkIHNlZSBzbGlnaHRseQogLy8gbW9yZSBtZW1vcnkgdXNlIGR1ZSB0byB0aGlz
LgogCi1jbGFzcyBNZW1vcnlDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZW1v
cnlDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVtb3J5Q2FjaGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBmcmllbmQgTWVtb3J5Q2FjaGUqIG1lbW9y
eUNhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25E
YXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKaW5k
ZXggNjE0NmFhNi4uZTA4ZGNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2lj
b24vSWNvbkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRh
dGFiYXNlLmgKQEAgLTYyLDggKzYyLDggQEAgZW51bSBJY29uTG9hZERlY2lzaW9uIHsKICAgICBJ
Y29uTG9hZFVua25vd24KIH07CiAKLWNsYXNzIEljb25EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7Ci0KK2NsYXNzIEljb25EYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SWNvbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAvLyAqKiogTWFpbiBUaHJl
YWQgT25seSAqKioKIHB1YmxpYzoKICAgICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGll
bnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFz
ZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50
LmgKaW5kZXggYzIxMGQ3ZC4uZjk3YTJhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpZm5kZWYgSWNv
bkRhdGFiYXNlQ2xpZW50X2gKICNkZWZpbmUgSWNvbkRhdGFiYXNlQ2xpZW50X2gKIAorI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIApAQCAtMzcsOCArMzgsMTAgQEAKICAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEljb25EYXRhYmFzZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSWNvbkRhdGFiYXNlQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CisgICAgSWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+SWNvbkRhdGFiYXNl
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCBib29sIHBlcmZvcm1JbXBvcnQoKSB7IHJldHVybiB0
cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVtb3ZlQWxsSWNvbnMoKSB7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAppbmRleCAxZWJhYzQ4Li4yOTg1
MzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0zNyw3ICsz
Nyw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAot
Y2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxv
YWRlckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEljb25M
b2FkZXI+IGNyZWF0ZShGcmFtZSopOwogICAgIH5JY29uTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKaW5kZXggZjdjY2I4Zi4uNzkzNWRjOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaApAQCAtNTEsNyArNTEs
OCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGljb25VUkw7CiB9OwogCi1jbGFzcyBQYWdlVVJMUmVj
b3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhZ2VVUkxSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VVUkxSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAg
ICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjczMTMxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaApAQCAtNTksNiArNTksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAogICAgIGNsYXNzIE5vdGlmaWNhdGlv
biA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlvbj4sIHB1YmxpYyBBY3RpdmVET01PYmpl
Y3QsIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgRXZlbnRUYXJnZXQgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQ
dHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250
ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMs
IFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAppbmRleCBhYjkyNzk2Li5lNmEwYTAwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTQxLDcg
KzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50OwogICAgIGNsYXNz
IFBhZ2U7CiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKFBhZ2Uq
LCBDb250ZXh0TWVudUNsaWVudCopOwogICAgICAgICB+Q29udGV4dE1lbnVDb250cm9sbGVyKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKaW5kZXggMTBiYjVmOC4uMGYxNzZiMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29u
dHJvbGxlcjsKICAgICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEcmFnQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgRHJhZ0NvbnRyb2xsZXIoUGFnZSosIERyYWdDbGllbnQqKTsKICAgICAg
ICAgfkRyYWdDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCAw
YzE4NDUwLi5kMTJhNTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTgxLDcg
KzgxLDggQEAgZXh0ZXJuIGNvbnN0IGludCBHZW5lcmFsRHJhZ0h5c3RlcmVzaXM7CiAKIGVudW0g
SGl0VGVzdFNjcm9sbGJhcnMgeyBTaG91bGRIaXRUZXN0U2Nyb2xsYmFycywgRG9udEhpdFRlc3RT
Y3JvbGxiYXJzIH07CiAKLWNsYXNzIEV2ZW50SGFuZGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBFdmVudEhhbmRsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFu
ZGxlcik7CiBwdWJsaWM6CiAgICAgRXZlbnRIYW5kbGVyKEZyYW1lKik7CiAgICAgfkV2ZW50SGFu
ZGxlcigpOwpAQCAtMjI0LDcgKzIyNSwxMCBAQCBwcml2YXRlOgogICAgICAgICBQZXJmb3JtRHJh
Z0FuZERyb3AKICAgICB9OwogCi0gICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSA6IE5v
bmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRIYW5kbGVyRHJhZ1N0YXRlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgcHVibGljOgorICAgICAgICBFdmVudEhhbmRsZXJEcmFnU3RhdGUo
KSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8gZWxlbWVudCB0aGF0IG1h
eSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2UgZ2VzdHVyZQogICAgICAg
ICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2RyYWdTcmNJc0ltYWdlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IGZmZWQ1OTIuLjEwYWQ2YmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKICAgICBjbGFzcyBFdmVudFNvdXJjZSA6
IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50U291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2
YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEV2ZW50U291cmNlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgIHZpcnR1YWwgfkV2
ZW50U291cmNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJv
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAppbmRleCBiZTUx
Yzc3Li41MGZhMmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJv
bGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKQEAgLTQw
LDcgKzQwLDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVudDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdl
OwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
Rm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xs
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb2N1c0NvbnRyb2xs
ZXIoUGFnZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5iYWM1NDc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKQEAgLTI2LDcgKzI2LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgRnJhbWU7CiAKLSAgICBjbGFzcyBGcmFtZVRyZWUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYW1lVHJlZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZyYW1lVHJlZSk7CiAgICAgcHVibGljOgogICAgICAgICBGcmFtZVRyZWUo
RnJhbWUqIHRoaXNGcmFtZSwgRnJhbWUqIHBhcmVudEZyYW1lKSAKICAgICAgICAgICAgIDogbV90
aGlzRnJhbWUodGhpc0ZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGJjYzhi
OWYuLmUwM2VmNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEwOCw3ICsxMDgs
MTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1
cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMg
aXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3Qg
U2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CisgICAgU2NoZWR1bGVkRXZlbnQoKSB7IH0KICAgICBSZWZQdHI8
RXZlbnQ+IG1fZXZlbnQ7CiAgICAgUmVmUHRyPE5vZGU+IG1fZXZlbnRUYXJnZXQ7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5kZXggN2RiMTk1MS4u
MWEyY2U2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5o
CkBAIC00MCw3ICs0MCw4IEBAIGNsYXNzIEdlb2xvY2F0aW9uRXJyb3I7CiBjbGFzcyBHZW9sb2Nh
dGlvblBvc2l0aW9uOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2VvbG9jYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoK
ICAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXIoUGFnZSosIEdlb2xvY2F0aW9uQ2xpZW50Kik7CiAg
ICAgfkdlb2xvY2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Hcm91cFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3Mu
aAppbmRleCBmYjZmNmI1Li4xYmJhZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0dyb3VwU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3Mu
aApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBhZ2VHcm91
cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBH
cm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRpbmdzKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
R3JvdXBTZXR0aW5ncz4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDc0MTNiYjYu
LjA3MWIxNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC05MCwxMiArOTAsMTUgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgZW51bSBGaW5kRGlyZWN0aW9uIHsgRmluZERpcmVjdGlvbkZvcndhcmQs
IEZpbmREaXJlY3Rpb25CYWNrd2FyZCB9OwogCi0gICAgY2xhc3MgUGFnZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBhZ2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgc2NoZWR1bGVGb3JjZWRT
dHlsZVJlY2FsY0ZvckFsbFBhZ2VzKCk7CiAKICAgICAgICAgLy8gSXQgaXMgdXAgdG8gdGhlIHBs
YXRmb3JtIHRvIGVuc3VyZSB0aGF0IG5vbi1udWxsIGNsaWVudHMgYXJlIHByb3ZpZGVkIHdoZXJl
IHJlcXVpcmVkLgotICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgOiBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50cyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQYWdlQ2xpZW50cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRz
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCmluZGV4IGNjNDdmYmEuLjY0M2M1ZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXAuaApAQCAtNDEsNyArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBTdG9yYWdlTmFtZXNwYWNlOwogCi0gICAgY2xh
c3MgUGFnZUdyb3VwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlR3JvdXAg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlR3JvdXApOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cChjb25zdCBTdHJpbmcm
IG5hbWUpOwogICAgICAgICBQYWdlR3JvdXAoUGFnZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwTG9hZERlZmVycmVyLmgKaW5kZXggZDQ0M2ViZC4uZjc5NTZjNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdlOwog
Ci0gICAgY2xhc3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYWdlR3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFn
ZUdyb3VwTG9hZERlZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdl
R3JvdXBMb2FkRGVmZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGx1
Z2luSGFsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCmluZGV4IGFm
OGIzMWUuLjViOTZkMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFs
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaApAQCAtMzUsNyAr
MzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhhbHRhYmxlUGx1Z2luOwogCi1j
bGFzcyBQbHVnaW5IYWx0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luSGFs
dGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5IYWx0ZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQbHVnaW5IYWx0ZXIoUGx1Z2luSGFsdGVyQ2xp
ZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBmNDYzMGRlLi40MjBkYWNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAg
ICBjbGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGlu
Z3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2V0dGluZ3MoUGFnZSopOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5kZXggMjcwZjUwMC4uNTJkNmMwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU3BlZWNoSW5wdXQuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIlNwZWVjaElu
cHV0TGlzdGVuZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtNDgsNyArNDcsOCBAQCBjbGFzcyBTcGVlY2hJbnB1dExpc3RlbmVyOwogLy8g
VGhpcyBjbGFzcyBjb25uZWN0cyB0aGUgaW5wdXQgZWxlbWVudHMgcmVxdWlyaW5nIHNwZWVjaCBp
bnB1dCB3aXRoIHRoZSBwbGF0Zm9ybSBzcGVjaWZpYwogLy8gc3BlZWNoIHJlY29nbml0aW9uIGVu
Z2luZS4gSXQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgdGhlIGlucHV0IGVsZW1lbnRzIHRvIGFjdGl2
YXRlIHNwZWVjaAogLy8gcmVjb2duaXRpb24gYW5kIG1ldGhvZHMgZm9yIHRoZSBzcGVlY2ggcmVj
b2duaXRpb24gZW5naW5lIHRvIHJldHVybiBiYWNrIHRoZSByZXN1bHRzLgotY2xhc3MgU3BlZWNo
SW5wdXQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsK
K2NsYXNzIFNwZWVjaElucHV0IDogcHVibGljIFNwZWVjaElucHV0TGlzdGVuZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNwZWVjaElucHV0KTsKIHB1YmxpYzoKICAgICBTcGVlY2hJbnB1
dChTcGVlY2hJbnB1dENsaWVudCopOwogICAgIHZpcnR1YWwgflNwZWVjaElucHV0KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvVXNlclNjcmlwdC5oCmluZGV4IDA2NTI0MzkuLjA1MTQwOTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VXNlclNjcmlwdC5oCkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgVXNlclNjcmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVXNlclNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwg
Y29uc3QgS1VSTCYgdXJsLAogICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5n
PiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAppbmRleCBmYTQyZTJjLi4wNjhkZjFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclN0eWxlU2hlZXQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVXNlclN0eWxlU2hlZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVz
ZXJTdHlsZVNoZWV0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVXNl
clN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCwKICAgICAg
ICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0LCBQYXNz
T3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9YU1NBdWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3Iu
aAppbmRleCAyYjc4MWYxLi41YmVlZDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1hTU0F1ZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaApAQCAt
NjksNyArNjksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gKiBIVE1MRG9jdW1lbnRQ
YXJzZXI6OnNob3VsZExvYWRFeHRlcm5hbFNjcmlwdEZyb21TcmMgLSB1c2VkIHRvIGxvYWQgZXh0
ZXJuYWwgSmF2YVNjcmlwdCBzY3JpcHRzLgogICAgIC8vICogU3ViZnJhbWVMb2FkZXI6OnJlcXVl
c3RPYmplY3QgLSB1c2VkIHRvIGxvYWQgPG9iamVjdD4vPGVtYmVkPiBlbGVtZW50cy4KICAgICAv
LwotICAgIGNsYXNzIFhTU0F1ZGl0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFhTU0F1ZGl0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYU1NBdWRpdG9yKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBYU1NBdWRpdG9y
KEZyYW1lKik7CiAgICAgICAgIH5YU1NBdWRpdG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCmluZGV4IDE0YTQ0ZDIuLjlhOTA2ZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBA
IC0yMjMsNyArMjIzLDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZTsKIHN0YXRpYyB2b2lk
IGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlKiB3
cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBw
ZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3BlcnR5V3JhcHBlckJhc2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBlckJhc2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQcm9wZXJ0eVdyYXBwZXJCYXNlKGludCBw
cm9wKQogICAgICAgICA6IG1fcHJvcChwcm9wKQpAQCAtNDQ2LDcgKzQ0Nyw4IEBAIHB1YmxpYzoK
IH07CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgRmlsbExheWVyUHJvcGVydHlXcmFw
cGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2UsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJs
aWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKTsKIHB1YmxpYzoKICAgICBGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIoVCAoRmlsbExheWVyOjoqZ2V0dGVyKSgpIGNvbnN0KQog
ICAgICAgICA6IG1fZ2V0dGVyKGdldHRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDY4MTJl
MDkuLjE4NmRkN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Fu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtNDksNyArNDksOCBAQCBjbGFz
cyBOb2RlOwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKLWNsYXNz
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0KaW5kZXggMmQ0ZDg2Yi4uNjAxMTg1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVu
dEhhbmRsZXI6OmN1cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90
KCkuZ2V0KCk7CiB9CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ3VycmVudEV2ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5T
RXZlbnQgKik7CiAgICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0FzeW5jRmlsZVN5c3RlbS5oCmluZGV4IGQ5NmMxYWQuLmMzNGE2NDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNz
IEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrczsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlckNsaWVudDsK
IAogLy8gVGhpcyBjbGFzcyBwcm92aWRlcyBhc3luYyBpbnRlcmZhY2UgZm9yIHBsYXRmb3JtLXNw
ZWNpZmljIGZpbGUgc3lzdGVtIGltcGxlbWVudGF0aW9uLiAgTm90ZSB0aGF0IGFsbCB0aGUgbWV0
aG9kcyB0YWtlIHBsYXRmb3JtIHBhdGhzLgotY2xhc3MgQXN5bmNGaWxlU3lzdGVtIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Bc3luY0Zp
bGVTeXN0ZW0oKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5
bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0Zp
bGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAtNDEs
OCArNDEsMTEgQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVy
Owogc3RydWN0IEZpbGVNZXRhZGF0YTsKIAotY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKTsKIHB1
YmxpYzoKKyAgICBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MoKSB7IH0gICAgCisKICAgICAvLyBD
YWxsZWQgd2hlbiBhIHJlcXVlc3RlZCBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxs
eS4KICAgICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2VlZCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaAppbmRleCBkNDRlZTFlLi5mMDNlYzgxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApAQCAtMzksNyArMzksOCBAQCBj
bGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBB
dXRvZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQ
b29sIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGlj
OgogICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0
b2RyYWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaAppbmRleCA1
NzVjODZkLi4yOTc3NzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKQEAg
LTQxLDggKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQ29udGV4dE1l
bnVDb250cm9sbGVyOwogCi0gICAgY2xhc3MgQ29udGV4dE1lbnUgOiBwdWJsaWMgTm9uY29weWFi
bGUKLSAgICB7CisgICAgY2xhc3MgQ29udGV4dE1lbnUgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb250ZXh0TWVudSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgQ29udGV4dE1lbnUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaAppbmRleCAxNDVkNzk1Li42ZTg0MTMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApAQCAtMjIzLDcgKzIyMyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTWVudUl0ZW1EZXNjcmlwdGlvbjsK
ICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKENvbnRleHRN
ZW51SXRlbVR5cGUsIENvbnRleHRNZW51QWN0aW9uLCBjb25zdCBTdHJpbmcmLCBDb250ZXh0TWVu
dSogc3ViTWVudSA9IDApOwogICAgICAgICBDb250ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnVJdGVt
VHlwZSwgQ29udGV4dE1lbnVBY3Rpb24sIGNvbnN0IFN0cmluZyYsIGJvb2wgZW5hYmxlZCwgYm9v
bCBjaGVja2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0
ZWRQdHJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5o
CmluZGV4IDQ3Y2Q1MzguLmMwN2QxNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVw
cmVjYXRlZFB0ckxpc3QuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yOwogCi10
ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3Qgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJM
aXN0KCkgOiBpbXBsKGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJl
Y2F0ZWRQdHJMaXN0KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKaW5kZXggOTZmZDUxMy4u
YzYzMzc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0
ckxpc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRy
TGlzdEltcGwuY3BwCkBAIC0yOSwxMiArMjksMTMgQEAKICNpbmNsdWRlIDxjc3RkZGVmPgogI2lu
Y2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5v
bmNvcHlhYmxlCi17CitjbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIERlcHJlY2F0ZWRMaXN0Tm9kZSh2b2lkICpkKSA6IGRhdGEoZCksIG5leHQo
MCksIHByZXYoMCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2
ZW50TG9vcC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1
MDdmNy4uMTI4ZTkyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRM
b29wLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKQEAgLTMwLDcg
KzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgRXZlbnRMb29wIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudExvb3AgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShFdmVudExvb3ApOwogICAgIHB1YmxpYzoKICAgICAgICAgRXZlbnRM
b29wKCkKICAgICAgICAgICAgIDogbV9lbmRlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2NS4uOTIxMWY4ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKQEAgLTQyLDcgKzQy
LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZW9sb2NhdGlvblNlcnZpY2VFcnJvck9j
Y3VycmVkKEdlb2xvY2F0aW9uU2VydmljZSopID0gMDsKIH07CiAKLWNsYXNzIEdlb2xvY2F0aW9u
U2VydmljZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2NhdGlvblNlcnZpY2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uU2VydmljZSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIEdlb2xvY2F0aW9uU2VydmljZSogY3JlYXRlKEdlb2xvY2F0aW9uU2Vydmlj
ZUNsaWVudCopOwogICAgIHZpcnR1YWwgfkdlb2xvY2F0aW9uU2VydmljZSgpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCmluZGV4IDc4ODJkNDguLjIyNTg4NGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBI
b3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEhvc3RXaW5kb3coKSB7IH0K
ICAgICB2aXJ0dWFsIH5Ib3N0V2luZG93KCkgeyB9CiAKICAgICAvLyBSZXF1ZXN0cyB0aGUgaG9z
dCBpbnZhbGlkYXRlIHRoZSB3aW5kb3csIG5vdCB0aGUgY29udGVudHMuICBJZiBpbW1lZGlhdGUg
aXMgdHJ1ZSBkbyBzbyBzeW5jaHJvbm91c2x5LCBvdGhlcndpc2UgYXN5bmMuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iNjg3Mjc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0tpbGxSaW5nLmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgS2lsbFJpbmcgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25zdCBT
dHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXggN2RkODc1ZS4uOWRhNzFjNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKQEAgLTM1LDcgKzM1LDkgQEAgY29uc3QgaW50IGlu
dE1pbkZvckxlbmd0aCA9ICgtMHg3ZmZmZmZmIC0gMSk7IC8vIG1pbiB2YWx1ZSBmb3IgYSAyOC1i
aXQgaW50CiAKIGVudW0gTGVuZ3RoVHlwZSB7IEF1dG8sIFJlbGF0aXZlLCBQZXJjZW50LCBGaXhl
ZCwgU3RhdGljLCBJbnRyaW5zaWMsIE1pbkludHJpbnNpYyB9OwogCi1zdHJ1Y3QgTGVuZ3RoIDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgTGVuZ3RoIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKICAgICBMZW5ndGgoKQogICAgICAgICA6IG1fdmFsdWUoMCkKICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggNzhhNDBiMy4uNTBhOWNiNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtODEsNyArODEsOCBAQCBjbGFz
cyBOb2RlOwogY2xhc3MgUmFuZ2U7CiBjbGFzcyBBcmNoaXZlUmVzb3VyY2U7CiAgICAgCi1jbGFz
cyBQYXN0ZWJvYXJkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhc3RlYm9hcmQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhc3RlYm9hcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy9IZWxwZXIgZnVuY3Rpb25z
IHRvIGFsbG93IENsaXBib2FyZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCmluZGV4IGJjMjhlODQuLmFlZTk1YjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCkBA
IC03NSw3ICs3NSw4IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMyOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBlbnVt
IFR5cGUgewogICAgICAgICAgICAgLy8gS2V5RG93biBpcyBzZW50IGJ5IHBsYXRmb3JtcyBzdWNo
IGFzIE1hYyBPUyBYLCBndGsgYW5kIFF0LCBhbmQgaGFzIGluZm9ybWF0aW9uIGFib3V0IGJvdGgg
cGh5c2ljYWwgcHJlc3NlZCBrZXksIGFuZCBpdHMgdHJhbnNsYXRpb24uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCmluZGV4IDliZGEyZDUuLjQ0MTM2YzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUgIlB1cmdlUHJpb3JpdHku
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHVy
Z2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFB1
cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCk7CiAgICAgICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAppbmRleCA2NWYyNTNlLi5mOGM1
MjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaApAQCAtMzAsMTUgKzMw
LDE2IEBACiAjZGVmaW5lIFJ1bkxvb3BUaW1lcl9oCiAKICNpbmNsdWRlICJTY2hlZHVsZVBhaXIu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGltZSBpbnRlcnZhbHMgYXJlIGFsbCBp
biBzZWNvbmRzLgogCi1jbGFzcyBSdW5Mb29wVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFJ1bkxvb3BUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1
bkxvb3BUaW1lckJhc2UpOwogcHVibGljOgorICAgIFJ1bkxvb3BUaW1lckJhc2UoKSB7IH0KICAg
ICB2aXJ0dWFsIH5SdW5Mb29wVGltZXJCYXNlKCk7CiAKICAgICB2b2lkIHNjaGVkdWxlKGNvbnN0
IFNjaGVkdWxlUGFpciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgK
aW5kZXggNGU5ZTI0Yi4uZWY1MmIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXJUaGVtZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBjbGFzcyBQbGF0Zm9ybU1vdXNlRXZlbnQ7CiBj
bGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3JvbGxWaWV3OwogCi1jbGFzcyBTY3JvbGxiYXJUaGVt
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JvbGxiYXJUaGVtZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFyVGhlbWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAgIHZpcnR1YWwgflNjcm9s
bGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZh
bHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAppbmRleCA1YjVjZDE0Li4x
NmUwZDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKQEAgLTI2LDYgKzI2
LDcgQEAKICNpZm5kZWYgU2hhcmVkVGltZXJfaAogI2RlZmluZSBTaGFyZWRUaW1lcl9oCiAKKyNp
bmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMyw4ICszNCwxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgLy8gRWFjaCB0aHJlYWQgaGFzIGl0cyBvd24gc2luZ2xlIGluc3RhbmNlIG9m
IHNoYXJlZCB0aW1lciwgd2hpY2ggaW1wbGVtZW50cyB0aGlzIGludGVyZmFjZS4KICAgICAvLyBU
aGlzIGluc3RhbmNlIGlzIHNoYXJlZCBieSBhbGwgdGltZXJzIGluIHRoZSB0aHJlYWQuCiAgICAg
Ly8gTm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHk7IHVzZSB0aGUgVGltZXIgY2xhc3Mg
aW5zdGVhZC4KLSAgICBjbGFzcyBTaGFyZWRUaW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgU2hhcmVkVGltZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTaGFy
ZWRUaW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAg
U2hhcmVkVGltZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2V0RmlyZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaAppbmRleCA5ZjU3ZjAwLi43
NjM3N2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxE
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCkBA
IC00NSw3ICs0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29udmVy
dGVyV3JhcHBlcjsKICAgICBjbGFzcyBUaHJlYWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJlYWRH
bG9iYWxEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRHbG9iYWxE
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkR2xvYmFsRGF0YSk7CiAg
ICAgcHVibGljOgogICAgICAgICBUaHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgICAgIH5UaHJlYWRH
bG9iYWxEYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRU
aW1lcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGFi
NDI1OTguLjNkN2I1ZjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJl
YWRUaW1lcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaApA
QCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGltZXJCYXNl
OwogCiAgICAgLy8gQSBjb2xsZWN0aW9uIG9mIHRpbWVycyBwZXIgdGhyZWFkLiBLZXB0IGluIFRo
cmVhZEdsb2JhbERhdGEuCi0gICAgY2xhc3MgVGhyZWFkVGltZXJzIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBUaHJlYWRUaW1lcnMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUaHJlYWRUaW1lcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBj
NDQ0M2RhLi5jMzMxZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTM1LDcgKzM1LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBUaW1lckhlYXBFbGVtZW50OwogCi1jbGFz
cyBUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGltZXJCYXNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaW1lckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBUaW1lckJhc2UoKTsKICAgICB2aXJ0dWFsIH5UaW1lckJhc2UoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaAppbmRleCA5ZDlhYzFmLi45ZTI3YzVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBAIC0zMiw3ICszMiw4IEBAIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQ7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2
b2lkIGFkb3B0ZWQoVHJlZVNoYXJlZDxUPiopOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIFRyZWVTaGFyZWQgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJl
ZVNoYXJlZCk7CiBwdWJsaWM6CiAgICAgVHJlZVNoYXJlZCgpCiAgICAgICAgIDogbV9yZWZDb3Vu
dCgxKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1h
dGlvbkxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmgKaW5kZXggOWEzMzRjYS4uYmY4ZmY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQW5pbWF0aW9uTGlzdCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIEFuaW1hdGlvbkxpc3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIEFuaW1hdGlvbkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0
KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b0J1cy5oCmluZGV4IDQzMThiODEuLjg4OGY2YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9CdXMuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAv
LyBBbiBBdWRpb0J1cyByZXByZXNlbnRzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSBBdWRp
b0NoYW5uZWxzLgogLy8gVGhlIGRhdGEgbGF5b3V0IGlzICJwbGFuYXIiIGFzIG9wcG9zZWQgdG8g
ImludGVybGVhdmVkIi4KIC8vIEFuIEF1ZGlvQnVzIHdpdGggb25lIGNoYW5uZWwgaXMgbW9ubywg
YW4gQXVkaW9CdXMgd2l0aCB0d28gY2hhbm5lbHMgaXMgc3RlcmVvLCBldGMuCi1jbGFzcyBBdWRp
b0J1cyAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9CdXMgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEF1ZGlvQnVzKTsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAgICAg
Q2hhbm5lbExlZnQgPSAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9DaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0No
YW5uZWwuaAppbmRleCA2ODE2ODMwLi43MzI1ZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjZGVmaW5lIEF1
ZGlvQ2hhbm5lbF9oCiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAvLyBBbiBBdWRpb0NoYW5uZWwgcmVwcmVzZW50cyBhIGJ1ZmZlciBvZiBub24t
aW50ZXJsZWF2ZWQgZmxvYXRpbmctcG9pbnQgYXVkaW8gc2FtcGxlcy4KIC8vIFRoZSBQQ00gc2Ft
cGxlcyBhcmUgbm9ybWFsbHkgYXNzdW1lZCB0byBiZSBpbiBhIG5vbWluYWwgcmFuZ2UgLTEuMCAt
PiArMS4wCi1jbGFzcyBBdWRpb0NoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
QXVkaW9DaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb0NoYW5uZWwpOwog
cHVibGljOgogICAgIC8vIE1lbW9yeSBjYW4gYmUgZXh0ZXJuYWxseSByZWZlcmVuY2VkLCBvciBj
YW4gYmUgaW50ZXJuYWxseSBhbGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zsb2F0QXJyYXkuCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKaW5kZXggYzMzYjM4
Zi4uYmYxM2EzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
RkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIUlRG
S2VybmVsOwogCi1jbGFzcyBIUlRGRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFJURkRhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRGF0YWJhc2Up
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhSVEZEYXRhYmFzZT4gY3JlYXRlKGRv
dWJsZSBzYW1wbGVSYXRlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vSFJURkVsZXZhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
RkVsZXZhdGlvbi5oCmluZGV4IGIzODhiMzQuLjI0Yjc4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAvLyBIUlRGRWxldmF0aW9uIGNvbnRhaW5zIGFsbCBvZiB0aGUgSFJU
Rktlcm5lbHMgKG9uZSBsZWZ0IGVhciBhbmQgb25lIHJpZ2h0IGVhciBwZXIgYXppbXV0aCBhbmds
ZSkgZm9yIGEgcGFydGljdWxhciBlbGV2YXRpb24uCiAKLWNsYXNzIEhSVEZFbGV2YXRpb24gOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFJURkVsZXZhdGlvbiB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSFJURkVsZXZhdGlvbik7CiBwdWJsaWM6CiAgICAgLy8gTG9hZHMgYW5kIHJl
dHVybnMgYW4gSFJURkVsZXZhdGlvbiB3aXRoIHRoZSBnaXZlbiBIUlRGIGRhdGFiYXNlIHN1Ympl
Y3QgbmFtZSBhbmQgZWxldmF0aW9uIGZyb20gYnJvd3NlciAob3IgV2ViS2l0LmZyYW1ld29yaykg
cmVzb3VyY2VzLgogICAgIC8vIE5vcm1hbGx5LCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBzaW5nbGUg
SFJURiBkYXRhYmFzZSBzZXQsIGJ1dCB0aGlzIEFQSSBzdXBwb3J0cyB0aGUgcG9zc2liaWxpdHkg
b2YgbXVsdGlwbGUgb25lcyB3aXRoIGRpZmZlcmVudCBuYW1lcy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCmluZGV4IDFkNjk5
MjEuLmQ1YWRhMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0NsaXBib2FyZENocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vQ2xpcGJvYXJkQ2hyb21pdW0uaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgSW50UG9pbnQ7CiAKICAgICBjbGFzcyBDbGlwYm9hcmRDaHJvbWl1bSA6
IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgfkNsaXBib2Fy
ZENocm9taXVtKCkge30KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC02OCw3ICs2OCw5IEBAIHRlbXBs
YXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBUaW1lcjsKIC8vIEZyYW1lRGF0YSBDbGFzcwogLy8gPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLXN0cnVjdCBG
cmFtZURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRnJhbWVEYXRhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZURhdGEpOworcHVibGljOgogICAgIEZyYW1lRGF0YSgpCiAgICAg
ICAgIDogbV9mcmFtZSgwKQogICAgICAgICAsIG1faGF2ZU1ldGFkYXRhKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKaW5kZXggZWYwZDMxYy4uZGE5OGRkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC03OCw3ICs3OCw4
IEBAIGlubGluZSBpbnQgZ3JlZW5DaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9y
ID4+IDgpICYgMHhGRjsgfQogaW5saW5lIGludCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsg
cmV0dXJuIGNvbG9yICYgMHhGRjsgfQogaW5saW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMyIGNv
bG9yKSB7IHJldHVybiAoY29sb3IgPj4gMjQpICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxz
ZSkgeyB9CiAgICAgQ29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1
ZSkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cAppbmRleCAxNDllYTc5Li5jZmNhOTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250
Q2FjaGUoKQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXko
Y29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHkgPSBBdG9taWNTdHJpbmcoKSwgdW5zaWduZWQgc2l6
ZSA9IDAsIHVuc2lnbmVkIHdlaWdodCA9IDAsIGJvb2wgaXRhbGljID0gZmFsc2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNQcmludGVyRm9udCA9IGZhbHNlLCBGb250UmVu
ZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSwgRm9udE9yaWVu
dGF0aW9uIG9yaWVudGF0aW9uID0gSG9yaXpvbnRhbCkKICAgICAgICAgOiBtX3NpemUoc2l6ZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggZTY4
NDVkOS4uODZmOGM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhY2hlLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3Mg
Rm9udFNlbGVjdG9yOwogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnRDYWNoZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250Q2FjaGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZvbnRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAppbmRleCBlZTk0YTk4Li4zZDM1ZDJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKQEAgLTI2LDYgKzI2LDcg
QEAKICNpZm5kZWYgRm9udERhdGFfaAogI2RlZmluZSBGb250RGF0YV9oCiAKKyNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgpAQCAt
MzQsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRh
OwogCi1jbGFzcyBGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250RGF0YSgpCiAgICAgICAgIDogbV9tYXhHbHlwaFBh
Z2VUcmVlTGV2ZWwoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dseXBoTWV0cmljc01hcC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4NWJjYy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKQEAgLTQwLDcg
KzQwLDggQEAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHbHlwaDsKIAogY29uc3QgZmxvYXQgY0ds
eXBoU2l6ZVVua25vd24gPSAtMTsKIAotdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgR2x5cGhNZXRy
aWNzTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIEds
eXBoTWV0cmljc01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2x5cGhNZXRyaWNzTWFw
KTsKIHB1YmxpYzoKICAgICBHbHlwaE1ldHJpY3NNYXAoKSA6IG1fZmlsbGVkUHJpbWFyeVBhZ2Uo
ZmFsc2UpIHsgfQogICAgIH5HbHlwaE1ldHJpY3NNYXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCBhNDU5YjM3Li4zNTgy
NGRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmgKQEAgLTIwNiw3ICsyMDYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIGJvb2wgc2hhZG93c0lnbm9yZVRyYW5zZm9ybXMgOiAxOwogICAgIH07CiAKLSAgICBjbGFz
cyBHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyYXBo
aWNzQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JhcGhp
Y3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0Kik7CiAgICAgICAgIH5HcmFwaGljc0Nv
bnRleHQoKTsKQEAgLTQyNCw3ICs0MjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZvaWQgc2V0U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cyhib29sKTsKICAgICAgICAgYm9vbCBz
aG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7CiAKLSAgICAgICAgY2xhc3MgV2luZG93
c0JpdG1hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFdpbmRvd3NCaXRt
YXAgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93c0JpdG1hcCk7CiAg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFdpbmRvd3NCaXRtYXAoSERDLCBJbnRTaXplKTsK
ICAgICAgICAgICAgIH5XaW5kb3dzQml0bWFwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggNWZkZjczOC4uNzhjMWU3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApA
QCAtOTQsNyArOTQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xhc3MgZm9y
IGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJlIHRvCiAv
LyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZpYSB0aGUg
R3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVkIGRhdGEg
ZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmltYXRpb25W
YWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25WYWx1ZShmbG9hdCBrZXlUaW1lLCBQYXNzUmVm
UHRyPFRpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbiA9IDApCiAgICAgICAgIDogbV9rZXlU
aW1lKGtleVRpbWUpCkBAIC0xNDYsNyArMTQ3LDggQEAgcHJpdmF0ZToKIAogLy8gVXNlZCB0byBz
dG9yZSBhIHNlcmllcyBvZiB2YWx1ZXMgaW4gYSBrZXlmcmFtZSBsaXN0LiBWYWx1ZXMgd2lsbCBh
bGwgYmUgb2YgdGhlIHNhbWUgdHlwZSwKIC8vIHdoaWNoIGNhbiBiZSBpbmZlcnJlZCBmcm9tIHRo
ZSBwcm9wZXJ0eS4KLWNsYXNzIEtleWZyYW1lVmFsdWVMaXN0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEtleWZyYW1lVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShL
ZXlmcmFtZVZhbHVlTGlzdCk7CiBwdWJsaWM6CiAKICAgICBLZXlmcmFtZVZhbHVlTGlzdChBbmlt
YXRlZFByb3BlcnR5SUQgcHJvcGVydHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCBjNDZjYzkwLi5hNmNjMGQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTYzLDcgKzYzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBBY2NlbGVyYXRlZAogICAgIH07CiAKLSAg
ICBjbGFzcyBJbWFnZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1h
Z2VCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZUJ1ZmZlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gV2lsbCByZXR1
cm4gYSBudWxsIHBvaW50ZXIgb24gYWxsb2NhdGlvbiBmYWlsdXJlLgogICAgICAgICBzdGF0aWMg
UGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIENvbG9y
U3BhY2UgY29sb3JTcGFjZSA9IENvbG9yU3BhY2VEZXZpY2VSR0IsIFJlbmRlcmluZ01vZGUgcmVu
ZGVyaW5nTW9kZSA9IFVuYWNjZWxlcmF0ZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAppbmRleCA3MDE4YTVjLi4zZjE2ZDA3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKQEAgLTExNyw3ICsx
MTcsOCBAQCBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5p
bWF0aW9uTG9vcEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsK
IAotY2xhc3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VT
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoK
ICAgICBlbnVtIEFscGhhT3B0aW9uIHsKICAgICAgICAgQWxwaGFQcmVtdWx0aXBsaWVkLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4
IGFiZjUxMDUuLmJhMTllYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTE0Nyw3ICsxNDcsOSBAQCBzdGF0aWMgTWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlKiBjcmVhdGVOdWxsTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXIqIHBs
YXllcikKIAogLy8gZW5naW5lIHN1cHBvcnQKIAotc3RydWN0IE1lZGlhUGxheWVyRmFjdG9yeSA6
IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBNZWRpYVBsYXllckZhY3RvcnkgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKE1lZGlhUGxheWVyRmFjdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgogICAgIE1lZGlhUGxheWVyRmFjdG9yeShDcmVhdGVNZWRpYUVuZ2luZVBsYXll
ciBjb25zdHJ1Y3RvciwgTWVkaWFFbmdpbmVTdXBwb3J0ZWRUeXBlcyBnZXRTdXBwb3J0ZWRUeXBl
cywgTWVkaWFFbmdpbmVTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlQW5kQ29kZWNzKSAKICAgICAg
ICAgOiBjb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikKICAgICAgICAgLCBnZXRTdXBwb3J0ZWRUeXBl
cyhnZXRTdXBwb3J0ZWRUeXBlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5oCmluZGV4IGM3ZDdlZjMuLjFjYmJlMTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMTQ5LDcgKzE0OSw4IEBA
IHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgTWVkaWFQbGF5ZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUGxheWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAKICAgICBzdGF0
aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xpZW50KiBjbGll
bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oCmluZGV4IGQ5NTYyODYuLjZhYmUyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zNiw4
ICszNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgSW50
U2l6ZTsKIAotY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkg
eyB9CiAgICAgdmlydHVhbCB+TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAKICAg
ICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCkgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCmluZGV4IDQyM2E3OTIuLjg1MmQ4OGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTEwMCw3ICsxMDAsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZvaWQgKCpQYXRoQXBwbGllckZ1bmN0aW9u
KSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVudCopOwogCi0gICAgY2xhc3MgUGF0aCA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQYXRoIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBQYXRoKCk7CiAgICAgICAgIH5Q
YXRoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRC
YWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi4wNmM3ZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKQEAgLTM2LDcg
KzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xh
c3MgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQ7CiAKLWNsYXNzIFRpbGVkQmFja2luZ1N0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGVkQmFja2luZ1N0b3JlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUaWxlZEJhY2tpbmdTdG9yZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xp
ZW50Kik7CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKaW5kZXggZGFjMzFmOC4uNTBlYTAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxh
dGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKIHB1Ymxp
YzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwog
ICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaAppbmRleCA2ZmMxYTBl
Li44OWE3OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRmxvYXRS
ZWN0OwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBTaGFyZWRHcmFwaGljc0NvbnRl
eHQzRDsKIAotY2xhc3MgR0xFUzJDYW52YXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
R0xFUzJDYW52YXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdMRVMyQ2FudmFzKTsKIHB1
YmxpYzoKICAgICBHTEVTMkNhbnZhcyhTaGFyZWRHcmFwaGljc0NvbnRleHQzRCosIERyYXdpbmdC
dWZmZXIqLCBjb25zdCBJbnRTaXplJik7CiAgICAgfkdMRVMyQ2FudmFzKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVy
ZS5oCmluZGV4IDcxMWU2ODcuLmI2MGRmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVyZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVyZS5oCkBAIC0yOCw2ICsy
OCw3IEBACiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIlRleHR1cmVNYW5hZ2VyLmgi
CiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgpAQCAtMzcsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGlj
c0NvbnRleHQzRDsKIGNsYXNzIFRleHR1cmVNYW5hZ2VyOwogCi1jbGFzcyBMYXllclRleHR1cmUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5ZXJUZXh0dXJlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShMYXllclRleHR1cmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxMYXllclRleHR1cmU+IGNyZWF0ZShHcmFwaGlj
c0NvbnRleHQzRCogY29udGV4dCwgVGV4dHVyZU1hbmFnZXIqIG1hbmFnZXIpCiAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJU
aWxlckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclRpbGVyQ2hyb21pdW0uaAppbmRleCAwNWY1MjQyLi5lMDk2OTNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRpbGVyQ2hy
b21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclRpbGVyQ2hyb21pdW0uaApAQCAtNDMsNyArNDMsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgY29u
dGVudFJlY3QpID0gMDsKIH07CiAKLWNsYXNzIExheWVyVGlsZXJDaHJvbWl1bSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBMYXllclRpbGVyQ2hyb21pdW0geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExheWVyVGlsZXJDaHJvbWl1bSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8TGF5ZXJUaWxlckNocm9taXVtPiBjcmVhdGUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBs
YXllclJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiB0aWxlU2l6ZSk7CiAKQEAgLTYyLDcgKzYzLDgg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBMYXllclRpbGVyQ2hyb21pdW0oTGF5ZXJSZW5kZXJl
ckNocm9taXVtKiBsYXllclJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiB0aWxlU2l6ZSk7CiAKLSAg
ICBjbGFzcyBUaWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaWxlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsZSk7CiAgICAgcHVibGljOgogICAgICAgICBl
eHBsaWNpdCBUaWxlKFBhc3NPd25QdHI8TGF5ZXJUZXh0dXJlPiB0ZXgpIDogbV90ZXgodGV4KSB7
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCmluZGV4IGE5MzIxOGYuLjY4OWE2
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC00MSw3ICs0MSw4IEBA
IGNsYXNzIExheWVyQ2hyb21pdW07CiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFz
cyBMYXllclRleHR1cmU7CiAKLWNsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlclN1cmZhY2VDaHJvbWl1bSk7CiAgICAgZnJpZW5kIGNsYXNzIExh
eWVyUmVuZGVyZXJDaHJvbWl1bTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJTdXJmYWNl
Q2hyb21pdW0oTGF5ZXJDaHJvbWl1bSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmgKaW5kZXggNDg5MWNj
Ny4uODMxMDRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5j
bHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAorI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYv
TGlzdEhhc2hTZXQuaD4KIApAQCAtMzYsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHR5cGVkZWYgaW50IFRleHR1cmVUb2tlbjsKIAotY2xhc3MgVGV4dHVyZU1hbmFnZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgVGV4dHVyZU1hbmFnZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRleHR1cmVNYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxUZXh0dXJlTWFuYWdlcj4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBzaXpl
X3QgbWVtb3J5TGltaXRCeXRlcywgaW50IG1heFRleHR1cmVTaXplKQogICAgIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5j
eVdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNw
YXJlbmN5V2luLmgKaW5kZXggYjZiZWY5MS4uNTM1Y2JhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2lu
LmgKQEAgLTU0LDcgKzU0LDggQEAgY2xhc3MgVHJhbnNwYXJlbmN5V2luX09wYXF1ZUNvbXBvc2l0
ZUxheWVyX1Rlc3Q7CiAvLyB0aGF0IGlzIGNvbXBvc2l0ZWQgbGF0ZXIgbWFudWFsbHkuIFRoaXMg
aXMgdG8gZ2V0IGFyb3VuZCBXaW5kb3dzJyBpbmFiaWxpdHkKIC8vIHRvIGhhbmRsZSB0aGUgYWxw
aGEgY2hhbm5lbCwgc2VtaXRyYW5zcGFyZW50IHRleHQsIGFuZCB0cmFuc2Zvcm1lZCBmb3JtCiAv
LyBjb250cm9scy4KLWNsYXNzIFRyYW5zcGFyZW5jeVdpbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUcmFuc3BhcmVuY3lXaW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5z
cGFyZW5jeVdpbik7CiBwdWJsaWM6CiAgICAgZW51bSBMYXllck1vZGUgewogICAgICAgICAvLyBO
byBleHRyYSBsYXllciBpcyBjcmVhdGVkLiBEcmF3aW5nIHdpbGwgaGFwcGVuIHRvIHRoZSBzb3Vy
Y2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJh
d2luZ0J1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdp
bmdCdWZmZXIuaAppbmRleCBlMGUwZWUxLi44NzdjYWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTgwLDggKzgw
LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgY2xh
c3MgV2lsbFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
V2lsbFB1Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQ
dWJsaXNoQ2FsbGJhY2spOwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hDYWxsYmFj
aygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9CiAgICAg
ICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmll
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNz
aWZpZXIuaAppbmRleCBjNjY1ODQ0Li4xYmQ2N2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKQEAg
LTMwLDE0ICszMCwxNCBAQAogI2lmbmRlZiBMb29wQmxpbm5DbGFzc2lmaWVyX2gKICNkZWZpbmUg
TG9vcEJsaW5uQ2xhc3NpZmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFBvaW50OwogCiAvLyBDbGFzc2lmaWVz
IGN1YmljIGN1cnZlcyBpbnRvIHNwZWNpZmljIHR5cGVzLgotY2xhc3MgTG9vcEJsaW5uQ2xhc3Np
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb29wQmxpbm5DbGFzc2lmaWVyKTsKIHB1YmxpYzoK
ICAgICAvLyBUaGUgdHlwZXMgb2YgY3ViaWMgY3VydmVzLgogICAgIGVudW0gQ3VydmVUeXBlIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxp
bm5Mb2NhbFRyaWFuZ3VsYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlu
bkxvY2FsVHJpYW5ndWxhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKQEAgLTMwLDE5ICszMCwyMCBAQAog
I2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0YW50cy5o
IgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gUGVyZm9ybXMgYSBsb2NhbGl6ZWQgdHJp
YW5ndWxhdGlvbiBvZiB0aGUgdHJpYW5nbGUgbWVzaAogLy8gY29ycmVzcG9uZGluZyB0byB0aGUg
Zm91ciBjb250cm9sIHBvaW50IHZlcnRpY2VzIG9mIGEgY3ViaWMgY3VydmUKIC8vIHNlZ21lbnQu
Ci1jbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IpOwogcHVibGljOgogICAgIC8vIFRoZSB2
ZXJ0aWNlcyB0aGF0IHRoZSB0cmlhbmd1bGF0b3Igb3BlcmF0ZXMgdXBvbiwgY29udGFpbmluZyBi
b3RoCiAgICAgLy8gdGhlIHBvc2l0aW9uIGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgdGhlIGN1Ymlj
IHRleHR1cmUKICAgICAvLyBjb29yZGluYXRlcy4KLSAgICBjbGFzcyBWZXJ0ZXggOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFZlcnRleCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFZlcnRleCk7CiAgICAgcHVibGljOgogICAgICAgICBWZXJ0ZXgoKQogICAgICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJl
bmEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCmlu
ZGV4IGY2OGJhZWYuLjZlZGMxZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RBcmVuYS5oCkBAIC0xNTgsNyArMTU4LDggQEAgcHJpdmF0ZToKICAgICB9
CiAKICAgICAvLyBNYW5hZ2VzIGEgY2h1bmsgb2YgbWVtb3J5IGFuZCBpbmRpdmlkdWFsIGFsbG9j
YXRpb25zIG91dCBvZiBpdC4KLSAgICBjbGFzcyBDaHVuayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgQ2h1bmsgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHVuayk7
CiAgICAgcHVibGljOgogICAgICAgICAvLyBBbGxvY2F0ZXMgYSBibG9jayBvZiBtZW1vcnkgb2Yg
dGhlIGdpdmVuIHNpemUgZnJvbSB0aGUgcGFzc2VkCiAgICAgICAgIC8vIEFsbG9jYXRvci4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZh
bFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZh
bFRyZWUuaAppbmRleCAzMjBjZTYwLi41YmYzZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCkBAIC00NCw4ICs0
NCw4IEBAIHN0cnVjdCBWYWx1ZVRvU3RyaW5nOwogLy8gc3VwcG9ydHMgZWZmaWNpZW50IChPKGxn
IG4pKSBpbnNlcnRpb24sIHJlbW92YWwgYW5kIHF1ZXJ5aW5nIG9mCiAvLyBpbnRlcnZhbHMgaW4g
dGhlIHRyZWUuCiB0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBVc2VyRGF0YSA9IHZvaWQqPgotY2xh
c3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIE5vbmNvcHlhYmxlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFBPRFJlZEJsYWNrVHJlZTxQT0RJbnRlcnZhbDxULCBVc2VyRGF0YT4g
PiB7CitjbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPRElu
dGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQT0RJbnRl
cnZhbFRyZWUpOwogcHVibGljOgogICAgIC8vIFR5cGVkZWYgdG8gcmVkdWNlIHR5cGluZyB3aGVu
IGRlY2xhcmluZyBpbnRlcnZhbHMgdG8gYmUgc3RvcmVkIGluCiAgICAgLy8gdGhpcyB0cmVlLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJs
YWNrVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJs
YWNrVHJlZS5oCmluZGV4IDZkNTk1NGMuLmJkMDg5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKQEAgLTE5OCw3
ICsxOTgsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gVGhlIGJhc2UgTm9kZSBjbGFzcyB3aGljaCBp
cyBzdG9yZWQgaW4gdGhlIHRyZWUuIE5vZGVzIGFyZSBvbmx5CiAgICAgLy8gYW4gaW50ZXJuYWwg
Y29uY2VwdDsgdXNlcnMgb2YgdGhlIHRyZWUgZGVhbCBvbmx5IHdpdGggdGhlIGRhdGEKICAgICAv
LyB0aGV5IHN0b3JlIGluIGl0LgotICAgIGNsYXNzIE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIE5vZGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIENvbnN0cnVjdG9yLiBOZXdseS1jcmVhdGVkIG5vZGVz
IGFyZSBjb2xvcmVkIHJlZC4KICAgICAgICAgZXhwbGljaXQgTm9kZShjb25zdCBUJiBkYXRhKQpA
QCAtNjU5LDcgKzY2MCw4IEBAIHByaXZhdGU6CiAgICAgLy8gSGVscGVyIGNsYXNzIGZvciBzaXpl
KCkKIAogICAgIC8vIEEgVmlzaXRvciB3aGljaCBzaW1wbHkgY291bnRzIHRoZSBudW1iZXIgb2Yg
dmlzaXRlZCBlbGVtZW50cy4KLSAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ291bnRlcik7CiAgICAgcHVibGljOgogICAg
ICAgICBDb3VudGVyKCkKICAgICAgICAgICAgIDogbV9jb3VudCgwKSB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaAppbmRleCBlNWJkOGRlLi40ZjYy
Y2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hh
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
CkBAIC00MCw3ICs0MCw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNz
Q29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7
CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJv
Z3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKaW5kZXggMWJkYzUxYS4uZDExNDBiZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCkBAIC0z
OCw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNz
IEludFJlY3Q7CiAKLWNsYXNzIFRpbGluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVGlsaW5nRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsaW5nRGF0YSk7CiBw
dWJsaWM6CiAgICAgVGlsaW5nRGF0YShpbnQgbWF4VGV4dHVyZVNpemUsIGludCB0b3RhbFNpemVY
LCBpbnQgdG90YWxTaXplWSwgYm9vbCBoYXNCb3JkZXJUZXhlbHMpOwogICAgIGludCBtYXhUZXh0
dXJlU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4VGV4dHVyZVNpemU7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggZTEwZTYxZi4uMzZiNDlkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dl
YktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTM2LDcg
KzM2LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLWNsYXNzIFN0cmVhbWluZ0Ns
aWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsK
K2NsYXNzIFN0cmVhbWluZ0NsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyZWFtaW5nQ2xpZW50KTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFN0cmVhbWluZ0NsaWVudChXZWJLaXRXZWJTcmMqKTsKICAgICAgICAgdmlydHVhbCB+
U3RyZWFtaW5nQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2Mz
NDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQg
KzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxh
dGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkg
eyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAppbmRleCBjMTE4NThjLi43MDQzZDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKQEAgLTM2LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRm
b3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6
CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5l
ciwgQ0dGb250UmVmIGNnRm9udCkKICAgICAgICAgOiBtX2F0c0NvbnRhaW5lcihjb250YWluZXIp
CiAgICAgICAgICwgbV9jZ0ZvbnQoY2dGb250KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKaW5kZXggMzJmMWZlNS4u
M2YxNDk0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnZnL1BhaW50ZXJPcGVuVkcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIFRpbGVkSW1h
Z2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKIAotY2xhc3MgUGFpbnRl
ck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWludGVyT3BlblZHIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVyT3BlblZHKTsKIHB1YmxpYzoKICAgICBmcmll
bmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBmcmllbmQgc3RydWN0IFBsYXRmb3JtUGFpbnRl
clN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnZnL1N1cmZhY2VPcGVuVkcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW52Zy9TdXJmYWNlT3BlblZHLmgKaW5kZXggNDZkMTY0Ni4uMTlkOTVkOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5W
Ry5oCkBAIC00Miw3ICs0Miw4IEBAIGNsYXNzIEludFNpemU7CiAgKiBvZiAjaWZkZWZzIGFuZCBz
aG91bGQgbWFrZSBpdCBlYXN5IHRvIGFkZCBkaWZmZXJlbnQgc3VyZmFjZS9jb250ZXh0CiAgKiBp
bXBsZW1lbnRhdGlvbnMgdGhhbiBFR0wuCiAgKi8KLWNsYXNzIFN1cmZhY2VPcGVuVkcgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU3VyZmFjZU9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU3VyZmFjZU9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZW51bSBNYWtlQ3VycmVudE1v
ZGUgewogICAgICAgICBBcHBseVBhaW50ZXJTdGF0ZU9uU3VyZmFjZVN3aXRjaCwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAppbmRleCA2YzQxZDQ3Li41NGZhNjc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIK
ICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NC
YXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIApAQCAtMzIsNyArMzMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVz
ZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlv
bkZvbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRQbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRQbGF0Zm9ybURhdGEuaAppbmRleCAxYzU3ZTI5Li5mMjY4MzcwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCkBA
IC0zMiw3ICszMiw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRm9udFBsYXRm
b3JtRGF0YVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFBsYXRmb3Jt
RGF0YVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRQbGF0Zm9ybURhdGFQ
cml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9udFBsYXRm
b3JtRGF0YVByaXZhdGUoKQogICAgICAgICA6IHJlZkNvdW50KDEpCkBAIC02Miw4ICs2MywxMCBA
QCBwdWJsaWM6CiAKIAogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgRm9udFBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4
dFF0LmNwcAppbmRleCBjMjFiNGVlLi4wNTkyODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCkBAIC0x
NzQsNyArMTc0LDggQEAgc3RhdGljIGlubGluZSBRdDo6RmlsbFJ1bGUgdG9RdEZpbGxSdWxlKFdp
bmRSdWxlIHJ1bGUpCiAgICAgcmV0dXJuIFF0OjpPZGRFdmVuRmlsbDsKIH0KIAotY2xhc3MgR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKFFQYWludGVy
KiwgY29uc3QgUUNvbG9yJiBpbml0aWFsU29saWRDb2xvcik7CiAgICAgfkdyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKaW5kZXggNWIyZjhiMi4uZTQ4MjhmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJl
bmN5TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFu
c3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJh
bnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgog
ICAgIFRyYW5zcGFyZW5jeUxheWVyKGNvbnN0IFFQYWludGVyKiBwLCBjb25zdCBRUmVjdCAmcmVj
dCwgcXJlYWwgb3BhY2l0eSwgUVBpeG1hcCYgYWxwaGFNYXNrKQogICAgICAgICA6IHBpeG1hcChy
ZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpCiAgICAgICAgICwgb3BhY2l0eShvcGFjaXR5KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li40MjI4YjQwMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTQ5LDcgKzQ5LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CitwdWJsaWM6CiAjaWYgT1MoV0lORE9XUykKICAgICBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAg
ICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0Nv
bnRleHRQbGF0Zm9ybVByaXZhdGUuaAppbmRleCA1ZTEyYWQ2Li40NDgzNWE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBs
YXRmb3JtUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAog
I2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2RlZmluZSBHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZvciBH
cmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0Zm9y
bUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9jb250ZXh0KHBsYXRm
b3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCmluZGV4IDExYjMxMWEuLjAzMDQ0
ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxh
dGZvcm1Db250ZXh0U2tpYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCkBAIC02Nyw3ICs2Nyw4IEBAIGNsYXNzIFRleHR1
cmU7CiAvLyByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgdGhlIHBhaW50aW5nIHN0YXRlIHdoaWNo
IGlzIHN0b3JlIGluIHNlcGFyYXRlCiAvLyBTa1BhaW50IG9iamVjdHMuIFRoaXMgY2xhc3MgcHJv
dmlkZXMgdGhlIGFkYXB0b3IgdGhhdCBhbGxvd3MgdGhlIHBhaW50aW5nCiAvLyBzdGF0ZSB0byBi
ZSBwdXNoZWQgYW5kIHBvcHBlZCBhbG9uZyB3aXRoIHRoZSBiaXRtYXAuCi1jbGFzcyBQbGF0Zm9y
bUNvbnRleHRTa2lhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsYXRmb3JtQ29udGV4
dFNraWEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsYXRmb3JtQ29udGV4dFNraWEpOwog
cHVibGljOgogICAgIC8vIEZvciBwcmludGluZywgdGhlcmUgc2hvdWxkbid0IGJlIGFueSBjYW52
YXMuIGNhbnZhcyBjYW4gYmUgTlVMTC4gSWYgeW91CiAgICAgLy8gc3VwcGx5IGEgTlVMTCBjYW52
YXMsIHlvdSBjYW4gYWxzbyBjYWxsIHNldENhbnZhcyBsYXRlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5oCmluZGV4IDJhZGJiMzkuLjUwZDA2NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0u
aApAQCAtNTUsNyArNTUsOCBAQCBjbGFzcyBJbnRQb2ludDsKIGNsYXNzIEludFJlY3Q7CiBjbGFz
cyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKIAotY2xhc3MgQWZmaW5lVHJhbnNmb3JtIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQWZmaW5lVHJhbnNmb3JtIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3Ny4uOTgxZTFm
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jt
cy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKQEAgLTMxLDcgKzMxLDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVHJhbnNmb3JtT3BlcmF0aW9ucyhi
b29sIG1ha2VJZGVudGl0eSA9IGZhbHNlKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRp
b25NYXRyaXguaAppbmRleCA2ODRiMTRjLi5jODgzNjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zv
cm1hdGlvbk1hdHJpeC5oCkBAIC02NCw3ICs2NCw4IEBAIGNsYXNzIEZsb2F0UG9pbnQzRDsKIGNs
YXNzIEZsb2F0UmVjdDsKIGNsYXNzIEZsb2F0UXVhZDsKIAotY2xhc3MgVHJhbnNmb3JtYXRpb25N
YXRyaXggOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBk
b3VibGUgTWF0cml4NFs0XVs0XTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggMWJk
ZjI3MC4uZGUzM2M2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNCw3ICszNCw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBT
aGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFi
bGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAg
ICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKICAgICAgICAgLCBtX25hbWUo
bmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaAppbmRleCAzYWI1MmI4Li45
YzY3MDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCkBAIC0zMyw3ICsz
Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFz
cyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29w
eWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1f
Zm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKaW5kZXggYzIxNjE0
MC4uNTk1MWU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0xvY2FsV2luZG93c0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMb2NhbFdpbmRvd3NDb250ZXh0KTsKIHB1YmxpYzoKICAgICBMb2NhbFdpbmRv
d3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBJbnRSZWN0
JiByZWN0LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSwgYm9vbCBtYXlDcmVhdGVCaXRt
YXAgPSB0cnVlKQogICAgICAgICA6IG1fZ3JhcGhpY3NDb250ZXh0KGdyYXBoaWNzQ29udGV4dCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmll
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApp
bmRleCBlZmFmMjE4Li5kZmExZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCkBAIC02Myw3ICs2Myw4IEBAIHVuaW9uIFVwcFBhcmFt
IHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwogc3Rh
dGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CitjbGFzcyBR
VE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQcml2YXRl
KCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKaW5kZXggMDkxNDJiYy4uYmY4MGE4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcApAQCAt
MzEsNyArMzEsOCBAQAogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCi1jbGFzcyBRVFRyYWNrUHJp
dmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBRVFRyYWNrUHJpdmF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUVRUcmFja1ByaXZhdGUpOwogcHVibGljOgogICAgIFFUVHJh
Y2tQcml2YXRlKCk7CiAgICAgflFUVHJhY2tQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5o
CmluZGV4IDE3ZWM0MWQuLjc4ZTg0OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCkBAIC0zNiw3
ICszNiw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZD
b250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVy
JiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKaW5kZXggMDJjZGJkYi4uY2M5ZGZjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxh
eWVyUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
V0tDQUNGTGF5ZXJSZW5kZXJlci5oCkBAIC02MCw3ICs2MCw4IEBAIHB1YmxpYzoKIC8vIEZJWE1F
OiBDdXJyZW50bHkgdGhlcmUgaXMgYSBXS0NBQ0ZMYXllclJlbmRlcmVyIGZvciBlYWNoIFdlYlZp
ZXcgYW5kIGVhY2gKIC8vIGhhcyBpdHMgb3duIENBUmVuZGVyT0dMQ29udGV4dCBhbmQgRGlyZWN0
M0REZXZpY2U5LCB3aGljaCBpcyBpbmVmZmljaWVudC4KIC8vIChodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4NTUpCi1jbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkxheWVyUmVuZGVyZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdLQ0FDRkxheWVyUmVuZGVyZXIpOwogICAgIGZyaWVuZCBQbGF0
Zm9ybUNBTGF5ZXI7CiAKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRl
eCBhYmRjMGYyLi4wNTA4MjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0z
Nyw3ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHVu
cmVnaXN0ZXJGb250KGNvbnN0IFN0cmluZyYgZm9udE5hbWUpID0gMDsKICAgICB9OwogCi0gICAg
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICAgICAgOiBtX25hbWUobmFt
ZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDFiOGE3MDQu
LjliNjcyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKQEAgLTQzOCw3ICs0Mzgs
OCBAQCBzdGF0aWMgdm9pZCByb3RhdGVCaXRtYXAoU2hhcmVkQml0bWFwKiBkZXN0Qm1wLCBjb25z
dCBTaGFyZWRCaXRtYXAqIHNvdXJjZUJtcCwgYwogICAgICAgICBfcm90YXRlQml0bWFwPHVuc2ln
bmVkLCBmYWxzZT4oZGVzdEJtcCwgc291cmNlQm1wLCB0cmFuc2Zvcm0pOwogfQogCi1jbGFzcyBU
cmFuc3BhcmVudExheWVyREMgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc3BhcmVudExheWVy
REMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW50TGF5ZXJEQyk7CiBwdWJs
aWM6CiAgICAgVHJhbnNwYXJlbnRMYXllckRDKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0
ZSogZGF0YSwgSW50UmVjdCYgb3JpZ1JlY3QsIGNvbnN0IEludFJlY3QqIHJlY3RCZWZvcmVUcmFu
c2Zvcm0gPSAwLCBpbnQgYWxwaGEgPSAyNTUsIGJvb2wgcGFpbnRJbWFnZSA9IGZhbHNlKTsKICAg
ICB+VHJhbnNwYXJlbnRMYXllckRDKCk7CkBAIC01NTgsNyArNTU5LDggQEAgdm9pZCBUcmFuc3Bh
cmVudExheWVyREM6OmZpbGxBbHBoYUNoYW5uZWwoKQogICAgIH0KIH0KIAotY2xhc3MgU2NvcGVE
Q1Byb3ZpZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgU2NvcGVEQ1Byb3ZpZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTY29wZURDUHJvdmlkZXIpOwogcHVibGljOgogICAgIGV4cGxp
Y2l0IFNjb3BlRENQcm92aWRlcihHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEp
CiAgICAgICAgIDogbV9kYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2Mz
NDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0
IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmlu
Z01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1E
YXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAg
ICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvQ2xpcGJvYXJkR3RrLmgKaW5kZXggZTE0YTU4My4uMGMwN2MwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaApAQCAtMzksNiArMzksNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50
cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogICAgIC8vIENyZWF0ZWQgZnJvbSB0
aGUgRXZlbnRIYW5kbGVyR3RrIHRvIGJlIHVzZWQgYnkgdGhlIGRvbQogICAgIGNsYXNzIENsaXBi
b2FyZEd0ayA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkR3RrPiBjcmVhdGUoQ2xpcGJvYXJkQWNjZXNzUG9s
aWN5IHBvbGljeSwgR3RrQ2xpcGJvYXJkKiBjbGlwYm9hcmQsIEZyYW1lKiBmcmFtZSkKICAgICAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
SW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9J
bWFnZURlY29kZXIuaAppbmRleCAzOWRlZWUyLi4yNGJjZGNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaApAQCAtMjIx
LDcgKzIyMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBzZXRNYXhOdW1QaXhlbHMo
KSB0byBzcGVjaWZ5IHRoZSBiaWdnZXN0IHNpemUgdGhhdCBkZWNvZGVkIGltYWdlcyBjYW4KICAg
ICAvLyBoYXZlLiBJbWFnZSBkZWNvZGVycyB3aWxsIGRlZmxhdGUgdGhvc2UgaW1hZ2VzIHRoYXQg
YXJlIGJpZ2dlciB0aGFuCiAgICAgLy8gbV9tYXhOdW1QaXhlbHMuIChOb3Qgc3VwcG9ydGVkIGJ5
IGFsbCBpbWFnZSBkZWNvZGVycyB5ZXQpCi0gICAgY2xhc3MgSW1hZ2VEZWNvZGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZURlY29kZXIgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShJbWFnZURlY29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2RlcihJbWFnZVNvdXJjZTo6QWxwaGFPcHRpb24g
YWxwaGFPcHRpb24sIEltYWdlU291cmNlOjpHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbiBnYW1t
YUFuZENvbG9yUHJvZmlsZU9wdGlvbikKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgKaW5kZXggNzE4N2VjZi4u
MzllYWRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2Fy
ZE1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApA
QCAtNDQsNiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBD
bGlwYm9hcmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGll
bnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPENsaXBib2FyZE1hYz4gY3JlYXRlKENsaXBib2FyZFR5cGUgY2xpcGJvYXJkVHlw
ZSwgTlNQYXN0ZWJvYXJkICpwYXN0ZWJvYXJkLCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5
LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLjhm
ZGUyY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJl
bnRHcmFwaGljc0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9j
YWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAgY2xhc3MgR3JhcGhp
Y3NDb250ZXh0OwogICAgIAogLy8gVGhpcyBjbGFzcyBhdXRvbWF0aWNhbGx5IHNhdmVzIGFuZCBy
ZXN0b3JlcyB0aGUgY3VycmVudCBOU0dyYXBoaWNzQ29udGV4dCBmb3IKIC8vIGZ1bmN0aW9ucyB3
aGljaCBjYWxsIG91dCBpbnRvIEFwcEtpdCBhbmQgcmVseSBvbiB0aGUgY3VycmVudENvbnRleHQg
YmVpbmcgc2V0Ci1jbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQpOwogcHVibGljOgog
ICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNz
Q29udGV4dCk7CiAgICAgfkxvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLmMxZjU1MjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKQEAgLTE0NSw2
ICsxNDUsNyBAQCBwcml2YXRlOgogdHlwZWRlZiBWZWN0b3I8QmxvYkRhdGFJdGVtPiBCbG9iRGF0
YUl0ZW1MaXN0OwogCiBjbGFzcyBCbG9iRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVp
bGRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIu
aAppbmRleCA4N2QwZWYzLi4xMTJlMzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKQEAgLTIzLDE0ICsyMywxNCBAQAogCiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERv
Y3VtZW50OwogY2xhc3MgVGV4dEVuY29kaW5nOwogCi1jbGFzcyBGb3JtRGF0YUJ1aWxkZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9ybURhdGFCdWlsZGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb3JtRGF0YUJ1aWxkZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXh0
RW5jb2RpbmcgZW5jb2RpbmdGcm9tQWNjZXB0Q2hhcnNldChjb25zdCBTdHJpbmcmIGFjY2VwdENo
YXJzZXQsIERvY3VtZW50KiBkb2N1bWVudCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4y
NmY4ZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdGF0ZU5vdGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9O
ZXR3b3JrU3RhdGVOb3RpZmllci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIE5ldHdvcmtT
dGF0ZU5vdGlmaWVyX2gKICNkZWZpbmUgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogCisjaW5jbHVk
ZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
I2lmIFBMQVRGT1JNKE1BQykKQEAgLTYxLDcgKzYyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgTmV0d29ya1N0YXRlTm90aWZpZXJQcml2YXRlOwogI2VuZGlmCiAKLWNsYXNzIE5ldHdv
cmtTdGF0ZU5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5ldHdvcmtTdGF0
ZU5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXR3b3JrU3RhdGVOb3RpZmll
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyKCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAo
KikoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IGQ4MzNlMzIuLmVkNjY5NDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbC5oCkBAIC04MCw3ICs4MCw4IEBAIGNsYXNzIE5TVVJMQ29ubmVjdGlvbjsKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUNsaWVudDsKIAotICAgIGNsYXNz
IFJlc291cmNlSGFuZGxlSW50ZXJuYWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFJlc291cmNlSGFuZGxlSW50ZXJuYWwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZXNvdXJjZUhhbmRsZUludGVybmFsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2Fk
ZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQq
IGMsIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAg
ICAgICA6IG1fY2xpZW50KGMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDVjYjdlZTMuLmRjZTMzZGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5oCkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3Qg
Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlz
IHR5cGUgZGlyZWN0bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3Mg
UmVzb3VyY2VSZXF1ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBS
ZXNvdXJjZVJlcXVlc3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICAvLyBUaGUgdHlwZSBvZiB0aGlzIFJlc291cmNlUmVxdWVzdCwg
YmFzZWQgb24gaG93IHRoZSByZXNvdXJjZSB3aWxsIGJlIHVzZWQuCiAgICAgICAgIGVudW0gVGFy
Z2V0VHlwZSB7CkBAIC0yMDcsNyArMjA4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBp
bmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjb21wYXJlKGEs
IGIpOyB9CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3IhPShSZXNvdXJjZVJlcXVlc3QmIGEsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLSAgICBzdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIENyb3NzVGhyZWFk
UmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UoKSB7IH0KICAgICAgICAgS1VSTCBtX3VybDsKIAogICAg
ICAgICBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBtX2NhY2hlUG9saWN5OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
CmluZGV4IDljNTRiYWIuLmUwNzc0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQxLDggQEAg
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9u
c2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0aGUgY2xh
c3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxSZXNvdXJjZVJlc3BvbnNlPiBhZG9wdChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXNwb25zZURhdGE+KTsKIApAQCAtMTc1LDcgKzE3NiwxMCBAQCBwcml2YXRlOgogaW5saW5lIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiBiKSB7IHJldHVybiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y29tcGFyZShhLCBiKTsg
fQogaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotc3RydWN0IENy
b3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIDogTm9uY29weWFibGUgeworc3RydWN0
IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSk7CitwdWJsaWM6Cisg
ICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UoKSB7IH0KICAgICBLVVJMIG1f
dXJsOwogICAgIFN0cmluZyBtX21pbWVUeXBlOwogICAgIGxvbmcgbG9uZyBtX2V4cGVjdGVkQ29u
dGVudExlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggZWJiNmM1Zi4uYTcxNzBmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
SGFuZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTYwLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJWkUgODE5MgogCi1jbGFzcyBXZWJDb3JlU3lu
Y2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVTeW5jaHJv
bm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKFJlc291
cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlICYsIFZlY3RvcjxjaGFyPiYpOwogICAgIH5XZWJD
b3JlU3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAppbmRleCAzOGQ5Y2QxLi5m
NTA1NDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9S
ZXNvdXJjZUhhbmRsZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4IEBAIHN0YXRpYyBTdHJp
bmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2
ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291
cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNo
cm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdl
YkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYs
IFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsKICAgICB+V2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9DbGlwYm9hcmRRdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQu
aAppbmRleCA1YWNhMWE2Li5mYjVhYmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0Ns
aXBib2FyZFF0LmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
Ly8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBh
bmQgY29weS9wYXN0ZQogICAgIGNsYXNzIENsaXBib2FyZFF0IDogcHVibGljIENsaXBib2FyZCwg
cHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRR
dD4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIGNvbnN0IFFNaW1lRGF0YSog
cmVhZGFibGVDbGlwYm9hcmQpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZURhdGFiYXNlLmgKaW5kZXggYzMyOTI3My4uZGE1M2FjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUwLDggQEAg
ZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3QgaW50IFNRTFJl
c3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsKIAotY2xhc3Mg
U1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlRGF0YWJh
c2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsKICAgICBmcmll
bmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0YWJhc2Uo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAppbmRl
eCAxNDQ0ZjBlLi5mZDFhYmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlU3RhdGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NR
TGl0ZVN0YXRlbWVudC5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU1FMVmFsdWU7CiAKLWNsYXNzIFNRTGl0ZVN0YXRlbWVudCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTUUxpdGVTdGF0ZW1lbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNRTGl0ZVN0YXRlbWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IFNRTGl0ZVN0YXRlbWVudChTUUxpdGVEYXRhYmFzZSYsIGNvbnN0IFN0cmluZyYpOwogICAgIH5T
UUxpdGVTdGF0ZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0
ZVRyYW5zYWN0aW9uLmgKaW5kZXggOTI0MjQxZi4uYmE2ODZiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsyNiwxNSBA
QAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9u
X2gKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1FMaXRlRGF0YWJhc2U7
CiAKLWNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFz
cyBTUUxpdGVUcmFuc2FjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlVHJh
bnNhY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTUUxpdGVU
cmFuc2FjdGlvbihTUUxpdGVEYXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAg
ICAgflNRTGl0ZVRyYW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9C
aWRpUmVzb2x2ZXIuaAppbmRleCAxZjg3MTE1Li45N2I5Mzc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKQEAgLTEyNiw3ICsxMjYsOCBAQCBzdHJ1Y3Qg
QmlkaUNoYXJhY3RlclJ1biB7CiAgICAgQmlkaUNoYXJhY3RlclJ1biogbV9uZXh0OwogfTsKIAot
dGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1
bj4gY2xhc3MgQmlkaVJlc29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCaWRpUmVz
b2x2ZXIpOwogcHVibGljIDoKICAgICBCaWRpUmVzb2x2ZXIoKQogICAgICAgICA6IG1fZGlyZWN0
aW9uKFdURjo6VW5pY29kZTo6T3RoZXJOZXV0cmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjUzNmVkNDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgK
QEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWd1bGFy
RXhwcmVzc2lvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlZ3VsYXJFeHByZXNz
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZWd1bGFy
RXhwcmVzc2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVn
dWxhckV4cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5o
CmluZGV4IGM2YWYzOGEuLjM1MjI5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9U
ZXh0Q29kZWMuaApAQCAtNTcsOCArNTcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
dHlwZWRlZiBjaGFyIFVuZW5jb2RhYmxlUmVwbGFjZW1lbnRBcnJheVszMl07CiAKLSAgICBjbGFz
cyBUZXh0Q29kZWMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRleHRDb2RlYyB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDb2RlYyk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAgVGV4dENvZGVjKCkgeyB9CiAgICAgICAg
IHZpcnR1YWwgflRleHRDb2RlYygpOwogCiAgICAgICAgIFN0cmluZyBkZWNvZGUoY29uc3QgY2hh
ciogc3RyLCBzaXplX3QgbGVuZ3RoLCBib29sIGZsdXNoID0gZmFsc2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5o
CmluZGV4IDY3ZGI5NzcuLjY5OTBhMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC00MCw3ICs0MCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRl
eHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRU
cmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBj
b252ZXJ0KFN0cmluZyYgdGV4dCwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVu
Y29kaW5nKiA9IDApIGNvbnN0OwogICAgIGJvb2wgbmVlZHNUcmFuc2NvZGluZyhjb25zdCBGb250
RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2NGI4NS4uNzc5ZGEyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaApAQCAtNDEsNiAr
NDEsNyBAQCBjbGFzcyBXQ0RhdGFPYmplY3Q7CiAKIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcg
SUUncyBldmVudHMgZm9yIGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKIGNsYXNzIENsaXBi
b2FyZFdpbiA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJ
RGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJh
bWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1NmU3Li5kMzZjMjMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2Fz
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9h
ZGNhc3Rlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgV2luZG93TWVzc2FnZUxpc3RlbmVy
OwogCi0gICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIHZvaWQgYWRkTGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3Rl
bmVyKik7CiAgICAgICAgIHN0YXRpYyB2b2lkIHJlbW92ZUxpc3RlbmVyKEhXTkQsIFdpbmRvd01l
c3NhZ2VMaXN0ZW5lciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5EYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmlu
ZGV4IGIxNDYwNWYuLmM0MTJjMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFi
YXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRl
ZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5QYWNrYWdlPiwgUGx1Z2luUGFja2FnZUhhc2g+IFBsdWdp
blNldDsKIAotICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBsdWdpbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCmluZGV4IDYxMGU4OWMuLjI5YmM0ZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxl
ci5oCkBAIC0zNiw3ICszNiw4IEBAIHR5cGVkZWYgTlBQX3QqIE5QUDsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIHZvaWQgTWFpblRocmVhZEZ1bmN0aW9uKHZv
aWQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCAwNDRkNmUyLi44Zjhm
MTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTUsNyArOTUsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxs
eQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgUGx1Z2luUmVxdWVzdChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiBmcmFtZUxvYWRS
ZXF1ZXN0LCBib29sIHNlbmROb3RpZmljYXRpb24sIHZvaWQqIG5vdGlmeURhdGEsIGJvb2wgc2hv
dWxkQWxsb3dQb3B1cHMpCiAgICAgICAgICAgICA6IG1fZnJhbWVMb2FkUmVxdWVzdChmcmFtZUxv
YWRSZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbklu
Zm8uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYx
OS4uZDc3ZDZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbklu
Zm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0zMSw3
ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb2x1bW5JbmZvKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKaW5kZXggMGQwNmNiMS4uYzQ5OTQzNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKQEAgLTM3LDcgKzM3LDggQEAgY2xh
c3MgUmVuZGVyQXJlbmE7CiBjbGFzcyBSZW5kZXJCb3g7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAK
LWNsYXNzIExheW91dFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMYXlvdXRTdGF0ZSk7CiBwdWJsaWM6CiAg
ICAgTGF5b3V0U3RhdGUoKQogICAgICAgICA6IG1fY2xpcHBlZChmYWxzZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKaW5kZXggMzIxMzlmYi4uZTFmZjUzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxNSBAQAogI2RlZmlu
ZSBSZW5kZXJBcmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IHNpemVfdCBnTWF4UmVjeWNsZWRTaXplID0gNDAwOwog
Ci1jbGFzcyBSZW5kZXJBcmVuYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJB
cmVuYSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQXJlbmEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBhcmVuYVNp
emUgPSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmgKaW5kZXggOTUyOWJkNi4uZjg4MjllZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmgKQEAgLTM2MCw3ICszNjAsOSBAQCBwcml2YXRlOgogICAgICAgICBi
b29sIGV2ZXJIYWRMYXlvdXQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCA6
IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3QgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGbG9hdGluZ09iamVjdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworICAgIHB1YmxpYzoKICAgICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBiaXRzIHNvIHlv
dSBjYW4gdXNlIEZsb2F0Qm90aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGggbGVmdCBhbmQg
cmlnaHQuCiAgICAgICAgIGVudW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0UmlnaHQgPSAy
LCBGbG9hdEJvdGggPSAzIH07CiAKQEAgLTY3OCw3ICs2ODAsOSBAQCBwcml2YXRlOgogICAgIFBv
c2l0aW9uZWRPYmplY3RzTGlzdEhhc2hTZXQqIG1fcG9zaXRpb25lZE9iamVjdHM7CiAKICAgICAv
LyBBbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1
bHQgdmFsdWVzCi0gICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZW5kZXJCbG9ja1JhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgcHVibGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2Nr
KiBibG9jaykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURl
ZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2
ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJs
b2NrKSkKICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGZiMDI0ZmMu
LmYyNDEyYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcApAQCAtNjMsNyArNjMsOCBAQCB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50
U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIHR5cGVkZWYgSGFzaE1hcDxj
b25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCosIFJlbmRlckJveE1vZGVsT2JqZWN0Kj4gQ29udGlu
dWF0aW9uTWFwOwogc3RhdGljIENvbnRpbnVhdGlvbk1hcCogY29udGludWF0aW9uTWFwID0gMDsK
IAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcigpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRBdExv
d1F1YWxpdHkoR3JhcGhpY3NDb250ZXh0KiwgUmVuZGVyQm94TW9kZWxPYmplY3QqLCBJbWFnZSos
IGNvbnN0IHZvaWQqIGxheWVyLCBjb25zdCBJbnRTaXplJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03Myw3ICs3Myw4IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1NwbGl0ID0gLTE7CiAKLSAgICBj
bGFzcyBHcmlkQXhpcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JpZEF4aXMg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmlkQXhpcyk7CiAgICAgcHVibGljOgog
ICAgICAgICBHcmlkQXhpcygpOwogICAgICAgICB2b2lkIHJlc2l6ZShpbnQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKaW5kZXggMjM0NjcxMi4u
YTIwYzU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
UmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNv
dXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+UmVuZGVySW1hZ2VSZXNvdXJjZSgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggNWM2ZWQxMi4u
NzI2Yjc3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuaApAQCAtNTMsNyArNTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8vIAog
Ly8gVGhlcmUgaXMgb25lIFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXllciB0
aGF0IGlzIGNvbXBvc2l0ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBH
cmFwaGljc0xheWVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTGF5
ZXJCYWNraW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5k
ZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNYXJxdWVlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5o
CmluZGV4IDc5OTk4ZWQuLjk4ZmRkYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck1hcnF1ZWUuaApAQCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBS
ZW5kZXJMYXllcjsKIAogLy8gVGhpcyBjbGFzcyBoYW5kbGVzIHRoZSBhdXRvLXNjcm9sbGluZyBv
ZiBsYXllcnMgd2l0aCBvdmVyZmxvdzogbWFycXVlZS4KLWNsYXNzIFJlbmRlck1hcnF1ZWUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTWFycXVlZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVuZGVyTWFycXVlZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIGV4cGxpY2l0IFJlbmRlck1hcnF1ZWUoUmVuZGVyTGF5ZXIqKTsKICAgICB2aXJ0
dWFsIH5SZW5kZXJNYXJxdWVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT3ZlcmZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVy
Zmxvdy5oCmluZGV4IDdkYzJiY2IuLjMzZThjZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT3ZlcmZsb3cuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZQog
Ly8gRXhhbXBsZXMgb2YgdmlzdWFsIG92ZXJmbG93IGFyZSBzaGFkb3dzLCB0ZXh0IHN0cm9rZSAo
YW5kIGV2ZW50dWFsbHkgb3V0bGluZSBhbmQgYm9yZGVyLWltYWdlKS4KIAogLy8gVGhpcyBvYmpl
Y3QgaXMgYWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1k
ZWZhdWx0IHZhbHVlcyBpbiB0aGUgb3duaW5nIGJveC4KLWNsYXNzIFJlbmRlck92ZXJmbG93IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck92ZXJmbG93IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZW5kZXJPdmVyZmxvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGxheW91dFJlY3QsIGNv
bnN0IEludFJlY3QmIHZpc3VhbFJlY3QpIAogICAgICAgICA6IG1fdG9wTGF5b3V0T3ZlcmZsb3co
bGF5b3V0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2VsZWN0aW9uSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVj
dGlvbkluZm8uaAppbmRleCBhMDlmYzFhLi40NWNhODEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSgpCiAgICAg
ICAgIDogbV9vYmplY3QoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4
IDFkZmQ0Y2UuLjdlNWI0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApA
QCAtMjY0LDcgKzI2NCw4IEBAIHZvaWQgdG9SZW5kZXJWaWV3KGNvbnN0IFJlbmRlclZpZXcqKTsK
IAogCiAvLyBTdGFjay1iYXNlZCBjbGFzcyB0byBhc3Npc3Qgd2l0aCBMYXlvdXRTdGF0ZSBwdXNo
L3BvcAotY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TGF5b3V0U3RhdGVNYWludGFpbmVyKTsKIHB1YmxpYzoKICAgICAvLyBjdG9yIHRvIHB1c2ggbm93
CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcqIHZpZXcsIFJlbmRlckJveCog
cm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFsc2UsIGludCBwYWdl
SGVpZ2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBDb2x1bW5JbmZvKiBj
b2xJbmZvID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXRQcm90ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQ
cm90ZWN0b3IuaAppbmRleCA3ODgzMDRjLi44YmY2YWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICszMCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIDogcHJp
dmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJsaWM6CiAgICAg
UmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2JqZWN0KQogICAgICAgICA6IG1f
b2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UYWJs
ZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKaW5kZXgg
ZTBmYThlZS4uYzVmNjFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Rh
YmxlTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgK
QEAgLTIxLDEzICsyMSwxNSBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxl
TGF5b3V0X2gKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyVGFi
bGU7CiAKLWNsYXNzIFRhYmxlTGF5b3V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRh
YmxlTGF5b3V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYWJsZUxheW91dCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRhYmxlTGF5b3V0KFJlbmRlclRhYmxl
KiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVHJhbnNmb3JtU3RhdGUuaAppbmRleCAwYjRjYTQ2Li4zNmZjNmVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaW5j
bHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIlRyYW5z
Zm9ybWF0aW9uTWF0cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUcmFuc2Zv
cm1TdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc2Zvcm1TdGF0ZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU3RhdGUpOwogcHVibGljOgogICAgIGVu
dW0gVHJhbnNmb3JtRGlyZWN0aW9uIHsgQXBwbHlUcmFuc2Zvcm1EaXJlY3Rpb24sIFVuYXBwbHlJ
bnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uIH07CiAgICAgZW51bSBUcmFuc2Zvcm1BY2N1bXVsYXRp
b24geyBGbGF0dGVuVHJhbnNmb3JtLCBBY2N1bXVsYXRlVHJhbnNmb3JtIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVm
NS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2Fs
UG9zaXRpb25DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBv
c2l0aW9uQ2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBjb25zdCBpbnQgUG9zaXRpb25Ub3AgPSAt
MHg3ZmZmZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvbkJvdHRvbSA9IDB4N2ZmZmZmZmY7CiBjb25z
dCBpbnQgUG9zaXRpb25VbmRlZmluZWQgPSAweDgwMDAwMDAwOwogCi1jbGFzcyBWZXJ0aWNhbFBv
c2l0aW9uQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmVydGljYWxQb3NpdGlv
bkNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUp
OwogcHVibGljOgogICAgIFZlcnRpY2FsUG9zaXRpb25DYWNoZSgpCiAgICAgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCmluZGV4IDRmOTY0YTIuLjE1
ZjY5MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5o
CkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFn
ZTsKIAotc3RydWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnRE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbnRlbnREYXRhKCkKICAgICAgICAgOiBtX3R5
cGUoQ09OVEVOVF9OT05FKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0NvdW50ZXJDb250ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291
bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2FkLi44MTQwMzllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgQ291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYg
c2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCmluZGV4IDQ5ZmIyOTQuLjg0N2U4ZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKQEAgLTU5LDcg
KzU5LDggQEAgc3RydWN0IEZpbGxTaXplIHsKICAgICBMZW5ndGhTaXplIHNpemU7CiB9OwogCi1j
bGFzcyBGaWxsTGF5ZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGaWxsTGF5ZXIg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZpbGxMYXllcihF
RmlsbExheWVyVHlwZSk7CiAgICAgfkZpbGxMYXllcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKaW5kZXggZmI1OTI2ZC4uMGJlM2ZjMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBAIC0yNiw3ICsyNiw2IEBA
CiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2
LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQgfTsKIAogLy8gVGhpcyBzdHJ1
Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhlIHRleHQtc2hhZG93IGFu
ZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRvd0RhdGEgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBTaGFkb3dEYXRhKCkKICAgICAgICAgOiBtX3goMCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5oCmluZGV4IDdmODYyYTcuLjk5ODYxZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaApAQCAtMzUsNyAr
MzUsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBDbGlwcGVyRGF0YSA6IEZh
c3RBbGxvY0Jhc2Ugeworc3RydWN0IENsaXBwZXJEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGNsaXBNYXNrSW1hZ2U7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0ltYWdl
QnVmZmVyVG9vbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW1hZ2VCdWZm
ZXJUb29scy5oCmluZGV4IGNmYjE1YjIuLjExNTc3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCkBAIC0zMiw3ICszMiw4IEBA
IGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFJlbmRlck9i
amVjdDsKIAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdJbWFnZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjcmVhdGVJbWFn
ZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlVGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRS
ZWN0JiBjbGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0LCBPd25QdHI8SW1hZ2VCdWZmZXI+JiwgQ29s
b3JTcGFjZSk7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3VidHJlZVRvSW1hZ2VCdWZmZXIoSW1h
Z2VCdWZmZXIqLCBSZW5kZXJPYmplY3QqLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHTWFya2VyTGF5b3V0SW5mby5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKaW5k
ZXggNWU3NWYwYi4uMzIzMTdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKQEAgLTQzLDcgKzQzLDggQEAgc3RydWN0IE1hcmtl
ckxheW91dCB7CiAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKIH07CiAKLWNsYXNzIFNWR01h
cmtlckxheW91dEluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHTWFya2VyTGF5
b3V0SW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHTWFya2VyTGF5b3V0SW5mbyk7
CiBwdWJsaWM6CiAgICAgU1ZHTWFya2VyTGF5b3V0SW5mbygpOwogICAgIH5TVkdNYXJrZXJMYXlv
dXRJbmZvKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jl
c291cmNlcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuaApp
bmRleCBkZDMyOGI4Li40OGNjYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1Jlc291cmNlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVzb3VyY2VzLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VN
YXNrZXI7CiBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2YgcmVzb3Vy
Y2VzIGFzc29jaWF0ZWQgd2l0aCBhIFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3VyY2VzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaAppbmRleCAzMGVhZWNhLi5iYzczZjRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0z
MSw3ICszMSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291
cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1Jlc291cmNlc0N5Y2xlU29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKaW5kZXggMDY1MzMwNC4uMDk5ZjkxYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2
ZXIuaApAQCAtMjksNyArMjksOCBAQCBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lcjsKIGNsYXNzIFNWR1Jlc291cmNlczsKIAotY2xhc3MgU1ZHUmVz
b3VyY2VzQ3ljbGVTb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVzb3Vy
Y2VzQ3ljbGVTb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyKTsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcihSZW5kZXJP
YmplY3QqLCBTVkdSZXNvdXJjZXMqKTsKICAgICB+U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVp
bGRlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVy
LmgKaW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgc3RydWN0
IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQgdGhlIGFjdHVhbCBwZXIt
Y2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2gg
Y2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0cyAoU1ZHVGV4
dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBtb2RpZmljYXRpb25zIHRo
YXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0ZXh0IGNodW5rICh0ZXh0
LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1Rl
eHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKaW5kZXggZjI5YWM2
NC4uYzY4MTg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICszOCw4IEBA
IGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0cmVlIGJh
c2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAvLyBUaGUg
c2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0RW5naW5l
LgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwogcHVibGlj
OgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQgYnVpbGRM
YXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaAppbmRleCBh
ZDA1OGQ4Li42MzFlNGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmUuaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBTVkdSZW5kZXJT
dHlsZTsKIC8vIFJlbmRlclNWR0lubGluZVRleHQgcmVuZGVyZXJzIHRvIGNvbXB1dGUgdGhlIGZp
bmFsIHBvc2l0aW9ucyBmb3IgZWFjaCBjaGFyYWN0ZXIKIC8vIHdoaWNoIGFyZSBzdG9yZWQgaW4g
dGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0cy4KIAotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2lu
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lKTsKIHB1YmxpYzoKICAg
ICBTVkdUZXh0TGF5b3V0RW5naW5lKCk7CiAgICAgU1ZHVGV4dENodW5rQnVpbGRlciYgY2h1bmtM
YXlvdXRCdWlsZGVyKCkgeyByZXR1cm4gbV9jaHVua0xheW91dEJ1aWxkZXI7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVC
YXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLjY3OTRiZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApA
QCAtMzMsNyArMzMsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR1RleHRNZXRy
aWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhh
bmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1iYXNlbGluZScgYW5kICdiYXNl
bGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUpOwogcHVibGlj
OgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25zdCBGb250Jik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNw
YWNpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZVNwYWNpbmcuaAppbmRleCAwYTZkNzM2Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oCkBA
IC0zMCw3ICszMCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHRWxlbWVudDsK
IAogLy8gSGVscGVyIGNsYXNzIHVzZWQgYnkgU1ZHVGV4dExheW91dEVuZ2luZSB0byBoYW5kbGUg
J2tlcm5pbmcnIC8gJ2xldHRlci1zcGFjaW5nJyBhbmQgJ3dvcmQtc3BhY2luZycuCi1jbGFzcyBT
VkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZH
VGV4dExheW91dEVuZ2luZVNwYWNpbmcpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdp
bmVTcGFjaW5nKGNvbnN0IEZvbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9EYXRhYmFzZVRhc2suaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNr
LmgKaW5kZXggYjYxZTQ2NS4uZTFkZjU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9EYXRhYmFzZVRhc2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
VGFzay5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ2FuIGJl
IHVzZWQgdG8gd2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVkLgogLy8gSGFzIHRv
IGJlIHBhc3NlZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFzc29jaWF0ZWQgd2l0
aCB0aGUgdGFzay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJsaWM6CiAgICAgRGF0
YWJhc2VUYXNrU3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAgcHJpdmF0ZToKICNl
bmRpZgogfTsKIAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIERhdGFiYXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNr
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJh
c2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VU
cmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCmluZGV4
IDcxNDVlNmIuLmExYTViZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNr
ZXIuaApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBEYXRhYmFzZVRyYWNrZXJDbGllbnQ7CiBzdHJ1
Y3QgU2VjdXJpdHlPcmlnaW5UcmFpdHM7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKENIUk9NSVVNKQog
Ci1jbGFzcyBEYXRhYmFzZVRyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0
YWJhc2VUcmFja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRyYWNrZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0
aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlUGF0aCk7CiAgICAgc3RhdGljIERh
dGFiYXNlVHJhY2tlciYgdHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaAppbmRleCA3ODNhNzMxLi41YmM2YWNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlv
bk1vbml0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2Fj
dGlvbk1vbml0b3IuaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBJREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2U7CiAvLyBGSVhNRTogbW92ZSB0aGUgdmVjdG9yIG9mIHRyYW5zYWN0aW9ucyB0
byBUTFMuIEtlZXBpbmcgaXQgc3RhdGljCiAvLyB3aWxsIG5vdCB3b3JrIG9uY2Ugd2UgYWRkIHN1
cHBvcnQgZm9yIHdvcmtlcnMuIEFub3RoZXIgcG9zc2libGUKIC8vIHNvbHV0aW9uIGlzIHRvIGtl
ZXAgdGhlIHZlY3RvciBpbiB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KLWNsYXNzIElEQlBl
bmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSURC
UGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSURC
UGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYWRk
UGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSopOwogICAg
IHN0YXRpYyB2b2lkIHJlbW92ZVBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxT
dG9yYWdlVGFzay5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgK
aW5kZXggYTJlMzVlYS4uMjdhOGViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0
b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFz
cyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFR5cGUgeyBBcmVhSW1wb3J0LCBBcmVhU3luYywg
RGVsZXRlRW1wdHlEYXRhYmFzZSwgVGVybWluYXRlVGhyZWFkIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLmEyYzc4YzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaApAQCAtNDAsNyAr
NDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzazsK
IAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGhyZWFkCi0gICAg
Y2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBMb2NhbFN0b3JhZ2VUaHJlYWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2Nh
bFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAg
ICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09y
aWdpblF1b3RhTWFuYWdlci5oCmluZGV4IGVjOTYyMGMuLjgyZDdjNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaApAQCAtNDEsNyArNDEsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogY2xhc3MgT3JpZ2luVXNh
Z2VSZWNvcmQ7CiAKLWNsYXNzIE9yaWdpblF1b3RhTWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE9yaWdpblF1b3RhTWFuYWdlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIE9yaWdpblF1b3RhTWFuYWdlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdp
blVzYWdlUmVjb3JkLmgKaW5kZXggYTgzMGU2OC4uNzU1N2VhYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIC8vIE9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11
bHRpcGxlIHRocmVhZHMgd2l0aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcg
YXJndW1lbnRzIGFyZSBhbHNvIHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNh
bGxlciB3aGVuIG5lY2Vzc2FyeS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShPcmlnaW5Vc2FnZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIE9yaWdpblVzYWdlUmVjb3JkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBmZWQwNjU3Li4zYzVlYzJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0zMyw2ICsz
Myw3IEBACiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9j
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MSw4ICs0MiwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogCiAvLyBBIGNs
aWVudCB0byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxUcmFuc2FjdGlvbiB0
byBub3RpZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4gdGhpbmdzIGhhdmUg
aGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAg
dm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2
b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlk
RXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAppbmRleCA5NDM2MGMwLi5mZDc2Nzgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IuaApAQCAtNDMsOCArNDMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgU1FMVHJhbnNhY3Rpb247CiAKLSAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbkNvb3JkaW5h
dG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rpb25Db29yZGlu
YXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAgU1FM
VHJhbnNhY3Rpb25Db29yZGluYXRvcigpIHsgfQogICAgICAgICB2b2lkIGFjcXVpcmVMb2NrKFNR
TFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgcmVsZWFzZUxvY2soU1FMVHJhbnNhY3Rpb24q
KTsKICAgICAgICAgdm9pZCBzaHV0ZG93bigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3Vt
ZW50RXh0ZW5zaW9ucy5oCmluZGV4IGEwY2YyYmIuLjBlZDYyYTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZH
U3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVu
dDsKIAotY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1ZHRG9jdW1lbnRFeHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxTVkdTdHlsZWRFbGVtZW50PiA+IFNWR1BlbmRp
bmdFbGVtZW50czsKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoRG9jdW1lbnQqKTsKQEAgLTY4
LDkgKzY5LDYgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPEF0b21pY1N0cmluZywgU1ZHUGVuZGlu
Z0VsZW1lbnRzKj4gbV9wZW5kaW5nUmVzb3VyY2VzOwogICAgIE93blB0cjxTVkdSZXNvdXJjZXND
YWNoZT4gbV9yZXNvdXJjZXNDYWNoZTsKIAotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhjb25z
dCBTVkdEb2N1bWVudEV4dGVuc2lvbnMmKTsKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMmIG9w
ZXJhdG9yPShjb25zdCBTVkdEb2N1bWVudEV4dGVuc2lvbnMmKTsKLQogcHVibGljOgogICAgIC8v
IFRoaXMgSGFzaE1hcCBjb250YWlucyBhIGxpc3Qgb2YgcGVuZGluZyByZXNvdXJjZXMuIFBlbmRp
bmcgcmVzb3VyY2VzLCBhcmUgc3VjaAogICAgIC8vIHdoaWNoIGFyZSByZWZlcmVuY2VkIGJ5IGFu
eSBvYmplY3QgaW4gdGhlIFNWRyBkb2N1bWVudCwgYnV0IGRvIE5PVCBleGlzdCB5ZXQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0YS4uMzMxOGRlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaApAQCAtMzEsNyArMzEsOCBA
QCBjbGFzcyBTVkdDdXJzb3JFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudDsKIGNsYXNzIFNWR0Vs
ZW1lbnRJbnN0YW5jZTsKIAotY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNWR0VsZW1lbnRSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHRWxlbWVudFJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgU1ZHRWxlbWVudFJhcmVEYXRhKCkKICAgICAgICAgOiBtX2N1cnNvckVsZW1lbnQo
MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKaW5kZXggZTg5N2E1OS4uZjIwMmQyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdGb250RGF0YShTVkdGb250RmFj
ZUVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5TVkdGb250RGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi44ZTQzYjk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aEJsZW5kZXIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAjaWYgRU5BQkxFKFNWRykKICNp
bmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU1ZHUGF0aEJsZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJs
ZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCbGVuZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAppbmRleCBiODg4MmI2Li5hNDQ0YWMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaApAQCAtNDMsNyArNDMsOCBAQCB0
eXBlZGVmIHVuaW9uIHsKICAgICB1bnNpZ25lZCBjaGFyIGJ5dGVzW3NpemVvZih1bnNpZ25lZCBz
aG9ydCldOwogfSBVbnNpZ25lZFNob3J0Qnl0ZTsKIAotY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0geworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCeXRlU3RyZWFtKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+
IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhD
b25zdW1lci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1lci5oCmluZGV4IGI3
YzVlNzMuLmFmM2Y3OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29u
c3VtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKQEAgLTI2
LDYgKzI2LDcgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgor
I2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDggKzQxLDEwIEBAIGVudW0gUGF0aFBh
cnNpbmdNb2RlIHsKICAgICBVbmFsdGVyZWRQYXJzaW5nCiB9OwogCi1jbGFzcyBTVkdQYXRoQ29u
c3VtZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aENvbnN1bWVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQ29uc3VtZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoQ29uc3VtZXIoKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgaW5jcmVtZW50UGF0aFNlZ21lbnRDb3VudCgpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
Y29udGludWVDb25zdW1pbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFudXAoKSA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAppbmRleCA3Njc5YTk1Li4wOTYxMzFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUg
IlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJT
VkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRo
UGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBTVkdQYXRoUGFyc2VyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLjc3YmY5ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
b3VyY2UuaApAQCAtMjUsOCArMjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTVkdQYXRoU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhTb3Vy
Y2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhTb3VyY2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmly
dHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRh
KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAppbmRleCA2ODZjZWMzLi5jZDEw
Y2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaApAQCAtMzIsOCArMzIsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBTVkdFbGVtZW50OwogCiBjbGFzcyBTVkdWaWV3U3BlYyA6IHB1
YmxpYyBTVkdGaXRUb1ZpZXdCb3gsCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdab29t
QW5kUGFuLAotICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHVmlld1NwZWMpOwogcHVibGljOgogICAgIFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQq
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggOTdmODZi
ZS4uZmMyZmQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBA
IC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VD
aHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdJbWFnZUNocm9tZUNsaWVudChT
VkdJbWFnZSogaW1hZ2UpCiAgICAgICAgIDogbV9pbWFnZShpbWFnZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCkBAIC0zOSw3ICszOSw4
IEBAIGNsYXNzIEZsb2F0MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7CiAjZW5kaWYKIAotY2xh
c3MgUmVhbHRpbWVBbmFseXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFsdGlt
ZUFuYWx5c2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFsdGltZUFuYWx5c2VyKTsK
IHB1YmxpYzoKICAgICBSZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmlydHVhbCB+UmVhbHRpbWVB
bmFseXNlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDA1YjM3NjcuLjk1NmUwZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
LmgKQEAgLTQzLDggKzQzLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bCgpIHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQq
LCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZv
aWQgY29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMv
V2ViU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmgKaW5kZXggOWM1MjM3Ny4uYTM5Y2QwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWxDbGllbnQ7CiAKICAgICBjbGFzcyBX
ZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViU29ja2V0Q2hhbm5lbD4sIHB1
YmxpYyBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQsIHB1YmxpYyBUaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVu
dCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgV2ViU29ja2V0Q2hhbm5lbChjb250ZXh0LCBjbGllbnQsIHVybCwgcHJvdG9jb2wp
KTsgfQogICAgICAgICB2aXJ0dWFsIH5XZWJTb2NrZXRDaGFubmVsKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvU291cmNlL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAppbmRleCBhNWI0MjYwLi4zNzFk
ODUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtl
LmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5j
bHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhh
bmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAg
ICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdl
YlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAg
ICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbC5oIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29j
a2V0Q2hhbm5lbC5oCmluZGV4IDM2NmU0ZmEuLjlmMGIwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgV29ya2VyTG9hZGVyUHJveHk7CiBjbGFzcyBX
b3JrZXJSdW5Mb29wOwogCiBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6
IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiwgcHVi
bGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbD4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFdlYlNvY2tldENo
YW5uZWxDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYg
dXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQogICAgIHsKQEAgLTc3LDcgKzc4LDggQEAgcHJv
dGVjdGVkOgogcHJpdmF0ZToKICAgICAvLyBHZW5lcmF0ZWQgYnkgdGhlIGJyaWRnZS4gIFRoZSBQ
ZWVyIGFuZCBpdHMgYnJpZGdlIHNob3VsZCBoYXZlIGlkZW50aWNhbAogICAgIC8vIGxpZmV0aW1l
cy4KLSAgICBjbGFzcyBQZWVyIDogcHVibGljIFdlYlNvY2tldENoYW5uZWxDbGllbnQsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVs
Q2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIqIGNyZWF0ZShS
ZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBjbGllbnRXcmFw
cGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCmluZGV4IDIxZTE0YTEu
LjQzNWI2MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3Bl
Y2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGlj
IGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
Ly8gSW52b2tlZCBvbmNlIHRoZSB3b3JrZXIgc2NyaXB0IGhhcyBiZWVuIGxvYWRlZCB0byBmaXJl
IHVwIHRoZSB3b3JrZXIgdGhyZWFkLgogICAgICAgICB2b2lkIHdvcmtlclNjcmlwdExvYWRlZChT
aGFyZWRXb3JrZXJQcm94eSYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcm
IHdvcmtlclNjcmlwdCwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWw+KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggYWUzNzBlMC4uMmU4MDJmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKQEAgLTE0NCw3ICsxNDQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgaXNDbG9zaW5nKCkgeyByZXR1cm4gbV9jbG9z
aW5nOyB9CiAKICAgICAgICAgLy8gQW4gb2JzZXJ2ZXIgaW50ZXJmYWNlIHRvIGJlIG5vdGlmaWVk
IHdoZW4gdGhlIHdvcmtlciB0aHJlYWQgaXMgZ2V0dGluZyBzdG9wcGVkLgotICAgICAgICBjbGFz
cyBPYnNlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIE9ic2VydmVy
IHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9ic2VydmVyKTsKICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgT2JzZXJ2ZXIoV29ya2VyQ29udGV4dCopOwogICAgICAgICAg
ICAgdmlydHVhbCB+T2JzZXJ2ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaAppbmRleCAzMzkzN2NlLi5hYjYxMTNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC00Niw3ICs0Niw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAg
IGNsYXNzIFdvcmtlcjsKIAotICAgIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5IDogcHVibGlj
IFdvcmtlckNvbnRleHRQcm94eSwgcHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29y
a2VyTG9hZGVyUHJveHksIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyTWVz
c2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2Jq
ZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdvcmtlck1lc3NhZ2luZ1Byb3h5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBXb3JrZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKaW5kZXggODNmMjQzZi4uN2Iz
MTQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQs
NyArMTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1
cm4gU3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxv
b3BTZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxv
b3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyUnVuTG9vcC5oCmluZGV4IDlkNGVkZmQuLjNmZWI0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyUnVuTG9vcC5oCkBAIC02NSw3ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRNb2RlKCk7CiAKLSAgICAgICAgY2xhc3Mg
VGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxUYXNrPiBj
cmVhdGUoUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrLCBjb25z
dCBTdHJpbmcmIG1vZGUpOwogICAgICAgICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCBmNjExMjBlLi5lMWYxYTY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC02MSw3ICs2MSw4IEBAIHVuc2lnbmVk
IFdvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkQ291bnQoKQogICAgIHJldHVybiBtX3RocmVhZENv
dW50OwogfQogCi1zdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+IGNy
ZWF0ZShjb25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25z
dCBTdHJpbmcmIHNvdXJjZUNvZGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAKaW5kZXggNDhhNGY3Zi4uYzA1YWIyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwCkBAIC02NSw3ICs2NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBX
VEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciB4bWxIdHRwUmVxdWVzdENvdW50ZXIoIlhNTEh0dHBS
ZXF1ZXN0Iik7CiAjZW5kaWYKIAotc3RydWN0IFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSA6IE5v
bmNvcHlhYmxlIHsKK3N0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAg
IFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZp
eDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggYmM2ODE1ZC4uYjE1ZDM1OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3Mg
VGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKIGNsYXNzIFhN
TEh0dHBSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+LCBwdWJsaWMg
RXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgWE1MSHR0cFJlcXVlc3QoY29u
dGV4dCkpOyB9CiAgICAgflhNTEh0dHBSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
RXhwcmVzc2lvbk5vZGUuaAppbmRleCBjMDRkNDViLi40YjViYWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVj
dCBFdmFsdWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZh
bHVhdGlvbkNvbnRleHQgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAg
ICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlv
bjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmly
dHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVz
c2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAg
ICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIEV2YWx1YXRpb25Db250ZXh0JiBldmFsdWF0
aW9uQ29udGV4dCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2Rl
U2V0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4u
NjE5ZDkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaApAQCAtMzcsNyArMzcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogCi0gICAgICAgIGNs
YXNzIE5vZGVTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIGNsYXNzIE5vZGVT
ZXQgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1Ymxp
YzoKICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNB
cmVEaXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2Vy
LmgKaW5kZXggMGVlNDQ3YS4uZjQ5YjQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKQEAg
LTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgVG9rZW4oaW50
IHQsIEVxVGVzdE9wOjpPcGNvZGUgdik6IHR5cGUodCksIGVxb3Aodikge30KICAgICAgICAgfTsK
IAotICAgICAgICBjbGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBj
bGFzcyBQYXJzZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFyc2VyKTsK
ICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUGFyc2VyKCk7CiAgICAgICAgICAgICB+UGFy
c2VyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLjM2MDAx
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCkBAIC0xMDUsNyArMTA1LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1
bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogICAgICAgICB9
OwogCi0gICAgICAgIGNsYXNzIFByZWRpY2F0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
ICAgIGNsYXNzIFByZWRpY2F0ZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
cmVkaWNhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaCBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAppbmRleCBlYzAyMmIzLi5iMDMxYmFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoU3RlcC5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICBjbGFzcyBQcmVkaWNhdGU7CiAgICAgICAgIAotICAgICAgICBjbGFzcyBTdGVwIDogcHVi
bGljIFBhcnNlTm9kZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU3RlcCA6
IHB1YmxpYyBQYXJzZU5vZGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3Rl
cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBlbnVtIEF4aXMgewogICAgICAgICAgICAgICAgIEFuY2VzdG9yQXhpcywgQW5jZXN0b3JPclNl
bGZBeGlzLCBBdHRyaWJ1dGVBeGlzLApAQCAtNDksNyArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgICAgICAgICAgU2VsZkF4aXMKICAgICAgICAgICAgIH07CiAgICAgICAgICAg
ICAKLSAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICAgICAgY2xhc3MgTm9kZVRlc3QgeworICAgICAgICAgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAgIGVudW0g
S2luZCB7CiAgICAgICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0
LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oIGIvU291cmNlL1dl
YkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAppbmRleCBmM2E5MzE4Li41YzBjYThhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgQ2FjaGVkWFNMU3R5bGVTaGVldDsKIAogY2xhc3MgWFNMSW1wb3J0UnVsZSA6
IHB1YmxpYyBTdHlsZUJhc2UsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhT
TEltcG9ydFJ1bGU+IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgY29uc3QgU3Ry
aW5nJiBocmVmKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZGM4OTU1OC4uODhlMDVkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMS0yMCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAg
IEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0
aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlv
biByZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVz
ZSBpbmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50
YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMuCisKIDIwMTEtMDEtMTcgIERhbiBCZXJuc3Rl
aW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYXJrIFJv
d2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAppbmRleCA3NjllODNm
Li4zOTRmZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAg
LTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAvLyBCb3VuZE9iamVjdCBpcyBhIGhl
bHBlciBjbGFzcyB0aGF0IGxldHMgeW91IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxscwogLy8g
ZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3llZCBvbmNl
IEpTIG9iamVjdCBpcwogLy8gYnVpbHQuCi1jbGFzcyBCb3VuZE9iamVjdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBCb3VuZE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Qm91bmRPYmplY3QpOwogcHVibGljOgogICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8djg6OkNv
bnRleHQ+IGNvbnRleHQsIHZvaWQqIHY4VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFtZSk7CiAg
ICAgdmlydHVhbCB+Qm91bmRPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcAppbmRleCAwODYwY2IxLi5iNzZiY2ZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFn
ZXIuY3BwCkBAIC01NSw3ICs1NSw4IEBAIGJvb2wgRGVidWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhw
b3NlVjhEZWJ1Z2dlclByb3RvY29sID0gZmFsc2U7CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIENh
bGxlcklkV3JhcHBlciA6IHB1YmxpYyB2ODo6RGVidWc6OkNsaWVudERhdGEsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGll
bnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsZXJJZFdyYXBwZXIpOwogcHVi
bGljOgogICAgIENhbGxlcklkV3JhcHBlcigpIDogbV9jYWxsZXJJc01hbmFuYWdlcih0cnVlKSwg
bV9jYWxsZXJJZCgwKSB7IH0KICAgICBleHBsaWNpdCBDYWxsZXJJZFdyYXBwZXIoaW50IGNhbGxl
cklkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2Vu
dE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmgKaW5kZXggNjZiZDcxNC4uYTMyMzMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBAIC02Myw3ICs2Myw4IEBAIGNsYXNz
IFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5k
bGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFu
ZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8v
IGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1j
bGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBE
ZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJB
Z2VudE1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVn
Z2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFj
aChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4
IGZjMjFmM2UuLjI4Njc5MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCkBAIC00NCw4ICs0NCw4IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudDsKIGNsYXNz
IFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSAgeworY2xhc3Mg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZy
b250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JGcm9udGVu
ZENsaWVudEltcGwpOwogcHVibGljOgogICAgIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbChX
ZWJDb3JlOjpQYWdlKiwgV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudCosIFdlYkRldlRvb2xzRnJv
bnRlbmRJbXBsKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250
ZW5kSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVu
ZEltcGwuaAppbmRleCA4NjZhMWNiLi5kYzdkMmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAgLTU1LDggKzU1LDgg
QEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwog
Ci1jbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRv
b2xzRnJvbnRlbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6
V2ViRGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9v
bHNGcm9udGVuZEltcGwpOwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAog
ICAgICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IGExM2VlYzAuLjRkMTkwNTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAtMjg0LDcg
KzI4NCw4IEBAIFdlYlBsdWdpbkNvbnRhaW5lckltcGwqIFdlYkZyYW1lSW1wbDo6cGx1Z2luQ29u
dGFpbmVyRnJvbUZyYW1lKEZyYW1lKiBmcmFtZSkKIAogLy8gU2ltcGxlIGNsYXNzIHRvIG92ZXJy
aWRlIHNvbWUgb2YgUHJpbnRDb250ZXh0IGJlaGF2aW9yLiBTb21lIG9mIHRoZSBtZXRob2RzCiAv
LyBtYWRlIHZpcnR1YWwgc28gdGhhdCB0aGV5IGNhbiBiZSBvdmVycmlkZW4gYnkgQ2hyb21lUGx1
Z2luUHJpbnRDb250ZXh0LgotY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDogcHVibGljIFByaW50
Q29udGV4dCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENocm9tZVByaW50Q29udGV4dCA6
IHB1YmxpYyBQcmludENvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENocm9tZVBy
aW50Q29udGV4dCk7CiBwdWJsaWM6CiAgICAgQ2hyb21lUHJpbnRDb250ZXh0KEZyYW1lKiBmcmFt
ZSkKICAgICAgICAgOiBQcmludENvbnRleHQoZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggYjhlZjdiYS4uNDFhOTUyZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaApAQCAtNTYsNiAr
NTYsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIGNsYXNzIFdlYlBvcHVwTWVudUltcGwgOiBwdWJsaWMg
V2ViUG9wdXBNZW51LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBXZWJDb3JlOjpG
cmFtZWxlc3NTY3JvbGxWaWV3Q2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudUltcGw+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2Uo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXJFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwuaAppbmRleCA0YmJhZTI1Li42N2M0NjA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyRWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVk
ZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3Mg
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBG
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50
LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0
dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdGRvd25sb2FkLmNwcAppbmRleCA2MGI4ZTZkLi5hNzg5MGMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTU3LDcgKzU3LDggQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVk
LCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGlj
IE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxv
YWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2Fk
Q2xpZW50KFdlYktpdERvd25sb2FkKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKaW5k
ZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKQEAgLTMx
Myw3ICszMTMsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgZGVtYXJzaGFsVmFsdWVGcm9tQXJyYXko
SlNDOjpFeGVjU3RhdGUqLCBOU0FycmF5ICphcnJheSwgTlNVSW50ZWdlciYgaW5kZXgsIEpTQzo6
SlNWYWx1ZSYgcmVzdWx0KTsKICAgICB2b2lkIGRlbWFyc2hhbFZhbHVlcyhKU0M6OkV4ZWNTdGF0
ZSosIGRhdGFfdCB2YWx1ZXNEYXRhLCBtYWNoX21zZ190eXBlX251bWJlcl90IHZhbHVlc0xlbmd0
aCwgSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciYgcmVzdWx0KTsKIAotICAgIGNsYXNzIExvY2Fs
T2JqZWN0TWFwIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsT2JqZWN0TWFwIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxPYmplY3RNYXApOwogICAgIHB1YmxpYzoK
ICAgICAgICAgTG9jYWxPYmplY3RNYXAoKTsKICAgICAgICAgfkxvY2FsT2JqZWN0TWFwKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNs
aWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xp
ZW50Lm1tCmluZGV4IDI5MTM3MzkuLjY1YWJhNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4
IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgp
CiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hU
b01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3Jp
Z2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ09NRW51
bVZhcmlhbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKaW5kZXggYTkz
YTNjMi4uNjcyNTEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ09NRW51bVZhcmlh
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiAr
MjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQg
OiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51
bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBh
ZG9wdChDb250YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJ
bnN0YW5jZShjb25zdCBDb250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DT01Qcm9wZXJ0eUJhZy5oIGIvU291cmNlL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aAppbmRleCA2MTBjMzY3Li42MjA0NThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9D
T01Qcm9wZXJ0eUJhZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgK
QEAgLTM1LDcgKzM1LDggQEAKICNpbmNsdWRlICJDT01WYXJpYW50U2V0dGVyLmgiDQogDQogdGVt
cGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlID0gdHlwZW5hbWUgV1RG
OjpTdHJpbmcsIHR5cGVuYW1lIEhhc2hUeXBlID0gdHlwZW5hbWUgV1RGOjpTdHJpbmdIYXNoPg0K
LWNsYXNzIENPTVByb3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIElQcm9w
ZXJ0eUJhZzIsIE5vbmNvcHlhYmxlIHsNCitjbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJ
UHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyIHsNCisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ09NUHJvcGVydHlCYWcpOw0KIHB1YmxpYzoNCiAgICAgdHlwZWRlZiBIYXNoTWFwPEtl
eVR5cGUsIFZhbHVlVHlwZSwgSGFzaFR5cGU+IEhhc2hNYXBUeXBlOw0KIA0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCA2YjU2YWI1Li5hNjU1
MjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5o
CkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7
CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVG
dWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7
CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKaW5kZXggYmRjYjU0OS4uZTJiODFlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCkBAIC01Miw3ICs1Miw4IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc0VxdWFsKExQQ1dTVFIgczEsIExQQ1dTVFIgczIpCiAgICAgcmV0
dXJuICF3Y3NjbXAoczEsIHMyKTsKIH0KIAotY2xhc3MgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlC
YWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0
YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKiBjcmVhdGVJbnN0YW5jZShjb25z
dCBEYXRhYmFzZURldGFpbHMmKTsKIApAQCAtMzI4LDcgKzMyOSw4IEBAIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgV2ViRGF0YWJhc2VNYW5hZ2VyOjpkZWxldGVEYXRhYmFzZSgKICAgICByZXR1
cm4gU19PSzsKIH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEaWRNb2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaXNw
YXRjaFRvTWFpblRocmVhZChXZWJEYXRhYmFzZU1hbmFnZXIqIGRhdGFiYXNlTWFuYWdlciwgU2Vj
dXJpdHlPcmlnaW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJJbnNwZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4
IDA1M2E1OTMuLmUyZDJmY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkluc3Bl
Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCkBAIC0zNCw3ICsz
NCw4IEBACiAKIGNsYXNzIFdlYlZpZXc7CiAKLWNsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJ
V2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMgSVdlYkluc3BlY3RvciwgcHVibGlj
IElXZWJJbnNwZWN0b3JQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJJbnNw
ZWN0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJJbnNwZWN0b3IqIGNyZWF0ZUluc3RhbmNl
KFdlYlZpZXcqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViTG9jYWxpemFi
bGVTdHJpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5j
cHAKaW5kZXggZGE2YjIyMS4uZTliOTlhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJMb2Nh
bGl6YWJsZVN0cmluZ3MuY3BwCkBAIC03Miw3ICs3Miw4IEBAIHN0YXRpYyBMb2NhbGl6ZWRTdHJp
bmdNYXAgZnJhbWV3b3JrTG9jU3RyaW5ncygpCiAgICAgcmV0dXJuIG1hcDsKIH0KIAotY2xhc3Mg
TG9jYWxpemVkU3RyaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsaXplZFN0
cmluZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxpemVkU3RyaW5nKTsKIHB1Ymxp
YzoKICAgICBMb2NhbGl6ZWRTdHJpbmcoQ0ZTdHJpbmdSZWYgc3RyaW5nKQogICAgICAgICA6IG1f
Y2ZTdHJpbmcoc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViU2NyaXB0
V29ybGQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKaW5kZXggZjA4OGE3
Mi4uMDE1MTFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAK
LWNsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNj
cmlwdFdvcmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3Js
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgog
ICAgIHN0YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBD
T01QdHI8V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oIGIvU291cmNlL1dlYktpdC93aW4v
V2ViU2VyaWFsaXplZEpTVmFsdWUuaAppbmRleCBhMmQ2ZDU2Li42ZTM3NDdkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIH0KIAotY2xh
c3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2Vi
U2VyaWFsaXplZEpTVmFsdWUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsK
K2NsYXNzIFdlYlNlcmlhbGl6ZWRKU1ZhbHVlIDogcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1
ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdlYlNlcmlhbGl6ZWRKU1ZhbHVlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09N
UHRyPFdlYlNlcmlhbGl6ZWRKU1ZhbHVlPiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcuLjQyODU0
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVy
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCkBA
IC0zMiw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBVc2VyQ29udGVu
dFVSTFBhdHRlcm47CiB9CiAKLWNsYXNzIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1Ymxp
YyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4geworY2xhc3Mg
V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIDogcHVibGljIElXZWJVc2VyQ29udGVudFVSTFBhdHRl
cm4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlVzZXJDb250ZW50VVJMUGF0dGVybik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTVB0cjxXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4+IGNy
ZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkYzZkYzViLi41YTdlOGFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEtMjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFu
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVmYWN0b3Jpbmcgb2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAg
ICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMg
Z2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmlj
YXRpb24gcmVwbGFjZXMgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQg
dGhlc2UgaW5oZXJpdHMgd2l0aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxl
bWVudGF0aW9uIGF0IHRoZSBuZWNlc3NhcnkgcGxhY2VzLgorCiAyMDExLTAxLTE5ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgV2ViS2l0
MiBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWM3NTIzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKQEAgLTM5LDcgKzM5LDggQEAKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBN
b2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6CiAgICAg
TW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmggYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAppbmRleCAwNWRjMGRkLi45ODU0MTMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaApAQCAtNTIsNyArNTIsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIFJlYWRXcml0ZQogICAgIH07CiAKLSAgICBjbGFzcyBIYW5kbGUgOiBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgSGFuZGxlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGFu
ZGxlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEhhbmRsZSgpOwogICAgICAgICB+SGFuZGxlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IGQ3
ZjU5MmUuLjZjMjIxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIFdlYlByb2Nlc3NDb25uZWN0aW9uOwog
c3RydWN0IFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAgICAgICAgIAogY2xhc3Mg
UGx1Z2luUHJvY2VzcyA6IENoaWxkUHJvY2VzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGx1Z2luUHJvY2Vzcyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3MmIHNoYXJl
ZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggNzhmZTFmNC4uOGM1
ZThlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDEx
IEBACiAjZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAg
ICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKaW5kZXggOTMyNTRkOS4uYzUwZDNiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCkBAIC02OSw4ICs2OSw4IEBAIHN0cnVj
dCBXZWJNZW1vcnlTdGF0aXN0aWNzCiAgICAgVmVjdG9yPHNpemVfdD4gdmFsdWVzOwogfTsKICAg
ICAKLWNsYXNzIFdlYk1lbW9yeVNhbXBsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFz
cyBXZWJNZW1vcnlTYW1wbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJNZW1vcnlT
YW1wbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViTWVtb3J5U2FtcGxlciogc2hhcmVkKCk7
CiAgICAgdm9pZCBzdGFydChjb25zdCBkb3VibGUgaW50ZXJ2YWw9MCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaApp
bmRleCBjMjY1ZjJlMi4uYTE1MGQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgUGx1Z2luUHJvY2Vzc1Byb3h5OwogY2xhc3MgV2Vi
UHJvY2Vzc1Byb3h5OwogCi1jbGFzcyBQbHVnaW5Qcm9jZXNzTWFuYWdlciA6IE5vbmNvcHlhYmxl
ICB7CitjbGFzcyBQbHVnaW5Qcm9jZXNzTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGx1Z2luUHJvY2Vzc01hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9j
ZXNzTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggNDg1Zjg5
Mi4uMWUwYzI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
d2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKQEAgLTI1Myw3ICsyNTMsOCBAQCBW
ZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZvU3RvcmU6OnBsdWdpbnNEaXJlY3RvcmllcygpCiAgICAg
cmV0dXJuIGRpcmVjdG9yaWVzOwogfQogCi1jbGFzcyBQYXRoV2Fsa2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFBhdGhXYWxrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBh
dGhXYWxrZXIpOwogcHVibGljOgogICAgIFBhdGhXYWxrZXIoY29uc3QgU3RyaW5nJiBkaXJlY3Rv
cnkpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRM
aW5rUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3Zp
ZGVyLmgKaW5kZXggMDE1NTE1Yy4uYTQyOGQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRMaW5r
UHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKaW5kZXggMjMxOWVjNy4u
YmFjZGQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMv
RG93bmxvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3du
bG9hZC5oCkBAIC02Myw3ICs2Myw2IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2Fk
IDogcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxEb3dubG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYpOwogICAgIH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKaW5kZXggNjcz
N2JkNC4uMzUxODIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05QSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCkBAIC00MCw3ICs0MCw4IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogY2xhc3MgTlBSdW50aW1lT2JqZWN0TWFwOwogICAgIAogLy8gTlBKU09iamVj
dCBpcyBhbiBOUE9iamVjdCB0aGF0IHdyYXBzIGEgSlNPYmplY3QuCi1jbGFzcyBOUEpTT2JqZWN0
IDogcHVibGljIE5QT2JqZWN0LCBOb25jb3B5YWJsZSB7CitjbGFzcyBOUEpTT2JqZWN0IDogcHVi
bGljIE5QT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOUEpTT2JqZWN0KTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgTlBKU09iamVjdCogY3JlYXRlKE5QUnVudGltZU9iamVjdE1hcCog
b2JqZWN0TWFwLCBKU0M6OkpTT2JqZWN0KiBqc09iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbk1hbmFnZXIuaAppbmRleCBkN2JhODUzLi44YjYwZjE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5h
Z2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nl
c3NDb25uZWN0aW9uTWFuYWdlci5oCkBAIC0zOCw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1jbGFzcyBQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdp
blByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNDkyYzRkLi5lZWFkMzc0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDEtMjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3Jpbmcg
b2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZy
b20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1
ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVwbGFjZXMgTm9u
Y29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5oZXJpdHMgd2l0
aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9uIGF0IHRoZSBu
ZWNlc3NhcnkgcGxhY2VzLgogMjAxMS0wMS0xOSAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXggLSBJIHB1bGxlZCB0aGlz
IHBhdGNoIGluIHRvIGZpeCBhbiBpc3N1ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLjYxNTFhOWMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAgLTU4LDcgKzU4LDggQEAg
dHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3Vu
ZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkg
YWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQq
IHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Bw
Qm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAg
cHVibGljOgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2
VG9vbHNBZ2VudC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNB
Z2VudC5oCmluZGV4IGUxNDc4ZDAuLjY2NTQzNWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKQEAgLTQ5LDggKzQ5LDggQEAgc3RydWN0
IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIGNsYXNzIERSVERldlRvb2xzQ2xpZW50OwogCi1j
bGFzcyBEUlREZXZUb29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENs
aWVudAotICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEUlREZXZUb29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNBZ2VudCk7CiBwdWJsaWM6
CiAgICAgRFJURGV2VG9vbHNBZ2VudCgpOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQWdlbnQo
KSB7fQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9v
bHNDbGllbnQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xp
ZW50LmgKaW5kZXggOWNhMTQwMi4uMGNiYTUxYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCkBAIC00OCw4ICs0OCw4IEBAIGNsYXNz
IFdlYlZpZXc7CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xz
Q2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAg
ICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9v
bHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAg
RFJURGV2VG9vbHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwog
ICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2
NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyArMTExLDggQEAgcHVi
bGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlz
IHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMgcG9zc2libGUuCi1j
bGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5hdmlnYXRpb25Db250
cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcigp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250
cm9sRFJUV2luLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRy
b2xEUlRXaW4uaAppbmRleCA0ZTIyNDYxLi5lZGUxNDU4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlRXaW4uaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlRXaW4uaApAQCAtNDYsNyAr
NDYsOCBAQAogLy8gU2tpYSBmb3J3YXJkIGRlY2xhcmF0aW9ucwogc3RydWN0IFNrSVJlY3Q7CiAK
LWNsYXNzIFdlYlRoZW1lQ29udHJvbERSVFdpbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBXZWJUaGVtZUNvbnRyb2xEUlRXaW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRo
ZW1lQ29udHJvbERSVFdpbik7CiBwdWJsaWM6CiAgICAgLy8gVGhpcyBsaXN0IG9mIHN0YXRlcyBt
b3N0bHkgbWlycm9ycyB0aGUgbGlzdCBpbiBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAog
ICAgIC8vIGJ1dCBpcyBtYWludGFpbmVkIHNlcGFyYXRlbHkgc2luY2UgdGhhdCBpc24ndCBwdWJs
aWMgYW5kIGFsc28gdG8gbWluaW1pemUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJUV2luLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVFdpbi5oCmluZGV4IDJlMTVjZjguLjliMWU4MTcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJU
V2luLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVE
UlRXaW4uaApAQCAtNTAsNyArNTAsOCBAQAogI2luY2x1ZGUgIndpbi9XZWJUaGVtZUVuZ2luZS5o
IgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCi1jbGFzcyBXZWJUaGVtZUVuZ2luZURS
VFdpbiA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgV2ViVGhlbWVFbmdpbmVEUlRXaW4gOiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVu
Z2luZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViVGhlbWVFbmdpbmVEUlRXaW4pOwog
cHVibGljOgogICAgIFdlYlRoZW1lRW5naW5lRFJUV2luKCkge30KIApkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmggYi9Ub29scy9XZWJLaXRBUElUZXN0L0hvc3RX
aW5kb3cuaAppbmRleCBhMjczNGVkLi4yYWFhODVmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRB
UElUZXN0L0hvc3RXaW5kb3cuaAorKysgYi9Ub29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cu
aApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0QVBJVGVzdCB7CiAKLWNsYXNz
IEhvc3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7CiBwdWJsaWM6CiAgICAgSG9zdFdp
bmRvdygpOwogICAgIH5Ib3N0V2luZG93KCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRBUElU
ZXN0L1Rlc3RzQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xs
ZXIuaAppbmRleCAxMWI0NTdkLi5iZGNjNDU1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRBUElU
ZXN0L1Rlc3RzQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250
cm9sbGVyLmgKQEAgLTI4LDEzICsyOCwxMyBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0QVBJVGVzdCB7CiAKIGNsYXNzIFRl
c3Q7CiAKLWNsYXNzIFRlc3RzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUZXN0c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3RzQ29udHJv
bGxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRlc3RzQ29udHJvbGxlciYgc2hhcmVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAppbmRleCBmZWMxZjdhLi5lZmM2
NjM1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCkBAIC0zMSw3ICsz
MSw4IEBACiAKIG5hbWVzcGFjZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0SW52b2NhdGlvbiB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGVzdEludm9jYXRpb24pOwogcHVibGljOgogICAgIFRlc3RJbnZvY2F0aW9uKGNv
bnN0IGNoYXIqKTsKICAgICB+VGVzdEludm9jYXRpb24oKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79581</attachid>
            <date>2011-01-20 04:41:04 -0800</date>
            <delta_ts>2011-01-20 09:33:12 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>fab9.patch</filename>
            <type>text/plain</type>
            <size>297462</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDbGFzc1JlZi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKaW5kZXggNTA2MjA5My4uMDk3MTcw
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NsYXNzUmVmLmgKQEAgLTM0LDcgKzM0LDkg
QEAKICNpbmNsdWRlIDxydW50aW1lL1dlYWtHQ1B0ci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAKLXN0cnVjdCBTdGF0aWNWYWx1ZUVudHJ5IDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3Qg
U3RhdGljVmFsdWVFbnRyeSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CiAgICAgU3RhdGljVmFsdWVFbnRyeShKU09iamVjdEdldFByb3BlcnR5Q2FsbGJhY2sgX2dldFBy
b3BlcnR5LCBKU09iamVjdFNldFByb3BlcnR5Q2FsbGJhY2sgX3NldFByb3BlcnR5LCBKU1Byb3Bl
cnR5QXR0cmlidXRlcyBfYXR0cmlidXRlcykKICAgICAgICAgOiBnZXRQcm9wZXJ0eShfZ2V0UHJv
cGVydHkpLCBzZXRQcm9wZXJ0eShfc2V0UHJvcGVydHkpLCBhdHRyaWJ1dGVzKF9hdHRyaWJ1dGVz
KQogICAgIHsKQEAgLTQ1LDcgKzQ3LDkgQEAgc3RydWN0IFN0YXRpY1ZhbHVlRW50cnkgOiBGYXN0
QWxsb2NCYXNlIHsKICAgICBKU1Byb3BlcnR5QXR0cmlidXRlcyBhdHRyaWJ1dGVzOwogfTsKIAot
c3RydWN0IFN0YXRpY0Z1bmN0aW9uRW50cnkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBTdGF0
aWNGdW5jdGlvbkVudHJ5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBTdGF0aWNGdW5jdGlvbkVudHJ5KEpTT2JqZWN0Q2FsbEFzRnVuY3Rpb25DYWxsYmFjayBf
Y2FsbEFzRnVuY3Rpb24sIEpTUHJvcGVydHlBdHRyaWJ1dGVzIF9hdHRyaWJ1dGVzKQogICAgICAg
ICA6IGNhbGxBc0Z1bmN0aW9uKF9jYWxsQXNGdW5jdGlvbiksIGF0dHJpYnV0ZXMoX2F0dHJpYnV0
ZXMpCiAgICAgewpAQCAtNjIsNyArNjYsOSBAQCBzdHJ1Y3QgT3BhcXVlSlNDbGFzczsKIAogLy8g
QW4gT3BhcXVlSlNDbGFzcyAoSlNDbGFzcykgaXMgY3JlYXRlZCB3aXRob3V0IGEgY29udGV4dCwg
c28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhbnkgY29udGV4dCwgZXZlbiBhY3Jvc3MgY29udGV4dCBn
cm91cHMuCiAvLyBUaGlzIHN0cnVjdHVyZSBob2xkcyBkYXRhIG1lbWJlcnMgdGhhdCB2YXJ5IGFj
cm9zcyBjb250ZXh0IGdyb3Vwcy4KLXN0cnVjdCBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEgOiBO
b25jb3B5YWJsZSB7CitzdHJ1Y3QgT3BhcXVlSlNDbGFzc0NvbnRleHREYXRhIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoT3BhcXVl
SlNDbGFzcyopOwogICAgIH5PcGFxdWVKU0NsYXNzQ29udGV4dERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAppbmRleCA0MTk4Y2E4Li5kNmRlNDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTT2JqZWN0UmVmLmNwcApAQCAtNDgwLDcgKzQ4
MCw5IEBAIEpTT2JqZWN0UmVmIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3IoSlNDb250ZXh0UmVm
IGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBzaXplCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
c3RydWN0IE9wYXF1ZUpTUHJvcGVydHlOYW1lQXJyYXkgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVj
dCBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKK3B1YmxpYzoKICAgICBPcGFxdWVKU1Byb3BlcnR5TmFtZUFycmF5KEpTR2xvYmFsRGF0YSog
Z2xvYmFsRGF0YSkKICAgICAgICAgOiByZWZDb3VudCgwKQogICAgICAgICAsIGdsb2JhbERhdGEo
Z2xvYmFsRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGU1OGU4YzBkLi5iYjEzMmJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wMS0yMCAg
Wm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFs
bG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00OTg5NworCisgICAgICAgIEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNl
IGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5
KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlvbiByZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFz
dEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVzZSBpbmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAg
IGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMu
CisKKyAgICAgICAgKiB3dGYvRmFzdEFsbG9jQmFzZS5oOiBUdXJuIEZhc3RBbGxvY0Jhc2UncyBp
bXBsZW1lbnRhdGlvbiBpbnRvIGEgbWFjcm8uCisKIDIwMTEtMDEtMjAgIE1hcmsgUm93ZSAgPG1y
b3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTGlua0J1ZmZlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5rQnVmZmVyLmgKaW5kZXggZTM4
YjlkNC4uYzVhN2Q1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9MaW5rQnVmZmVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmgKQEAgLTUwLDcgKzUwLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAvLyAgICogVGhlIGFk
ZHJlc3Mgb2YgYSBMYWJlbCBwb2ludGluZyBpbnRvIHRoZSBjb2RlIG1heSBiZSByZXNvbHZlZC4K
IC8vICAgKiBUaGUgdmFsdWUgcmVmZXJlbmNlZCBieSBhIERhdGFMYWJlbCBtYXkgYmUgc2V0Lgog
Ly8KLWNsYXNzIExpbmtCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGlua0J1
ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGlua0J1ZmZlcik7CiAgICAgdHlwZWRl
ZiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgQ29kZVJlZjsKICAgICB0eXBlZGVmIE1hY3JvQXNzZW1i
bGVyQ29kZVB0ciBDb2RlUHRyOwogICAgIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIExh
YmVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDdl
Y2E3MmEuLjFjZDA4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmgKQEAgLTI0Miw3ICsyNDIsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9CiAjZW5kaWYK
IAotICAgIGNsYXNzIENvZGVCbG9jayA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFz
cyBDb2RlQmxvY2sgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAg
ZnJpZW5kIGNsYXNzIEpJVDsKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIENvZGVCbG9jayhTY3Jp
cHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIENvZGVUeXBlLCBKU0dsb2JhbE9iamVjdCos
IFBhc3NSZWZQdHI8U291cmNlUHJvdmlkZXI+LCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIFN5bWJv
bFRhYmxlKiBzeW1ib2xUYWJsZSwgYm9vbCBpc0NvbnN0cnVjdG9yKTsKQEAgLTU3OCw3ICs1Nzks
OSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBTeW1ib2xUYWJsZSogbV9zeW1ib2xUYWJs
ZTsKIAotICAgICAgICBzdHJ1Y3QgUmFyZURhdGEgOiBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAg
c3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFZlY3RvcjxIYW5kbGVySW5mbz4gbV9leGNlcHRp
b25IYW5kbGVyczsKIAogICAgICAgICAgICAgLy8gUmFyZSBDb25zdGFudHMKQEAgLTU5OSw2ICs2
MDIsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIFZlY3RvcjxDYWxsUmV0dXJuT2Zm
c2V0VG9CeXRlY29kZU9mZnNldD4gbV9jYWxsUmV0dXJuSW5kZXhWZWN0b3I7CiAjZW5kaWYKICAg
ICAgICAgfTsKKyNpZiBQTEFURk9STShXSU4pCisgICAgICAgIGZyaWVuZCB2b2lkIFdURjo6ZGVs
ZXRlT3duZWRQdHI8UmFyZURhdGE+KFJhcmVEYXRhKik7CisjZW5kaWYKICAgICAgICAgT3duUHRy
PFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9JbnN0cnVjdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0luc3RydWN0aW9uLmgKaW5kZXggYzY0NjhhNS4uZjA3N2NiZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0luc3RydWN0aW9uLmgKQEAgLTU0LDcgKzU0LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xhc3MgU3RydWN0dXJlQ2hhaW47CiAKICAgICAvLyBT
dHJ1Y3R1cmUgdXNlZCBieSBvcF9nZXRfYnlfaWRfc2VsZl9saXN0IGFuZCBvcF9nZXRfYnlfaWRf
cHJvdG9fbGlzdCBpbnN0cnVjdGlvbiB0byBob2xkIGRhdGEgb2ZmIHRoZSBtYWluIG9wY29kZSBz
dHJlYW0uCi0gICAgc3RydWN0IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCA6IEZhc3RB
bGxvY0Jhc2UgeworICAgIHN0cnVjdCBQb2x5bW9ycGhpY0FjY2Vzc1N0cnVjdHVyZUxpc3Qgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHN0
cnVjdCBQb2x5bW9ycGhpY1N0dWJJbmZvIHsKICAgICAgICAgICAgIGJvb2wgaXNDaGFpbjsKICAg
ICAgICAgICAgIFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdFN0dWJSb3V0aW5lVHlwZSBz
dHViUm91dGluZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9T
YW1wbGluZ1Rvb2wuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TYW1wbGluZ1Rv
b2wuaAppbmRleCA4ZTNlZDllLi45Y2E1NGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU2FtcGxpbmdUb29sLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1NhbXBsaW5nVG9vbC5oCkBAIC0xNDIsNyArMTQyLDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBIb3N0Q2FsbFJlY29yZDsKICAgICAgICAgCiAjaWYg
RU5BQkxFKE9QQ09ERV9TQU1QTElORykKLSAgICAgICAgY2xhc3MgQ2FsbFJlY29yZCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIENhbGxSZWNvcmQgeworICAgICAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQ2FsbFJlY29yZCk7CiAgICAgICAgIHB1YmxpYzoKICAgICAg
ICAgICAgIENhbGxSZWNvcmQoU2FtcGxpbmdUb29sKiBzYW1wbGluZ1Rvb2wpCiAgICAgICAgICAg
ICAgICAgOiBtX3NhbXBsaW5nVG9vbChzYW1wbGluZ1Rvb2wpCkBAIC0xNzIsNyArMTczLDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH07CiAjZWxzZQotICAgICAg
ICBjbGFzcyBDYWxsUmVjb3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3Mg
Q2FsbFJlY29yZCB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsUmVjb3Jk
KTsKICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgQ2FsbFJlY29yZChTYW1wbGluZ1Rvb2wq
KQogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDhiMGNjNDAuLmRlMTZmOGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJTeW1ib2xUYWJsZS5oIgogI2lu
Y2x1ZGUgIkRlYnVnZ2VyLmgiCiAjaW5jbHVkZSAiTm9kZXMuaCIKLSNpbmNsdWRlIDx3dGYvRmFz
dEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1NlZ21lbnRlZFZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTg1LDcgKzg0
LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklEPiBwcm9wZXJ0
eVJlZ2lzdGVyOwogICAgIH07CiAKLSAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciA6IHB1Ymxp
YyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBCeXRlY29kZUdlbmVyYXRvciB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBE
ZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVj
bGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvUmVnaXN0ZXJJRC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdpc3RlcklELmgKaW5kZXggMzUzMmFkOC4u
NzhkNDlkMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9S
ZWdpc3RlcklELmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9SZWdp
c3RlcklELmgKQEAgLTMwLDEyICszMCwxMiBAQAogI2RlZmluZSBSZWdpc3RlcklEX2gKIAogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNs
YXNzIFJlZ2lzdGVySUQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFJlZ2lzdGVy
SUQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWdpc3RlcklEKTsKICAgICBwdWJs
aWM6CiAgICAgICAgIFJlZ2lzdGVySUQoKQogICAgICAgICAgICAgOiBtX3JlZkNvdW50KDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2FjaGVkQ2FsbC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0NhY2hlZENhbGwuaAppbmRleCBk
ZmJlNjU4Li43NDAwMDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvQ2FjaGVkQ2FsbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9DYWNoZWRDYWxsLmgKQEAgLTMyLDcgKzMyLDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5o
IgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICBjbGFzcyBDYWNoZWRDYWxsIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBDYWNoZWRDYWxsIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ2FjaGVkQ2FsbCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgQ2FjaGVkQ2FsbChDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNGdW5jdGlvbiogZnVu
Y3Rpb24sIGludCBhcmdDb3VudCkKICAgICAgICAgICAgIDogbV92YWxpZChmYWxzZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmgKaW5kZXggNDc3
OTBjZi4uNzUzZDkwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKICNkZWZpbmUgSW50ZXJwcmV0ZXJfaAog
CiAjaW5jbHVkZSAiQXJnTGlzdC5oIgotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKICNpbmNs
dWRlICJKU0NlbGwuaCIKICNpbmNsdWRlICJKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNPYmplY3Qu
aCIKQEAgLTY1LDcgKzY0LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBlbnVtIHsgTWF4TGFy
Z2VUaHJlYWRSZWVudHJ5RGVwdGggPSAyNTYsIE1heFNtYWxsVGhyZWFkUmVlbnRyeURlcHRoID0g
MzIgfTsKIAotICAgIGNsYXNzIEludGVycHJldGVyIDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgIGNsYXNzIEludGVycHJldGVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgICAgIGZyaWVuZCBjbGFzcyBKSVQ7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBDYWNoZWRD
YWxsOwogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9SZWdpc3Rlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1Jl
Z2lzdGVyLmgKaW5kZXggMzhkMTY0Ny4uMzk0NDY0MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL1JlZ2lzdGVyLmgKQEAgLTMxLDcgKzMxLDYgQEAKIAogI2luY2x1ZGUg
IkpTVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgogCiBuYW1lc3Bh
Y2UgSlNDIHsKQEAgLTQ3LDcgKzQ2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICB0eXBlZGVm
IEV4ZWNTdGF0ZSBDYWxsRnJhbWU7CiAKLSAgICBjbGFzcyBSZWdpc3RlciA6IHB1YmxpYyBXVEY6
OkZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFJlZ2lzdGVyIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBSZWdpc3RlcigpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvUmVnaXN0ZXJGaWxlLmgKaW5kZXgg
NzVmZDc4NC4uMzQ5OGU5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL1JlZ2lzdGVyRmlsZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9SZWdpc3RlckZpbGUuaApAQCAtODksNyArODksOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgIGNsYXNzIEpTR2xvYmFsT2JqZWN0OwogCi0gICAgY2xhc3MgUmVnaXN0ZXJGaWxlIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBSZWdpc3RlckZpbGUgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZWdpc3RlckZpbGUpOwogICAgICAgICBmcmllbmQgY2xhc3MgSklU
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBDYWxsRnJhbWVIZWFkZXJFbnRyeSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggZGZkYjIyYy4uZDQxNDVjMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgIGNsYXNzIFJlZ0V4cDsKIAotICAgIGNsYXNzIExleGVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBMZXhlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKExleGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICAvLyBDaGFyYWN0ZXIgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KICAgICAgICAgc3RhdGljIGJv
b2wgaXNXaGl0ZVNwYWNlKGludCBjaGFyYWN0ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlcy5oCmluZGV4IDU0YjcyMzEuLjZlNzNjMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L05vZGVzLmgKQEAgLTEzNzYsNyArMTM3Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBQ
YXJhbWV0ZXJOb2RlKiBtX25leHQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBTY29wZU5vZGVEYXRh
IDogRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IFNjb3BlTm9kZURhdGEgeworICAgICAgICBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVj
bGFyYXRpb25TdGFja3M6OlZhclN0YWNrIFZhclN0YWNrOwogICAgICAgICB0eXBlZGVmIERlY2xh
cmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrIEZ1bmN0aW9uU3RhY2s7CiAKQEAgLTE0NzIsNiAr
MTQ3NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIH07CiAKICAgICBjbGFzcyBGdW5jdGlvblBh
cmFtZXRlcnMgOiBwdWJsaWMgVmVjdG9yPElkZW50aWZpZXI+LCBwdWJsaWMgUmVmQ291bnRlZDxG
dW5jdGlvblBhcmFtZXRlcnM+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxGdW5jdGlvblBhcmFtZXRlcnM+
IGNyZWF0ZShQYXJhbWV0ZXJOb2RlKiBmaXJzdFBhcmFtZXRlcikgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IEZ1bmN0aW9uUGFyYW1ldGVycyhmaXJzdFBhcmFtZXRlcikpOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IGIyNTdiNjguLjU4Mzk4ZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtNDUsOCArNDUsMTAgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFBhcnNlckFyZW5hRGF0YSA6
IFBhcnNlckFyZW5hRGVsZXRhYmxlIHsgVCBkYXRhOyB9OwogCi0gICAgY2xhc3MgUGFyc2VyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYXJzZXIgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CisgICAgICAgIFBhcnNlcigpIHsgfQogICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgUGFyc2Vk
Tm9kZT4KICAgICAgICAgUGFzc1JlZlB0cjxQYXJzZWROb2RlPiBwYXJzZShKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRGVidWdnZXIqLCBFeGVjU3RhdGUqLCBjb25zdCBTb3Vy
Y2VDb2RlJiBzb3VyY2UsIEZ1bmN0aW9uUGFyYW1ldGVycyosIEpTUGFyc2VyU3RyaWN0bmVzcyBz
dHJpY3RuZXNzLCBKU09iamVjdCoqIGV4Y2VwdGlvbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAppbmRleCA3YzE4MDllLi44MmZiODA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5oCkBAIC0zNCw3ICszNCw4IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFBhcnNlckFyZW5hRGVsZXRhYmxlOwogICAgIGNsYXNz
IFBhcnNlckFyZW5hUmVmQ291bnRlZDsKIAotICAgIGNsYXNzIElkZW50aWZpZXJBcmVuYSA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIEFMV0FZU19J
TkxJTkUgY29uc3QgSWRlbnRpZmllciYgbWFrZUlkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgY29u
c3QgVUNoYXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpOwogICAgICAgICBjb25zdCBJZGVu
dGlmaWVyJiBtYWtlTnVtZXJpY0lkZW50aWZpZXIoSlNHbG9iYWxEYXRhKiwgZG91YmxlIG51bWJl
cik7CkBAIC01OSw3ICs2MCw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9p
ZGVudGlmaWVycy5sYXN0KCk7CiAgICAgfQogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmEgOiBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFyc2VyQXJlbmEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYXJzZXJBcmVuYSk7CiAgICAgcHVibGljOgogICAgICAgICBQYXJzZXJBcmVuYSgp
OwogICAgICAgICB+UGFyc2VyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGNyZS9wY3Jl
X2V4ZWMuY3BwCmluZGV4IDc4OWY4MGEuLmI3MDE4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wY3JlL3BjcmVfZXhlYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BjcmUvcGNyZV9leGVjLmNwcApAQCAtMTEyLDcgKzExMiw5IEBAIHN0cnVjdCBCcmFja2V0Q2hh
aW5Ob2RlIHsKICAgICBjb25zdCBVQ2hhciogYnJhY2tldFN0YXJ0OwogfTsKIAotc3RydWN0IE1h
dGNoRnJhbWUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBNYXRjaEZyYW1lIHsKKyAgICBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBSZXR1cm5Mb2NhdGlvbiByZXR1cm5M
b2NhdGlvbjsKICAgICBzdHJ1Y3QgTWF0Y2hGcmFtZSogcHJldmlvdXNGcmFtZTsKICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wcm9maWxlci9DYWxsSWRlbnRpZmllci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVyL0NhbGxJZGVudGlmaWVyLmgKaW5kZXgg
NzZjMTQ3MC4uYTk4MjdjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2Zp
bGVyL0NhbGxJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Byb2ZpbGVy
L0NhbGxJZGVudGlmaWVyLmgKQEAgLTI4LDEzICsyOCwxNCBAQAogI2RlZmluZSBDYWxsSWRlbnRp
Zmllcl9oCiAKICNpbmNsdWRlIDxydW50aW1lL1VTdHJpbmcuaD4KLSNpbmNsdWRlICJGYXN0QWxs
b2NCYXNlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLSAgICBzdHJ1Y3QgQ2FsbElk
ZW50aWZpZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgc3RydWN0IENhbGxJZGVudGlm
aWVyIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGljOgogICAg
ICAgICBVU3RyaW5nIG1fbmFtZTsKICAgICAgICAgVVN0cmluZyBtX3VybDsKICAgICAgICAgdW5z
aWduZWQgbV9saW5lTnVtYmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3By
b2ZpbGVyL1Byb2ZpbGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJvZmlsZXIvUHJvZmls
ZXIuaAppbmRleCBmOWMyY2NiLi5mODg3NDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcHJvZmlsZXIvUHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcHJv
ZmlsZXIvUHJvZmlsZXIuaApAQCAtNDQsNyArNDQsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICBj
bGFzcyBVU3RyaW5nOwogICAgIHN0cnVjdCBDYWxsSWRlbnRpZmllcjsgICAgCiAKLSAgICBjbGFz
cyBQcm9maWxlciA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQcm9maWxlciB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFByb2ZpbGVyKiogZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNlKCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJnTGlzdC5oCmluZGV4IGNkNTYzYTIuLjU3ZTNj
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ0xpc3QuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcmdMaXN0LmgKQEAgLTI1LDE0ICsy
NSwxNCBAQAogI2luY2x1ZGUgIkNhbGxGcmFtZS5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCiAj
aW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgTWFy
a1N0YWNrOwogCi0gICAgY2xhc3MgTWFya2VkQXJndW1lbnRCdWZmZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIE1hcmtlZEFyZ3VtZW50QnVmZmVyIHsKKyAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWFya2VkQXJndW1lbnRCdWZmZXIpOwogICAgIHByaXZhdGU6CiAgICAg
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbmxpbmVDYXBhY2l0eSA9IDg7CiAgICAgICAgIHR5
cGVkZWYgVmVjdG9yPFJlZ2lzdGVyLCBpbmxpbmVDYXBhY2l0eT4gVmVjdG9yVHlwZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FyZ3VtZW50cy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKaW5kZXggNzE1YTJhYy4uZmU5MDBh
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJndW1lbnRzLmgKQEAgLTMzLDcg
KzMzLDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0gICAgc3RydWN0IEFyZ3VtZW50c0RhdGEg
OiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEFyZ3VtZW50c0RhdGEgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShBcmd1bWVudHNEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CisgICAgcHVibGljOgorICAgICAgICBBcmd1bWVudHNEYXRhKCkgeyB9CiAgICAgICAgIEpTQWN0
aXZhdGlvbiogYWN0aXZhdGlvbjsKIAogICAgICAgICB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRp
b25PcHRpbWl6ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0JhdGNoZWRUcmFu
c2l0aW9uT3B0aW1pemVyLmgKaW5kZXggNzQwODlhNS4uZGIyZDFkNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CYXRjaGVkVHJhbnNpdGlvbk9wdGlt
aXplci5oCkBAIC0yNywxMiArMjcsMTIgQEAKICNpZm5kZWYgQmF0Y2hlZFRyYW5zaXRpb25PcHRp
bWl6ZXJfaAogI2RlZmluZSBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplcl9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlICJKU09iamVjdC5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotICAgIGNsYXNzIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKKyAgICBjbGFzcyBCYXRjaGVkVHJhbnNpdGlvbk9wdGltaXplciB7CisgICAg
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKTsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEJhdGNoZWRUcmFuc2l0aW9uT3B0aW1pemVyKEpTT2JqZWN0KiBv
YmplY3QpCiAgICAgICAgICAgICA6IG1fb2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oCmluZGV4IDFlMjJiNmEuLjY1
ODdhOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklk
ZW50aWZpZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRl
bnRpZmllcnMuaApAQCAtODQsNyArODQsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotICAgIGNs
YXNzIENvbW1vbklkZW50aWZpZXJzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBD
b21tb25JZGVudGlmaWVycyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENvbW1vbklk
ZW50aWZpZXJzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKICAgICAg
ICAgQ29tbW9uSWRlbnRpZmllcnMoSlNHbG9iYWxEYXRhKik7CiAgICAgICAgIGZyaWVuZCBjbGFz
cyBKU0dsb2JhbERhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9IZWFwLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9IZWFwLmgKaW5kZXggMjQz
YmJhMy4uM2UxZDg4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SGVhcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0hlYXAuaApAQCAtNDUs
NyArNDUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGVudW0gT3BlcmF0aW9uSW5Qcm9ncmVz
cyB7IE5vT3BlcmF0aW9uLCBBbGxvY2F0aW9uLCBDb2xsZWN0aW9uIH07CiAKLSAgICBjbGFzcyBI
ZWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBIZWFwIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoSGVhcCk7CiAgICAgcHVibGljOgogICAgICAgICB2b2lkIGRlc3Ry
b3koKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKaW5kZXggYTIyYjBhYS4uMjRiYzJmOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC00NjUsNyArNDY1LDggQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHJldHVybiBuZXcgKGV4ZWMpIEpTQXJyYXkoZXhlYy0+bGV4aWNhbEdsb2Jh
bE9iamVjdCgpLT5hcnJheVN0cnVjdHVyZSgpLCB2YWx1ZXMpOwogICAgIH0KIAotICAgIGNsYXNz
IER5bmFtaWNHbG9iYWxPYmplY3RTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIER5bmFt
aWNHbG9iYWxPYmplY3RTY29wZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNHbG9iYWxPYmplY3Qq
IGR5bmFtaWNHbG9iYWxPYmplY3QpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0xvY2suaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTG9j
ay5oCmluZGV4IDA1YjM4OGMuLjdiMDdiNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTTG9jay5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTTG9jay5oCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgZW51bSBK
U0xvY2tCZWhhdmlvciB7IFNpbGVuY2VBc3NlcnRpb25zT25seSwgTG9ja0ZvclJlYWwgfTsKIAot
ICAgIGNsYXNzIEpTTG9jayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSlNMb2Nr
IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNMb2NrKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEpTTG9jayhFeGVjU3RhdGUqKTsKICAgICAgICAgSlNMb2NrKEpTR2xvYmFsRGF0YSop
OwpAQCAtODksNyArOTAsOCBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBKU0xvY2tCZWhh
dmlvciBtX2xvY2tCZWhhdmlvcjsKIAotICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBEcm9wQWxsTG9ja3MgeworICAgICAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRHJvcEFsbExvY2tzKTsKICAgICAgICAgcHVibGljOgog
ICAgICAgICAgICAgRHJvcEFsbExvY2tzKEV4ZWNTdGF0ZSogZXhlYyk7CiAgICAgICAgICAgICBE
cm9wQWxsTG9ja3MoSlNMb2NrQmVoYXZpb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09OT2JqZWN0LmNwcAppbmRleCA5ZTYzMDI3Li5kZjRiZTUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcApAQCAtNzAsNyArNzAsOCBAQCBw
cml2YXRlOgogICAgIG11dGFibGUgSlNWYWx1ZSBtX3ZhbHVlOwogfTsKIAotY2xhc3MgU3RyaW5n
aWZpZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5naWZpZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFN0cmluZ2lmaWVyKTsKIHB1YmxpYzoKICAgICBTdHJpbmdpZmll
cihFeGVjU3RhdGUqLCBKU1ZhbHVlIHJlcGxhY2VyLCBKU1ZhbHVlIHNwYWNlKTsKICAgICB+U3Ry
aW5naWZpZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0xv
b2t1cC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKaW5kZXggOWJj
ODFkNC4uMGQ2ZDk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TG9va3VwLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTG9va3VwLmgKQEAg
LTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdHlwZWRlZiBQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYyBHZXRGdW5jdGlvbjsKICAgICB0eXBlZGVmIHZvaWQgKCpQdXRGdW5jdGlv
bikoRXhlY1N0YXRlKiwgSlNPYmplY3QqIGJhc2VPYmplY3QsIEpTVmFsdWUgdmFsdWUpOwogCi0g
ICAgY2xhc3MgSGFzaEVudHJ5IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIEhh
c2hFbnRyeSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgdm9pZCBpbml0aWFsaXplKFN0cmluZ0ltcGwqIGtleSwgdW5zaWduZWQgY2hhciBh
dHRyaWJ1dGVzLCBpbnRwdHJfdCB2MSwgaW50cHRyX3QgdjIKICNpZiBFTkFCTEUoSklUKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZVN0YWNrTWFya2Vy
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaApp
bmRleCBlODBmZTA1Li5iMTg2ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYWNoaW5lU3RhY2tNYXJrZXIuaApAQCAtMzQsNyArMzQsOCBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICBjbGFzcyBIZWFwOwogICAgIGNsYXNzIE1hcmtTdGFjazsKIAotICAgIGNsYXNz
IE1hY2hpbmVTdGFja01hcmtlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFj
aGluZVN0YWNrTWFya2VyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWFjaGluZVN0
YWNrTWFya2VyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hY2hpbmVTdGFja01hcmtlcihIZWFw
Kik7CiAgICAgICAgIH5NYWNoaW5lU3RhY2tNYXJrZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtTdGFjay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWFya1N0YWNrLmgKaW5kZXggN2JjY2FkZi4uZjU0Y2ZhNiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgCiAgICAgZW51bSBNYXJrU2V0UHJvcGVydGllcyB7IE1heUNvbnRhaW5O
dWxsVmFsdWVzLCBOb051bGxWYWx1ZXMgfTsKICAgICAKLSAgICBjbGFzcyBNYXJrU3RhY2sgOiBO
b25jb3B5YWJsZSB7CisgICAgY2xhc3MgTWFya1N0YWNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoTWFya1N0YWNrKTsKICAgICBwdWJsaWM6CiAgICAgICAgIE1hcmtTdGFjayh2b2lk
KiBqc0FycmF5VlB0cikKICAgICAgICAgICAgIDogbV9qc0FycmF5VlB0cihqc0FycmF5VlB0cikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01hcmtlZFNwYWNlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXJrZWRTcGFjZS5oCmluZGV4IDc4Zjkx
OGMuLjNiMGM1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
cmtlZFNwYWNlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya2VkU3Bh
Y2UuaApAQCAtNjMsNyArNjMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogICAgIH07
CiAKLSAgICBjbGFzcyBNYXJrZWRTcGFjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xh
c3MgTWFya2VkU3BhY2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShNYXJrZWRTcGFj
ZSk7CiAgICAgcHVibGljOgogICAgICAgICBNYXJrZWRTcGFjZShKU0dsb2JhbERhdGEqKTsKICAg
ICAgICAgdm9pZCBkZXN0cm95KFByb3RlY3RDb3VudFNldCYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggNThhYmRlNS4uMTcx
NGJkMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29u
c3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25z
dHJ1Y3Rvci5oCkBAIC0zMSw3ICszMSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIGNsYXNzIFJl
Z0V4cFByb3RvdHlwZTsKICAgICBzdHJ1Y3QgUmVnRXhwQ29uc3RydWN0b3JQcml2YXRlOwogCi0g
ICAgc3RydWN0IFJlZ0V4cENvbnN0cnVjdG9yUHJpdmF0ZSA6IEZhc3RBbGxvY0Jhc2UgeworICAg
IHN0cnVjdCBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CiAgICAgICAgIC8vIEdsb2JhbCBzZWFyY2ggY2FjaGUg
LyBzZXR0aW5ncwogICAgICAgICBSZWdFeHBDb25zdHJ1Y3RvclByaXZhdGUoKQogICAgICAgICAg
ICAgOiBsYXN0TnVtU3ViUGF0dGVybnMoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1JlZ0V4cE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVnRXhwT2JqZWN0LmgKaW5kZXggYzhjYWUyOC4uOTljODRkYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmgKQEAgLTU4LDcgKzU4LDkgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBtYXRjaChFeGVjU3RhdGUq
KTsKIAotICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSA6IEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICBzdHJ1Y3QgUmVnRXhwT2JqZWN0RGF0YSB7CisgICAgICAgICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKKyAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUmVnRXhwT2JqZWN0
RGF0YShOb25OdWxsUGFzc1JlZlB0cjxSZWdFeHA+IHJlZ0V4cCwgZG91YmxlIGxhc3RJbmRleCkK
ICAgICAgICAgICAgICAgICA6IHJlZ0V4cChyZWdFeHApCiAgICAgICAgICAgICAgICAgLCBsYXN0
SW5kZXgobGFzdEluZGV4KQpAQCAtNjgsNyArNzAsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgICAgIFJlZlB0cjxSZWdFeHA+IHJlZ0V4cDsKICAgICAgICAgICAgIGRvdWJsZSBsYXN0SW5k
ZXg7CiAgICAgICAgIH07Ci0KKyNpZiBQTEFURk9STShXSU4pCisgICAgICAgIGZyaWVuZCB2b2lk
IFdURjo6ZGVsZXRlT3duZWRQdHI8UmVnRXhwT2JqZWN0RGF0YT4oUmVnRXhwT2JqZWN0RGF0YSop
OworI2VuZGlmCiAgICAgICAgIE93blB0cjxSZWdFeHBPYmplY3REYXRhPiBkOwogICAgIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCAwYjE1YjY3
Li5iMTA0ZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29w
ZUNoYWluLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5o
CkBAIC0yMSw3ICsyMSw3IEBACiAjaWZuZGVmIFNjb3BlQ2hhaW5faAogI2RlZmluZSBTY29wZUNo
YWluX2gKIAotI2luY2x1ZGUgIkZhc3RBbGxvY0Jhc2UuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdEFs
bG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMzEsNyArMzEsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICBjbGFzcyBNYXJrU3RhY2s7CiAgICAgY2xhc3MgU2NvcGVDaGFpbkl0ZXJh
dG9yOwogICAgIAotICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworICAgIGNsYXNzIFNjb3BlQ2hhaW5Ob2RlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBTY29wZUNoYWluTm9kZShTY29wZUNoYWlu
Tm9kZSogbmV4dCwgSlNPYmplY3QqIG9iamVjdCwgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogZ2xvYmFsVGhpcykKICAgICAg
ICAgICAgIDogbmV4dChuZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAKaW5kZXggZjM1ODcyNy4uNTYxNDkzMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCkBAIC00MCw3ICs0MCw4IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc01hcmtlZChKU1N0cmluZyogc3RyaW5nKQogICAgIHJldHVybiBz
dHJpbmcgJiYgSGVhcDo6aXNDZWxsTWFya2VkKHN0cmluZyk7CiB9CiAKLWNsYXNzIFNtYWxsU3Ry
aW5nc1N0b3JhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU21hbGxTdHJpbmdzU3Rv
cmFnZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU21hbGxTdHJpbmdzU3RvcmFnZSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFNtYWxsU3RyaW5nc1N0b3JhZ2Uo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJp
bmdzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuaAppbmRl
eCBkMWViZmIxMy4uYWM4NGZlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU21hbGxTdHJpbmdzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U21hbGxTdHJpbmdzLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgY2xh
c3MgTWFya1N0YWNrOwogICAgIGNsYXNzIFNtYWxsU3RyaW5nc1N0b3JhZ2U7CiAKLSAgICBjbGFz
cyBTbWFsbFN0cmluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNtYWxsU3Ry
aW5ncyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNtYWxsU3RyaW5ncyk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU21hbGxTdHJpbmdzKCk7
CiAgICAgICAgIH5TbWFsbFN0cmluZ3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TeW1ib2xUYWJsZS5oCmluZGV4IDFiMTYzNmQuLjI2MzU1MDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N5bWJvbFRhYmxlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaApAQCAtMTIyLDYgKzEyMiw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQdHI8U3RyaW5nSW1wbD4sIFN5bWJv
bFRhYmxlRW50cnksIElkZW50aWZpZXJSZXBIYXNoLCBIYXNoVHJhaXRzPFJlZlB0cjxTdHJpbmdJ
bXBsPiA+LCBTeW1ib2xUYWJsZUluZGV4SGFzaFRyYWl0cz4gU3ltYm9sVGFibGU7CiAKICAgICBj
bGFzcyBTaGFyZWRTeW1ib2xUYWJsZSA6IHB1YmxpYyBTeW1ib2xUYWJsZSwgcHVibGljIFJlZkNv
dW50ZWQ8U2hhcmVkU3ltYm9sVGFibGU+IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRTeW1ib2xU
YWJsZT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNoYXJlZFN5bWJvbFRhYmxlKTsg
fQogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1dlYWtHQ01hcC5o
CmluZGV4IDJkNGU1OWQuLjMxNjc5NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1dlYWtHQ01hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1dlYWtHQ01hcC5oCkBAIC0zNSw3ICszNSw4IEBAIGNsYXNzIEpTQ2VsbDsKIAogLy8gQSBIYXNo
TWFwIHdob3NlIGdldCgpIGZ1bmN0aW9uIHJldHVybnMgZW1wdHlWYWx1ZSgpIGZvciBjZWxscyBh
d2FpdGluZyBkZXN0cnVjdGlvbi4KIHRlbXBsYXRlPHR5cGVuYW1lIEtleVR5cGUsIHR5cGVuYW1l
IE1hcHBlZFR5cGU+Ci1jbGFzcyBXZWFrR0NNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Citj
bGFzcyBXZWFrR0NNYXAgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIC8qCiAg
ICAgSW52YXJpYW50czoKICAgICAgICAgKiBBIHZhbHVlIGVudGVycyB0aGUgV2Vha0dDTWFwIG1h
cmtlZC4gKEd1YXJhbnRlZWQgYnkgc2V0KCkuKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvV2Vha0dDUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9XZWFrR0NQdHIuaAppbmRleCA2Y2M3NWE1Li40OTQ2ZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9XZWFrR0NQdHIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9XZWFrR0NQdHIuaApAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbmNsdWRl
ICJIZWFwLmgiCiAjaW5jbHVkZSAiR0NIYW5kbGUuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKIC8vIEEgc21hcnQgcG9pbnRlciB3aG9zZSBnZXQo
KSBmdW5jdGlvbiByZXR1cm5zIDAgZm9yIGNlbGxzIGF3YWl0aW5nIGRlc3RydWN0aW9uLgotdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIFdlYWtHQ1B0ciA6IE5vbmNvcHlhYmxlIHsKK3RlbXBs
YXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWFrR0NQdHIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdlYWtHQ1B0cik7CiBwdWJsaWM6CiAgICAgV2Vha0dDUHRyKCkKICAgICAgICAgOiBtX3B0
cigwKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJl
ZkNvdW50ZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Jvc3NUaHJlYWRSZWZDb3Vu
dGVkLmgKaW5kZXggMGMwZTk5Ny4uOGI2NTk3NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0Nyb3NzVGhyZWFkUmVmQ291bnRlZC5oCkBAIC01MSw3ICs1MSw4IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgIC8vIHdpdGggcmVzcGVjdCB0byB0aGUgb3JpZ2luYWwgYW5kIGFueSBv
dGhlciBjb3BpZXMuICBUaGUgdW5kZXJseWluZyBtX2RhdGEgaXMgam9pbnRseQogICAgIC8vIG93
bmVkIGJ5IHRoZSBvcmlnaW5hbCBpbnN0YW5jZSBhbmQgYWxsIGNvcGllcy4KICAgICB0ZW1wbGF0
ZTxjbGFzcyBUPgotICAgIGNsYXNzIENyb3NzVGhyZWFkUmVmQ291bnRlZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NUaHJlYWRSZWZDb3VudGVkIHsKKyAgICAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoQ3Jvc3NUaHJlYWRSZWZDb3VudGVkKTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENyb3NzVGhyZWFkUmVmQ291bnRlZDxUPiA+IGNyZWF0
ZShUKiBkYXRhKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0RhdGVNYXRoLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0RhdGVNYXRoLmgKaW5k
ZXggOGQwZDkzMi4uNDFiZDRmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9EYXRlTWF0aC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGF0ZU1hdGguaApA
QCAtNDQsNiArNDQsNyBAQAogI2RlZmluZSBEYXRlTWF0aF9oCiAKICNpbmNsdWRlIDxtYXRoLmg+
CisjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8dGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgpAQCAtMTIwLDcgKzEyMSw5IEBAIGRv
dWJsZSBwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzKEV4ZWNTdGF0ZSosIGNv
bnN0IGNoYXIqIGRhdGVTdHJpbmcpCiAKIC8vIEludGVudGlvbmFsbHkgb3ZlcnJpZGRpbmcgdGhl
IGRlZmF1bHQgdG0gb2YgdGhlIHN5c3RlbS4KIC8vIFRoZSBtZW1iZXJzIG9mIHRtIGRpZmZlciBv
biB2YXJpb3VzIG9wZXJhdGluZyBzeXN0ZW1zLgotc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIDog
Tm9uY29weWFibGUgeworc3RydWN0IEdyZWdvcmlhbkRhdGVUaW1lIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShHcmVnb3JpYW5EYXRlVGltZSk7CitwdWJsaWM6CiAgICAgR3JlZ29yaWFuRGF0
ZVRpbWUoKQogICAgICAgICA6IHNlY29uZCgwKQogICAgICAgICAsIG1pbnV0ZSgwKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9EZXF1ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9EZXF1ZS5oCmluZGV4IDc0NWUwYjYuLjFiMTZhZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRGVxdWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL0RlcXVlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgRGVxdWVDb25zdFJldmVyc2VJdGVyYXRvcjsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgY2xhc3MgRGVxdWUgOiBwdWJsaWMgRmFzdEFsbG9j
QmFzZSB7CisgICAgY2xhc3MgRGVxdWUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHR5cGVkZWYgRGVxdWVJdGVyYXRvcjxUPiBpdGVyYXRv
cjsKICAgICAgICAgdHlwZWRlZiBEZXF1ZUNvbnN0SXRlcmF0b3I8VD4gY29uc3RfaXRlcmF0b3I7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCmluZGV4IGJiMTgyNWUu
LmU0ODk5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9j
QmFzZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCkBA
IC0zMiw4ICszMiw4IEBACiAvLyBQcm92aWRlcyBjdXN0b21pemFibGUgb3ZlcnJpZGVzIG9mIGZh
c3RNYWxsb2MvZmFzdEZyZWUgYW5kIG9wZXJhdG9yIG5ldy9kZWxldGUKIC8vCiAvLyBQcm92aWRl
ZCBmdW5jdGlvbmFsaXR5OgorLy8gICAgTWFjcm86IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECiAv
LyAgICBuYW1lc3BhY2UgV1RGIHsKLS8vICAgICAgICBjbGFzcyBGYXN0QWxsb2NCYXNlOwogLy8K
IC8vICAgICAgICBUKiAgICBmYXN0TmV3PFQ+KCk7CiAvLyAgICAgICAgVCogICAgZmFzdE5ldzxU
PihhcmcpOwpAQCAtNDgsNyArNDgsMTYgQEAKIC8vIEZhc3REZWxldGUgYXNzdW1lcyB0aGF0IHRo
ZSB1bmRlcmx5aW5nCiAvLwogLy8gRXhhbXBsZSB1c2FnZToKLS8vICAgIGNsYXNzIFdpZGdldCA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsgLi4uIH07CisvLyAgICBjbGFzcyBXaWRnZXQgeworLy8g
ICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisvLyAgICAuLi4KKy8vICAgIH07CisvLwor
Ly8gICAgc3RydWN0IERhdGEgeworLy8gICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVECisv
LyAgICBwdWJsaWM6CisvLyAgICAuLi4KKy8vICAgIH07CiAvLwogLy8gICAgY2hhciogY2hhclB0
ciA9IGZhc3ROZXc8Y2hhcj4oKTsKIC8vICAgIGZhc3REZWxldGUoY2hhclB0cik7CkBAIC04Myw4
ICs5Miw2IEBACiAjaW5jbHVkZSAiRmFzdE1hbGxvYy5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMu
aCIKIAotbmFtZXNwYWNlIFdURiB7Ci0KICNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQg
XAogcHVibGljOiBcCiAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyBy
ZXR1cm4gcDsgfSBcCkBAIC0xMTUsMTEgKzEyMiwxMCBAQCBwdWJsaWM6IFwKICAgICAgICAgIDo6
V1RGOjpmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgOjpXVEY6OkludGVybmFsOjpBbGxv
Y1R5cGVDbGFzc05ld0FycmF5KTsgXAogICAgICAgICAgOjpXVEY6OmZhc3RGcmVlKHApOyBcCiAg
ICAgfSBcCi1wcml2YXRlOgorcHJpdmF0ZTogXAordHlwZWRlZiBpbnQgVGhpc0lzSGVyZVRvRm9y
Y2VBU2VtaWNvbG9uQWZ0ZXJUaGlzTWFjcm8KIAotY2xhc3MgRmFzdEFsbG9jQmFzZSB7Ci0gICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQgIAotfTsKK25hbWVzcGFjZSBXVEYgewogCiAgICAgLy8g
ZmFzdE5ldyAvIGZhc3REZWxldGUKIApAQCAtNDEwLDcgKzQxNiw2IEBAIGNsYXNzIEZhc3RBbGxv
Y0Jhc2UgewogCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAotdXNpbmcgV1RGOjpGYXN0QWxsb2NCYXNl
OwogdXNpbmcgV1RGOjpmYXN0RGVsZXRlU2tpcHBpbmdEZXN0cnVjdG9yOwogCiAjZW5kaWYgLy8g
RmFzdEFsbG9jQmFzZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hh
c2hDb3VudGVkU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hDb3VudGVkU2V0
LmgKaW5kZXggNGVkNzVjNS4uYjk3ZDhjOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoQ291bnRlZFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
SGFzaENvdW50ZWRTZXQuaApAQCAtMjIsMTQgKzIyLDE0IEBACiAjZGVmaW5lIFdURl9IYXNoQ291
bnRlZFNldF9oCiAKICNpbmNsdWRlICJBc3NlcnRpb25zLmgiCi0jaW5jbHVkZSAiRmFzdEFsbG9j
QmFzZS5oIgogI2luY2x1ZGUgIkhhc2hNYXAuaCIKICNpbmNsdWRlICJWZWN0b3IuaCIKIAogbmFt
ZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgSGFz
aEZ1bmN0aW9ucyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlPjo6SGFzaCwKLSAgICAgICAg
dHlwZW5hbWUgVHJhaXRzID0gSGFzaFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNl
dCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICAgICAgdHlwZW5hbWUgVHJhaXRzID0gSGFz
aFRyYWl0czxWYWx1ZT4gPiBjbGFzcyBIYXNoQ291bnRlZFNldCB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxW
YWx1ZSwgdW5zaWduZWQsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cz4gSW1wbFR5cGU7CiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9IYXNoTWFwLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAppbmRleCAwOTA5NGQxLi43NzMxNTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hNYXAuaApAQCAtMjksNyArMjksOCBAQCBuYW1l
c3BhY2UgV1RGIHsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleUFyZywgdHlwZW5hbWUgTWFw
cGVkQXJnLCB0eXBlbmFtZSBIYXNoQXJnID0gdHlwZW5hbWUgRGVmYXVsdEhhc2g8S2V5QXJnPjo6
SGFzaCwKICAgICAgICAgdHlwZW5hbWUgS2V5VHJhaXRzQXJnID0gSGFzaFRyYWl0czxLZXlBcmc+
LCB0eXBlbmFtZSBNYXBwZWRUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPE1hcHBlZEFyZz4gPgotICAg
IGNsYXNzIEhhc2hNYXAgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgSGFzaE1h
cCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAg
ICAgIHR5cGVkZWYgS2V5VHJhaXRzQXJnIEtleVRyYWl0czsKICAgICAgICAgdHlwZWRlZiBNYXBw
ZWRUcmFpdHNBcmcgTWFwcGVkVHJhaXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9IYXNoU2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApp
bmRleCA2NjYzOWU0Li5iZTZiOTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0hhc2hTZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0hhc2hTZXQuaApA
QCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgSWRlbnRpdHlFeHRyYWN0b3I7CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBWYWx1
ZUFyZywgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6
SGFzaCwKLSAgICAgICAgdHlwZW5hbWUgVHJhaXRzQXJnID0gSGFzaFRyYWl0czxWYWx1ZUFyZz4g
PiBjbGFzcyBIYXNoU2V0IDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgICAgICB0eXBlbmFt
ZSBUcmFpdHNBcmcgPSBIYXNoVHJhaXRzPFZhbHVlQXJnPiA+IGNsYXNzIEhhc2hTZXQgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgogICAgICAgICB0eXBl
ZGVmIEhhc2hBcmcgSGFzaEZ1bmN0aW9uczsKICAgICAgICAgdHlwZWRlZiBUcmFpdHNBcmcgVmFs
dWVUcmFpdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNo
U2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0xpc3RIYXNoU2V0LmgKaW5kZXggZTE0
YWM0NS4uZTkxNmVmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9MaXN0
SGFzaFNldC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTGlzdEhhc2hTZXQuaApA
QCAtNTIsNyArNTIsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBW
YWx1ZUFyZywgc2l6ZV90IGlubGluZUNhcGFjaXR5PiBzdHJ1Y3QgTGlzdEhhc2hTZXROb2RlQWxs
b2NhdG9yOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlQXJnLCBzaXplX3QgaW5saW5lQ2Fw
YWNpdHksIHR5cGVuYW1lIEhhc2hBcmc+IHN0cnVjdCBMaXN0SGFzaFNldE5vZGVIYXNoRnVuY3Rp
b25zOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eSA9IDI1NiwgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVl
QXJnPjo6SGFzaD4gY2xhc3MgTGlzdEhhc2hTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVmFsdWVBcmcsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDI1
NiwgdHlwZW5hbWUgSGFzaEFyZyA9IHR5cGVuYW1lIERlZmF1bHRIYXNoPFZhbHVlQXJnPjo6SGFz
aD4gY2xhc3MgTGlzdEhhc2hTZXQgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIExpc3RIYXNoU2V0Tm9kZTxWYWx1ZUFyZywg
aW5saW5lQ2FwYWNpdHk+IE5vZGU7CiAgICAgICAgIHR5cGVkZWYgTGlzdEhhc2hTZXROb2RlQWxs
b2NhdG9yPFZhbHVlQXJnLCBpbmxpbmVDYXBhY2l0eT4gTm9kZUFsbG9jYXRvcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL0xvY2tlci5oCmluZGV4IDQxODEzZDMuLmM0NjViOTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTG9ja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9Mb2NrZXIuaApAQCAtMzIsNyArMzIsOCBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAot
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIExvY2tlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgTG9ja2VyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShMb2NrZXIpOwogcHVibGljOgogICAgIExvY2tlcihUJiBsb2NrYWJsZSkgOiBtX2xv
Y2thYmxlKGxvY2thYmxlKSB7IG1fbG9ja2FibGUubG9jaygpOyB9CiAgICAgfkxvY2tlcigpIHsg
bV9sb2NrYWJsZS51bmxvY2soKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9NZXNzYWdlUXVldWUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTWVzc2FnZVF1
ZXVlLmgKaW5kZXggMTQxMDBjOS4uN2MxOGEwYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9NZXNzYWdlUXVldWUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L01lc3NhZ2VRdWV1ZS5oCkBAIC00OCw3ICs0OCw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIC8v
IHdoZW4gbWVzc2FnZXMgYXJlIGZldGNoZWQgZnJvbSB0aGUgcXVldWUuCiAgICAgLy8gRXNzZW50
aWFsbHksIE1lc3NhZ2VRdWV1ZSBhY3RzIGFzIGEgcXVldWUgb2YgT3duUHRyPERhdGFUeXBlPi4K
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBEYXRhVHlwZT4KLSAgICBjbGFzcyBNZXNzYWdlUXVldWUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VRdWV1ZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VRdWV1ZSk7CiAgICAgcHVibGljOgogICAgICAg
ICBNZXNzYWdlUXVldWUoKSA6IG1fa2lsbGVkKGZhbHNlKSB7IH0KICAgICAgICAgfk1lc3NhZ2VR
dWV1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJs
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Ob25jb3B5YWJsZS5oCmluZGV4IDI4NWVk
MmUuLmNjNmJjNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvTm9uY29w
eWFibGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL05vbmNvcHlhYmxlLmgKQEAg
LTQxLDIzICs0MSw0IEBACiAgICAgICAgICAgICBDbGFzc05hbWUmIG9wZXJhdG9yPShjb25zdCBD
bGFzc05hbWUmKQogI2VuZGlmCiAKLS8vIFdlIGRvbid0IHdhbnQgYXJndW1lbnQtZGVwZW5kZW50
IGxvb2t1cCB0byBwdWxsIGluIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgV1RGCi0vLyBuYW1lc3BhY2Ug
d2hlbiB5b3UgdXNlIE5vbmNvcHlhYmxlLCBzbyBwdXQgaXQgaW4gaXRzIG93biBuYW1lc3BhY2Uu
Ci0KLSNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCi0KLW5hbWVzcGFjZSBXVEZOb25jb3B5YWJs
ZSB7Ci0KLSAgICBjbGFzcyBOb25jb3B5YWJsZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKLSAg
ICAgICAgTm9uY29weWFibGUoY29uc3QgTm9uY29weWFibGUmKTsKLSAgICAgICAgTm9uY29weWFi
bGUmIG9wZXJhdG9yPShjb25zdCBOb25jb3B5YWJsZSYpOwotICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgTm9uY29weWFibGUoKSB7IH0KLSAgICAgICAgfk5vbmNvcHlhYmxlKCkgeyB9Ci0gICAgfTsK
LQotfSAvLyBuYW1lc3BhY2UgV1RGTm9uY29weWFibGUKLQotdXNpbmcgV1RGTm9uY29weWFibGU6
Ok5vbmNvcHlhYmxlOwotCiAjZW5kaWYgLy8gV1RGX05vbmNvcHlhYmxlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvT3duQXJyYXlQdHIuaAppbmRleCA2NDNiOTBiLi5kYmQzNGFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093bkFycmF5UHRyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25BcnJheVB0ci5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVz
cGFjZSBXVEYgewogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093bkFycmF5UHRyOwog
dGVtcGxhdGU8dHlwZW5hbWUgVD4gUGFzc093bkFycmF5UHRyPFQ+IGFkb3B0QXJyYXlQdHIoVCop
OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgT3duQXJyYXlQdHIgOiBwdWJsaWMgTm9u
Y29weWFibGUgewordGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGNsYXNzIE93bkFycmF5UHRyIHsKIHB1
YmxpYzoKICAgICB0eXBlZGVmIFQqIFB0clR5cGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvT3duRmFzdE1hbGxvY1B0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKaW5kZXggOGI2Y2JmNC4uOWQ0ODQxYSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25GYXN0TWFsbG9jUHRyLmgKQEAgLTIzLDExICsyMywx
MSBAQAogI2RlZmluZSBPd25GYXN0TWFsbG9jUHRyX2gKIAogI2luY2x1ZGUgIkZhc3RNYWxsb2Mu
aCIKLSNpbmNsdWRlICJOb25jb3B5YWJsZS5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIAotICAgIHRl
bXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIE93bkZhc3RNYWxsb2NQdHIgeworICAg
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShPd25GYXN0TWFsbG9jUHRyKTsKICAgICBwdWJsaWM6
CiAgICAgICAgIGV4cGxpY2l0IE93bkZhc3RNYWxsb2NQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikK
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT3duUHRyLmgKaW5kZXggY2RjMjc3Yy4uZmI1
OTQzMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Pd25QdHIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL093blB0ci5oCkBAIC0yMiw3ICsyMiw2IEBACiAj
ZGVmaW5lIFdURl9Pd25QdHJfaAogCiAjaW5jbHVkZSAiQXNzZXJ0aW9ucy5oIgotI2luY2x1ZGUg
Ik5vbmNvcHlhYmxlLmgiCiAjaW5jbHVkZSAiTnVsbFB0ci5oIgogI2luY2x1ZGUgIk93blB0ckNv
bW1vbi5oIgogI2luY2x1ZGUgIlR5cGVUcmFpdHMuaCIKQEAgLTM5LDcgKzM4LDcgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUGFzc093blB0cjsKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBQYXNzT3duUHRyPFQ+IGFkb3B0UHRyKFQqKTsKIAotICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIE93blB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgT3duUHRyIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9pbnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7
CiAgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZDb3VudGVkLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZkNvdW50ZWQuaAppbmRleCA4ZDhiMzAyLi5kYTE3OGIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZkNvdW50ZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZkNvdW50ZWQuaApAQCAtMjIsNiArMjIsNyBAQAogI2RlZmluZSBSZWZDb3Vu
dGVkX2gKIAogI2luY2x1ZGUgIkFzc2VydGlvbnMuaCIKKyNpbmNsdWRlICJGYXN0QWxsb2NCYXNl
LmgiCiAjaW5jbHVkZSAiTm9uY29weWFibGUuaCIKIAogbmFtZXNwYWNlIFdURiB7CkBAIC0xMzEs
NyArMTMyLDggQEAgaW5saW5lIHZvaWQgYWRvcHRlZChSZWZDb3VudGVkQmFzZSogb2JqZWN0KQog
CiAjZW5kaWYKIAotdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmVmQ291bnRlZCA6IHB1Ymxp
YyBSZWZDb3VudGVkQmFzZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIFJlZkNvdW50ZWQgOiBwdWJsaWMgUmVmQ291bnRlZEJhc2UgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFJlZkNvdW50ZWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICB2b2lkIGRlcmVmKCkKICAgICB7CkBAIC0xNDAsNiArMTQyLDcgQEAgcHVibGlj
OgogICAgIH0KIAogcHJvdGVjdGVkOgorICAgIFJlZkNvdW50ZWQoKSB7IH0KICAgICB+UmVmQ291
bnRlZCgpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IGQ1
N2Y4OGEuLjM1M2JkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVm
UHRyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMzYsNyAr
MzYsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgIGVudW0gSGFzaFRhYmxlRGVsZXRlZFZhbHVl
VHlwZSB7IEhhc2hUYWJsZURlbGV0ZWRWYWx1ZSB9OwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gY2xhc3MgUmVmUHRyIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IGNsYXNzIFJlZlB0ciB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgQUxXQVlTX0lOTElORSBSZWZQdHIoKSA6IG1fcHRyKDAp
IHsgfQogICAgICAgICBBTFdBWVNfSU5MSU5FIFJlZlB0cihUKiBwdHIpIDogbV9wdHIocHRyKSB7
IHJlZklmTm90TnVsbChwdHIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1JlZlB0ckhhc2hNYXAuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRySGFz
aE1hcC5oCmluZGV4IGI5ZTdlZWEuLmRiZWFiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvUmVmUHRySGFzaE1hcC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRySGFzaE1hcC5oCkBAIC00NSw3ICs0NSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IH07CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBNYXBwZWRBcmcsIHR5cGVu
YW1lIEhhc2hBcmcsIHR5cGVuYW1lIEtleVRyYWl0c0FyZywgdHlwZW5hbWUgTWFwcGVkVHJhaXRz
QXJnPgotICAgIGNsYXNzIEhhc2hNYXA8UmVmUHRyPFQ+LCBNYXBwZWRBcmcsIEhhc2hBcmcsIEtl
eVRyYWl0c0FyZywgTWFwcGVkVHJhaXRzQXJnPiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAg
ICBjbGFzcyBIYXNoTWFwPFJlZlB0cjxUPiwgTWFwcGVkQXJnLCBIYXNoQXJnLCBLZXlUcmFpdHNB
cmcsIE1hcHBlZFRyYWl0c0FyZz4geworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
ICAgICBwcml2YXRlOgogICAgICAgICB0eXBlZGVmIEtleVRyYWl0c0FyZyBLZXlUcmFpdHM7CiAg
ICAgICAgIHR5cGVkZWYgTWFwcGVkVHJhaXRzQXJnIE1hcHBlZFRyYWl0czsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRz
LmgKaW5kZXggM2FmODdhOC4uZWQxYmEyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzLmgKQEAgLTMxLDE0ICsz
MSwxNCBAQAogI2lmbmRlZiBUaHJlYWRJZGVudGlmaWVyRGF0YVB0aHJlYWRzX2gKICNkZWZpbmUg
VGhyZWFkSWRlbnRpZmllckRhdGFQdGhyZWFkc19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCiAv
LyBIb2xkcyBUaHJlYWRJZGVudGlmaWVyIGluIHRoZSB0aHJlYWQtc3BlY2lmaWMgc3RvcmFnZSBh
bmQgZW1wbG95cyBwdGhyZWFkcy1zcGVjaWZpYyAyLXBhc3MgZGVzdHJ1Y3Rpb24gdG8gcmVsaWFi
bHkgcmVtb3ZlCiAvLyBUaHJlYWRJZGVudGlmaWVyIGZyb20gdGhyZWFkTWFwLiBJdCBhc3N1bWVz
IHJlZ3VsYXIgVGhyZWFkU3BlY2lmaWMgdHlwZXMgZG9uJ3QgdXNlIG11bHRpcGxlLXBhc3MgZGVz
dHJ1Y3Rpb24uCi1jbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBUaHJlYWRJZGVudGlmaWVyRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoVGhyZWFkSWRlbnRpZmllckRhdGEpOwogcHVibGljOgogICAgIH5UaHJlYWRJZGVudGlmaWVy
RGF0YSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1RocmVhZFNh
ZmVTaGFyZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5o
CmluZGV4IDMzYzY2MTIuLmE2YTFjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvVGhyZWFkU2FmZVNoYXJlZC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
VGhyZWFkU2FmZVNoYXJlZC5oCkBAIC02MiwxMiArNjIsMTIgQEAKICNpbmNsdWRlICJQbGF0Zm9y
bS5oIgogCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oPgogCiBuYW1lc3BhY2Ug
V1RGIHsKIAotY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgVGhyZWFkU2FmZVNoYXJlZEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFRocmVhZFNhZmVTaGFyZWRCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgVGhyZWFkU2FmZVNoYXJlZEJhc2UoaW50IGluaXRpYWxSZWZDb3VudCA9IDEpCiAgICAg
ICAgIDogbV9yZWZDb3VudChpbml0aWFsUmVmQ291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZFNwZWNpZmljLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1RocmVhZFNwZWNpZmljLmgKaW5kZXggOTNlZDQ2Ni4uZmE5YTM5MyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpYy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkU3BlY2lmaWMuaApAQCAtNjEsNyArNjEsOCBAQCBuYW1l
c3BhY2UgV1RGIHsKIHZvaWQgVGhyZWFkU3BlY2lmaWNUaHJlYWRFeGl0KCk7CiAjZW5kaWYKIAot
dGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgOiBwdWJsaWMgTm9uY29w
eWFibGUgewordGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgVGhyZWFkU3BlY2lmaWMgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZFNwZWNpZmljKTsKIHB1YmxpYzoKICAgICBUaHJl
YWRTcGVjaWZpYygpOwogICAgIFQqIG9wZXJhdG9yLT4oKTsKQEAgLTg0LDcgKzg1LDkgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHN0YXRpYyBkZXN0cm95KHZvaWQqIHB0cik7CiAKICNpZiBVU0UoUFRI
UkVBRFMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IE9TKFdJTkRPV1MpCi0g
ICAgc3RydWN0IERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IERhdGEgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIERhdGEo
VCogdmFsdWUsIFRocmVhZFNwZWNpZmljPFQ+KiBvd25lcikgOiB2YWx1ZSh2YWx1ZSksIG93bmVy
KG93bmVyKSB7fQogI2lmIFBMQVRGT1JNKFFUKQogICAgICAgICB+RGF0YSgpIHsgb3duZXItPmRl
c3Ryb3kodGhpcyk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhy
ZWFkU3BlY2lmaWNXaW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVj
aWZpY1dpbi5jcHAKaW5kZXggZjJjMGNhZC4uZDcyOTk2YSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9UaHJlYWRTcGVjaWZpY1dpbi5jcHAKQEAgLTIxLDcgKzIxLDYgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlRocmVhZFNwZWNpZmljLmgiCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNpZiBVU0UoUFRIUkVBRFMpCiAjZXJyb3IgVGhpcyBm
aWxlIHNob3VsZCBub3QgYmUgY29tcGlsZWQgYnkgcG9ydHMgdGhhdCBkbyBub3QgdXNlIFdpbmRv
d3MgbmF0aXZlIFRocmVhZFNwZWNpZmljIGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9UaHJlYWRpbmcuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi9UaHJlYWRpbmcuY3BwCmluZGV4IDQ5ZGU1OWUuLmYyZTA1NjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1RocmVhZGluZy5jcHAKQEAgLTMwLDcgKzMwLDkgQEAKIAogbmFtZXNw
YWNlIFdURiB7CiAKLXN0cnVjdCBOZXdUaHJlYWRDb250ZXh0IDogRmFzdEFsbG9jQmFzZSB7Citz
dHJ1Y3QgTmV3VGhyZWFkQ29udGV4dCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Citw
dWJsaWM6CiAgICAgTmV3VGhyZWFkQ29udGV4dChUaHJlYWRGdW5jdGlvbiBlbnRyeVBvaW50LCB2
b2lkKiBkYXRhLCBjb25zdCBjaGFyKiBuYW1lKQogICAgICAgICA6IGVudHJ5UG9pbnQoZW50cnlQ
b2ludCkKICAgICAgICAgLCBkYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCmluZGV4IGMxMWE2Y2IuLjgwOWMzZTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVGhyZWFkaW5nUHJpbWl0aXZlcy5oCkBAIC0zNCw2
ICszNCw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm0uaCIKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRp
b25zLmg+CisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTG9j
a2VyLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKQEAgLTk2LDcgKzk3LDggQEAg
dHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVJlYWRXcml0ZUxvY2s7CiB0eXBlZGVmIHZvaWQqIFBsYXRm
b3JtQ29uZGl0aW9uOwogI2VuZGlmCiAgICAgCi1jbGFzcyBNdXRleCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBNdXRleCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTXV0ZXgpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBNdXRleCgpOwogICAgIH5NdXRl
eCgpOwpAQCAtMTEzLDcgKzExNSw4IEBAIHByaXZhdGU6CiAKIHR5cGVkZWYgTG9ja2VyPE11dGV4
PiBNdXRleExvY2tlcjsKIAotY2xhc3MgUmVhZFdyaXRlTG9jayA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSZWFkV3JpdGVMb2NrIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFk
V3JpdGVMb2NrKTsKIHB1YmxpYzoKICAgICBSZWFkV3JpdGVMb2NrKCk7CiAgICAgflJlYWRXcml0
ZUxvY2soKTsKQEAgLTEzMCw3ICsxMzMsOCBAQCBwcml2YXRlOgogICAgIFBsYXRmb3JtUmVhZFdy
aXRlTG9jayBtX3JlYWRXcml0ZUxvY2s7CiB9OwogCi1jbGFzcyBUaHJlYWRDb25kaXRpb24gOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkQ29uZGl0aW9uIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShUaHJlYWRDb25kaXRpb24pOwogcHVibGljOgogICAgIFRocmVhZENvbmRp
dGlvbigpOwogICAgIH5UaHJlYWRDb25kaXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvVmVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1ZlY3Rv
ci5oCmluZGV4IGY3Mzc5M2YuLjZkOGRkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvVmVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9WZWN0b3Iu
aApAQCAtMjc3LDcgKzI3Nyw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPgotICAgIGNsYXNzIFZlY3RvckJ1ZmZlckJhc2UgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIFZlY3RvckJ1ZmZlckJhc2UgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShWZWN0b3JCdWZmZXJCYXNlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHZv
aWQgYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQogICAgICAgICB7CkBAIC00ODgs
NyArNDg5LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgfTsKIAogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDA+Ci0gICAgY2xhc3MgVmVjdG9yIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworICAgIGNsYXNzIFZlY3RvciB7CisgICAgICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZhdGU6CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yQnVm
ZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCdWZmZXI7CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yVHlw
ZU9wZXJhdGlvbnM8VD4gVHlwZU9wZXJhdGlvbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1dURlRocmVhZERhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
V1RGVGhyZWFkRGF0YS5oCmluZGV4IDUyYzI2N2EuLjI0M2FhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvV1RGVGhyZWFkRGF0YS5oCkBAIC01Miw3ICs1Miw4IEBAIG5hbWVzcGFjZSBK
U0MgewogCiB0eXBlZGVmIEhhc2hNYXA8Y29uc3QgY2hhciosIFJlZlB0cjxTdHJpbmdJbXBsPiwg
UHRySGFzaDxjb25zdCBjaGFyKj4gPiBMaXRlcmFsSWRlbnRpZmllclRhYmxlOwogCi1jbGFzcyBJ
ZGVudGlmaWVyVGFibGUgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBJZGVudGlmaWVy
VGFibGUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIH5JZGVu
dGlmaWVyVGFibGUoKTsKIApAQCAtODUsNyArODYsOCBAQCBjbGFzcyBBdG9taWNTdHJpbmdUYWJs
ZTsKIAogdHlwZWRlZiB2b2lkICgqQXRvbWljU3RyaW5nVGFibGVEZXN0cnVjdG9yKShBdG9taWNT
dHJpbmdUYWJsZSopOwogCi1jbGFzcyBXVEZUaHJlYWREYXRhIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFdURlRocmVhZERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdURlRo
cmVhZERhdGEpOwogcHVibGljOgogICAgIFdURlRocmVhZERhdGEoKTsKICAgICB+V1RGVGhyZWFk
RGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvZHRvYS5jcHAKaW5kZXggYzg5YzAzNi4uYjViMTI2
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9kdG9hLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2R0b2EuY3BwCkBAIC00MTQsNyArNDE0LDEwIEBAIHN0
YXRpYyB2b2lkIG11bHQoQmlnSW50JiBhUmVmLCBjb25zdCBCaWdJbnQmIGJSZWYpCiAgICAgYVJl
ZiA9IGM7CiB9CiAKLXN0cnVjdCBQNU5vZGUgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgUDVOb2Rl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQNU5vZGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKKyAgICBQNU5vZGUoKSB7IH0KICAgICBCaWdJbnQgdmFsOwogICAgIFA1
Tm9kZSogbmV4dDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2dv
YmplY3QvR093blB0ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9nb2JqZWN0L0dPd25Q
dHIuaAppbmRleCBjZWMzZTQzLi40MTM2ZjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL2dvYmplY3QvR093blB0ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvZ29iamVjdC9HT3duUHRyLmgKQEAgLTQxLDcgKzQxLDggQEAgdGVtcGxhdGU8PiB2b2lkIGZy
ZWVPd25lZEdQdHI8R1BhdHRlcm5TcGVjPihHUGF0dGVyblNwZWMqKTsKIHRlbXBsYXRlPD4gdm9p
ZCBmcmVlT3duZWRHUHRyPEdEaXI+KEdEaXIqKTsKIHRlbXBsYXRlPD4gdm9pZCBmcmVlT3duZWRH
UHRyPEdGaWxlPihHRmlsZSopOwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093blB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgR093
blB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR093blB0cik7CiBwdWJsaWM6CiAgICAg
ZXhwbGljaXQgR093blB0cihUKiBwdHIgPSAwKSA6IG1fcHRyKHB0cikgeyB9CiAgICAgfkdPd25Q
dHIoKSB7IGZyZWVPd25lZEdQdHIobV9wdHIpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nQnVmZmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nQnVmZmVyLmgKaW5kZXggYTU0NmJmMy4uZTczZDM4ZSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdCdWZmZXIuaApAQCAtMzAsMTMgKzMw
LDEzIEBACiAjZGVmaW5lIFN0cmluZ0J1ZmZlcl9oCiAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2Rl
L1VuaWNvZGUuaD4KICNpbmNsdWRlIDxsaW1pdHM+CiAKIG5hbWVzcGFjZSBXVEYgewogCi1jbGFz
cyBTdHJpbmdCdWZmZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU3RyaW5nQnVmZmVy
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdHJpbmdCdWZmZXIpOwogcHVibGljOgogICAg
IGV4cGxpY2l0IFN0cmluZ0J1ZmZlcih1bnNpZ25lZCBsZW5ndGgpCiAgICAgICAgIDogbV9sZW5n
dGgobGVuZ3RoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0
cmluZ0ltcGxCYXNlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1w
bEJhc2UuaAppbmRleCA2NTY3NjcyLi4yNmJjMWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbEJhc2UuaApAQCAtMjYsMTIgKzI2LDEyIEBACiAjaWZu
ZGVmIFN0cmluZ0ltcGxCYXNlX2gKICNkZWZpbmUgU3RyaW5nSW1wbEJhc2VfaAogCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgog
CiBuYW1lc3BhY2UgV1RGIHsKIAotY2xhc3MgU3RyaW5nSW1wbEJhc2UgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU3RyaW5nSW1wbEJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN0cmluZ0ltcGxCYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
Ym9vbCBpc1N0cmluZ0ltcGwoKSB7IHJldHVybiAobV9yZWZDb3VudEFuZEZsYWdzICYgc19yZWZD
b3VudEludmFsaWRGb3JTdHJpbmdJbXBsKSAhPSBzX3JlZkNvdW50SW52YWxpZEZvclN0cmluZ0lt
cGw7IH0KICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQpA
QCAtNDUsOSArNDUsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEJ1ZmZlclNoYXJlZCwKICAgICB9
OwogCi0gICAgdXNpbmcgTm9uY29weWFibGU6Om9wZXJhdG9yIG5ldzsKLSAgICB2b2lkKiBvcGVy
YXRvciBuZXcoc2l6ZV90LCB2b2lkKiBpblBsYWNlKSB7IEFTU0VSVChpblBsYWNlKTsgcmV0dXJu
IGluUGxhY2U7IH0KLQogICAgIC8vIEZvciBTbWFsbFN0cmluZ1N0b3JhZ2UsIHdoaWNoIGFsbG9j
YXRlcyBhbiBhcnJheSBhbmQgdXNlcyBhbiBpbi1wbGFjZSBuZXcuCiAgICAgU3RyaW5nSW1wbEJh
c2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2Rl
L0NvbGxhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3Iu
aAppbmRleCBmZTZhODA5Li4wMGFiMTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3VuaWNvZGUvQ29sbGF0b3IuaApAQCAtMjksNiArMjksNyBAQAogI2lmbmRlZiBXVEZfQ29sbGF0
b3JfaAogI2RlZmluZSBXVEZfQ29sbGF0b3JfaAogCisjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jh
c2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KQEAgLTM5LDcgKzQwLDgg
QEAgc3RydWN0IFVDb2xsYXRvcjsKIAogbmFtZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBDb2xs
YXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ29sbGF0b3IgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb2xsYXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBSZXN1bHQgeyBFcXVhbCA9IDAsIEdyZWF0ZXIg
PSAxLCBMZXNzID0gLTEgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lh
cnIvWWFyckludGVycHJldGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySW50
ZXJwcmV0ZXIuaAppbmRleCBiZTcwM2E5Li5lZWE1MjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUveWFyci9ZYXJySW50ZXJwcmV0ZXIuaApAQCAtMjk5LDcgKzI5OSw4IEBAIHN0cnVjdCBC
eXRlVGVybSB7CiAgICAgfQogfTsKIAotY2xhc3MgQnl0ZURpc2p1bmN0aW9uIDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgQnl0ZURpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBCeXRlRGlzanVuY3Rpb24odW5zaWduZWQgbnVtU3Vi
cGF0dGVybnMsIHVuc2lnbmVkIGZyYW1lU2l6ZSkKICAgICAgICAgOiBtX251bVN1YnBhdHRlcm5z
KG51bVN1YnBhdHRlcm5zKQpAQCAtMzEyLDcgKzMxMyw5IEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCBtX2ZyYW1lU2l6ZTsKIH07CiAKLXN0cnVjdCBCeXRlY29kZVBhdHRlcm4gOiBGYXN0QWxsb2NC
YXNlIHsKK3N0cnVjdCBCeXRlY29kZVBhdHRlcm4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworcHVibGljOgogICAgIEJ5dGVjb2RlUGF0dGVybihQYXNzT3duUHRyPEJ5dGVEaXNqdW5j
dGlvbj4gYm9keSwgVmVjdG9yPEJ5dGVEaXNqdW5jdGlvbio+IGFsbFBhcmVudGhlc2VzSW5mbywg
WWFyclBhdHRlcm4mIHBhdHRlcm4sIEJ1bXBQb2ludGVyQWxsb2NhdG9yKiBhbGxvY2F0b3IpCiAg
ICAgICAgIDogbV9ib2R5KGJvZHkpCiAgICAgICAgICwgbV9pZ25vcmVDYXNlKHBhdHRlcm4ubV9p
Z25vcmVDYXNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIvWWFyclBh
dHRlcm4uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS95YXJyL1lhcnJQYXR0ZXJuLmgKaW5kZXgg
MjE3MmRkYS4uZDgwZjY5MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3lhcnIv
WWFyclBhdHRlcm4uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9ZYXJyUGF0dGVy
bi5oCkBAIC02Myw3ICs2Myw5IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotc3RydWN0IENoYXJh
Y3RlckNsYXNzIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgQ2hhcmFjdGVyQ2xhc3MgeworICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIC8vIEFsbCBDaGFyYWN0ZXJD
bGFzcyBpbnN0YW5jZXMgaGF2ZSB0byBoYXZlIHRoZSBmdWxsIHNldCBvZiBtYXRjaGVzIGFuZCBy
YW5nZXMsCiAgICAgLy8gdGhleSBtYXkgaGF2ZSBhbiBvcHRpb25hbCB0YWJsZSBmb3IgZmFzdGVy
IGxvb2t1cHMgKHdoaWNoIG11c3QgbWF0Y2ggdGhlCiAgICAgLy8gc3BlY2lmaWVkIG1hdGNoZXMg
YW5kIHJhbmdlcykKQEAgLTIwNCw3ICsyMDYsOSBAQCBzdHJ1Y3QgUGF0dGVyblRlcm0gewogICAg
IH0KIH07CiAKLXN0cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgOiBGYXN0QWxsb2NCYXNlIHsKK3N0
cnVjdCBQYXR0ZXJuQWx0ZXJuYXRpdmUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgogICAgIFBhdHRlcm5BbHRlcm5hdGl2ZShQYXR0ZXJuRGlzanVuY3Rpb24qIGRpc2p1
bmN0aW9uKQogICAgICAgICA6IG1fcGFyZW50KGRpc2p1bmN0aW9uKQogICAgICAgICAsIG1fb25j
ZVRocm91Z2goZmFsc2UpCkBAIC0yNDUsNyArMjQ5LDkgQEAgc3RydWN0IFBhdHRlcm5BbHRlcm5h
dGl2ZSA6IEZhc3RBbGxvY0Jhc2UgewogICAgIGJvb2wgbV9jb250YWluc0JPTCA6IDE7CiB9Owog
Ci1zdHJ1Y3QgUGF0dGVybkRpc2p1bmN0aW9uIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgUGF0
dGVybkRpc2p1bmN0aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
ICAgICBQYXR0ZXJuRGlzanVuY3Rpb24oUGF0dGVybkFsdGVybmF0aXZlKiBwYXJlbnQgPSAwKQog
ICAgICAgICA6IG1fcGFyZW50KHBhcmVudCkKICAgICAgICAgLCBtX2hhc0ZpeGVkU2l6ZShmYWxz
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA0NjVjZjQzLi5jMmVkMjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTEtMDEtMjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3Jp
bmcgb2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5n
IGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIg
KGJ1ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVwbGFjZXMg
Tm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5oZXJpdHMg
d2l0aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9uIGF0IHRo
ZSBuZWNlc3NhcnkgcGxhY2VzLgorCiAyMDExLTAxLTIwICBIYW5zIFdlbm5ib3JnICA8aGFuc0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAppbmRleCA2NzBkNmUwLi4w
MGU3ZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0
Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aApAQCAtNjAsNyArNjAsOCBAQCBzdHJ1Y3QgVGV4dE1hcmtlckRhdGEgewogCiBlbnVtIFBvc3RU
eXBlIHsgUG9zdFN5bmNocm9ub3VzbHksIFBvc3RBc3luY2hyb25vdXNseSB9OwogCi1jbGFzcyBB
WE9iamVjdENhY2hlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFYT2JqZWN0Q2FjaGUg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFYT2JqZWN0Q2FjaGUpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBBWE9iamVjdENhY2hlKGNvbnN0IERvY3VtZW50Kik7
CiAgICAgfkFYT2JqZWN0Q2FjaGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQcm92aWRlci5oCmluZGV4IGVhNjhkMTAuLjliYWU4
Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaApAQCAtMzYsNiArMzYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgY2xhc3MgQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIgOiBwdWJsaWMgU2NyaXB0
U291cmNlUHJvdmlkZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXI+IGNyZWF0ZShDYWNoZWRTY3JpcHQqIGNh
Y2hlZFNjcmlwdCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhY2hlZFNjcmlwdFNvdXJjZVByb3Zp
ZGVyKGNhY2hlZFNjcmlwdCkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0dDQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvR0NDb250
cm9sbGVyLmgKaW5kZXggNGMyNTQwNy4uOTFmMWU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvR0NDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvR0NDb250cm9sbGVyLmgKQEAgLTI2LDEyICsyNiwxMiBAQAogI2lmbmRlZiBHQ0NvbnRy
b2xsZXJfaAogI2RlZmluZSBHQ0NvbnRyb2xsZXJfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAg
Y2xhc3MgR0NDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBHQ0Nv
bnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHQ0NvbnRyb2xsZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgZnJpZW5kIEdDQ29udHJvbGxlciYgZ2ND
b250cm9sbGVyKCk7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNEZWJ1Z1dyYXBwZXJTZXQuaAppbmRleCA5NGI2Zjc4Li5lMTEzOGVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RlYnVnV3JhcHBlclNldC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRGVidWdXcmFwcGVyU2V0LmgKQEAgLTM3LDcgKzM3
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gICAgIC0gd3JhcHBlcnMgYmVpbmcgZGVsZXRl
ZCB3aXRob3V0IGJlaW5nIHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUKIC8vICAgICAtIHdyYXBwZXJz
IGJlaW5nIGNhY2hlZCB0d2ljZQogCi1jbGFzcyBKU0RlYnVnV3JhcHBlclNldCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBKU0RlYnVnV3JhcHBlclNldCB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoSlNEZWJ1Z1dyYXBwZXJTZXQpOwogICAgIGZyaWVuZCBjbGFzcyBXVEY6OlRocmVh
ZFNwZWNpZmljPEpTRGVidWdXcmFwcGVyU2V0PjsKIHB1YmxpYzoKICAgICBzdGF0aWMgSlNEZWJ1
Z1dyYXBwZXJTZXQmIHNoYXJlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAppbmRleCA4MTkzZDdjLi4zNDlkYzE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01haW5UaHJlYWRFeGVjU3RhdGUuaApA
QCAtMzAsMTEgKzMwLDExIEBACiAjaWZuZGVmIE5ERUJVRwogI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CiAjZW5kaWYKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1jbGFzcyBKU01haW5UaHJlYWRFeGVjU3RhdGUgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgSlNNYWluVGhyZWFkRXhlY1N0YXRlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShKU01haW5UaHJlYWRFeGVjU3RhdGUpOwogcHVibGljOgogICAgIHN0YXRpYyBKU0M6
OkV4ZWNTdGF0ZSogY3VycmVudFN0YXRlKCkKICAgICB7IApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NoZWR1bGVkQWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAppbmRleCA2YzlkMGJhLi41OWFkNmZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY2hlZHVsZWRBY3Rpb24uaApAQCAtNDEsNyArNDEs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgKiB0aW1lIGludGVydmFsLCBlaXRoZXIgb25j
ZSBvciByZXBlYXRlZGx5LiBVc2VkIGZvciB3aW5kb3cuc2V0VGltZW91dCgpCiAgICAgKiBhbmQg
d2luZG93LnNldEludGVydmFsKCkKICAgICAqLwotICAgIGNsYXNzIFNjaGVkdWxlZEFjdGlvbiA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2NoZWR1bGVkQWN0aW9uIHsKKyAgICAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NoZWR1bGVkQWN0aW9uKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc093blB0cjxTY2hlZHVs
ZWRBY3Rpb24+IGNyZWF0ZShKU0M6OkV4ZWNTdGF0ZSosIERPTVdyYXBwZXJXb3JsZCogaXNvbGF0
ZWRXb3JsZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENhY2hlZEZyYW1lRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmgKaW5kZXggMTVjMjNjNS4uNWY2OTFkOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTQwLDcgKzQw
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERPTVdpbmRvdzsKICAgICBjbGFz
cyBET01XcmFwcGVyV29ybGQ7CiAKLSAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTY3JpcHRDYWNoZWRGcmFtZURhdGEgewor
ICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHRDYWNoZWRGcmFtZURhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPCBSZWZQdHI8RE9N
V3JhcHBlcldvcmxkPiwgSlNDOjpQcm90ZWN0ZWRQdHI8SlNET01XaW5kb3c+ID4gSlNET01XaW5k
b3dTZXQ7CiAKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2Ny
aXB0RGVidWdTZXJ2ZXIuaAppbmRleCBkZTI3NGRiLi5iZGU0NzM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTU2LDcgKzU2LDggQEAg
Y2xhc3MgUGFnZUdyb3VwOwogY2xhc3MgU2NyaXB0RGVidWdMaXN0ZW5lcjsKIGNsYXNzIEphdmFT
Y3JpcHRDYWxsRnJhbWU7CiAKLWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpEZWJ1Z2dl
ciwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogSlNDOjpE
ZWJ1Z2dlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0RGVidWdTZXJ2ZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgU2NyaXB0RGVidWdT
ZXJ2ZXImIHNoYXJlZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaAppbmRleCAwNWU3YTI1Li5kNGRkNjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMyLDExICszMiwxMSBAQAogI2luY2x1ZGUgIlNj
cmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCi0jaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU2NyaXB0UHJv
ZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmlsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYgdGl0bGUpOwog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0U3RhdGUqIHN0
YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1NjcmlwdFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3Jp
cHRTdGF0ZS5oCmluZGV4IDBjMDg2MTEuLmUxOWMwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0U3RhdGUuaApAQCAtNTIsNyArNTIsOCBAQCBjbGFzcyBQYWdlOwogLy8gRm9y
IG5vdywgdGhlIHNlcGFyYXRpb24gaXMgcHVyZWx5IGJ5IGNvbnZlbnRpb24uCiB0eXBlZGVmIEpT
Qzo6RXhlY1N0YXRlIFNjcmlwdFN0YXRlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3RlZFB0ciB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIpOwogcHVi
bGljOgogICAgIGV4cGxpY2l0IFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKik7
CiAgICAgflNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKaW5kZXggNWQwMzMyOC4uNmUyZDdiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEu
aApAQCAtMjQsMTcgKzI0LDE4IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNp
bmNsdWRlICJET01PYmplY3RIYXNoVGFibGVNYXAuaCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVi
bGljIEpTQzo6SlNHbG9iYWxEYXRhOjpDbGllbnREYXRhLCBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsRGF0YTo6Q2xp
ZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZUpTQ2xpZW50RGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBKU0dsb2JhbERhdGFX
b3JsZEl0ZXJhdG9yOwogICAgIGZyaWVuZCB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEo
SlNDOjpKU0dsb2JhbERhdGEqKTsKIAogcHVibGljOgorICAgIFdlYkNvcmVKU0NsaWVudERhdGEo
KSB7IH0KICAgICB2aXJ0dWFsIH5XZWJDb3JlSlNDbGllbnREYXRhKCkKICAgICB7CiAgICAgICAg
IEFTU0VSVChtX3dvcmxkU2V0LmNvbnRhaW5zKG1fbm9ybWFsV29ybGQuZ2V0KCkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuaApp
bmRleCBiZTdkYTRkLi40NTc4OTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5oCkBAIC0zMSw3ICszMSw2IEBACiAKICNpbmNs
dWRlIDxydW50aW1lL1Byb3RlY3QuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFt
ZXNwYWNlIEpTQyB7CkBAIC00NSw3ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBj
bGFzcyBTY3JpcHRWYWx1ZTsKICAgICBjbGFzcyBXb3JrZXJDb250ZXh0OwogCi0gICAgY2xhc3Mg
V29ya2VyU2NyaXB0Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
V29ya2VyU2NyaXB0Q29udHJvbGxlciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdv
cmtlclNjcmlwdENvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIFdvcmtlclNjcmlwdENvbnRyb2xsZXIoV29ya2VyQ29udGV4dCopOwogICAg
ICAgICB+V29ya2VyU2NyaXB0Q29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvRE9NRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9N
RGF0YS5oCmluZGV4IDc4ZWRmOTIuLmIwNDI2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L0RPTURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01EYXRhLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIHRo
cmVhZC4gIFRoZSBET01EYXRhIGZvciB0aGUgbWFpbiB0aHJlYWQgYW5kIHRoZSBET01EYXRhIGZv
ciBjaGlsZCB0aHJlYWRzCiAgICAgLy8gdXNlIGRpZmZlcmVudCBzdWJjbGFzc2VzLgogICAgIC8v
Ci0gICAgY2xhc3MgRE9NRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRE9N
RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTURhdGEpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgRE9NRGF0YSgpOwogICAgICAgICB2aXJ0dWFsIH5ET01EYXRhKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCmluZGV4IGNmZTIyMGUuLmRiZWFk
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5oCkBAIC0xNDks
NyArMTQ5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIFRoaXMgY2xhc3MgZG9lc24n
dCBtYW5hZ2UgdGhlIGxpZmV0aW1lIG9mIHRoZSBzdG9yZS4gIFRoZSBkYXRhIHN0b3JlCiAgICAg
Ly8gbGlmZXRpbWUgaXMgbWFuYWdlZCBieSBzdWJjbGFzc2VzLgogICAgIC8vCi0gICAgY2xhc3Mg
RE9NRGF0YVN0b3JlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBET01EYXRhU3Rv
cmUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShET01EYXRhU3RvcmUpOwogICAgIHB1
YmxpYzoKICAgICAgICAgZW51bSBET01XcmFwcGVyTWFwVHlwZSB7CiAgICAgICAgICAgICBET01O
b2RlTWFwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2Fj
aGVkRnJhbWVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRG
cmFtZURhdGEuaAppbmRleCAxYWExZjYyLi4zNzZiNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaApAQCAtNjAsMTQgKzYwLDE0
IEBAIHB1YmxpYzoKIAogI2luY2x1ZGUgIk93bkhhbmRsZS5oIgogI2luY2x1ZGUgPHY4Lmg+Ci0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRnJhbWU7CiBjbGFzcyBET01XaW5kb3c7CiAKLWNsYXNzIFNjcmlwdENhY2hlZEZyYW1lRGF0
YSAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhICB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0Q2FjaGVkRnJhbWVEYXRhKTsKIHB1Ymxp
YzoKICAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUqKTsKICAgICB+U2NyaXB0Q2FjaGVk
RnJhbWVEYXRhKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y3JpcHREZWJ1Z1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVi
dWdTZXJ2ZXIuaAppbmRleCA0MGRkNWZjLi44ZmE3MjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmgKQEAgLTQ4LDcgKzQ4LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUGFnZTsKIGNsYXNzIFNjcmlwdERlYnVnTGlzdGVuZXI7CiAK
LWNsYXNzIFNjcmlwdERlYnVnU2VydmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNj
cmlwdERlYnVnU2VydmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JpcHREZWJ1Z1Nl
cnZlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFNjcmlwdERlYnVnU2VydmVyJiBzaGFyZWQoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKaW5kZXggYjc1
YTA1NC4uZTA5NjllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2Ny
aXB0UHJvZmlsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oCkBAIC0zNiwxMyArMzYsMTMgQEAKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlLmgiCiAj
aW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKIAotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIAotY2xhc3Mg
U2NyaXB0UHJvZmlsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0UHJvZmls
ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBzdGFydChTY3JpcHRTdGF0ZSogc3RhdGUsIGNvbnN0IFN0cmluZyYg
dGl0bGUpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcmlwdFByb2ZpbGU+IHN0b3AoU2NyaXB0
U3RhdGUqIHN0YXRlLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRTdGF0ZS5oCmluZGV4IDExODEzYjAuLjBmZWNlZTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0U3RhdGUuaApAQCAtNDIsNyArNDIsOCBAQCBjbGFzcyBGcmFt
ZTsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBTY3JpcHRTdGF0ZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU2NyaXB0U3RhdGUpOwogcHVibGljOgogICAgIGJvb2wgaGFkRXhjZXB0aW9uKCkgeyBy
ZXR1cm4gIW1fZXhjZXB0aW9uLklzRW1wdHkoKTsgfQogICAgIHZvaWQgc2V0RXhjZXB0aW9uKHY4
OjpMb2NhbDx2ODo6VmFsdWU+IGV4Y2VwdGlvbikKQEAgLTc5LDcgKzgwLDggQEAgcHVibGljOgog
ICAgIH5FbXB0eVNjcmlwdFN0YXRlKCkgeyB9CiB9OwogCi1jbGFzcyBTY3JpcHRTdGF0ZVByb3Rl
Y3RlZFB0ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JpcHRTdGF0ZVByb3RlY3Rl
ZFB0ciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0U3RhdGVQcm90ZWN0ZWRQdHIp
OwogcHVibGljOgogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKCkgOiBtX3NjcmlwdFN0YXRl
KDApIHsgfQogICAgIFNjcmlwdFN0YXRlUHJvdGVjdGVkUHRyKFNjcmlwdFN0YXRlKiBzY3JpcHRT
dGF0ZSkgOiBtX3NjcmlwdFN0YXRlKHNjcmlwdFN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggZTA1MGJmYy4u
NjY2ZTYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwCkBAIC0xMjgsNyArMTI4LDggQEAgcHJpdmF0ZToKIAogLy8gV3Jp
dGVyIGlzIHJlc3BvbnNpYmxlIGZvciBzZXJpYWxpemluZyBwcmltaXRpdmUgdHlwZXMgYW5kIHN0
b3JpbmcKIC8vIGluZm9ybWF0aW9uIHVzZWQgdG8gcmVjb25zdHJ1Y3QgY29tcG9zaXRlIHR5cGVz
LgotY2xhc3MgV3JpdGVyIDogTm9uY29weWFibGUgeworY2xhc3MgV3JpdGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXcml0ZXIpOwogcHVibGljOgogICAgIFdyaXRlcigpCiAgICAgICAg
IDogbV9wb3NpdGlvbigwKQpAQCAtMzc3LDcgKzM3OCw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHBy
aXZhdGU6Ci0gICAgY2xhc3MgU3RhdGVCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBj
bGFzcyBTdGF0ZUJhc2UgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTdGF0ZUJhc2Up
OwogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+U3RhdGVCYXNlKCkgeyB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9CcmlkZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9CcmlkZ2UuaAppbmRleCA1MGVmYzY0Li4wMGQ2ZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvQnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0JyaWRn
ZS5oCkBAIC0yOCwxNCArMjgsMTUgQEAKICNkZWZpbmUgQnJpZGdlX2gKIAogI2luY2x1ZGUgIkJy
aWRnZUpTQy5oIgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgSlND
ICB7CiAKIG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKLWNsYXNzIE1ldGhvZCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBNZXRob2QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1ldGhv
ZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIE1ldGhvZCgpIHsgfQog
ICAgIHZpcnR1YWwgaW50IG51bVBhcmFtZXRlcnMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFs
IH5NZXRob2QoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlm
aWVyUmVwLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvSWRlbnRpZmllclJlcC5oCmluZGV4IDk5
YmFlMGIuLjg2NDZlOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9JZGVudGlm
aWVyUmVwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL0lkZW50aWZpZXJSZXAuaApAQCAt
MzMsNyArMzMsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCi1jbGFzcyBJZGVudGlm
aWVyUmVwIDogcHVibGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgSWRlbnRpZmllclJlcCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIElkZW50aWZp
ZXJSZXAqIGdldChpbnQpOwogICAgIHN0YXRpYyBJZGVudGlmaWVyUmVwKiBnZXQoY29uc3QgY2hh
ciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaCBi
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qc2MvQnJpZGdlSlNDLmgKaW5kZXggOTY5NzRkOS4uZWJj
ZmFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pzYy9CcmlkZ2VKU0MuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvanNjL0JyaWRnZUpTQy5oCkBAIC01OSw4ICs1OSwx
MCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+RmllbGQoKSB7IH0KIH07CiAKLWNsYXNzIENsYXNz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENsYXNzIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDbGFzcyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIENs
YXNzKCkgeyB9CiAgICAgdmlydHVhbCBNZXRob2RMaXN0IG1ldGhvZHNOYW1lZChjb25zdCBJZGVu
dGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBGaWVsZCogZmllbGRO
YW1lZChjb25zdCBJZGVudGlmaWVyJiwgSW5zdGFuY2UqKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBKU1ZhbHVlIGZhbGxiYWNrT2JqZWN0KEV4ZWNTdGF0ZSosIEluc3RhbmNlKiwgY29uc3QgSWRl
bnRpZmllciYpIHsgcmV0dXJuIGpzVW5kZWZpbmVkKCk7IH0KQEAgLTEyNSw3ICsxMjcsOCBAQCBw
cml2YXRlOgogICAgIFdlYWtHQ1B0cjxSdW50aW1lT2JqZWN0PiBtX3J1bnRpbWVPYmplY3Q7CiB9
OwogCi1jbGFzcyBBcnJheSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBcnJheSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXJyYXkpOwogcHVibGljOgogICAgIEFycmF5KFBhc3NS
ZWZQdHI8Um9vdE9iamVjdD4pOwogICAgIHZpcnR1YWwgfkFycmF5KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlVmFsdWUuaAppbmRleCA4MzNkN2ZlLi4xNzRmMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bWFnZVZhbHVlLmgKQEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU3R5bGVDYWNoZWRJbWFnZTsKIGNs
YXNzIFN0eWxlSW1hZ2U7CiAKIGNsYXNzIENTU0ltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTUHJpbWl0
aXZlVmFsdWUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFs
dWU+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NJbWFnZVZhbHVlKTsgfQogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltYWdlVmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVy
bCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0ltYWdlVmFsdWUodXJsKSk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1wb3J0UnVsZS5oCmluZGV4IDEwZDMwMjYuLmFkNGU5N2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ltcG9ydFJ1bGUuaApAQCAtMzQsNiArMzQsNyBAQCBjbGFzcyBDYWNoZWRDU1NTdHlsZVNo
ZWV0OwogY2xhc3MgTWVkaWFMaXN0OwogCiBjbGFzcyBDU1NJbXBvcnRSdWxlIDogcHVibGljIENT
U1J1bGUsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0ltcG9ydFJ1bGU+
IGNyZWF0ZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIGNvbnN0IFN0cmluZyYgaHJlZiwgUGFzc1Jl
ZlB0cjxNZWRpYUxpc3Q+IG1lZGlhKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NOYW1lc3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NOYW1lc3BhY2UuaApp
bmRleCA2MjI1YzM2Li45MjYzOGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TmFtZXNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU05hbWVzcGFjZS5oCkBAIC0y
Niw3ICsyNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIHN0cnVjdCBDU1NOYW1l
c3BhY2UgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IENTU05hbWVzcGFjZSB7CisgICAgICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKENTU05hbWVzcGFjZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOworICAgIHB1YmxpYzoKICAgICAgICAgQXRvbWljU3RyaW5nIHByZWZpeDsKICAgICAgICAg
QXRvbWljU3RyaW5nIHVyaTsKICAgICAgICAgT3duUHRyPENTU05hbWVzcGFjZT4gcGFyZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDQ5NmEyMWEuLmQzMjY4MTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKQEAgLTM0MCw3ICszNDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgaW50
IGNzc1Byb3BlcnR5SUQoY29uc3QgU3RyaW5nJik7CiAgICAgaW50IGNzc1ZhbHVlS2V5d29yZElE
KGNvbnN0IENTU1BhcnNlclN0cmluZyYpOwogCi0gICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgOiBw
dWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgU2hvcnRoYW5kU2NvcGUgeworICAgICAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNob3J0aGFu
ZFNjb3BlKENTU1BhcnNlciogcGFyc2VyLCBpbnQgcHJvcElkKSA6IG1fcGFyc2VyKHBhcnNlcikK
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVl
cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDk5M2FlMjgu
Ljk5NmU3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTU5LDcgKzU5
LDggQEAgc3RydWN0IENTU1BhcnNlclZhbHVlIHsKICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBj
cmVhdGVDU1NWYWx1ZSgpOwogfTsKIAotY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBDU1NQYXJzZXJWYWx1ZUxpc3QoKQogICAg
ICAgICA6IG1fY3VycmVudCgwKQpAQCAtODMsNyArODQsOSBAQCBwcml2YXRlOgogICAgIFZlY3Rv
cjxDU1NQYXJzZXJWYWx1ZSwgND4gbV92YWx1ZXM7CiB9OwogCi1zdHJ1Y3QgQ1NTUGFyc2VyRnVu
Y3Rpb24gOiBGYXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDU1NQYXJzZXJGdW5jdGlvbiB7CisgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAgICAgQ1NTUGFyc2VyU3RyaW5nIG5h
bWU7CiAgICAgT3duUHRyPENTU1BhcnNlclZhbHVlTGlzdD4gYXJnczsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5oCmluZGV4IDEwNjE3MWQuLjEwZTU5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eS5oCkBAIC0yOSw3ICsyOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
Q1NTUHJvcGVydHkgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBDU1NQcm9wZXJ0eSB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTUHJvcGVydHko
aW50IHByb3BJRCwgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWUsIGJvb2wgaW1wb3J0YW50ID0g
ZmFsc2UsIGludCBzaG9ydGhhbmRJRCA9IDAsIGJvb2wgaW1wbGljaXQgPSBmYWxzZSkKICAgICAg
ICAgOiBtX2lkKHByb3BJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCmluZGV4IDQwMGRk
NDAuLmNhMzgxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcApAQCAtMzcsOCArMzcs
MTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
Ci1jbGFzcyBDU1NTZWxlY3RvckJhZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NT
ZWxlY3RvckJhZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JCYWcpOwog
cHVibGljOgorICAgIENTU1NlbGVjdG9yQmFnKCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yQmFnKCkK
ICAgICB7CiAgICAgICAgIEFTU0VSVChpc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3Iu
aAppbmRleCA1NDU2YmU2Li5iOTMwMzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAt
MzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ1NTU2VsZWN0b3JC
YWc7CiAKICAgICAvLyB0aGlzIGNsYXNzIHJlcHJlc2VudHMgYSBzZWxlY3RvciBmb3IgYSBTdHls
ZVJ1bGUKLSAgICBjbGFzcyBDU1NTZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgQ1NTU2VsZWN0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NTZWxl
Y3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ1NT
U2VsZWN0b3IoKQogICAgICAgICAgICAgOiBtX3JlbGF0aW9uKERlc2NlbmRhbnQpCkBAIC0zMDYs
NyArMzA3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB1bnNpZ25lZCBzcGVjaWZp
Y2l0eUZvclBhZ2UoKSBjb25zdDsKICAgICAgICAgdm9pZCBleHRyYWN0UHNldWRvVHlwZSgpIGNv
bnN0OwogCi0gICAgICAgIHN0cnVjdCBSYXJlRGF0YSA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAg
c3RydWN0IFJhcmVEYXRhIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJhcmVE
YXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgICAgIHB1YmxpYzoKICAgICAgICAg
ICAgIFJhcmVEYXRhKFBhc3NPd25QdHI8Q1NTU2VsZWN0b3I+IHRhZ0hpc3RvcnkpCiAgICAgICAg
ICAgICAgICAgOiBtX2EoMCkKICAgICAgICAgICAgICAgICAsIG1fYigwKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1NlbGVjdG9yTGlzdC5oCmluZGV4IDdhZGM2YjkuLmFiZDliYzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU2VsZWN0b3JMaXN0LmgKQEAgLTI3LDExICsyNywxMSBAQAogI2RlZmluZSBDU1NTZWxl
Y3Rvckxpc3RfaAogCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKLSNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAotY2xhc3MgQ1NTU2VsZWN0
b3JMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU2VsZWN0b3JMaXN0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQ1NTU2VsZWN0b3JMaXN0KCkgOiBtX3NlbGVjdG9yQXJy
YXkoMCkgeyB9CiAgICAgfkNTU1NlbGVjdG9yTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwCmluZGV4IGZjMDcyMmEuLjI3YjQ0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM1Miw3ICszNTIsOCBAQCBpZiAoaWQgPT0gcHJv
cElEKSB7IFwKICAgICByZXR1cm47IFwKIH0KIAotY2xhc3MgQ1NTUnVsZURhdGEgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgQ1NTUnVsZURhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENTU1J1bGVEYXRhKTsKIHB1YmxpYzoKICAgICBDU1NSdWxlRGF0YSh1bnNpZ25lZCBwb3Ms
IENTU1N0eWxlUnVsZSogciwgQ1NTU2VsZWN0b3IqIHNlbCwgQ1NTUnVsZURhdGEqIHByZXYgPSAw
KQogICAgICAgICA6IG1fcG9zaXRpb24ocG9zKQpAQCAtMzgwLDcgKzM4MSw4IEBAIHByaXZhdGU6
CiAgICAgQ1NTUnVsZURhdGEqIG1fbmV4dDsKIH07CiAKLWNsYXNzIENTU1J1bGVEYXRhTGlzdCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDU1NSdWxlRGF0YUxpc3QgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENTU1J1bGVEYXRhTGlzdCk7CiBwdWJsaWM6CiAgICAgQ1NTUnVsZURh
dGFMaXN0KHVuc2lnbmVkIHBvcywgQ1NTU3R5bGVSdWxlKiBydWxlLCBDU1NTZWxlY3Rvciogc2Vs
KQogICAgICAgICA6IG1fZmlyc3QobmV3IENTU1J1bGVEYXRhKHBvcywgcnVsZSwgc2VsKSkKQEAg
LTQxMCw3ICs0MTIsOCBAQCBwcml2YXRlOgogICAgIENTU1J1bGVEYXRhKiBtX2xhc3Q7CiB9Owog
Ci1jbGFzcyBDU1NSdWxlU2V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENTU1J1bGVT
ZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1J1bGVTZXQpOwogcHVibGljOgogICAg
IENTU1J1bGVTZXQoKTsKICAgICB+Q1NTUnVsZVNldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmgKaW5kZXggZWVhY2U1Ny4uZTAzNWFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5oCkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBj
bGFzcyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7CiBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
OwogCi1jbGFzcyBNZWRpYVF1ZXJ5UmVzdWx0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IE1lZGlhUXVlcnlSZXN1bHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhUXVlcnlS
ZXN1bHQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5
UmVzdWx0KGNvbnN0IE1lZGlhUXVlcnlFeHAmIGV4cHIsIGJvb2wgcmVzdWx0KQogICAgICAgICA6
IG1fZXhwcmVzc2lvbihleHByKQpAQCAtODIsNyArODMsOCBAQCBwdWJsaWM6CiB9OwogCiAgICAg
Ly8gVGhpcyBjbGFzcyBzZWxlY3RzIGEgUmVuZGVyU3R5bGUgZm9yIGEgZ2l2ZW4gZWxlbWVudCBi
YXNlZCBvbiBhIGNvbGxlY3Rpb24gb2Ygc3R5bGVzaGVldHMuCi0gICAgY2xhc3MgQ1NTU3R5bGVT
ZWxlY3RvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ1NTU3R5bGVTZWxlY3Rv
ciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENTU1N0eWxlU2VsZWN0b3IpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2VsZWN0
b3IoRG9jdW1lbnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0
KiBtYXBwZWRFbGVtZW50U2hlZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVT
aGVldCogcGFnZVVzZXJTaGVldCwgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+
KiBwYWdlR3JvdXBVc2VyU2hlZXRzLApAQCAtMjE0LDcgKzIxNiw4IEBAIHB1YmxpYzoKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBSZW5kZXJTdHlsZSogc3R5bGVOb3RZZXRBdmFpbGFibGUo
KSB7IHJldHVybiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOyB9CiAKLSAgICAgICAgY2xhc3MgU2Vs
ZWN0b3JDaGVja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU2VsZWN0
b3JDaGVja2VyIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdG9yQ2hl
Y2tlcik7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFNlbGVjdG9yQ2hlY2tlcihEb2N1
bWVudCosIGJvb2wgc3RyaWN0UGFyc2luZyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5oCmluZGV4
IDI4MTAwOWIuLmE2MzhhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuaApAQCAtMzcsNyArMzcs
OCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFRdWVyeUV4cDsKIAotY2xhc3Mg
TWVkaWFRdWVyeSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZWRpYVF1ZXJ5IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShNZWRpYVF1ZXJ5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgZW51bSBSZXN0cmljdG9yIHsKICAgICAgICAgT25seSwgTm90LCBO
b25lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRleCAwMGFjMzk0
Li4wN2M0ZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAg
LTQ5LDcgKzQ5LDggQEAgY2xhc3MgTWVkaWFRdWVyeUV4cDsKICAqIHRoZSBkZXZpY2UgY2hhcmFj
dGVyaXN0aWNzIGFyZSBub3Qga25vd24uIFRoaXMgY2FuIGJlIHVzZWQgdG8gcHJ1bmUgdGhlIGxv
YWRpbmcKICAqIG9mIHN0eWxlc2hlZXRzIHRvIG9ubHkgdGhvc2Ugd2hpY2ggYXJlIHByb2JhYmxl
IHRvIG1hdGNoLgogICovCi1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3IgeworICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShNZWRpYVF1ZXJ5RXZhbHVhdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgLyoqIENyZWF0ZXMgZXZhbHVhdG9yIHdoaWNoIGV2YWx1YXRlcyBvbmx5IHNp
bXBsZSBtZWRpYSBxdWVyaWVzCiAgICAgICogIEV2YWx1YXRvciByZXR1cm5zIHRydWUgZm9yICJh
bGwiLCBhbmQgcmV0dXJucyB2YWx1ZSBvZiBcbWVkaWFGZWF0dXJlUmVzdWx0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlFeHAuaAppbmRleCA3MmQzZmZmLi43ZTRkNDc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXhwLmgKQEAgLTM4LDcgKzM4LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIENTU1BhcnNlclZhbHVlTGlzdDsKIAotY2xhc3MgTWVkaWFRdWVyeUV4cCA6IHB1YmxpYyBG
YXN0QWxsb2NCYXNlIHsKK2NsYXNzIE1lZGlhUXVlcnlFeHAgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPE1lZGlhUXVlcnlFeHA+
IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIG1lZGlhRmVhdHVyZSwgQ1NTUGFyc2VyVmFsdWVM
aXN0KiB2YWx1ZXMpOwogICAgIH5NZWRpYVF1ZXJ5RXhwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQXN5bmNTY3JpcHRSdW5uZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Bc3lu
Y1NjcmlwdFJ1bm5lci5oCmluZGV4IDIzMjZmNjcuLjZhNzUzMjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Bc3luY1NjcmlwdFJ1bm5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Bc3luY1NjcmlwdFJ1bm5lci5oCkBAIC0zOSw3ICszOSw4IEBAIGNsYXNzIERvY3VtZW50Owog
Y2xhc3MgUGVuZGluZ1NjcmlwdDsKIGNsYXNzIFNjcmlwdEVsZW1lbnQ7CiAgICAgCi1jbGFzcyBB
c3luY1NjcmlwdFJ1bm5lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBc3luY1Njcmlw
dFJ1bm5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNTY3JpcHRSdW5uZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxB
c3luY1NjcmlwdFJ1bm5lcj4gY3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkgeyByZXR1cm4gbmV3
IEFzeW5jU2NyaXB0UnVubmVyKGRvY3VtZW50KTsgfQogICAgIH5Bc3luY1NjcmlwdFJ1bm5lcigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVN0cmluZ01hcC5oCmluZGV4IDg2YTIyYjAuLjc3MmE3MDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRE9NU3RyaW5nTWFwLmgKQEAgLTM1LDcgKzM1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRWxlbWVudDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKLWNsYXNz
IERPTVN0cmluZ01hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01TdHJpbmdNYXAg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERPTVN0cmluZ01hcCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIHZpcnR1YWwgfkRPTVN0cmluZ01hcCgpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcAppbmRleCAwYmIwMjVhLi4xNWIwOTdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTQ2OTEsNyArNDY5MSw5IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZE1lc3NhZ2Uo
TWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZlbCBsCiAg
ICAgICAgIHdpbmRvdy0+Y29uc29sZSgpLT5hZGRNZXNzYWdlKHNvdXJjZSwgdHlwZSwgbGV2ZWws
IG1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgY2FsbFN0YWNrKTsKIH0KIAotc3RydWN0
IFBlcmZvcm1UYXNrQ29udGV4dCA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBQZXJmb3JtVGFza0Nv
bnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlcmZvcm1UYXNrQ29udGV4dCk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIFBlcmZvcm1UYXNrQ29udGV4dChQ
YXNzUmVmUHRyPERvY3VtZW50V2Vha1JlZmVyZW5jZT4gZG9jdW1lbnRSZWZlcmVuY2UsIFBhc3NP
d25QdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4gdGFzaykKICAgICAgICAgOiBkb2N1
bWVudFJlZmVyZW5jZShkb2N1bWVudFJlZmVyZW5jZSkKICAgICAgICAgLCB0YXNrKHRhc2spCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKaW5kZXggODMx
NzdmYy4uMmRjMmI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNv
bnRyb2xsZXIuaApAQCAtMzgsOCArMzgsMTAgQEAgY2xhc3MgSW50UmVjdDsKIGNsYXNzIE5vZGU7
CiBjbGFzcyBSYW5nZTsKIAotY2xhc3MgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50TWFya2VyQ29udHJvbGxlciB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKCkgeyB9
CiAgICAgfkRvY3VtZW50TWFya2VyQ29udHJvbGxlcigpIHsgZGV0YWNoKCk7IH0KIAogICAgIHZv
aWQgZGV0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oCmluZGV4IGY2MjkyNDEuLjQ1Yjg3OWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudC5oCkBAIC0yNCwxMyArMjQsMTMgQEAKICNpZm5kZWYgRXZlbnRfaAogI2RlZmluZSBFdmVu
dF9oCiAKKyNpbmNsdWRlICJDbGlwYm9hcmQuaCIKICNpbmNsdWRlICJET01UaW1lU3RhbXAuaCIK
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0
cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBDbGlwYm9hcmQ7CiAg
ICAgY2xhc3MgRXZlbnRUYXJnZXQ7CiAKICAgICBjbGFzcyBFdmVudCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEV2ZW50PiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA3Mjc2OGQyLi40MzllOWQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTE4MCw3ICsxODAsOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgXAogLy8gZW5kIG9mIERPTV9FVkVOVF9OQU1FU19GT1JfRUFDSAogCi0g
ICAgY2xhc3MgRXZlbnROYW1lcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRXZl
bnROYW1lcyB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50TmFtZXMpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgaW50IGR1bW15OyAvLyBOZWVkZWQgdG8gbWFr
ZSBpbml0aWFsaXphdGlvbiBtYWNybyB3b3JrLgogICAgICAgICAvLyBQcml2YXRlIHRvIHByZXZl
bnQgYWNjaWRlbnRhbCBjYWxsIHRvIEV2ZW50TmFtZXMoKSBpbnN0ZWFkIG9mIGV2ZW50TmFtZXMo
KQogICAgICAgICBFdmVudE5hbWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IGRk
Y2I2NjMuLjgxZWViN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC04Myw3ICs4Myw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWdpc3RlcmVkRXZl
bnRMaXN0ZW5lciwgMT4gRXZlbnRMaXN0ZW5lclZlY3RvcjsKICAgICB0eXBlZGVmIEhhc2hNYXA8
QXRvbWljU3RyaW5nLCBFdmVudExpc3RlbmVyVmVjdG9yKj4gRXZlbnRMaXN0ZW5lck1hcDsKIAot
ICAgIHN0cnVjdCBFdmVudFRhcmdldERhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0IEV2
ZW50VGFyZ2V0RGF0YSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50VGFyZ2V0
RGF0YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIHB1YmxpYzoKICAgICAgICAgRXZl
bnRUYXJnZXREYXRhKCk7CiAgICAgICAgIH5FdmVudFRhcmdldERhdGEoKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVu
dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIuaAppbmRleCA5ZDE4MzVhLi4yNmY3ZmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIu
aApAQCAtMjcsMTEgKzI3LDExIEBACiAjZGVmaW5lIElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3Vu
dEluY3JlbWVudGVyX2gKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSWdub3JlRGVzdHJ1
Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
SWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKElnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyKTsKIHB1Ymxp
YzoKICAgICBleHBsaWNpdCBJZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlcihE
b2N1bWVudCogZG9jdW1lbnQpCiAgICAgICAgIDogbV9jb3VudChkb2N1bWVudCA/ICZkb2N1bWVu
dC0+bV9pZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnQgOiAwKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IGYzMDhhMjkuLjA3NjY4YTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKQEAgLTU1LDcgKzU1LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgLy8gTWVzc2FnZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBl
bmRlbnQgaW50ZXJmYWNlIHRvIHRoZSByZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4K
ICAgICAvLyBJdCBhY3RzIGFzIGEgd3JhcHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVu
dCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hhbm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVz
IHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJl
Zm9yZSBkZXN0cnVjdGlvbi4KLSAgICBjbGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0Q2hhbm5lbCk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2hhbm5lbChQ
YXNzUmVmUHRyPE1lc3NhZ2VQb3J0PiwgUGFzc1JlZlB0cjxNZXNzYWdlUG9ydD4pOwogCkBAIC03
OCw3ICs3OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gUmV0dXJucyB0cnVl
IGlmIHRoZSBwcm94eSBjdXJyZW50bHkgY29udGFpbnMgbWVzc2FnZXMgZm9yIHRoaXMgcG9ydC4K
ICAgICAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIAotICAgICAgICBjbGFzcyBFdmVu
dERhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBFdmVudERhdGEgewor
ICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnREYXRhKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiAgICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIHN0YXRpYyBQYXNzT3du
UHRyPEV2ZW50RGF0YT4gY3JlYXRlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwg
UGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWxBcnJheT4pOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJh
cmVEYXRhLmgKaW5kZXggYWIyMDhkMi4uNzM1MGY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURh
dGEuaApAQCAtMzQsNyArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBO
b2RlTGlzdHNOb2RlRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBOb2RlTGlzdHNOb2RlRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTm9kZUxpc3RzTm9kZURhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICB0eXBlZGVmIEhhc2hTZXQ8RHluYW1pY05v
ZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAgTm9kZUxpc3RTZXQgbV9saXN0c1dpdGhDYWNoZXM7
CiAgICAgCkBAIC02Nyw3ICs2OSw4IEBAIHByaXZhdGU6CiAgICAgfQogfTsKICAgICAKLWNsYXNz
IE5vZGVSYXJlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBOb2RlUmFyZURhdGEg
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5vZGVSYXJlRGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOiAgICAKICAgICBOb2RlUmFyZURhdGEoKQogICAgICAgICA6IG1f
dGFiSW5kZXgoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IDM0ZmMwNjkuLmNi
OTVmMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtMzIsNyArMzIsOCBAQCBz
dHJ1Y3QgUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMgewogICAgIFN0cmluZ0ltcGwqIG1fbmFtZXNw
YWNlOwogfTsKIAotY2xhc3MgUXVhbGlmaWVkTmFtZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsK
K2NsYXNzIFF1YWxpZmllZE5hbWUgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIGNsYXNzIFF1YWxpZmllZE5hbWVJbXBsIDogcHVibGljIFJlZkNvdW50ZWQ8UXVh
bGlmaWVkTmFtZUltcGw+IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2NyaXB0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQu
aAppbmRleCAwN2M1OWRiLi41MjUwZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2NyaXB0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmgK
QEAgLTMyLDYgKzMyLDcgQEAgY2xhc3MgU2NyaXB0RWxlbWVudDsKIGNsYXNzIFNjcmlwdFNvdXJj
ZUNvZGU7CiAKIGNsYXNzIFNjcmlwdEVsZW1lbnQgOiBwcml2YXRlIENhY2hlZFJlc291cmNlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTY3JpcHRF
bGVtZW50KEVsZW1lbnQqLCBib29sIGNyZWF0ZWRCeVBhcnNlciwgYm9vbCBpc0V2YWx1YXRlZCk7
CiAgICAgdmlydHVhbCB+U2NyaXB0RWxlbWVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IGY0OThiZTAuLjlmZGY4NWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTY2LDcgKzY2
LDggQEAgcHVibGljOgogICAgIH0KIH07CiAKLWNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OlBlbmRpbmdFeGNlcHRpb24gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6UGVuZGluZ0V4Y2VwdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGVuZGluZ0V4Y2VwdGlvbik7CiBwdWJsaWM6CiAgICAgUGVuZGluZ0V4Y2VwdGlvbihjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291
cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQogICAgICAgICA6
IG1fZXJyb3JNZXNzYWdlKGVycm9yTWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IGZiYjk2ZWMuLmI1N2I3NWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaApAQCAtMzMsNiArMzMsNyBAQAogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CkBAIC0xMTQsOCArMTE1LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCByZWYoKSB7IHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogICAg
ICAgICB2b2lkIGRlcmVmKCkgeyBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogCi0g
ICAgICAgIGNsYXNzIFRhc2sgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBjbGFzcyBU
YXNrIHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRhc2spOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgorICAgICAgICAgICAgVGFzaygpIHsgfQog
ICAgICAgICAgICAgdmlydHVhbCB+VGFzaygpOwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIHBl
cmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSA9IDA7CiAgICAgICAgICAgICAvLyBD
ZXJ0YWluIHRhc2tzIGdldCBtYXJrZWQgc3BlY2lhbGx5IHNvIHRoYXQgdGhleSBhcmVuJ3QgZGlz
Y2FyZGVkLCBhbmQgYXJlIGV4ZWN1dGVkLCB3aGVuIHRoZSBjb250ZXh0IGlzIHNodXR0aW5nIGRv
d24gaXRzIG1lc3NhZ2UgcXVldWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3Bh
Y2VTcGxpdFN0cmluZy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuaApp
bmRleCA4MjZlNmJkLi42ZWI4OTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3Bh
Y2VTcGxpdFN0cmluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5n
LmgKQEAgLTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3Mg
U3BhY2VTcGxpdFN0cmluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFNw
YWNlU3BsaXRTdHJpbmdEYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3BhY2VT
cGxpdFN0cmluZ0RhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFNwYWNlU3BsaXRTdHJpbmdEYXRhKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBib29sIHNo
b3VsZEZvbGRDYXNlKQogICAgICAgICAgICAgOiBtX3N0cmluZyhzdHJpbmcpLCBtX3Nob3VsZEZv
bGRDYXNlKHNob3VsZEZvbGRDYXNlKSwgbV9jcmVhdGVkVmVjdG9yKGZhbHNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyYW5zZm9ybVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1RyYW5zZm9ybVNvdXJjZS5oCmluZGV4IGY5N2FmY2YuLjYzZGM3OGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9UcmFuc2Zvcm1Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vVHJhbnNmb3JtU291cmNlLmgKQEAgLTMzLDcgKzMzLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2U7CiAjZW5kaWYK
IAotICAgIGNsYXNzIFRyYW5zZm9ybVNvdXJjZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgVHJhbnNmb3JtU291cmNlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJh
bnNmb3JtU291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICBUcmFuc2Zvcm1Tb3VyY2UoY29uc3QgUGxhdGZvcm1UcmFuc2Zvcm1Tb3VyY2UmIHNvdXJj
ZSk7CiAgICAgICAgIH5UcmFuc2Zvcm1Tb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJH
ZXN0dXJlSW5kaWNhdG9yLmgKaW5kZXggMTdlYTMxOS4uYjFlZDk2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgKQEAgLTM2LDcgKzM2LDggQEAgZW51bSBQcm9j
ZXNzaW5nVXNlckdlc3R1cmVTdGF0ZSB7CiAgICAgRGVmaW5pdGVseU5vdFByb2Nlc3NpbmdVc2Vy
R2VzdHVyZQogfTsKIAotY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgVXNlckdlc3R1cmVJbmRpY2F0b3IgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFVzZXJHZXN0dXJlSW5kaWNhdG9yKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBw
cm9jZXNzaW5nVXNlckdlc3R1cmUoKSB7IHJldHVybiBzX3Byb2Nlc3NpbmdVc2VyR2VzdHVyZSA9
PSBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlOyB9CiAgICAgc3RhdGljIFByb2Nlc3Np
bmdVc2VyR2VzdHVyZVN0YXRlIGdldFVzZXJHZXN0dXJlU3RhdGUoKSB7IHJldHVybiBzX3Byb2Nl
c3NpbmdVc2VyR2VzdHVyZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VzZXJU
eXBpbmdHZXN0dXJlSW5kaWNhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dl
c3R1cmVJbmRpY2F0b3IuaAppbmRleCA2YzcxMDc5Li4yMWY0YzdlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaApAQCAtMzQsNyArMzQsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGcmFtZTsKIGNsYXNzIE5vZGU7CiAKLWNsYXNz
IFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShV
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcHJv
Y2Vzc2luZ1VzZXJUeXBpbmdHZXN0dXJlKCk7CiAgICAgc3RhdGljIE5vZGUqIGZvY3VzZWRFbGVt
ZW50QXRHZXN0dXJlU3RhcnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9YTUxE
b2N1bWVudFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyLmgK
aW5kZXggNzUzM2M1Yi4uMWFhZDliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1hN
TERvY3VtZW50UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFy
c2VyLmgKQEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAKICAg
ICBjbGFzcyBYTUxEb2N1bWVudFBhcnNlciA6IHB1YmxpYyBTY3JpcHRhYmxlRG9jdW1lbnRQYXJz
ZXIsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8WE1MRG9j
dW1lbnRQYXJzZXI+IGNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZyYW1lVmlldyogdmlldykK
ICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFy
c2VyTGlieG1sMi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4
bWwyLmNwcAppbmRleCAwZjZiNGI0Li4xMGQ2ZTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcApAQCAtNzUsOCArNzUsMTAgQEAgdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBQZW5kaW5nQ2Fs
bGJhY2tzIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBlbmRpbmdDYWxsYmFja3Mgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlbmRpbmdDYWxsYmFja3MpOwogcHVibGljOgorICAg
IFBlbmRpbmdDYWxsYmFja3MoKSB7IH0KICAgICB+UGVuZGluZ0NhbGxiYWNrcygpCiAgICAgewog
ICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9jYWxsYmFja3MpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9YTUxEb2N1bWVudFBhcnNlclNjb3BlLmgKaW5kZXggNThlOGE2Yi4uZjYwNDcxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vWE1MRG9jdW1lbnRQYXJzZXJTY29wZS5oCkBAIC0zNiw3ICszNiw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVy
OwogCi0gICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgWE1MRG9jdW1lbnRQYXJzZXJTY29wZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFhNTERvY3VtZW50UGFyc2VyU2NvcGUpOwogICAgIHB1YmxpYzoKICAgICAg
ICAgWE1MRG9jdW1lbnRQYXJzZXJTY29wZShDYWNoZWRSZXNvdXJjZUxvYWRlciogY2FjaGVkUmVz
b3VyY2VMb2FkZXIpOwogICAgICAgICB+WE1MRG9jdW1lbnRQYXJzZXJTY29wZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9EZWxldGVCdXR0b25Db250cm9sbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRvbkNvbnRyb2xsZXIuaAppbmRleCAxMjg2
YzA3Li40ZDkyOGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1
dHRvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUJ1dHRv
bkNvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBIVE1MRWxlbWVudDsKIGNsYXNz
IFJlbmRlck9iamVjdDsKIGNsYXNzIFZpc2libGVTZWxlY3Rpb247CiAKLWNsYXNzIERlbGV0ZUJ1
dHRvbkNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGVsZXRlQnV0dG9u
Q29udHJvbGxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVsZXRlQnV0dG9uQ29udHJv
bGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlbGV0ZUJ1dHRv
bkNvbnRyb2xsZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Jl
cGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAppbmRleCAyNGNmYTQxLi5mNDdjYjRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcApA
QCAtNjIsNyArNjIsOCBAQCBlbnVtIEVGcmFnbWVudFR5cGUgeyBFbXB0eUZyYWdtZW50LCBTaW5n
bGVUZXh0Tm9kZUZyYWdtZW50LCBUcmVlRnJhZ21lbnQgfTsKIAogLy8gLS0tIFJlcGxhY2VtZW50
RnJhZ21lbnQgaGVscGVyIGNsYXNzCiAKLWNsYXNzIFJlcGxhY2VtZW50RnJhZ21lbnQgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgUmVwbGFjZW1lbnRGcmFnbWVudCB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoUmVwbGFjZW1lbnRGcmFnbWVudCk7CiBwdWJsaWM6CiAgICAgUmVwbGFj
ZW1lbnRGcmFnbWVudChEb2N1bWVudCosIERvY3VtZW50RnJhZ21lbnQqLCBib29sIG1hdGNoU3R5
bGUsIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1NlbGVjdGlvbkNvbnRyb2xsZXIuaAppbmRleCBlZTUyMTg3Li4zZjgwNWQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuaApAQCAtNDgsNyArNDgsOCBA
QCBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAKIGVudW0gRGlyZWN0aW9uYWxpdHlQb2xpY3kgeyBN
YWtlTm9uRGlyZWN0aW9uYWxTZWxlY3Rpb24sIE1ha2VEaXJlY3Rpb25hbFNlbGVjdGlvbiB9Owog
Ci1jbGFzcyBTZWxlY3Rpb25Db250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFNlbGVjdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNlbGVjdGlv
bkNvbnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBlbnVt
IEVBbHRlcmF0aW9uIHsgQWx0ZXJhdGlvbk1vdmUsIEFsdGVyYXRpb25FeHRlbmQgfTsKICAgICBl
bnVtIEN1cnNvckFsaWduT25TY3JvbGwgeyBBbGlnbkN1cnNvck9uU2Nyb2xsSWZOZWVkZWQsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TcGVsbENoZWNrZXIuaAppbmRleCBmNjIxNWQyLi44MWJiNTE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwZWxsQ2hlY2tlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BlbGxDaGVja2VyLmgKQEAgLTU0LDcgKzU0LDggQEAgcHJp
dmF0ZToKICAgICBpbnQgbV9sZW5ndGg7CiB9OwogCi1jbGFzcyBTcGVsbENoZWNrZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU3BlbGxDaGVja2VyIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTcGVsbENoZWNrZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IFNwZWxsQ2hlY2tl
cihGcmFtZSosIEVkaXRvckNsaWVudCopOwogICAgIH5TcGVsbENoZWNrZXIoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCmluZGV4IDIyNzUzMGYuLjhiNWM2
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAt
NzIsNyArNzIsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgaW50IG1fY2hlY2tpbmdMZW5ndGg7
CiB9OwogCi1jbGFzcyBUZXh0Q2hlY2tpbmdIZWxwZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgVGV4dENoZWNraW5nSGVscGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUZXh0
Q2hlY2tpbmdIZWxwZXIpOwogcHVibGljOgogICAgIFRleHRDaGVja2luZ0hlbHBlcihFZGl0b3JD
bGllbnQqLCBQYXNzUmVmUHRyPFJhbmdlPik7CiAgICAgflRleHRDaGVja2luZ0hlbHBlcigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IGMyNGJjYjIuLjFmYzc2
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTYxLDcgKzYx
LDggQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIC8vIENhc2UgZm9sZGluZyBpcyBhbHNv
IGRvbmUgaWYgdGhlIENhc2VJbnNlbnNpdGl2ZSBvcHRpb24gaXMgc3BlY2lmaWVkLgogLy8gTWF0
Y2hlcyBhcmUgZnVydGhlciBmaWx0ZXJlZCBpZiB0aGUgQXRXb3JkU3RhcnRzIG9wdGlvbiBpcyBz
cGVjaWZpZWQsIGFsdGhvdWdoIHNvbWUKIC8vIG1hdGNoZXMgaW5zaWRlIGEgd29yZCBhcmUgcGVy
bWl0dGVkIGlmIFRyZWF0TWVkaWFsQ2FwaXRhbEFzV29yZFN0YXJ0IGlzIHNwZWNpZmllZCBhcyB3
ZWxsLgotY2xhc3MgU2VhcmNoQnVmZmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNl
YXJjaEJ1ZmZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2VhcmNoQnVmZmVyKTsKIHB1
YmxpYzoKICAgICBTZWFyY2hCdWZmZXIoY29uc3QgU3RyaW5nJiB0YXJnZXQsIEZpbmRPcHRpb25z
KTsKICAgICB+U2VhcmNoQnVmZmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxl
YXBpL0ZpbGVUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCmlu
ZGV4IGQ3YWFiZjcuLjQ1MjA1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZVRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVRocmVhZC5oCkBA
IC01NCw3ICs1NCw4IEBAIHB1YmxpYzoKICAgICBib29sIHN0YXJ0KCk7CiAgICAgdm9pZCBzdG9w
KCk7CiAKLSAgICBjbGFzcyBUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBU
YXNrIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7CiAgICAgcHVibGljOgog
ICAgICAgICB2aXJ0dWFsIH5UYXNrKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBwZXJmb3Jt
VGFzaygpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxl
U3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCmluZGV4
IGI3NzlhNWYuLjEyYTcwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9j
YWxGaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0
ZW0uaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlv
biBhbmQgcHJvdmlkZXMgYW4gZW50cnkgcG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xh
c3MgTG9jYWxGaWxlU3lzdGVtIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsRmls
ZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1
YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxl
U3lzdGVtLgogICAgIC8vIE5vdGUgdGhhdCBMb2NhbEZpbGVTeXN0ZW06OmluaXRpYWxpemVMb2Nh
bEZpbGVTeXN0ZW0gbXVzdCBiZSBjYWxsZWQgYmVmb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9TeW5jQ2FsbGJhY2tIZWxwZXIuaAppbmRleCAyNWU2NzM5Li4wMjBhYzQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1N5bmNDYWxsYmFja0hlbHBlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvU3luY0NhbGxiYWNrSGVscGVyLmgKQEAgLTU4LDcgKzU4LDggQEAg
Y2xhc3MgRmlsZUVudHJ5U3luYzsKIAogLy8gQSBoZWxwZXIgdGVtcGxhdGUgZm9yIEZpbGVTeXN0
ZW1TeW5jIGltcGxlbWVudGF0aW9uLgogdGVtcGxhdGUgPHR5cGVuYW1lIFN1Y2Nlc3NDYWxsYmFj
aywgdHlwZW5hbWUgT2JzZXJ2ZXJUeXBlLCB0eXBlbmFtZSBDYWxsYmFja0FyZywgdHlwZW5hbWUg
UmVzdWx0VHlwZT4KLWNsYXNzIFN5bmNDYWxsYmFja0hlbHBlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTeW5jQ2FsbGJhY2tIZWxwZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFN5bmNDYWxsYmFja0hlbHBlcik7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBTeW5jQ2FsbGJhY2tI
ZWxwZXI8U3VjY2Vzc0NhbGxiYWNrLCBPYnNlcnZlclR5cGUsIENhbGxiYWNrQXJnLCBSZXN1bHRU
eXBlPiBIZWxwZXJUeXBlOwogICAgIFN5bmNDYWxsYmFja0hlbHBlcihPYnNlcnZlclR5cGUqIG9i
c2VydmVyID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0Zvcndh
cmRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ29udHJv
bGxlci5oCmluZGV4IGU4OWUzMmIuLjEyODg0ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvQmFja0ZvcndhcmRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlz
dG9yeS9CYWNrRm9yd2FyZENvbnRyb2xsZXIuaApAQCAtMzYsNyArMzYsOCBAQCBjbGFzcyBCYWNr
Rm9yd2FyZExpc3Q7CiBjbGFzcyBIaXN0b3J5SXRlbTsKIGNsYXNzIFBhZ2U7CiAKLWNsYXNzIEJh
Y2tGb3J3YXJkQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBCYWNrRm9y
d2FyZENvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEJhY2tGb3J3YXJkQ29u
dHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEJhY2tGb3J3
YXJkQ29udHJvbGxlcihQYWdlKiwgUGFzc1JlZlB0cjxCYWNrRm9yd2FyZExpc3Q+KTsKICAgICB+
QmFja0ZvcndhcmRDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0
b3J5L1BhZ2VDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuaAppbmRl
eCA3MWFlNWFkLi45MTJiZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1Bh
Z2VDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKQEAgLTM5
LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEhpc3RvcnlJdGVtOwog
ICAgIGNsYXNzIFBhZ2U7CiAgICAgCi0gICAgY2xhc3MgUGFnZUNhY2hlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlQ2FjaGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQYWdlQ2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGZyaWVuZCBQYWdlQ2FjaGUqIHBhZ2VDYWNoZSgpOwogICAgICAgICAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0NvbGxlY3Rpb25DYWNoZS5oCmluZGV4IGRmMWQxZmEuLjhlNGEwNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvbkNhY2hlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9Db2xsZWN0aW9uQ2FjaGUuaApAQCAtMjksNyArMjksOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLXN0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgOiBG
YXN0QWxsb2NCYXNlIHsKK3N0cnVjdCBDb2xsZWN0aW9uQ2FjaGUgeworICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOworcHVibGljOgogICAgIENvbGxlY3Rpb25DYWNoZSgpOwogICAgIENvbGxl
Y3Rpb25DYWNoZShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmKTsKICAgICBDb2xsZWN0aW9uQ2FjaGUm
IG9wZXJhdG9yPShjb25zdCBDb2xsZWN0aW9uQ2FjaGUmIG90aGVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9ET01TZXR0YWJsZVRva2VuTGlzdC5oCmluZGV4IDJiNzExYjQuLjhmNmZkNGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmgKQEAgLTM1LDYgKzM1LDcg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9NU2V0dGFibGVUb2tlbkxpc3QgOiBw
dWJsaWMgRE9NVG9rZW5MaXN0LCBwdWJsaWMgUmVmQ291bnRlZDxET01TZXR0YWJsZVRva2VuTGlz
dD4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPERPTVNldHRhYmxlVG9rZW5MaXN0PiBjcmVhdGUoKQogICAgIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0RPTVRva2VuTGlzdC5oCmluZGV4IDVkZjJlZGUuLjBiNzViNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9ET01Ub2tlbkxpc3QuaApAQCAtMjcsMTUgKzI3LDE2IEBACiAKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+Ci0jaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEVsZW1lbnQ7CiAKLWNsYXNzIERPTVRva2VuTGlzdCA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBET01Ub2tlbkxpc3QgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKERPTVRva2VuTGlzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgor
ICAgIERPTVRva2VuTGlzdCgpIHsgfQogICAgIHZpcnR1YWwgfkRPTVRva2VuTGlzdCgpIHt9Owog
CiAgICAgdmlydHVhbCB2b2lkIHJlZigpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBhcnNlclF1aXJrcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGFyc2Vy
UXVpcmtzLmgKaW5kZXggNTBkZTcxMC4uM2JmMjJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MUGFyc2VyUXVpcmtzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGFyc2VyUXVpcmtzLmgKQEAgLTI3LDEzICsyNywxMyBAQAogI2RlZmluZSBIVE1MUGFyc2VyUXVp
cmtzX2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgTm9kZTsKIAotY2xhc3MgSFRN
TFBhcnNlclF1aXJrcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MUGFyc2VyUXVp
cmtzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUGFyc2VyUXVpcmtzKTsKIHB1Ymxp
YzoKICAgICBIVE1MUGFyc2VyUXVpcmtzKCkgeyB9CiAgICAgdmlydHVhbCB+SFRNTFBhcnNlclF1
aXJrcygpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW5wdXRUeXBlLmgKaW5kZXggZWE0NTQxZi4uZTZjZWI5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbnB1dFR5cGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0lucHV0VHlwZS5oCkBAIC0zMyw2ICszMyw3IEBACiAjZGVmaW5lIElucHV0
VHlwZV9oCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxs
b2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KQEAgLTU2LDE3ICs1NywxOCBAQCBjbGFz
cyBXaGVlbEV2ZW50OwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAogc3RydWN0IENsaWNr
SGFuZGxpbmdTdGF0ZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CiAg
ICAgYm9vbCBjaGVja2VkOwogICAgIGJvb2wgaW5kZXRlcm1pbmF0ZTsKICAgICBSZWZQdHI8SFRN
TElucHV0RWxlbWVudD4gY2hlY2tlZFJhZGlvQnV0dG9uOwotCi0gICAgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQKIH07CiAKIC8vIEFuIElucHV0VHlwZSBvYmplY3QgcmVwcmVzZW50cyB0aGUgdHlw
ZS1zcGVjaWZpYyBwYXJ0IG9mIGFuIEhUTUxJbnB1dEVsZW1lbnQuCiAvLyBEbyBub3QgZXhwb3Nl
IGluc3RhbmNlcyBvZiBJbnB1dFR5cGUgYW5kIGNsYXNzZXMgZGVyaXZlZCBmcm9tIGl0IHRvIGNs
YXNzZXMKIC8vIG90aGVyIHRoYW4gSFRNTElucHV0RWxlbWVudC4KLWNsYXNzIElucHV0VHlwZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnB1dFR5cGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKElucHV0VHlwZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPElucHV0VHlwZT4gY3JlYXRlKEhUTUxJbnB1dEVsZW1lbnQq
LCBjb25zdCBTdHJpbmcmKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxJbnB1dFR5cGU+IGNyZWF0
ZVRleHQoSFRNTElucHV0RWxlbWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9TdGVwUmFuZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvU3RlcFJhbmdlLmgKaW5kZXggY2Uw
NDRlYS4uMmZhMTM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9TdGVwUmFuZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1N0ZXBSYW5nZS5oCkBAIC0yOCw3ICsyOCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKIAotY2xhc3Mg
U3RlcFJhbmdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFN0ZXBSYW5nZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoU3RlcFJhbmdlKTsKIHB1YmxpYzoKICAgICBib29sIGhhc1N0
ZXA7CiAgICAgZG91YmxlIHN0ZXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1Zh
bGlkYXRpb25NZXNzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdl
LmgKaW5kZXggNWZhMWY5Ni4uN2NkMGNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9WYWxpZGF0aW9uTWVzc2FnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlv
bk1lc3NhZ2UuaApAQCAtNDIsNyArNDIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBG
b3JtQXNzb2NpYXRlZEVsZW1lbnQ7CiBjbGFzcyBIVE1MRWxlbWVudDsKIAotY2xhc3MgVmFsaWRh
dGlvbk1lc3NhZ2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmFsaWRhdGlvbk1lc3Nh
Z2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFZhbGlkYXRpb25NZXNzYWdlKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxWYWxpZGF0aW9uTWVzc2FnZT4gY3JlYXRlKEZvcm1B
c3NvY2lhdGVkRWxlbWVudCopOwogICAgIH5WYWxpZGF0aW9uTWVzc2FnZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuaAppbmRleCBlMTQwYzQ5Li40YTk2NDg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkaXR5U3RhdGUuaApAQCAtMjksNyArMjksOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLWNsYXNzIFZhbGlkaXR5U3RhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
VmFsaWRpdHlTdGF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVmFsaWRpdHlTdGF0ZSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRy
PFZhbGlkaXR5U3RhdGU+IGNyZWF0ZShGb3JtQXNzb2NpYXRlZEVsZW1lbnQqIGNvbnRyb2wpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5oCmluZGV4IGEyNWU4YTEuLmExNDM1OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTQxLDcgKzQxLDgg
QEAgY2xhc3MgSFRNTFZpZGVvRWxlbWVudDsKIGNsYXNzIEtVUkw7CiBjbGFzcyBXZWJHTE9iamVj
dDsKIAotY2xhc3MgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDYW52YXNSZW5kZXJpbmdDb250ZXh0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dChIVE1MQ2FudmFzRWxlbWVudCopOwogICAg
IHZpcnR1YWwgfkNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9DU1NQcmVsb2FkU2Nhbm5lci5oCmluZGV4IDdhYzI4MmYuLmZhZTk1YTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0NTU1ByZWxvYWRTY2FubmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvQ1NTUHJlbG9hZFNjYW5uZXIuaApA
QCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEb2N1bWVudDsKIGNs
YXNzIEhUTUxUb2tlbjsKIAotY2xhc3MgQ1NTUHJlbG9hZFNjYW5uZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgQ1NTUHJlbG9hZFNjYW5uZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKENTU1ByZWxvYWRTY2FubmVyKTsKIHB1YmxpYzoKICAgICBDU1NQcmVsb2FkU2Nhbm5lcihE
b2N1bWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
Q29uc3RydWN0aW9uU2l0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0
cnVjdGlvblNpdGUuaAppbmRleCA4YjA5YmY1Li41YTRhNjVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTQwLDcgKzQwLDgg
QEAgY2xhc3MgQXRvbWljSFRNTFRva2VuOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50
OwogCi1jbGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBIVE1MQ29uc3RydWN0aW9uU2l0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRN
TENvbnN0cnVjdGlvblNpdGUpOwogcHVibGljOgogICAgIEhUTUxDb25zdHJ1Y3Rpb25TaXRlKERv
Y3VtZW50KiwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLCBib29sIGlzUGFyc2luZ0ZyYWdt
ZW50KTsKICAgICB+SFRNTENvbnN0cnVjdGlvblNpdGUoKTsKQEAgLTg5LDcgKzkwLDggQEAgcHVi
bGljOgogICAgIEhUTUxGb3JtRWxlbWVudCogZm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9ybS5n
ZXQoKTsgfQogICAgIFBhc3NSZWZQdHI8SFRNTEZvcm1FbGVtZW50PiB0YWtlRm9ybSgpOwogCi0g
ICAgY2xhc3MgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShSZWRpcmVjdFRvRm9zdGVyUGFyZW50R3VhcmQpOwogICAgIHB1Ymxp
YzoKICAgICAgICAgUmVkaXJlY3RUb0Zvc3RlclBhcmVudEd1YXJkKEhUTUxDb25zdHJ1Y3Rpb25T
aXRlJiB0cmVlKQogICAgICAgICAgICAgOiBtX3RyZWUodHJlZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKaW5kZXggODBjYTcyNy4uZjkyNTI2
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFy
c2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2Vy
LmgKQEAgLTUwLDYgKzUwLDcgQEAgY2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIGNsYXNzIFNjcmlw
dFNvdXJjZUNvZGU7CiAKIGNsYXNzIEhUTUxEb2N1bWVudFBhcnNlciA6ICBwdWJsaWMgU2NyaXB0
YWJsZURvY3VtZW50UGFyc2VyLCBIVE1MU2NyaXB0UnVubmVySG9zdCwgQ2FjaGVkUmVzb3VyY2VD
bGllbnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEhUTUxEb2N1bWVudFBhcnNlcj4gY3JlYXRlKEhUTUxEb2N1bWVudCogZG9j
dW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxFbGVtZW50U3RhY2suaAppbmRleCA4YThlMTYwLi5hZDhiOTQxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5oCkBAIC0zOSwxMiAr
MzksMTQgQEAgY2xhc3MgUXVhbGlmaWVkTmFtZTsKIAogLy8gTk9URTogVGhlIEhUTUw1IHNwZWMg
dXNlcyBhIGJhY2t3YXJkcyAoZ3Jvd3MgZG93bndhcmQpIHN0YWNrLiAgV2UncmUgdXNpbmcKIC8v
IG1vcmUgc3RhbmRhcmQgKGdyb3dzIHVwd2FyZHMpIHN0YWNrIHRlcm1pbm9sb2d5IGhlcmUuCi1j
bGFzcyBIVE1MRWxlbWVudFN0YWNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxF
bGVtZW50U3RhY2sgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxFbGVtZW50U3RhY2sp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBIVE1MRWxlbWVudFN0YWNr
KCk7CiAgICAgfkhUTUxFbGVtZW50U3RhY2soKTsKIAotICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQg
OiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEVsZW1lbnRSZWNvcmQgeworICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShFbGVtZW50UmVjb3JkKTsKICAgICBwdWJsaWM6CiAgICAg
ICAgIH5FbGVtZW50UmVjb3JkKCk7IC8vIFB1YmxpYyBmb3IgflBhc3NPd25QdHIoKQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVt
ZW50TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEZvcm1hdHRpbmdFbGVt
ZW50TGlzdC5oCmluZGV4IGFjYTA1YmIuLmY3NWZhNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0LmgKQEAgLTM1LDcg
KzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRWxlbWVudDsKIAogLy8gVGhpcyBt
YXkgZW5kIHVwIG1lcmdlZCBpbnRvIEhUTUxFbGVtZW50U3RhY2suCi1jbGFzcyBIVE1MRm9ybWF0
dGluZ0VsZW1lbnRMaXN0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEhUTUxGb3JtYXR0
aW5nRWxlbWVudExpc3QgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxGb3JtYXR0aW5n
RWxlbWVudExpc3QpOwogcHVibGljOgogICAgIEhUTUxGb3JtYXR0aW5nRWxlbWVudExpc3QoKTsK
ICAgICB+SFRNTEZvcm1hdHRpbmdFbGVtZW50TGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTElucHV0U3RyZWFtLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAppbmRleCAxYmZiYWY5Li5kOTVlYzMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MSW5wdXRTdHJlYW0uaApAQCAtNDcsNyArNDcs
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBtX2xhc3QgaXMgYSBwb2ludGVyIHRvIHRoZSBs
YXN0IG9mIHRoZSBhZnRlckluc2VydGlvblBvaW50IHN0cmluZ3MuCiAvLyBUaGUgbmV0d29yayBh
ZGRzIGRhdGEgYXQgdGhlIGVuZCBvZiB0aGUgSW5wdXRTdHJlYW0sIHdoaWNoIGFwcGVuZHMKIC8v
IHRoZW0gdG8gdGhlICJsYXN0IiBzdHJpbmcuCi1jbGFzcyBIVE1MSW5wdXRTdHJlYW0gOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTElucHV0U3RyZWFtIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MSW5wdXRTdHJlYW0pOwogcHVibGljOgogICAgIEhUTUxJbnB1dFN0cmVh
bSgpCiAgICAgICAgIDogbV9sYXN0KCZtX2ZpcnN0KQpAQCAtMTI5LDcgKzEzMCw4IEBAIHByaXZh
dGU6CiAgICAgU2VnbWVudGVkU3RyaW5nKiBtX2xhc3Q7CiB9OwogCi1jbGFzcyBJbnNlcnRpb25Q
b2ludFJlY29yZCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNlcnRpb25Qb2ludFJl
Y29yZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zZXJ0aW9uUG9pbnRSZWNvcmQpOwog
cHVibGljOgogICAgIGV4cGxpY2l0IEluc2VydGlvblBvaW50UmVjb3JkKEhUTUxJbnB1dFN0cmVh
bSYgaW5wdXRTdHJlYW0pCiAgICAgICAgIDogbV9pbnB1dFN0cmVhbSgmaW5wdXRTdHJlYW0pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJz
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5o
CmluZGV4IGMzMTM2ZjUuLjQ1ZmJhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCkBAIC0zNiw3ICszNiw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIEhUTUxUb2tlbml6ZXI7CiBjbGFzcyBUZXh0Q29kZWM7CiAKLWNs
YXNzIEhUTUxNZXRhQ2hhcnNldFBhcnNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBI
VE1MTWV0YUNoYXJzZXRQYXJzZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxNZXRh
Q2hhcnNldFBhcnNlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTE1ldGFD
aGFyc2V0UGFyc2VyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTE1ldGFDaGFy
c2V0UGFyc2VyKCkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJTY2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJTY2hlZHVsZXIuaAppbmRleCAzYTIwYjJiLi5jNDE1YzYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VyU2NoZWR1bGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlclNjaGVkdWxlci5oCkBAIC0yOCwxNCArMjgs
MTQgQEAKIAogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+
Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJzZXI7CiAK
LWNsYXNzIEhUTUxQYXJzZXJTY2hlZHVsZXIgOiAgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEhUTUxQYXJzZXJTY2hlZHVsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxQYXJz
ZXJTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc093blB0cjxIVE1MUGFyc2VyU2NoZWR1bGVyPiBjcmVhdGUoSFRNTERvY3VtZW50UGFy
c2VyKiBwYXJzZXIpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFByZWxvYWRTY2FubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
UHJlbG9hZFNjYW5uZXIuaAppbmRleCA5NGE5MGU2Li5iZWQ3N2ZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuaApAQCAtMzAsNyArMzAsNiBA
QAogI2luY2x1ZGUgIkNTU1ByZWxvYWRTY2FubmVyLmgiCiAjaW5jbHVkZSAiSFRNTFRva2VuLmgi
CiAjaW5jbHVkZSAiU2VnbWVudGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzksNyArMzgsOCBAQCBjbGFzcyBIVE1M
VG9rZW47CiBjbGFzcyBIVE1MVG9rZW5pemVyOwogY2xhc3MgU2VnbWVudGVkU3RyaW5nOwogCi1j
bGFzcyBIVE1MUHJlbG9hZFNjYW5uZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRN
TFByZWxvYWRTY2FubmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIVE1MUHJlbG9hZFNj
YW5uZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBIVE1MUHJlbG9h
ZFNjYW5uZXIoRG9jdW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTFNjcmlwdFJ1bm5lci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFNjcmlwdFJ1bm5lci5oCmluZGV4IDZjZjc0ZDguLjk4NmY3YmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVubmVyLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNp
bmNsdWRlICJQZW5kaW5nU2NyaXB0LmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NDIsNyArNDEsOCBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEhUTUxTY3JpcHRSdW5uZXJIb3N0Owog
Y2xhc3MgU2NyaXB0U291cmNlQ29kZTsKIAotY2xhc3MgSFRNTFNjcmlwdFJ1bm5lciA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MU2NyaXB0UnVubmVyIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShIVE1MU2NyaXB0UnVubmVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFNjcmlwdFJ1bm5lcj4gY3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCwgSFRNTFNjcmlwdFJ1bm5lckhvc3QqIGhvc3QpCiAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaAppbmRleCA0MmNkZGI4Li4xY2JjMTUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW4uaApAQCAtMjcsMTMgKzI3LDEzIEBA
CiAjZGVmaW5lIEhUTUxUb2tlbl9oCiAKICNpbmNsdWRlICJOYW1lZE5vZGVNYXAuaCIKLSNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBIVE1M
VG9rZW4gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFRNTFRva2VuIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShIVE1MVG9rZW4pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBVbmluaXRpYWxpemVkLApAQCAtMzEzLDcg
KzMxMyw4IEBAIHByaXZhdGU6CiAgICAgLy8gd2FudCB0byBlbmQgdXAgd2l0aCBhIGNsZWFuZXIg
aW50ZXJmYWNlIGJldHdlZW4gdGhlIHR3byBjbGFzc2VzLgogICAgIGZyaWVuZCBjbGFzcyBBdG9t
aWNIVE1MVG9rZW47CiAKLSAgICBjbGFzcyBEb2N0eXBlRGF0YSA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgRG9jdHlwZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShEb2N0eXBlRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBEb2N0eXBlRGF0YSgpCiAgICAg
ICAgICAgICA6IG1faGFzUHVibGljSWRlbnRpZmllcihmYWxzZSkKQEAgLTM1Miw3ICszNTMsOCBA
QCBwcml2YXRlOgogCiAvLyBGSVhNRTogVGhpcyBjbGFzcyBzaG91bGQgZXZlbnR1YWxseSBiZSBu
YW1lZCBIVE1MVG9rZW4gb25jZSB3ZSBtb3ZlIHRoZQogLy8gZXhpdGluZyBIVE1MVG9rZW4gdG8g
YmUgaW50ZXJuYWwgdG8gdGhlIEhUTUxUb2tlbml6ZXIuCi1jbGFzcyBBdG9taWNIVE1MVG9rZW4g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXRvbWljSFRNTFRva2VuIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShBdG9taWNIVE1MVG9rZW4pOwogcHVibGljOgogICAgIEF0b21pY0hU
TUxUb2tlbihIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICA6IG1fdHlwZSh0b2tlbi50eXBlKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmgKaW5kZXggZjE2YjA0
OS4uZmE0NWNiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIu
aApAQCAtMzksNyArMzksOCBAQCBjbGFzcyBFbGVtZW50OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBI
VE1MVG9rZW47CiAKLWNsYXNzIEhUTUxUb2tlbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSFRNTFRva2VuaXplciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSFRNTFRva2Vu
aXplcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGVudW0gU3RhdGUg
ewogICAgICAgICBEYXRhU3RhdGUsCkBAIC0xNzIsNyArMTczLDggQEAgcHVibGljOgogCiBwcml2
YXRlOgogICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvI3ByZXByb2Nlc3NpbmctdGhlLWlucHV0LXN0cmVhbQotICAgIGNsYXNzIElucHV0U3Ry
ZWFtUHJlcHJvY2Vzc29yIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbnB1dFN0
cmVhbVByZXByb2Nlc3NvciB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKElucHV0U3Ry
ZWFtUHJlcHJvY2Vzc29yKTsKICAgICBwdWJsaWM6CiAgICAgICAgIElucHV0U3RyZWFtUHJlcHJv
Y2Vzc29yKEhUTUxUb2tlbml6ZXIqIHRva2VuaXplcikKICAgICAgICAgICAgIDogbV90b2tlbml6
ZXIodG9rZW5pemVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFRyZWVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHAKaW5kZXggMDI3MTNlNS4uOTdjZWUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0yNDEsNyArMjQxLDggQEAgSFRNTEZv
cm1FbGVtZW50KiBjbG9zZXN0Rm9ybUFuY2VzdG9yKEVsZW1lbnQqIGVsZW1lbnQpCiAKIH0gLy8g
bmFtZXNwYWNlCiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlcjo6RXh0ZXJuYWxDaGFyYWN0ZXJUb2tl
bkJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBIVE1MVHJlZUJ1aWxkZXI6OkV4
dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV4
dGVybmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IEV4dGVy
bmFsQ2hhcmFjdGVyVG9rZW5CdWZmZXIoQXRvbWljSFRNTFRva2VuJiB0b2tlbikKICAgICAgICAg
OiBtX2N1cnJlbnQodG9rZW4uY2hhcmFjdGVycygpLmRhdGEoKSkKQEAgLTIzNDIsNyArMjM0Myw4
IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpyZXByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2Vu
JiB0b2tlbikKICAgICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKIH0KIAotY2xhc3MgSFRNTFRyZWVC
dWlsZGVyOjpGYWtlSW5zZXJ0aW9uTW9kZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBI
VE1MVHJlZUJ1aWxkZXI6OkZha2VJbnNlcnRpb25Nb2RlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShGYWtlSW5zZXJ0aW9uTW9kZSk7CiBwdWJsaWM6CiAgICAgRmFrZUluc2VydGlvbk1vZGUo
SFRNTFRyZWVCdWlsZGVyKiB0cmVlQnVpbGRlciwgSW5zZXJ0aW9uTW9kZSBtb2RlKQogICAgICAg
ICA6IG1fdHJlZUJ1aWxkZXIodHJlZUJ1aWxkZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5oCmluZGV4IDE3Yjc3YjcuLjMwOWFjNmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5oCkBAIC01MSw3ICs1MSw4IEBA
IGNsYXNzIEhUTUxEb2N1bWVudDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBIVE1MRG9jdW1lbnRQYXJz
ZXI7CiAKLWNsYXNzIEhUTUxUcmVlQnVpbGRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBIVE1MVHJlZUJ1aWxkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhUTUxUcmVlQnVp
bGRlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
T3duUHRyPEhUTUxUcmVlQnVpbGRlcj4gY3JlYXRlKEhUTUxEb2N1bWVudFBhcnNlciogcGFyc2Vy
LCBIVE1MRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIHJlcG9ydEVycm9ycywgYm9vbCB1c2VQcmVI
VE1MNVBhcnNlclF1aXJrcykKICAgICB7CkBAIC0yMDQsNyArMjA1LDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIHByb2Nlc3NGb3JlaWduQ29udGVudFVzaW5nSW5Cb2R5TW9kZUFuZFJlc2V0TW9kZShB
dG9taWNIVE1MVG9rZW4mIHRva2VuKTsKICAgICB2b2lkIHJlc2V0Rm9yZWlnbkluc2VydGlvbk1v
ZGUoKTsKIAotICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIEZyYWdtZW50UGFyc2luZ0NvbnRleHQoKTsKICAgICAgICAgRnJhZ21lbnRQYXJzaW5n
Q29udGV4dChEb2N1bWVudEZyYWdtZW50KiwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdt
ZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1lbnRlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaAppbmRleCBjNTk3ODc2Li44MTU1NjM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9OZXN0aW5nTGV2ZWxJbmNyZW1l
bnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL05lc3RpbmdMZXZlbEluY3Jl
bWVudGVyLmgKQEAgLTI4LDcgKzI4LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBOZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBO
ZXN0aW5nTGV2ZWxJbmNyZW1lbnRlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTmVzdGlu
Z0xldmVsSW5jcmVtZW50ZXIpOwogcHVibGljOgogICAgIGV4cGxpY2l0IE5lc3RpbmdMZXZlbElu
Y3JlbWVudGVyKHVuc2lnbmVkJiBuZXN0aW5nTGV2ZWwpCiAgICAgICAgIDogbV9uZXN0aW5nTGV2
ZWwoJm5lc3RpbmdMZXZlbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9D
b25zb2xlTWVzc2FnZS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvbnNvbGVNZXNzYWdl
LmgKaW5kZXggMzEwYWE4ZS4uN2MzMzQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0NvbnNvbGVNZXNzYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0Nv
bnNvbGVNZXNzYWdlLmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgU2NyaXB0Q2FsbEZyYW1lOwog
Y2xhc3MgU2NyaXB0Q2FsbFN0YWNrOwogY2xhc3MgU2NyaXB0VmFsdWU7CiAKLWNsYXNzIENvbnNv
bGVNZXNzYWdlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENvbnNvbGVNZXNzYWdlIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb25zb2xlTWVzc2FnZSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VUeXBlLCBNZXNzYWdlTGV2ZWwsIGNvbnN0IFN0cmluZyYgbSwgdW5zaWduZWQgbGksIGNv
bnN0IFN0cmluZyYgdSk7CiAgICAgQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZVR5cGUsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtLCBQYXNzUmVmUHRyPFNjcmlwdEFy
Z3VtZW50cz4sIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgK
aW5kZXggM2Q5ZTQ5NC4uYWMwYWNiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaApAQCAtNDEsNyArNDEs
OCBAQCBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiBjbGFzcyBJbnNwZWN0b3JWYWx1ZTsKIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiAKLWNsYXNzIEluc3BlY3RvckFwcGxpY2F0aW9uQ2FjaGVBZ2Vu
dCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hl
QWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckFwcGxpY2F0aW9uQ2Fj
aGVBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEluc3BlY3Rv
ckFwcGxpY2F0aW9uQ2FjaGVBZ2VudChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250
cm9sbGVyLCBJbnNwZWN0b3JGcm9udGVuZCogZnJvbnRlbmQpOwogICAgIH5JbnNwZWN0b3JBcHBs
aWNhdGlvbkNhY2hlQWdlbnQoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50LmgKaW5kZXggNTM3YmRhMS4uNmFm
MzFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckJyb3dz
ZXJEZWJ1Z2dlckFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckJyb3dzZXJEZWJ1Z2dlckFnZW50LmgKQEAgLTQ4LDcgKzQ4LDggQEAgY2xhc3MgSW5zcGVjdG9y
Q29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNzIE5vZGU7CiAKLWNsYXNz
IEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2VudCk7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NPd25QdHI8SW5zcGVjdG9yQnJvd3NlckRlYnVnZ2VyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0
b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVyKQogICAgIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb25zb2xlQWdlbnQuaAppbmRleCA5N2ZjYjNmLi5h
M2U2YTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
c29sZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnNv
bGVBZ2VudC5oCkBAIC00Niw3ICs0Niw4IEBAIGNsYXNzIFNjcmlwdEFyZ3VtZW50czsKIGNsYXNz
IFNjcmlwdENhbGxTdGFjazsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiAKLWNsYXNzIEluc3BlY3Rv
ckNvbnNvbGVBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNwZWN0b3JDb25z
b2xlQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckNvbnNvbGVBZ2Vu
dCk7CiBwdWJsaWM6CiAgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KEluc3BlY3RvckNvbnRyb2xs
ZXIqLCBJbnNwZWN0b3JTdGF0ZSopOwogICAgIH5JbnNwZWN0b3JDb25zb2xlQWdlbnQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IGFi
ODM3N2QuLmIwOWJmMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaApAQCAtMTA1LDcgKzEwNSw4IEBAIGNsYXNzIFdlYlNvY2tldEhhbmRzaGFr
ZVJlcXVlc3Q7CiBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZTsKICNlbmRpZgogCi1j
bGFzcyBJbnNwZWN0b3JDb250cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIElu
c3BlY3RvckNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckNv
bnRyb2xsZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMg
Y29uc3QgY2hhciogY29uc3QgQ29uc29sZVBhbmVsOwogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBj
b25zdCBFbGVtZW50c1BhbmVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JEZWJ1Z2dlckFnZW50LmgKaW5kZXggOThhYzFmOS4uNGNiOWY5YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRlYnVnZ2VyQWdlbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oCkBAIC01Myw3
ICs1Myw4IEBAIGVudW0gRGVidWdnZXJFdmVudFR5cGUgewogICAgIE5hdGl2ZUJyZWFrcG9pbnRE
ZWJ1Z2dlckV2ZW50VHlwZQogfTsKIAotY2xhc3MgSW5zcGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1
YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5z
cGVjdG9yRGVidWdnZXJBZ2VudCA6IHB1YmxpYyBTY3JpcHREZWJ1Z0xpc3RlbmVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JEZWJ1Z2dlckFnZW50KTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yRGVi
dWdnZXJBZ2VudD4gY3JlYXRlKEluc3BlY3RvckNvbnRyb2xsZXIqLCBJbnNwZWN0b3JGcm9udGVu
ZCopOwogICAgIHZpcnR1YWwgfkluc3BlY3RvckRlYnVnZ2VyQWdlbnQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbC5o
CmluZGV4IDlkY2FhNWEuLjE5ZjZhZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudExvY2FsLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwuaApAQCAtNDEsNyArNDEsOCBA
QCBjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRIb3N0
OwogY2xhc3MgUGFnZTsKIAotY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCA6IHB1
YmxpYyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEluc3BlY3RvckZyb250ZW5kQ2xpZW50TG9jYWwgOiBwdWJsaWMgSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvckZyb250ZW5kQ2xpZW50
TG9jYWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBJbnNwZWN0b3JG
cm9udGVuZENsaWVudExvY2FsKEluc3BlY3RvckNvbnRyb2xsZXIqLCBQYWdlKik7CiAgICAgdmly
dHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRMb2NhbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2ZpbGVyQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQcm9maWxlckFnZW50LmgKaW5kZXggZTY3ODQ4ZC4uMTYw
OGRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclByb2Zp
bGVyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudC5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIGNsYXNz
IFNjcmlwdEhlYXBTbmFwc2hvdDsKIGNsYXNzIFNjcmlwdFByb2ZpbGU7CiAKLWNsYXNzIEluc3Bl
Y3RvclByb2ZpbGVyQWdlbnQgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVjdG9y
UHJvZmlsZXJBZ2VudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW5zcGVjdG9yUHJvZmls
ZXJBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEluc3BlY3RvclByb2ZpbGVyQWdlbnQ+IGNyZWF0ZShJbnNwZWN0b3JDb250cm9s
bGVyKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yUHJvZmlsZXJBZ2VudCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJ1bnRpbWVBZ2VudC5oCmluZGV4IGExM2Vi
NTkuLmI0ZjM3MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JSdW50aW1lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UnVudGltZUFnZW50LmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgSW5qZWN0ZWRTY3JpcHRIb3N0
OwogY2xhc3MgSW5zcGVjdG9yT2JqZWN0OwogY2xhc3MgSW5zcGVjdG9yVmFsdWU7CiAKLWNsYXNz
IEluc3BlY3RvclJ1bnRpbWVBZ2VudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbnNw
ZWN0b3JSdW50aW1lQWdlbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3BlY3RvclJ1
bnRpbWVBZ2VudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yUnVu
dGltZUFnZW50PiBjcmVhdGUoSW5qZWN0ZWRTY3JpcHRIb3N0KiBpbmplY3RlZFNjcmlwdEhvc3Qp
CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGlu
ZUFnZW50LmgKaW5kZXggMzNlMjczNy4uY2FlNWFhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC03MCw3ICs3MCw4IEBAIGVu
dW0gVGltZWxpbmVSZWNvcmRUeXBlIHsKICAgICBTY2hlZHVsZVJlc291cmNlUmVxdWVzdFRpbWVs
aW5lUmVjb3JkVHlwZSA9IDIwCiB9OwogCi1jbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IDog
U2NyaXB0R0NFdmVudExpc3RlbmVyLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW5zcGVj
dG9yVGltZWxpbmVBZ2VudCA6IFNjcmlwdEdDRXZlbnRMaXN0ZW5lciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQoSW5zcGVjdG9yRnJvbnRl
bmQqIGZyb250ZW5kKTsKICAgICB+SW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hl
LmgKaW5kZXggMTAxNmFlZC4uZGRkNTA3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oCkBAIC0zOCw3ICszOCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBIVFRQSGVhZGVyTWFwOwogICAgIGNs
YXNzIFJlc291cmNlUmVzcG9uc2U7CiAKLSAgICBjbGFzcyBDcm9zc09yaWdpblByZWZsaWdodFJl
c3VsdENhY2hlSXRlbSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NPcmln
aW5QcmVmbGlnaHRSZXN1bHRDYWNoZUl0ZW0geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlSXRlbSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRD
YWNoZUl0ZW0oYm9vbCBjcmVkZW50aWFscykKICAgICAgICAgICAgIDogbV9hYnNvbHV0ZUV4cGly
eVRpbWUoMCkKQEAgLTYzLDcgKzY0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBI
ZWFkZXJzU2V0IG1faGVhZGVyczsKICAgICB9OwogCi0gICAgY2xhc3MgQ3Jvc3NPcmlnaW5QcmVm
bGlnaHRSZXN1bHRDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ3Jvc3NP
cmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBDcm9zc09yaWdpblByZWZsaWdodFJlc3Vs
dENhY2hlJiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IGViZjNhMjUuLjNhM2NjNjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTQ3LDYgKzQ3
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXJDbGll
bnQ7CiAKICAgICBjbGFzcyBEb2N1bWVudFRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291
bnRlZDxEb2N1bWVudFRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciwg
cHJpdmF0ZSBTdWJyZXNvdXJjZUxvYWRlckNsaWVudCAgeworICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJj
ZVN5bmNocm9ub3VzbHkoRG9jdW1lbnQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKICAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9j
dW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudFdyaXRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50V3JpdGVyLmgKaW5kZXggNWZiM2RjMS4uZmI5MzYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50V3JpdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50V3JpdGVyLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBT
ZWN1cml0eU9yaWdpbjsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7CiAKLWNsYXNzIERvY3Vt
ZW50V3JpdGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIERvY3VtZW50V3JpdGVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEb2N1bWVudFdyaXRlcik7CiBwdWJsaWM6CiAgICAg
RG9jdW1lbnRXcml0ZXIoRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CmluZGV4IGU0Y2VmYzUuLmY2NzAwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKQEAgLTIxNCw4ICsyMTQsMTAgQEAgcHVibGljOgogI2VuZGlmCiB9OwogCi1jbGFzcyBFbXB0
eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50LCBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgRW1wdHlGcmFtZUxvYWRlckNsaWVudCA6IHB1YmxpYyBGcmFtZUxv
YWRlckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlGcmFtZUxvYWRlckNs
aWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEVtcHR5RnJhbWVM
b2FkZXJDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUZyYW1lTG9hZGVyQ2xpZW50KCkg
eyAgfQogICAgIHZpcnR1YWwgdm9pZCBmcmFtZUxvYWRlckRlc3Ryb3llZCgpIHsgfQogCkBAIC0z
ODcsOCArMzg5LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWVOZXR3
b3JraW5nQ29udGV4dD4gY3JlYXRlTmV0d29ya2luZ0NvbnRleHQoKSB7IHJldHVybiBQYXNzUmVm
UHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+KCk7IH0KIH07CiAKLWNsYXNzIEVtcHR5RWRpdG9y
Q2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEVtcHR5RWRpdG9yQ2xpZW50IDogcHVibGljIEVkaXRvckNsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRW1wdHlFZGl0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKKyAgICBFbXB0eUVkaXRvckNsaWVudCgpIHsgfQogICAgIHZpcnR1YWwgfkVtcHR5
RWRpdG9yQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IH0K
IApAQCAtNTAxLDggKzUwNSwxMCBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCi1jbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IDogcHVibGljIENvbnRleHRNZW51
Q2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVu
dCA6IHB1YmxpYyBDb250ZXh0TWVudUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RW1wdHlDb250ZXh0TWVudUNsaWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgorICAgIEVtcHR5Q29udGV4dE1lbnVDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eUNv
bnRleHRNZW51Q2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwgdm9pZCBjb250ZXh0TWVudURlc3Ry
b3llZCgpIHsgfQogCkBAIC01MjgsOCArNTM0LDEwIEBAIHB1YmxpYzoKICNlbmRpZiAvLyBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi1jbGFzcyBFbXB0
eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEVtcHR5RHJhZ0NsaWVudCA6IHB1YmxpYyBEcmFnQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShFbXB0eURyYWdDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKKyAgICBFbXB0eURyYWdDbGllbnQoKSB7IH0KICAgICB2aXJ0dWFsIH5FbXB0eURyYWdD
bGllbnQoKSB7fQogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFj
dGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb24sIERyYWdEYXRhKikgeyB9CiAgICAgdmlydHVhbCB2
b2lkIHdpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25zdCBJ
bnRQb2ludCYsIENsaXBib2FyZCopIHsgfQpAQCAtNTQxLDggKzU0OSwxMCBAQCBwdWJsaWM6CiB9
OwogI2VuZGlmIC8vIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKLWNsYXNzIEVtcHR5SW5zcGVjdG9y
Q2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIEVtcHR5SW5zcGVjdG9yQ2xpZW50IDogcHVibGljIEluc3BlY3RvckNsaWVudCB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRW1wdHlJbnNwZWN0b3JDbGllbnQpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBFbXB0eUluc3BlY3RvckNsaWVudCgpIHsgfQogICAg
IHZpcnR1YWwgfkVtcHR5SW5zcGVjdG9yQ2xpZW50KCkgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
aW5zcGVjdG9yRGVzdHJveWVkKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRm9ybVN1Ym1pc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3VibWlzc2lv
bi5oCmluZGV4IGQ3MjQ4MzUuLjdmNThmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Gb3JtU3VibWlzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Gb3JtU3Vi
bWlzc2lvbi5oCkBAIC00Nyw3ICs0Nyw4IEBAIGNsYXNzIEZvcm1TdWJtaXNzaW9uIDogcHVibGlj
IFJlZkNvdW50ZWQ8Rm9ybVN1Ym1pc3Npb24+IHsKIHB1YmxpYzoKICAgICBlbnVtIE1ldGhvZCB7
IEdldE1ldGhvZCwgUG9zdE1ldGhvZCB9OwogCi0gICAgY2xhc3MgQXR0cmlidXRlcyA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQXR0cmlidXRlcyB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEF0dHJpYnV0ZXMpOwogICAgIHB1YmxpYzoKICAgICAgICAgQXR0cmlidXRl
cygpCiAgICAgICAgICAgICA6IG1fbWV0aG9kKEdldE1ldGhvZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmgKaW5kZXggN2ZmNWRiZC4uYWY5N2ZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmgKQEAgLTg2LDcgKzg2LDggQEAgc3RydWN0IFdpbmRvd0ZlYXR1cmVzOwogCiBi
b29sIGlzQmFja0ZvcndhcmRMb2FkVHlwZShGcmFtZUxvYWRUeXBlKTsKIAotY2xhc3MgRnJhbWVM
b2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRnJhbWVMb2FkZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKEZyYW1lTG9hZGVyKTsKIHB1YmxpYzoKICAgICBGcmFtZUxvYWRl
cihGcmFtZSosIEZyYW1lTG9hZGVyQ2xpZW50Kik7CiAgICAgfkZyYW1lTG9hZGVyKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlclN0YXRlTWFjaGluZS5oCmluZGV4IGMz
NDA4YzIuLmZlMzdlY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlclN0YXRlTWFjaGluZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
clN0YXRlTWFjaGluZS5oCkBAIC0zNSw3ICszNSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gRW5jYXBzdWxhdGVzIGEgc3RhdGUgbWFjaGluZSBmb3IgRnJhbWVMb2FkZXIuIE5vdGUgdGhh
dCB0aGlzIGlzIGRpZmZlcmVudCBmcm9tIEZyYW1lU3RhdGUsCiAvLyB3aGljaCBzdG9yZXMgdGhl
IHN0YXRlIG9mIHRoZSBjdXJyZW50IGxvYWQgdGhhdCBGcmFtZUxvYWRlciBpcyBleGVjdXRpbmcu
Ci1jbGFzcyBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBGcmFtZUxvYWRlclN0YXRlTWFjaGluZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RnJhbWVMb2FkZXJTdGF0ZU1hY2hpbmUpOwogcHVibGljOgogICAgIEZyYW1lTG9hZGVyU3RhdGVN
YWNoaW5lKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9IaXN0b3J5Q29u
dHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmgKaW5k
ZXggMTdmODBlYi4uMDYxZjIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hp
c3RvcnlDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0hpc3RvcnlDb250
cm9sbGVyLmgKQEAgLTQxLDcgKzQxLDggQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBIaXN0b3J5SXRl
bTsKIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIAotY2xhc3MgSGlzdG9yeUNvbnRyb2xs
ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSGlzdG9yeUNvbnRyb2xsZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKEhpc3RvcnlDb250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBl
bnVtIEhpc3RvcnlVcGRhdGVUeXBlIHsgVXBkYXRlQWxsLCBVcGRhdGVBbGxFeGNlcHRCYWNrRm9y
d2FyZExpc3QgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggYTc3
ZThjMC4uMDY5YjQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBAIC01
Nyw3ICs1Nyw4IEBAIHRlbXBsYXRlPD4gc3RydWN0IFZhbHVlQ2hlY2s8V2ViQ29yZTo6SW1hZ2VM
b2FkZXIqPiB7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgSW1hZ2VFdmVudFNlbmRl
ciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBJbWFnZUV2ZW50U2VuZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZUV2ZW50U2VuZGVyKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgSW1hZ2VFdmVudFNlbmRlcihjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0
aW9uU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1
bGVyLmNwcAppbmRleCAxNzUyMTljLi5kNTE1NzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCkBAIC01Myw3ICs1Myw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogdW5zaWduZWQgTmF2aWdhdGlvbkRpc2FibGVyRm9yQmVmb3JlVW5sb2FkOjpz
X25hdmlnYXRpb25EaXNhYmxlQ291bnQgPSAwOwogCi1jbGFzcyBTY2hlZHVsZWROYXZpZ2F0aW9u
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNjaGVkdWxlZE5hdmlnYXRpb24geworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZE5hdmlnYXRpb24pOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTY2hlZHVsZWROYXZpZ2F0aW9uKGRvdWJsZSBkZWxh
eSwgYm9vbCBsb2NrSGlzdG9yeSwgYm9vbCBsb2NrQmFja0ZvcndhcmRMaXN0LCBib29sIHdhc0R1
cmluZ0xvYWQsIGJvb2wgaXNMb2NhdGlvbkNoYW5nZSkKICAgICAgICAgOiBtX2RlbGF5KGRlbGF5
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9QaW5nTG9hZGVyLmgKaW5kZXggM2EwNzZmYi4uNTk4OGI2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BpbmdMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUGluZ0xvYWRlci5oCkBAIC01MCw3ICs1MCw4IEBAIGNsYXNzIFJlc291
cmNlUmVzcG9uc2U7CiAvLyB0byBhbGxvdyB0aGUgbG9hZCB0byBsaXZlIGxvbmcgZW5vdWdoIHRv
IGVuc3VyZSB0aGUgbWVzc2FnZSB3YXMgYWN0dWFsbHkgc2VudC4KIC8vIFRoZXJlZm9yZSwgYXMg
c29vbiBhcyBhIGNhbGxiYWNrIGlzIHJlY2VpdmVkIGZyb20gdGhlIFJlc291cmNlSGFuZGxlLCB0
aGlzIGNsYXNzIAogLy8gd2lsbCBjYW5jZWwgdGhlIGxvYWQgYW5kIGRlbGV0ZSBpdHNlbGYuCi1j
bGFzcyBQaW5nTG9hZGVyIDogcHJpdmF0ZSBSZXNvdXJjZUhhbmRsZUNsaWVudCwgcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIFBpbmdMb2FkZXIgOiBwcml2YXRlIFJlc291cmNlSGFuZGxlQ2xp
ZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQaW5nTG9hZGVyKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgbG9hZEltYWdlKEZyYW1lKiwg
Y29uc3QgS1VSTCYgdXJsKTsKICAgICBzdGF0aWMgdm9pZCBzZW5kUGluZyhGcmFtZSosIGNvbnN0
IEtVUkwmIHBpbmdVUkwsIGNvbnN0IEtVUkwmIGRlc3RpbmF0aW9uVVJMKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUG9saWN5Q2hlY2tlci5oCmluZGV4IDU0MTcyOWMuLjMxMThkYWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuaApAQCAtNDUsNyArNDUsOCBAQCBjbGFzcyBOYXZpZ2F0
aW9uQWN0aW9uOwogY2xhc3MgUmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7
CiAKLWNsYXNzIFBvbGljeUNoZWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUG9s
aWN5Q2hlY2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUG9saWN5Q2hlY2tlcik7CiBw
dWJsaWM6CiAgICAgUG9saWN5Q2hlY2tlcihGcmFtZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Qcm9ncmVzc1RyYWNrZXIuY3BwCmluZGV4IGNkMTU0MzMuLjY1ZGQxYzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuY3BwCkBAIC01MCw3ICs1MCw5IEBAIHN0YXRp
YyBjb25zdCBkb3VibGUgZmluYWxQcm9ncmVzc1ZhbHVlID0gMC45OyAvLyAxLjAgLSBpbml0aWFs
UHJvZ3Jlc3NWYWx1ZQogCiBzdGF0aWMgY29uc3QgaW50IHByb2dyZXNzSXRlbURlZmF1bHRFc3Rp
bWF0ZWRMZW5ndGggPSAxMDI0ICogMTY7CiAKLXN0cnVjdCBQcm9ncmVzc0l0ZW0gOiBOb25jb3B5
YWJsZSB7CitzdHJ1Y3QgUHJvZ3Jlc3NJdGVtIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
cm9ncmVzc0l0ZW0pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBQcm9n
cmVzc0l0ZW0obG9uZyBsb25nIGxlbmd0aCkgCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQog
ICAgICAgICAsIGVzdGltYXRlZExlbmd0aChsZW5ndGgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L1Byb2dyZXNzVHJhY2tlci5oCmluZGV4IDVkNWI2YjIuLmVhNWY3ZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Qcm9ncmVzc1RyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmgKQEAgLTM2LDcgKzM2LDggQEAgY2xhc3MgRnJhbWU7
CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogc3RydWN0IFByb2dyZXNzSXRlbTsKIAotY2xhc3Mg
UHJvZ3Jlc3NUcmFja2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb2dyZXNzVHJh
Y2tlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHJvZ3Jlc3NUcmFja2VyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgUHJvZ3Jlc3NUcmFja2VyKCk7CiAgICAg
flByb2dyZXNzVHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZE5vdGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
Tm90aWZpZXIuaAppbmRleCAyZjEwODU2Li5hNmQ5MmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaApAQCAtNDMsNyArNDMsOCBAQCBjbGFzcyBSZXNv
dXJjZUxvYWRlcjsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZVJlcXVl
c3Q7CiAKLWNsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFJlc291cmNlTG9hZE5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZXNvdXJjZUxvYWROb3RpZmllcik7CiBwdWJsaWM6CiAgICAgUmVzb3VyY2VMb2FkTm90aWZpZXIo
RnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZFNjaGVkdWxlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFNjaGVkdWxl
ci5oCmluZGV4IDE2M2I2N2UuLmYyZTYyN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRTY2hlZHVsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKQEAgLTQ0LDcgKzQ0LDggQEAgY2xhc3MgUmVzb3VyY2VS
ZXF1ZXN0OwogY2xhc3MgU3VicmVzb3VyY2VMb2FkZXI7CiBjbGFzcyBTdWJyZXNvdXJjZUxvYWRl
ckNsaWVudDsKIAotY2xhc3MgUmVzb3VyY2VMb2FkU2NoZWR1bGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFJlc291cmNlTG9hZFNjaGVkdWxlciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoUmVzb3VyY2VMb2FkU2NoZWR1bGVyKTsKIHB1YmxpYzoKICAgICBmcmllbmQgUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyKiByZXNvdXJjZUxvYWRTY2hlZHVsZXIoKTsKIApAQCAtNjksNyArNzAs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVTZXJ2ZVBlbmRpbmdSZXF1ZXN0cygpOwog
ICAgIHZvaWQgcmVxdWVzdFRpbWVyRmlyZWQoVGltZXI8UmVzb3VyY2VMb2FkU2NoZWR1bGVyPiop
OwogCi0gICAgY2xhc3MgSG9zdEluZm9ybWF0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBIb3N0SW5mb3JtYXRpb24geworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShI
b3N0SW5mb3JtYXRpb24pOwogICAgIHB1YmxpYzoKICAgICAgICAgSG9zdEluZm9ybWF0aW9uKGNv
bnN0IFN0cmluZyYsIHVuc2lnbmVkKTsKICAgICAgICAgfkhvc3RJbmZvcm1hdGlvbigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YmZyYW1lTG9hZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAppbmRleCBhNTczMDQ1Li5iYTYzYTVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3ViZnJhbWVMb2FkZXIuaApAQCAtNTQsNyArNTQsOCBAQCBj
bGFzcyBOb2RlOwogY2xhc3MgV2lkZ2V0OwogCiAvLyBUaGlzIGlzIGEgc2xpZ2h0IG1pc25vbWVy
LiBJdCBoYW5kbGVzIHRoZSBoaWdoZXIgbGV2ZWwgbG9naWMgb2YgbG9hZGluZyBib3RoIHN1YmZy
YW1lcyBhbmQgcGx1Z2lucy4KLWNsYXNzIFN1YmZyYW1lTG9hZGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIFN1YmZyYW1lTG9hZGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
dWJmcmFtZUxvYWRlcik7CiBwdWJsaWM6CiAgICAgU3ViZnJhbWVMb2FkZXIoRnJhbWUqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggZjQxYTc3NC4uZjU3
NGM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCkBAIC02NSw3
ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIC8vIFVzZWZ1bCBmb3IgZG9pbmcg
bG9hZGVyIG9wZXJhdGlvbnMgZnJvbSBhbnkgdGhyZWFkIChub3QgdGhyZWFkc2FmZSwgCiAgICAg
Ly8ganVzdCBhYmxlIHRvIHJ1biBvbiB0aHJlYWRzIG90aGVyIHRoYW4gdGhlIG1haW4gdGhyZWFk
KS4KLSAgICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAg
ICBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
VGhyZWFkYWJsZUxvYWRlcik7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2Fk
UmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgY29uc3QgVGhyZWFkYWJsZUxv
YWRlck9wdGlvbnMmKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRl
cj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMm
KTsKQEAgLTc1LDYgKzc2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGRl
cmVmKCkgeyBkZXJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQogCiAgICAgcHJvdGVjdGVkOgorICAg
ICAgICBUaHJlYWRhYmxlTG9hZGVyKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgflRocmVhZGFibGVM
b2FkZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHJlZlRocmVhZGFibGVMb2FkZXIoKSA9
IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXJlZlRocmVhZGFibGVMb2FkZXIoKSA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlckNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXJDbGllbnQuaAppbmRleCBi
Y2Y2OGJlLi5jZWE4YjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGhyZWFk
YWJsZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxl
TG9hZGVyQ2xpZW50LmgKQEAgLTMxLDE0ICszMSwxNCBAQAogI2lmbmRlZiBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50X2gKICNkZWZpbmUgVGhyZWFkYWJsZUxvYWRlckNsaWVudF9oCiAKLSNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3Mg
UmVzb3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCi0gICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
VGhyZWFkYWJsZUxvYWRlckNsaWVudCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRo
cmVhZGFibGVMb2FkZXJDbGllbnQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRTZW5kRGF0YSh1bnNpZ25lZCBsb25nIGxvbmcg
LypieXRlc1NlbnQqLywgdW5zaWduZWQgbG9uZyBsb25nIC8qdG90YWxCeXRlc1RvQmVTZW50Ki8p
IHsgfQogCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJikgeyB9CiAKICAgICBwcm90ZWN0ZWQ6CisgICAgICAgIFRocmVhZGFibGVM
b2FkZXJDbGllbnQoKSB7IH0KICAgICAgICAgdmlydHVhbCB+VGhyZWFkYWJsZUxvYWRlckNsaWVu
dCgpIHsgfQogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Xb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvV29ya2VyVGhyZWFk
YWJsZUxvYWRlci5oCmluZGV4IDgxZGEyZTAuLjY1Y2M2MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaApAQCAtNTQsNiArNTQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0
YTsKIAogICAgIGNsYXNzIFdvcmtlclRocmVhZGFibGVMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXb3JrZXJUaHJlYWRhYmxlTG9hZGVyPiwgcHVibGljIFRocmVhZGFibGVMb2FkZXIgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmLCBjb25zdCBUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucyYpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyPiBjcmVhdGUoV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJs
ZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBvcHRp
b25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0
aW9uQ2FjaGVHcm91cC5oCmluZGV4IDJkOGI4M2UuLmYzYTExN2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmgKQEAg
LTUzLDcgKzUzLDggQEAgZW51bSBBcHBsaWNhdGlvbkNhY2hlVXBkYXRlT3B0aW9uIHsKICAgICBB
cHBsaWNhdGlvbkNhY2hlVXBkYXRlV2l0aG91dEJyb3dzaW5nQ29udGV4dAogfTsKIAotY2xhc3Mg
QXBwbGljYXRpb25DYWNoZUdyb3VwIDogcHVibGljIE5vbmNvcHlhYmxlLCBSZXNvdXJjZUhhbmRs
ZUNsaWVudCB7CitjbGFzcyBBcHBsaWNhdGlvbkNhY2hlR3JvdXAgOiBSZXNvdXJjZUhhbmRsZUNs
aWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRpb25DYWNoZUdyb3VwKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgQXBwbGljYXRpb25DYWNoZUdy
b3VwKGNvbnN0IEtVUkwmIG1hbmlmZXN0VVJMLCBib29sIGlzQ29weSA9IGZhbHNlKTsgICAgCiAg
ICAgfkFwcGxpY2F0aW9uQ2FjaGVHcm91cCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCA4YWM1MzU3Li5hMWYy
ODQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGlj
YXRpb25DYWNoZUhvc3QuaApAQCAtNTgsNyArNTgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAjZW5kaWYKIAotICAgIGNsYXNzIEFw
cGxpY2F0aW9uQ2FjaGVIb3N0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBBcHBs
aWNhdGlvbkNhY2hlSG9zdCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0
aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAg
ICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhU
TUw1IHNwZWMuCiAgICAgICAgIGVudW0gU3RhdHVzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKaW5kZXggN2Ri
MzRlNi4uOGJmZGYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Fw
cGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgdGVtcGxh
dGUgPGNsYXNzIFQ+CiBjbGFzcyBTdG9yYWdlSURKb3VybmFsOwogY2xhc3MgU2VjdXJpdHlPcmln
aW47CiAKLWNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIGVudW0gRmFpbHVyZVJlYXNvbiB7CiAgICAgICAgIE9yaWdpblF1b3RhUmVh
Y2hlZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVS
ZXNvdXJjZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hp
dmVSZXNvdXJjZUNvbGxlY3Rpb24uaAppbmRleCA5ZDYzMGQxLi5mZDJkZGJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZVJlc291cmNlQ29s
bGVjdGlvbi5oCkBAIC0zOSw3ICszOSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBBcmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
cmNoaXZlUmVzb3VyY2VDb2xsZWN0aW9uKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgQXJjaGl2ZVJlc291cmNlQ29sbGVjdGlvbigpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IDM2MDBhMDIuLjVjOGIzOGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC01MCw3
ICs1MCw4IEBAIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlcjsKIC8vIEEgcmVzb3VyY2UgdGhhdCBpcyBo
ZWxkIGluIHRoZSBjYWNoZS4gQ2xhc3NlcyB3aG8gd2FudCB0byB1c2UgdGhpcyBvYmplY3Qgc2hv
dWxkIGRlcml2ZQogLy8gZnJvbSBDYWNoZWRSZXNvdXJjZUNsaWVudCwgdG8gZ2V0IHRoZSBmdW5j
dGlvbiBjYWxscyBpbiBjYXNlIHRoZSByZXF1ZXN0ZWQgZGF0YSBoYXMgYXJyaXZlZC4KIC8vIFRo
aXMgY2xhc3MgYWxzbyBkb2VzIHRoZSBhY3R1YWwgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBsb2Fk
ZXIgdG8gb2J0YWluIHRoZSByZXNvdXJjZSBmcm9tIHRoZSBuZXR3b3JrLgotY2xhc3MgQ2FjaGVk
UmVzb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVzb3VyY2Ugewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogICAgIGZyaWVuZCBjbGFz
cyBJbnNwZWN0b3JSZXNvdXJjZTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50LmgKaW5kZXggMjc1ZDMzMS4uMWM1NmYxMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlQ2xpZW50
LmgKQEAgLTQ1LDggKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAqIGluaGVyaXQg
ZnJvbSB0aGlzIGNsYXNzIGFuZCBvdmVybG9hZCBvbmUgb2YgdGhlIDMgZnVuY3Rpb25zCiAgICAg
ICoKICAgICAgKi8KLSAgICBjbGFzcyBDYWNoZWRSZXNvdXJjZUNsaWVudCA6IHB1YmxpYyBGYXN0
QWxsb2NCYXNlCi0gICAgeworICAgIGNsYXNzIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFs
IH5DYWNoZWRSZXNvdXJjZUNsaWVudCgpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oCmluZGV4IDM0ZWY3MDAuLmE1NDBhNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5oCkBAIC00OSw3ICs0OSw4IEBAIGNsYXNzIEltYWdlTG9hZGVyOwogY2xhc3MgS1VSTDsK
IAogLy8gVGhlIENhY2hlZFJlc291cmNlTG9hZGVyIG1hbmFnZXMgdGhlIGxvYWRpbmcgb2Ygc2Ny
aXB0cy9pbWFnZXMvc3R5bGVzaGVldHMgZm9yIGEgc2luZ2xlIGRvY3VtZW50LgotY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ2FjaGVkUmVz
b3VyY2VMb2FkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENhY2hlZFJlc291cmNlTG9h
ZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBmcmllbmQgY2xhc3MgSW1hZ2VMb2FkZXI7
CiAKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1v
cnlDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmgKaW5k
ZXggZTkyNmQ3Yy4uZGQ4Yjg0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL01lbW9yeUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9y
eUNhY2hlLmgKQEAgLTcwLDcgKzcwLDggQEAgY2xhc3MgS1VSTDsKIC8vIGl0cyBtZW1iZXIgdmFy
aWFibGVzKSBhcmUgYWxsb2NhdGVkIGluIG5vbi1wdXJnZWFibGUgVEMtbWFsbG9jJ2QgbWVtb3J5
IHNvIHdlIHdvdWxkIHNlZSBzbGlnaHRseQogLy8gbW9yZSBtZW1vcnkgdXNlIGR1ZSB0byB0aGlz
LgogCi1jbGFzcyBNZW1vcnlDYWNoZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBNZW1v
cnlDYWNoZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVtb3J5Q2FjaGUpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBmcmllbmQgTWVtb3J5Q2FjaGUqIG1lbW9y
eUNhY2hlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25E
YXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmgKaW5k
ZXggNjE0NmFhNi4uZTA4ZGNkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2lj
b24vSWNvbkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRh
dGFiYXNlLmgKQEAgLTYyLDggKzYyLDggQEAgZW51bSBJY29uTG9hZERlY2lzaW9uIHsKICAgICBJ
Y29uTG9hZFVua25vd24KIH07CiAKLWNsYXNzIEljb25EYXRhYmFzZSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7Ci0KK2NsYXNzIEljb25EYXRhYmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
SWNvbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAvLyAqKiogTWFpbiBUaHJl
YWQgT25seSAqKioKIHB1YmxpYzoKICAgICB2b2lkIHNldENsaWVudChJY29uRGF0YWJhc2VDbGll
bnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFz
ZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50
LmgKaW5kZXggYzIxMGQ3ZC4uZjk3YTJhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlQ2xpZW50LmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpZm5kZWYgSWNv
bkRhdGFiYXNlQ2xpZW50X2gKICNkZWZpbmUgSWNvbkRhdGFiYXNlQ2xpZW50X2gKIAorI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KIApAQCAtMzcsOCArMzgsMTAgQEAKICAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgSWNvbkRhdGFiYXNlQ2xpZW50IDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEljb25EYXRhYmFzZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoSWNvbkRhdGFiYXNlQ2xpZW50KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CisgICAgSWNvbkRhdGFiYXNlQ2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCB+SWNvbkRhdGFiYXNl
Q2xpZW50KCkgeyB9CiAgICAgdmlydHVhbCBib29sIHBlcmZvcm1JbXBvcnQoKSB7IHJldHVybiB0
cnVlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVtb3ZlQWxsSWNvbnMoKSB7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIuaAppbmRleCAxZWJhYzQ4Li4yOTg1
MzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uTG9hZGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkxvYWRlci5oCkBAIC0zNyw3ICsz
Nyw4IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgS1VSTDsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAot
Y2xhc3MgSWNvbkxvYWRlciA6IHByaXZhdGUgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBJY29uTG9hZGVyIDogcHJpdmF0ZSBTdWJyZXNvdXJjZUxv
YWRlckNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSWNvbkxvYWRlcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEljb25M
b2FkZXI+IGNyZWF0ZShGcmFtZSopOwogICAgIH5JY29uTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvaWNvbi9QYWdlVVJMUmVjb3JkLmgKaW5kZXggZjdjY2I4Zi4uNzkzNWRjOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2ljb24vUGFnZVVSTFJlY29yZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9pY29uL1BhZ2VVUkxSZWNvcmQuaApAQCAtNTEsNyArNTEs
OCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGljb25VUkw7CiB9OwogCi1jbGFzcyBQYWdlVVJMUmVj
b3JkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhZ2VVUkxSZWNvcmQgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFBhZ2VVUkxSZWNvcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBQYWdlVVJMUmVjb3JkKGNvbnN0IFN0cmluZyYgcGFnZVVSTCk7CiAg
ICAgflBhZ2VVUkxSZWNvcmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL25vdGlmaWNh
dGlvbnMvTm90aWZpY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5oCmluZGV4IGYxNGEzMDIuLjczMTMxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbm90
aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaApAQCAtNTksNiArNTksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgV29ya2VyQ29udGV4dDsKIAogICAgIGNsYXNzIE5vdGlmaWNhdGlv
biA6IHB1YmxpYyBSZWZDb3VudGVkPE5vdGlmaWNhdGlvbj4sIHB1YmxpYyBBY3RpdmVET01PYmpl
Y3QsIHB1YmxpYyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgRXZlbnRUYXJnZXQgewor
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IEtVUkwmIHVybCwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMsIFBhc3NSZWZQ
dHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IE5vdGlmaWNhdGlvbkNvbnRlbnRzJiBjb250
ZW50cywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMs
IFBhc3NSZWZQdHI8Tm90aWZpY2F0aW9uQ2VudGVyPiBwcm92aWRlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAppbmRleCBhYjkyNzk2Li5lNmEwYTAwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTQxLDcg
KzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEV2ZW50OwogICAgIGNsYXNz
IFBhZ2U7CiAKLSAgICBjbGFzcyBDb250ZXh0TWVudUNvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworICAgIGNsYXNzIENvbnRleHRNZW51Q29udHJvbGxlciB7CisgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENvbnRleHRNZW51Q29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKFBhZ2Uq
LCBDb250ZXh0TWVudUNsaWVudCopOwogICAgICAgICB+Q29udGV4dE1lbnVDb250cm9sbGVyKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKaW5kZXggMTBiYjVmOC4uMGYxNzZiMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaApAQCAtNDcsNyArNDcsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgUmFuZ2U7CiAgICAgY2xhc3MgU2VsZWN0aW9uQ29u
dHJvbGxlcjsKICAgICAKLSAgICBjbGFzcyBEcmFnQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CisgICAgY2xhc3MgRHJhZ0NvbnRyb2xsZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEcmFnQ29udHJvbGxlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgRHJhZ0NvbnRyb2xsZXIoUGFnZSosIERyYWdDbGllbnQqKTsKICAgICAg
ICAgfkRyYWdDb250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCAw
YzE4NDUwLi5kMTJhNTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTgxLDcg
KzgxLDggQEAgZXh0ZXJuIGNvbnN0IGludCBHZW5lcmFsRHJhZ0h5c3RlcmVzaXM7CiAKIGVudW0g
SGl0VGVzdFNjcm9sbGJhcnMgeyBTaG91bGRIaXRUZXN0U2Nyb2xsYmFycywgRG9udEhpdFRlc3RT
Y3JvbGxiYXJzIH07CiAKLWNsYXNzIEV2ZW50SGFuZGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBFdmVudEhhbmRsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEV2ZW50SGFu
ZGxlcik7CiBwdWJsaWM6CiAgICAgRXZlbnRIYW5kbGVyKEZyYW1lKik7CiAgICAgfkV2ZW50SGFu
ZGxlcigpOwpAQCAtMjI0LDcgKzIyNSwxMCBAQCBwcml2YXRlOgogICAgICAgICBQZXJmb3JtRHJh
Z0FuZERyb3AKICAgICB9OwogCi0gICAgc3RydWN0IEV2ZW50SGFuZGxlckRyYWdTdGF0ZSA6IE5v
bmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRXZlbnRIYW5kbGVyRHJhZ1N0YXRlIHsKKyAgICAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRIYW5kbGVyRHJhZ1N0YXRlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CisgICAgcHVibGljOgorICAgICAgICBFdmVudEhhbmRsZXJEcmFnU3RhdGUo
KSB7IH0KICAgICAgICAgUmVmUHRyPE5vZGU+IG1fZHJhZ1NyYzsgLy8gZWxlbWVudCB0aGF0IG1h
eSBiZSBhIGRyYWcgc291cmNlLCBmb3IgdGhlIGN1cnJlbnQgbW91c2UgZ2VzdHVyZQogICAgICAg
ICBib29sIG1fZHJhZ1NyY0lzTGluazsKICAgICAgICAgYm9vbCBtX2RyYWdTcmNJc0ltYWdlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IGZmZWQ1OTIuLjEwYWQ2YmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKICAgICBjbGFzcyBFdmVudFNvdXJjZSA6
IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50U291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0LCBwcml2
YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworICAg
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEV2ZW50U291cmNlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwsIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgIHZpcnR1YWwgfkV2
ZW50U291cmNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJv
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAppbmRleCBiZTUx
Yzc3Li41MGZhMmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZvY3VzQ29udHJv
bGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKQEAgLTQw
LDcgKzQwLDggQEAgY2xhc3MgS2V5Ym9hcmRFdmVudDsKIGNsYXNzIE5vZGU7CiBjbGFzcyBQYWdl
OwogCi1jbGFzcyBGb2N1c0NvbnRyb2xsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
Rm9jdXNDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb2N1c0NvbnRyb2xs
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb2N1c0NvbnRyb2xs
ZXIoUGFnZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVRyZWUuaAppbmRleCA5NGI4ZDE2Li5iYWM1NDc1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVHJlZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVUcmVlLmgKQEAgLTI2LDcgKzI2LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgRnJhbWU7CiAKLSAgICBjbGFzcyBGcmFtZVRyZWUgOiBwdWJs
aWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEZyYW1lVHJlZSB7CisgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEZyYW1lVHJlZSk7CiAgICAgcHVibGljOgogICAgICAgICBGcmFtZVRyZWUo
RnJhbWUqIHRoaXNGcmFtZSwgRnJhbWUqIHBhcmVudEZyYW1lKSAKICAgICAgICAgICAgIDogbV90
aGlzRnJhbWUodGhpc0ZyYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGJjYzhi
OWYuLmUwM2VmNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEwOCw3ICsxMDgs
MTAgQEAgZG91YmxlIEZyYW1lVmlldzo6c19kZWZlcnJlZFJlcGFpbnREZWxheUluY3JlbWVudER1
cmluZ0xvYWRpbmcgPSAwOwogLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIHVwZGF0ZVdpZGdldHMg
aXRlcmF0aW9ucyB0aGF0IHNob3VsZCBiZSBkb25lIGJlZm9yZSByZXR1cm5pbmcuCiBzdGF0aWMg
Y29uc3QgdW5zaWduZWQgbWF4VXBkYXRlV2lkZ2V0c0l0ZXJhdGlvbnMgPSAyOwogCi1zdHJ1Y3Qg
U2NoZWR1bGVkRXZlbnQgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgU2NoZWR1bGVkRXZlbnQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjaGVkdWxlZEV2ZW50KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CitwdWJsaWM6CisgICAgU2NoZWR1bGVkRXZlbnQoKSB7IH0KICAgICBSZWZQdHI8
RXZlbnQ+IG1fZXZlbnQ7CiAgICAgUmVmUHRyPE5vZGU+IG1fZXZlbnRUYXJnZXQ7CiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb25Db250cm9sbGVyLmgKaW5kZXggN2RiMTk1MS4u
MWEyY2U2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9HZW9sb2NhdGlvbkNvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uQ29udHJvbGxlci5o
CkBAIC00MCw3ICs0MCw4IEBAIGNsYXNzIEdlb2xvY2F0aW9uRXJyb3I7CiBjbGFzcyBHZW9sb2Nh
dGlvblBvc2l0aW9uOwogY2xhc3MgUGFnZTsKIAotY2xhc3MgR2VvbG9jYXRpb25Db250cm9sbGVy
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEdlb2xvY2F0aW9uQ29udHJvbGxlciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2VvbG9jYXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoK
ICAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXIoUGFnZSosIEdlb2xvY2F0aW9uQ2xpZW50Kik7CiAg
ICAgfkdlb2xvY2F0aW9uQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Hcm91cFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3Mu
aAppbmRleCBmYjZmNmI1Li4xYmJhZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0dyb3VwU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0dyb3VwU2V0dGluZ3Mu
aApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBhZ2VHcm91
cDsKIAotY2xhc3MgR3JvdXBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBH
cm91cFNldHRpbmdzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcm91cFNldHRpbmdzKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
R3JvdXBTZXR0aW5ncz4gY3JlYXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IDc0MTNiYjYu
LjA3MWIxNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC05MCwxMiArOTAsMTUgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgZW51bSBGaW5kRGlyZWN0aW9uIHsgRmluZERpcmVjdGlvbkZvcndhcmQs
IEZpbmREaXJlY3Rpb25CYWNrd2FyZCB9OwogCi0gICAgY2xhc3MgUGFnZSA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CisgICAgY2xhc3MgUGFnZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBhZ2UpOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIHZvaWQgc2NoZWR1bGVGb3JjZWRT
dHlsZVJlY2FsY0ZvckFsbFBhZ2VzKCk7CiAKICAgICAgICAgLy8gSXQgaXMgdXAgdG8gdGhlIHBs
YXRmb3JtIHRvIGVuc3VyZSB0aGF0IG5vbi1udWxsIGNsaWVudHMgYXJlIHByb3ZpZGVkIHdoZXJl
IHJlcXVpcmVkLgotICAgICAgICBzdHJ1Y3QgUGFnZUNsaWVudHMgOiBOb25jb3B5YWJsZSB7Cisg
ICAgICAgIHN0cnVjdCBQYWdlQ2xpZW50cyB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQYWdlQ2xpZW50cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgICAgICBwdWJs
aWM6CiAgICAgICAgICAgICBQYWdlQ2xpZW50cygpOwogICAgICAgICAgICAgflBhZ2VDbGllbnRz
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cC5oCmluZGV4IGNjNDdmYmEuLjY0M2M1ZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUdyb3VwLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlR3JvdXAuaApAQCAtNDEsNyArNDEsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBTdG9yYWdlTmFtZXNwYWNlOwogCi0gICAgY2xh
c3MgUGFnZUdyb3VwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBQYWdlR3JvdXAg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWdlR3JvdXApOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFBhZ2VHcm91cChjb25zdCBTdHJpbmcm
IG5hbWUpOwogICAgICAgICBQYWdlR3JvdXAoUGFnZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUdyb3VwTG9hZERlZmVycmVyLmgKaW5kZXggZDQ0M2ViZC4uZjc5NTZjNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlR3JvdXBMb2FkRGVmZXJyZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2VHcm91cExvYWREZWZlcnJlci5oCkBAIC0yOCw3ICsyOCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBQYWdlOwog
Ci0gICAgY2xhc3MgUGFnZUdyb3VwTG9hZERlZmVycmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBQYWdlR3JvdXBMb2FkRGVmZXJyZXIgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShQYWdlR3JvdXBMb2FkRGVmZXJyZXIpOwogICAgIHB1YmxpYzoKICAgICAgICAgUGFn
ZUdyb3VwTG9hZERlZmVycmVyKFBhZ2UqLCBib29sIGRlZmVyU2VsZik7CiAgICAgICAgIH5QYWdl
R3JvdXBMb2FkRGVmZXJyZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGx1
Z2luSGFsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BsdWdpbkhhbHRlci5oCmluZGV4IGFm
OGIzMWUuLjViOTZkMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGx1Z2luSGFs
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QbHVnaW5IYWx0ZXIuaApAQCAtMzUsNyAr
MzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhhbHRhYmxlUGx1Z2luOwogCi1j
bGFzcyBQbHVnaW5IYWx0ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUGx1Z2luSGFs
dGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5IYWx0ZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQbHVnaW5IYWx0ZXIoUGx1Z2luSGFsdGVyQ2xp
ZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBmNDYzMGRlLi40MjBkYWNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCkBAIC01MCw3ICs1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1lbnVBbHdheXNJbmNsdWRlZAogICAgIH07CiAKLSAg
ICBjbGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgU2V0dGlu
Z3MgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2V0dGluZ3MoUGFnZSopOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NwZWVjaElucHV0LmgKaW5kZXggMjcwZjUwMC4uNTJkNmMwMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU3BlZWNoSW5wdXQuaApAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIlNwZWVjaElu
cHV0TGlzdGVuZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtNDgsNyArNDcsOCBAQCBjbGFzcyBTcGVlY2hJbnB1dExpc3RlbmVyOwogLy8g
VGhpcyBjbGFzcyBjb25uZWN0cyB0aGUgaW5wdXQgZWxlbWVudHMgcmVxdWlyaW5nIHNwZWVjaCBp
bnB1dCB3aXRoIHRoZSBwbGF0Zm9ybSBzcGVjaWZpYwogLy8gc3BlZWNoIHJlY29nbml0aW9uIGVu
Z2luZS4gSXQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgdGhlIGlucHV0IGVsZW1lbnRzIHRvIGFjdGl2
YXRlIHNwZWVjaAogLy8gcmVjb2duaXRpb24gYW5kIG1ldGhvZHMgZm9yIHRoZSBzcGVlY2ggcmVj
b2duaXRpb24gZW5naW5lIHRvIHJldHVybiBiYWNrIHRoZSByZXN1bHRzLgotY2xhc3MgU3BlZWNo
SW5wdXQgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBTcGVlY2hJbnB1dExpc3RlbmVyIHsK
K2NsYXNzIFNwZWVjaElucHV0IDogcHVibGljIFNwZWVjaElucHV0TGlzdGVuZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNwZWVjaElucHV0KTsKIHB1YmxpYzoKICAgICBTcGVlY2hJbnB1
dChTcGVlY2hJbnB1dENsaWVudCopOwogICAgIHZpcnR1YWwgflNwZWVjaElucHV0KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTY3JpcHQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvVXNlclNjcmlwdC5oCmluZGV4IDA2NTI0MzkuLjA1MTQwOTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvVXNlclNjcmlwdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VXNlclNjcmlwdC5oCkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgVXNlclNjcmlwdCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBVc2VyU2NyaXB0
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShVc2VyU2NyaXB0KTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVXNlclNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZSwg
Y29uc3QgS1VSTCYgdXJsLAogICAgICAgICAgICAgICAgUGFzc093blB0cjxWZWN0b3I8U3RyaW5n
PiA+IHdoaXRlbGlzdCwgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IGJsYWNrbGlzdCwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvVXNlclN0eWxlU2hlZXQuaAppbmRleCBmYTQyZTJjLi4wNjhkZjFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJTdHlsZVNoZWV0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Vc2VyU3R5bGVTaGVldC5oCkBAIC0zNSw3ICszNSw4IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgVXNlclN0eWxlU2hlZXQgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgVXNlclN0eWxlU2hlZXQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFVz
ZXJTdHlsZVNoZWV0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVXNl
clN0eWxlU2hlZXQoY29uc3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IEtVUkwmIHVybCwKICAgICAg
ICAgICAgICAgICAgICBQYXNzT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gd2hpdGVsaXN0LCBQYXNz
T3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gYmxhY2tsaXN0LApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9YU1NBdWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3Iu
aAppbmRleCAyYjc4MWYxLi41YmVlZDYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1hTU0F1ZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1hTU0F1ZGl0b3IuaApAQCAt
NjksNyArNjksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gKiBIVE1MRG9jdW1lbnRQ
YXJzZXI6OnNob3VsZExvYWRFeHRlcm5hbFNjcmlwdEZyb21TcmMgLSB1c2VkIHRvIGxvYWQgZXh0
ZXJuYWwgSmF2YVNjcmlwdCBzY3JpcHRzLgogICAgIC8vICogU3ViZnJhbWVMb2FkZXI6OnJlcXVl
c3RPYmplY3QgLSB1c2VkIHRvIGxvYWQgPG9iamVjdD4vPGVtYmVkPiBlbGVtZW50cy4KICAgICAv
LwotICAgIGNsYXNzIFhTU0F1ZGl0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFhTU0F1ZGl0b3IgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShYU1NBdWRpdG9yKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBYU1NBdWRpdG9y
KEZyYW1lKik7CiAgICAgICAgIH5YU1NBdWRpdG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCmluZGV4IDE0YTQ0ZDIuLjlhOTA2ZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBA
IC0yMjMsNyArMjIzLDggQEAgY2xhc3MgUHJvcGVydHlXcmFwcGVyQmFzZTsKIHN0YXRpYyB2b2lk
IGFkZFNob3J0aGFuZFByb3BlcnRpZXMoKTsKIHN0YXRpYyBQcm9wZXJ0eVdyYXBwZXJCYXNlKiB3
cmFwcGVyRm9yUHJvcGVydHkoaW50IHByb3BlcnR5SUQpOwogCi1jbGFzcyBQcm9wZXJ0eVdyYXBw
ZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFByb3BlcnR5V3JhcHBlckJhc2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFByb3BlcnR5V3JhcHBlckJhc2UpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBQcm9wZXJ0eVdyYXBwZXJCYXNlKGludCBw
cm9wKQogICAgICAgICA6IG1fcHJvcChwcm9wKQpAQCAtNDQ2LDcgKzQ0Nyw4IEBAIHB1YmxpYzoK
IH07CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotY2xhc3MgRmlsbExheWVyUHJvcGVydHlXcmFw
cGVyR2V0dGVyIDogcHVibGljIEZpbGxMYXllclByb3BlcnR5V3JhcHBlckJhc2UsIHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBGaWxsTGF5ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIgOiBwdWJs
aWMgRmlsbExheWVyUHJvcGVydHlXcmFwcGVyQmFzZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoRmlsbExheWVyUHJvcGVydHlXcmFwcGVyR2V0dGVyKTsKIHB1YmxpYzoKICAgICBGaWxsTGF5
ZXJQcm9wZXJ0eVdyYXBwZXJHZXR0ZXIoVCAoRmlsbExheWVyOjoqZ2V0dGVyKSgpIGNvbnN0KQog
ICAgICAgICA6IG1fZ2V0dGVyKGdldHRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDY4MTJl
MDkuLjE4NmRkN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Fu
aW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtNDksNyArNDksOCBAQCBjbGFz
cyBOb2RlOwogY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKLWNsYXNz
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShB
bmltYXRpb25Db250cm9sbGVyUHJpdmF0ZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlKEZyYW1lKik7CiAgICAgfkFuaW1h
dGlvbkNvbnRyb2xsZXJQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L21hYy9FdmVudEhhbmRsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhh
bmRsZXJNYWMubW0KaW5kZXggMmQ0ZDg2Yi4uNjAxMTg1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQpAQCAtNzcsNyArNzcsOCBAQCBOU0V2ZW50ICpFdmVu
dEhhbmRsZXI6OmN1cnJlbnROU0V2ZW50KCkKICAgICByZXR1cm4gY3VycmVudE5TRXZlbnRTbG90
KCkuZ2V0KCk7CiB9CiAKLWNsYXNzIEN1cnJlbnRFdmVudFNjb3BlIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKK2NsYXNzIEN1cnJlbnRFdmVudFNjb3BlIHsKKyAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoQ3VycmVudEV2ZW50U2NvcGUpOwogcHVibGljOgogICAgIEN1cnJlbnRFdmVudFNjb3BlKE5T
RXZlbnQgKik7CiAgICAgfkN1cnJlbnRFdmVudFNjb3BlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0FzeW5jRmlsZVN5c3RlbS5oCmluZGV4IGQ5NmMxYWQuLmMzNGE2NDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC00NCw3ICs0NCw4IEBAIGNsYXNz
IEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrczsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlckNsaWVudDsK
IAogLy8gVGhpcyBjbGFzcyBwcm92aWRlcyBhc3luYyBpbnRlcmZhY2UgZm9yIHBsYXRmb3JtLXNw
ZWNpZmljIGZpbGUgc3lzdGVtIGltcGxlbWVudGF0aW9uLiAgTm90ZSB0aGF0IGFsbCB0aGUgbWV0
aG9kcyB0YWtlIHBsYXRmb3JtIHBhdGhzLgotY2xhc3MgQXN5bmNGaWxlU3lzdGVtIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbSB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Bc3luY0Zp
bGVTeXN0ZW0oKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5
bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0Zp
bGVTeXN0ZW1DYWxsYmFja3MuaAppbmRleCAyOTBhNjY5Li5jZWU4ZDkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaApAQCAtNDEs
OCArNDEsMTEgQEAgY2xhc3MgQXN5bmNGaWxlU3lzdGVtOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVy
Owogc3RydWN0IEZpbGVNZXRhZGF0YTsKIAotY2xhc3MgQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tz
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcyB7
CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzKTsKIHB1
YmxpYzoKKyAgICBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MoKSB7IH0gICAgCisKICAgICAvLyBD
YWxsZWQgd2hlbiBhIHJlcXVlc3RlZCBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxs
eS4KICAgICB2aXJ0dWFsIHZvaWQgZGlkU3VjY2VlZCgpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaAppbmRleCBkNDRlZTFlLi5mMDNlYzgxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaApAQCAtMzksNyArMzksOCBAQCBj
bGFzcyBOU0F1dG9yZWxlYXNlUG9vbDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBB
dXRvZHJhaW5lZFBvb2wgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXV0b2RyYWluZWRQ
b29sIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdXRvZHJhaW5lZFBvb2wpOwogcHVibGlj
OgogICAgIEF1dG9kcmFpbmVkUG9vbChpbnQgaXRlcmF0aW9uTGltaXQgPSAxKTsKICAgICB+QXV0
b2RyYWluZWRQb29sKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnUuaAppbmRleCA1
NzVjODZkLi4yOTc3NzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmgKQEAg
LTQxLDggKzQxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQ29udGV4dE1l
bnVDb250cm9sbGVyOwogCi0gICAgY2xhc3MgQ29udGV4dE1lbnUgOiBwdWJsaWMgTm9uY29weWFi
bGUKLSAgICB7CisgICAgY2xhc3MgQ29udGV4dE1lbnUgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb250ZXh0TWVudSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1Ymxp
YzoKICAgICAgICAgQ29udGV4dE1lbnUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250
ZXh0TWVudUl0ZW0uaAppbmRleCAxNDVkNzk1Li42ZTg0MTMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaApAQCAtMjIzLDcgKzIyMyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTWVudUl0ZW1EZXNjcmlwdGlvbjsK
ICNlbmRpZgogCi0gICAgY2xhc3MgQ29udGV4dE1lbnVJdGVtIDogcHVibGljIEZhc3RBbGxvY0Jh
c2UgeworICAgIGNsYXNzIENvbnRleHRNZW51SXRlbSB7CisgICAgICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgQ29udGV4dE1lbnVJdGVtKENvbnRleHRN
ZW51SXRlbVR5cGUsIENvbnRleHRNZW51QWN0aW9uLCBjb25zdCBTdHJpbmcmLCBDb250ZXh0TWVu
dSogc3ViTWVudSA9IDApOwogICAgICAgICBDb250ZXh0TWVudUl0ZW0oQ29udGV4dE1lbnVJdGVt
VHlwZSwgQ29udGV4dE1lbnVBY3Rpb24sIGNvbnN0IFN0cmluZyYsIGJvb2wgZW5hYmxlZCwgYm9v
bCBjaGVja2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0
ZWRQdHJMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRyTGlzdC5o
CmluZGV4IDQ3Y2Q1MzguLmMwN2QxNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0RlcHJlY2F0ZWRQdHJMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVw
cmVjYXRlZFB0ckxpc3QuaApAQCAtMzMsNyArMzMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHRlbXBsYXRlIDxjbGFzcyBUPiBjbGFzcyBEZXByZWNhdGVkUHRyTGlzdEl0ZXJhdG9yOwogCi10
ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3QgOiBwdWJsaWMgRmFzdEFs
bG9jQmFzZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgRGVwcmVjYXRlZFB0ckxpc3Qgewor
ICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIERlcHJlY2F0ZWRQdHJM
aXN0KCkgOiBpbXBsKGRlbGV0ZUZ1bmMpLCBkZWxfaXRlbShmYWxzZSkgeyB9CiAgICAgfkRlcHJl
Y2F0ZWRQdHJMaXN0KCkgeyBpbXBsLmNsZWFyKGRlbF9pdGVtKTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0ckxpc3RJbXBsLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0RlcHJlY2F0ZWRQdHJMaXN0SW1wbC5jcHAKaW5kZXggOTZmZDUxMy4u
YzYzMzc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGVwcmVjYXRlZFB0
ckxpc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EZXByZWNhdGVkUHRy
TGlzdEltcGwuY3BwCkBAIC0yOSwxMiArMjksMTMgQEAKICNpbmNsdWRlIDxjc3RkZGVmPgogI2lu
Y2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRGVwcmVjYXRlZExpc3ROb2RlIDogcHVibGljIE5v
bmNvcHlhYmxlCi17CitjbGFzcyBEZXByZWNhdGVkTGlzdE5vZGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERlcHJlY2F0ZWRMaXN0Tm9kZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIERlcHJlY2F0ZWRMaXN0Tm9kZSh2b2lkICpkKSA6IGRhdGEoZCksIG5leHQo
MCksIHByZXYoMCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0V2
ZW50TG9vcC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKaW5kZXggYjA1
MDdmNy4uMTI4ZTkyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRM
b29wLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRXZlbnRMb29wLmgKQEAgLTMwLDcg
KzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgRXZlbnRMb29wIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBFdmVudExvb3AgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShFdmVudExvb3ApOwogICAgIHB1YmxpYzoKICAgICAgICAgRXZlbnRM
b29wKCkKICAgICAgICAgICAgIDogbV9lbmRlZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0dlb2xvY2F0aW9uU2VydmljZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKaW5kZXggMTU4NWY2NS4uOTIxMWY4ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vR2VvbG9jYXRpb25TZXJ2aWNlLmgKQEAgLTQyLDcgKzQy
LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBnZW9sb2NhdGlvblNlcnZpY2VFcnJvck9j
Y3VycmVkKEdlb2xvY2F0aW9uU2VydmljZSopID0gMDsKIH07CiAKLWNsYXNzIEdlb2xvY2F0aW9u
U2VydmljZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBHZW9sb2NhdGlvblNlcnZpY2Ug
eworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdlb2xvY2F0aW9uU2VydmljZSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIEdlb2xvY2F0aW9uU2VydmljZSogY3JlYXRlKEdlb2xvY2F0aW9uU2Vydmlj
ZUNsaWVudCopOwogICAgIHZpcnR1YWwgfkdlb2xvY2F0aW9uU2VydmljZSgpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vSG9zdFdpbmRvdy5oCmluZGV4IDc4ODJkNDguLjIyNTg4NGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0hvc3RXaW5kb3cuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Ib3N0V2luZG93LmgKQEAgLTI2LDE1ICsyNiwxNiBAQAogI2lmbmRlZiBI
b3N0V2luZG93X2gKICNkZWZpbmUgSG9zdFdpbmRvd19oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KICNpbmNsdWRlICJXaWRnZXQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBDdXJzb3I7CiAKLWNsYXNzIEhvc3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgewor
Y2xhc3MgSG9zdFdpbmRvdyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgorICAgIEhvc3RXaW5kb3coKSB7IH0K
ICAgICB2aXJ0dWFsIH5Ib3N0V2luZG93KCkgeyB9CiAKICAgICAvLyBSZXF1ZXN0cyB0aGUgaG9z
dCBpbnZhbGlkYXRlIHRoZSB3aW5kb3csIG5vdCB0aGUgY29udGVudHMuICBJZiBpbW1lZGlhdGUg
aXMgdHJ1ZSBkbyBzbyBzeW5jaHJvbm91c2x5LCBvdGhlcndpc2UgYXN5bmMuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vS2lsbFJpbmcuaAppbmRleCA4ZTI3MzUwLi5iNjg3Mjc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9LaWxsUmluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0tpbGxSaW5nLmgKQEAgLTMxLDYgKzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgS2lsbFJpbmcgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgcHJlcGVuZChjb25zdCBT
dHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXggN2RkODc1ZS4uOWRhNzFjNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKQEAgLTM1LDcgKzM1LDkgQEAgY29uc3QgaW50IGlu
dE1pbkZvckxlbmd0aCA9ICgtMHg3ZmZmZmZmIC0gMSk7IC8vIG1pbiB2YWx1ZSBmb3IgYSAyOC1i
aXQgaW50CiAKIGVudW0gTGVuZ3RoVHlwZSB7IEF1dG8sIFJlbGF0aXZlLCBQZXJjZW50LCBGaXhl
ZCwgU3RhdGljLCBJbnRyaW5zaWMsIE1pbkludHJpbnNpYyB9OwogCi1zdHJ1Y3QgTGVuZ3RoIDog
RmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgTGVuZ3RoIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKK3B1YmxpYzoKICAgICBMZW5ndGgoKQogICAgICAgICA6IG1fdmFsdWUoMCkKICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggNzhhNDBiMy4uNTBhOWNiNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtODEsNyArODEsOCBAQCBjbGFz
cyBOb2RlOwogY2xhc3MgUmFuZ2U7CiBjbGFzcyBBcmNoaXZlUmVzb3VyY2U7CiAgICAgCi1jbGFz
cyBQYXN0ZWJvYXJkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBhc3RlYm9hcmQgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBhc3RlYm9hcmQpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy9IZWxwZXIgZnVuY3Rpb25z
IHRvIGFsbG93IENsaXBib2FyZCB0byBzaGFyZSBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCmluZGV4IGJjMjhlODQuLmFlZTk1YjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCkBA
IC03NSw3ICs3NSw4IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgdWludDMyOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQgOiBwdWJs
aWMgRmFzdEFsbG9jQmFzZSB7CisgICAgY2xhc3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKKyAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBlbnVt
IFR5cGUgewogICAgICAgICAgICAgLy8gS2V5RG93biBpcyBzZW50IGJ5IHBsYXRmb3JtcyBzdWNo
IGFzIE1hYyBPUyBYLCBndGsgYW5kIFF0LCBhbmQgaGFzIGluZm9ybWF0aW9uIGFib3V0IGJvdGgg
cGh5c2ljYWwgcHJlc3NlZCBrZXksIGFuZCBpdHMgdHJhbnNsYXRpb24uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QdXJnZWFibGVCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCmluZGV4IDliZGEyZDUuLjQ0MTM2YzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1B1cmdlYWJsZUJ1ZmZlci5oCkBAIC0yNywxMyArMjcsMTMg
QEAKICNkZWZpbmUgUHVyZ2VhYmxlQnVmZmVyX2gKIAogI2luY2x1ZGUgIlB1cmdlUHJpb3JpdHku
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IAotICAgIGNsYXNzIFB1cmdlYWJsZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
Y2xhc3MgUHVyZ2VhYmxlQnVmZmVyIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUHVy
Z2VhYmxlQnVmZmVyKTsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPFB1
cmdlYWJsZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCk7CiAgICAgICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAppbmRleCA2NWYyNTNlLi5mOGM1
MjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaApAQCAtMzAsMTUgKzMw
LDE2IEBACiAjZGVmaW5lIFJ1bkxvb3BUaW1lcl9oCiAKICNpbmNsdWRlICJTY2hlZHVsZVBhaXIu
aCIKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gVGltZSBpbnRlcnZhbHMgYXJlIGFsbCBp
biBzZWNvbmRzLgogCi1jbGFzcyBSdW5Mb29wVGltZXJCYXNlIDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIFJ1bkxvb3BUaW1lckJhc2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1
bkxvb3BUaW1lckJhc2UpOwogcHVibGljOgorICAgIFJ1bkxvb3BUaW1lckJhc2UoKSB7IH0KICAg
ICB2aXJ0dWFsIH5SdW5Mb29wVGltZXJCYXNlKCk7CiAKICAgICB2b2lkIHNjaGVkdWxlKGNvbnN0
IFNjaGVkdWxlUGFpciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsYmFyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgK
aW5kZXggNGU5ZTI0Yi4uZWY1MmIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYmFyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxi
YXJUaGVtZS5oCkBAIC0zNiw4ICszNiwxMCBAQCBjbGFzcyBQbGF0Zm9ybU1vdXNlRXZlbnQ7CiBj
bGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3JvbGxWaWV3OwogCi1jbGFzcyBTY3JvbGxiYXJUaGVt
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTY3JvbGxiYXJUaGVtZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFyVGhlbWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKKyAgICBTY3JvbGxiYXJUaGVtZSgpIHsgfQogICAgIHZpcnR1YWwgflNjcm9s
bGJhclRoZW1lKCkge307CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnQoU2Nyb2xsYmFyKiwgR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgLypkYW1hZ2VSZWN0Ki8pIHsgcmV0dXJuIGZh
bHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkVGltZXIuaAppbmRleCA1YjVjZDE0Li4x
NmUwZDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRUaW1lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZFRpbWVyLmgKQEAgLTI2LDYgKzI2
LDcgQEAKICNpZm5kZWYgU2hhcmVkVGltZXJfaAogI2RlZmluZSBTaGFyZWRUaW1lcl9oCiAKKyNp
bmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMyw4ICszNCwxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgLy8gRWFjaCB0aHJlYWQgaGFzIGl0cyBvd24gc2luZ2xlIGluc3RhbmNlIG9m
IHNoYXJlZCB0aW1lciwgd2hpY2ggaW1wbGVtZW50cyB0aGlzIGludGVyZmFjZS4KICAgICAvLyBU
aGlzIGluc3RhbmNlIGlzIHNoYXJlZCBieSBhbGwgdGltZXJzIGluIHRoZSB0aHJlYWQuCiAgICAg
Ly8gTm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHk7IHVzZSB0aGUgVGltZXIgY2xhc3Mg
aW5zdGVhZC4KLSAgICBjbGFzcyBTaGFyZWRUaW1lciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Cisg
ICAgY2xhc3MgU2hhcmVkVGltZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTaGFy
ZWRUaW1lcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAg
U2hhcmVkVGltZXIoKSB7IH0KICAgICAgICAgdmlydHVhbCB+U2hhcmVkVGltZXIoKSB7fQogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2V0RmlyZWRGdW5jdGlvbih2b2lkICgqKSgpKSA9IDA7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuaAppbmRleCA5ZjU3ZjAwLi43
NjM3N2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRHbG9iYWxE
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhyZWFkR2xvYmFsRGF0YS5oCkBA
IC00NSw3ICs0NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgVEVDQ29udmVy
dGVyV3JhcHBlcjsKICAgICBjbGFzcyBUaHJlYWRUaW1lcnM7CiAKLSAgICBjbGFzcyBUaHJlYWRH
bG9iYWxEYXRhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaHJlYWRHbG9iYWxE
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkR2xvYmFsRGF0YSk7CiAg
ICAgcHVibGljOgogICAgICAgICBUaHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgICAgIH5UaHJlYWRH
bG9iYWxEYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRU
aW1lcnMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5oCmluZGV4IGFi
NDI1OTguLjNkN2I1ZjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJl
YWRUaW1lcnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRUaW1lcnMuaApA
QCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgVGltZXJCYXNl
OwogCiAgICAgLy8gQSBjb2xsZWN0aW9uIG9mIHRpbWVycyBwZXIgdGhyZWFkLiBLZXB0IGluIFRo
cmVhZEdsb2JhbERhdGEuCi0gICAgY2xhc3MgVGhyZWFkVGltZXJzIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBUaHJlYWRUaW1lcnMgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShUaHJlYWRUaW1lcnMpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6
CiAgICAgICAgIFRocmVhZFRpbWVycygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCBj
NDQ0M2RhLi5jMzMxZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1l
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTM1LDcgKzM1LDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBUaW1lckhlYXBFbGVtZW50OwogCi1jbGFz
cyBUaW1lckJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGltZXJCYXNlIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaW1lckJhc2UpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKICAgICBUaW1lckJhc2UoKTsKICAgICB2aXJ0dWFsIH5UaW1lckJhc2UoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaAppbmRleCA5ZDlhYzFmLi45ZTI3YzVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5oCkBAIC0zMiw3ICszMiw4IEBAIHRlbXBs
YXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFRyZWVTaGFyZWQ7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2
b2lkIGFkb3B0ZWQoVHJlZVNoYXJlZDxUPiopOwogI2VuZGlmCiAKLXRlbXBsYXRlPHR5cGVuYW1l
IFQ+IGNsYXNzIFRyZWVTaGFyZWQgOiBwdWJsaWMgTm9uY29weWFibGUgewordGVtcGxhdGU8dHlw
ZW5hbWUgVD4gY2xhc3MgVHJlZVNoYXJlZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJl
ZVNoYXJlZCk7CiBwdWJsaWM6CiAgICAgVHJlZVNoYXJlZCgpCiAgICAgICAgIDogbV9yZWZDb3Vu
dCgxKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1h
dGlvbkxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmgKaW5kZXggOWEzMzRjYS4uYmY4ZmY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQW5pbWF0aW9uTGlzdCA6IHB1YmxpYyBGYXN0QWxs
b2NCYXNlIHsKK2NsYXNzIEFuaW1hdGlvbkxpc3QgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIEFuaW1hdGlvbkxpc3QoKSB7IH0KICAgICBBbmltYXRpb25MaXN0
KGNvbnN0IEFuaW1hdGlvbkxpc3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL0F1ZGlvQnVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b0J1cy5oCmluZGV4IDQzMThiODEuLjg4OGY2YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0F1ZGlvQnVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9CdXMuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAv
LyBBbiBBdWRpb0J1cyByZXByZXNlbnRzIGEgY29sbGVjdGlvbiBvZiBvbmUgb3IgbW9yZSBBdWRp
b0NoYW5uZWxzLgogLy8gVGhlIGRhdGEgbGF5b3V0IGlzICJwbGFuYXIiIGFzIG9wcG9zZWQgdG8g
ImludGVybGVhdmVkIi4KIC8vIEFuIEF1ZGlvQnVzIHdpdGggb25lIGNoYW5uZWwgaXMgbW9ubywg
YW4gQXVkaW9CdXMgd2l0aCB0d28gY2hhbm5lbHMgaXMgc3RlcmVvLCBldGMuCi1jbGFzcyBBdWRp
b0J1cyAgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQXVkaW9CdXMgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEF1ZGlvQnVzKTsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAgICAg
Q2hhbm5lbExlZnQgPSAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vQXVkaW9DaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0No
YW5uZWwuaAppbmRleCA2ODE2ODMwLi43MzI1ZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0NoYW5uZWwuaApAQCAtMzAsMTQgKzMwLDE0IEBACiAjZGVmaW5lIEF1
ZGlvQ2hhbm5lbF9oCiAKICNpbmNsdWRlICJBdWRpb0FycmF5LmgiCi0jaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAvLyBBbiBBdWRpb0NoYW5uZWwgcmVwcmVzZW50cyBhIGJ1ZmZlciBvZiBub24t
aW50ZXJsZWF2ZWQgZmxvYXRpbmctcG9pbnQgYXVkaW8gc2FtcGxlcy4KIC8vIFRoZSBQQ00gc2Ft
cGxlcyBhcmUgbm9ybWFsbHkgYXNzdW1lZCB0byBiZSBpbiBhIG5vbWluYWwgcmFuZ2UgLTEuMCAt
PiArMS4wCi1jbGFzcyBBdWRpb0NoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
QXVkaW9DaGFubmVsIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBdWRpb0NoYW5uZWwpOwog
cHVibGljOgogICAgIC8vIE1lbW9yeSBjYW4gYmUgZXh0ZXJuYWxseSByZWZlcmVuY2VkLCBvciBj
YW4gYmUgaW50ZXJuYWxseSBhbGxvY2F0ZWQgd2l0aCBhbiBBdWRpb0Zsb2F0QXJyYXkuCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZEYXRhYmFzZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFiYXNlLmgKaW5kZXggYzMzYjM4
Zi4uYmYxM2EzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
RkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJURkRhdGFi
YXNlLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIUlRG
S2VybmVsOwogCi1jbGFzcyBIUlRGRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgSFJURkRhdGFiYXNlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShIUlRGRGF0YWJhc2Up
OwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEhSVEZEYXRhYmFzZT4gY3JlYXRlKGRv
dWJsZSBzYW1wbGVSYXRlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vSFJURkVsZXZhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vSFJU
RkVsZXZhdGlvbi5oCmluZGV4IGIzODhiMzQuLjI0Yjc4MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0hSVEZFbGV2YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9IUlRGRWxldmF0aW9uLmgKQEAgLTQzLDcgKzQzLDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiAvLyBIUlRGRWxldmF0aW9uIGNvbnRhaW5zIGFsbCBvZiB0aGUgSFJU
Rktlcm5lbHMgKG9uZSBsZWZ0IGVhciBhbmQgb25lIHJpZ2h0IGVhciBwZXIgYXppbXV0aCBhbmds
ZSkgZm9yIGEgcGFydGljdWxhciBlbGV2YXRpb24uCiAKLWNsYXNzIEhSVEZFbGV2YXRpb24gOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSFJURkVsZXZhdGlvbiB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoSFJURkVsZXZhdGlvbik7CiBwdWJsaWM6CiAgICAgLy8gTG9hZHMgYW5kIHJl
dHVybnMgYW4gSFJURkVsZXZhdGlvbiB3aXRoIHRoZSBnaXZlbiBIUlRGIGRhdGFiYXNlIHN1Ympl
Y3QgbmFtZSBhbmQgZWxldmF0aW9uIGZyb20gYnJvd3NlciAob3IgV2ViS2l0LmZyYW1ld29yaykg
cmVzb3VyY2VzLgogICAgIC8vIE5vcm1hbGx5LCB0aGVyZSB3aWxsIG9ubHkgYmUgYSBzaW5nbGUg
SFJURiBkYXRhYmFzZSBzZXQsIGJ1dCB0aGlzIEFQSSBzdXBwb3J0cyB0aGUgcG9zc2liaWxpdHkg
b2YgbXVsdGlwbGUgb25lcyB3aXRoIGRpZmZlcmVudCBuYW1lcy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5oCmluZGV4IDFkNjk5
MjEuLmQ1YWRhMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0NsaXBib2FyZENocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vQ2xpcGJvYXJkQ2hyb21pdW0uaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgY2xhc3MgSW50UG9pbnQ7CiAKICAgICBjbGFzcyBDbGlwYm9hcmRDaHJvbWl1bSA6
IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7CisgICAgICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgfkNsaXBib2Fy
ZENocm9taXVtKCkge30KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Jp
dG1hcEltYWdlLmgKaW5kZXggNWE1NDk2My4uZTk2NzhjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC02OCw3ICs2OCw5IEBAIHRlbXBs
YXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBUaW1lcjsKIC8vIEZyYW1lRGF0YSBDbGFzcwogLy8gPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLXN0cnVjdCBG
cmFtZURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRnJhbWVEYXRhIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGcmFtZURhdGEpOworcHVibGljOgogICAgIEZyYW1lRGF0YSgpCiAgICAg
ICAgIDogbV9mcmFtZSgwKQogICAgICAgICAsIG1faGF2ZU1ldGFkYXRhKGZhbHNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgKaW5kZXggZWYwZDMxYy4uZGE5OGRkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCkBAIC03OCw3ICs3OCw4
IEBAIGlubGluZSBpbnQgZ3JlZW5DaGFubmVsKFJHQkEzMiBjb2xvcikgeyByZXR1cm4gKGNvbG9y
ID4+IDgpICYgMHhGRjsgfQogaW5saW5lIGludCBibHVlQ2hhbm5lbChSR0JBMzIgY29sb3IpIHsg
cmV0dXJuIGNvbG9yICYgMHhGRjsgfQogaW5saW5lIGludCBhbHBoYUNoYW5uZWwoUkdCQTMyIGNv
bG9yKSB7IHJldHVybiAoY29sb3IgPj4gMjQpICYgMHhGRjsgfQogCi1jbGFzcyBDb2xvciA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIENvbG9yIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBDb2xvcigpIDogbV9jb2xvcigwKSwgbV92YWxpZChmYWxz
ZSkgeyB9CiAgICAgQ29sb3IoUkdCQTMyIGNvbCkgOiBtX2NvbG9yKGNvbCksIG1fdmFsaWQodHJ1
ZSkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNw
cAppbmRleCAxNDllYTc5Li5jZmNhOTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTUzLDcgKzUzLDkgQEAgRm9udENhY2hlOjpGb250
Q2FjaGUoKQogewogfQogCi1zdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IDogRmFzdEFs
bG9jQmFzZSB7CitzdHJ1Y3QgRm9udFBsYXRmb3JtRGF0YUNhY2hlS2V5IHsKKyAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKICAgICBGb250UGxhdGZvcm1EYXRhQ2FjaGVLZXko
Y29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHkgPSBBdG9taWNTdHJpbmcoKSwgdW5zaWduZWQgc2l6
ZSA9IDAsIHVuc2lnbmVkIHdlaWdodCA9IDAsIGJvb2wgaXRhbGljID0gZmFsc2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNQcmludGVyRm9udCA9IGZhbHNlLCBGb250UmVu
ZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSwgRm9udE9yaWVu
dGF0aW9uIG9yaWVudGF0aW9uID0gSG9yaXpvbnRhbCkKICAgICAgICAgOiBtX3NpemUoc2l6ZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggZTY4
NDVkOS4uODZmOGM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhY2hlLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwogY2xhc3Mg
Rm9udFNlbGVjdG9yOwogY2xhc3MgU2ltcGxlRm9udERhdGE7CiAKLWNsYXNzIEZvbnRDYWNoZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250Q2FjaGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZvbnRDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIGZyaWVuZCBGb250Q2FjaGUqIGZvbnRDYWNoZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udERhdGEuaAppbmRleCBlZTk0YTk4Li4zZDM1ZDJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKQEAgLTI2LDYgKzI2LDcg
QEAKICNpZm5kZWYgRm9udERhdGFfaAogI2RlZmluZSBGb250RGF0YV9oCiAKKyNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8
d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgpAQCAt
MzQsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRh
OwogCi1jbGFzcyBGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBGb250RGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udERhdGEpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICBGb250RGF0YSgpCiAgICAgICAgIDogbV9tYXhHbHlwaFBh
Z2VUcmVlTGV2ZWwoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dseXBoTWV0cmljc01hcC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R2x5cGhNZXRyaWNzTWFwLmgKaW5kZXggZmE4NWJjYy4uM2UxM2ZiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhNZXRyaWNzTWFwLmgKQEAgLTQwLDcg
KzQwLDggQEAgdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHbHlwaDsKIAogY29uc3QgZmxvYXQgY0ds
eXBoU2l6ZVVua25vd24gPSAtMTsKIAotdGVtcGxhdGU8Y2xhc3MgVD4gY2xhc3MgR2x5cGhNZXRy
aWNzTWFwIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK3RlbXBsYXRlPGNsYXNzIFQ+IGNsYXNzIEds
eXBoTWV0cmljc01hcCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR2x5cGhNZXRyaWNzTWFw
KTsKIHB1YmxpYzoKICAgICBHbHlwaE1ldHJpY3NNYXAoKSA6IG1fZmlsbGVkUHJpbWFyeVBhZ2Uo
ZmFsc2UpIHsgfQogICAgIH5HbHlwaE1ldHJpY3NNYXAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCBhNDU5YjM3Li4zNTgy
NGRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhp
Y3NDb250ZXh0LmgKQEAgLTIwNiw3ICsyMDYsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIGJvb2wgc2hhZG93c0lnbm9yZVRyYW5zZm9ybXMgOiAxOwogICAgIH07CiAKLSAgICBjbGFz
cyBHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIEdyYXBo
aWNzQ29udGV4dCB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdyYXBoaWNzQ29udGV4
dCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgR3JhcGhp
Y3NDb250ZXh0KFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0Kik7CiAgICAgICAgIH5HcmFwaGljc0Nv
bnRleHQoKTsKQEAgLTQyNCw3ICs0MjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZvaWQgc2V0U2hvdWxkSW5jbHVkZUNoaWxkV2luZG93cyhib29sKTsKICAgICAgICAgYm9vbCBz
aG91bGRJbmNsdWRlQ2hpbGRXaW5kb3dzKCkgY29uc3Q7CiAKLSAgICAgICAgY2xhc3MgV2luZG93
c0JpdG1hcCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFdpbmRvd3NCaXRt
YXAgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2luZG93c0JpdG1hcCk7CiAg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFdpbmRvd3NCaXRtYXAoSERDLCBJbnRTaXplKTsK
ICAgICAgICAgICAgIH5XaW5kb3dzQml0bWFwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggNWZkZjczOC4uNzhjMWU3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaApA
QCAtOTQsNyArOTQsOCBAQCBjbGFzcyBUaW1pbmdGdW5jdGlvbjsKIC8vIEJhc2UgY2xhc3MgZm9y
IGFuaW1hdGlvbiB2YWx1ZXMgKGFsc28gdXNlZCBmb3IgdHJhbnNpdGlvbnMpLiBIZXJlIHRvCiAv
LyByZXByZXNlbnQgdmFsdWVzIGZvciBwcm9wZXJ0aWVzIGJlaW5nIGFuaW1hdGVkIHZpYSB0aGUg
R3JhcGhpY3NMYXllciwKIC8vIHdpdGhvdXQgcHVsbGluZyBpbiBzdHlsZS1yZWxhdGVkIGRhdGEg
ZnJvbSBvdXRzaWRlIG9mIHRoZSBwbGF0Zm9ybSBkaXJlY3RvcnkuCi1jbGFzcyBBbmltYXRpb25W
YWx1ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBBbmltYXRpb25WYWx1ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoQW5pbWF0aW9uVmFsdWUpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBBbmltYXRpb25WYWx1ZShmbG9hdCBrZXlUaW1lLCBQYXNzUmVm
UHRyPFRpbWluZ0Z1bmN0aW9uPiB0aW1pbmdGdW5jdGlvbiA9IDApCiAgICAgICAgIDogbV9rZXlU
aW1lKGtleVRpbWUpCkBAIC0xNDYsNyArMTQ3LDggQEAgcHJpdmF0ZToKIAogLy8gVXNlZCB0byBz
dG9yZSBhIHNlcmllcyBvZiB2YWx1ZXMgaW4gYSBrZXlmcmFtZSBsaXN0LiBWYWx1ZXMgd2lsbCBh
bGwgYmUgb2YgdGhlIHNhbWUgdHlwZSwKIC8vIHdoaWNoIGNhbiBiZSBpbmZlcnJlZCBmcm9tIHRo
ZSBwcm9wZXJ0eS4KLWNsYXNzIEtleWZyYW1lVmFsdWVMaXN0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKK2NsYXNzIEtleWZyYW1lVmFsdWVMaXN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShL
ZXlmcmFtZVZhbHVlTGlzdCk7CiBwdWJsaWM6CiAKICAgICBLZXlmcmFtZVZhbHVlTGlzdChBbmlt
YXRlZFByb3BlcnR5SUQgcHJvcGVydHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2VCdWZmZXIuaAppbmRleCBjNDZjYzkwLi5hNmNjMGQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTYzLDcgKzYzLDgg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBBY2NlbGVyYXRlZAogICAgIH07CiAKLSAg
ICBjbGFzcyBJbWFnZUJ1ZmZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgSW1h
Z2VCdWZmZXIgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbWFnZUJ1ZmZlcik7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgLy8gV2lsbCByZXR1
cm4gYSBudWxsIHBvaW50ZXIgb24gYWxsb2NhdGlvbiBmYWlsdXJlLgogICAgICAgICBzdGF0aWMg
UGFzc093blB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlKGNvbnN0IEludFNpemUmIHNpemUsIENvbG9y
U3BhY2UgY29sb3JTcGFjZSA9IENvbG9yU3BhY2VEZXZpY2VSR0IsIFJlbmRlcmluZ01vZGUgcmVu
ZGVyaW5nTW9kZSA9IFVuYWNjZWxlcmF0ZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvSW1hZ2VTb3VyY2UuaAppbmRleCA3MDE4YTVjLi4zZjE2ZDA3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmgKQEAgLTExNyw3ICsx
MTcsOCBAQCBjb25zdCBpbnQgY0FuaW1hdGlvbkxvb3BPbmNlID0gMDsKIGNvbnN0IGludCBjQW5p
bWF0aW9uTG9vcEluZmluaXRlID0gLTE7CiBjb25zdCBpbnQgY0FuaW1hdGlvbk5vbmUgPSAtMjsK
IAotY2xhc3MgSW1hZ2VTb3VyY2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSW1hZ2VT
b3VyY2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEltYWdlU291cmNlKTsKIHB1YmxpYzoK
ICAgICBlbnVtIEFscGhhT3B0aW9uIHsKICAgICAgICAgQWxwaGFQcmVtdWx0aXBsaWVkLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCmluZGV4
IGFiZjUxMDUuLmJhMTllYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTE0Nyw3ICsxNDcsOSBAQCBzdGF0aWMgTWVkaWFQbGF5
ZXJQcml2YXRlSW50ZXJmYWNlKiBjcmVhdGVOdWxsTWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXIqIHBs
YXllcikKIAogLy8gZW5naW5lIHN1cHBvcnQKIAotc3RydWN0IE1lZGlhUGxheWVyRmFjdG9yeSA6
IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBNZWRpYVBsYXllckZhY3RvcnkgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKE1lZGlhUGxheWVyRmFjdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworcHVibGljOgogICAgIE1lZGlhUGxheWVyRmFjdG9yeShDcmVhdGVNZWRpYUVuZ2luZVBsYXll
ciBjb25zdHJ1Y3RvciwgTWVkaWFFbmdpbmVTdXBwb3J0ZWRUeXBlcyBnZXRTdXBwb3J0ZWRUeXBl
cywgTWVkaWFFbmdpbmVTdXBwb3J0c1R5cGUgc3VwcG9ydHNUeXBlQW5kQ29kZWNzKSAKICAgICAg
ICAgOiBjb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikKICAgICAgICAgLCBnZXRTdXBwb3J0ZWRUeXBl
cyhnZXRTdXBwb3J0ZWRUeXBlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9NZWRpYVBsYXllci5oCmluZGV4IGM3ZDdlZjMuLjFjYmJlMTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMTQ5LDcgKzE0OSw4IEBA
IHB1YmxpYzoKICNlbmRpZgogfTsKIAotY2xhc3MgTWVkaWFQbGF5ZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgTWVkaWFQbGF5ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1l
ZGlhUGxheWVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAKICAgICBzdGF0
aWMgUGFzc093blB0cjxNZWRpYVBsYXllcj4gY3JlYXRlKE1lZGlhUGxheWVyQ2xpZW50KiBjbGll
bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllclByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxh
eWVyUHJpdmF0ZS5oCmluZGV4IGQ5NTYyODYuLjZhYmUyNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyUHJpdmF0ZS5oCkBAIC0zNiw4
ICszNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgSW50
U2l6ZTsKIAotY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CisgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkg
eyB9CiAgICAgdmlydHVhbCB+TWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlKCkgeyB9CiAKICAg
ICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBTdHJpbmcmIHVybCkgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvUGF0aC5oCmluZGV4IDQyM2E3OTIuLjg1MmQ4OGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BhdGguaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QYXRoLmgKQEAgLTEwMCw3ICsxMDAsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZvaWQgKCpQYXRoQXBwbGllckZ1bmN0aW9u
KSh2b2lkKiBpbmZvLCBjb25zdCBQYXRoRWxlbWVudCopOwogCi0gICAgY2xhc3MgUGF0aCA6IHB1
YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBQYXRoIHsKKyAgICAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBQYXRoKCk7CiAgICAgICAgIH5Q
YXRoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRC
YWNraW5nU3RvcmUuaAppbmRleCA1ODQ3N2RiLi4wNmM3ZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKQEAgLTM2LDcg
KzM2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xh
c3MgVGlsZWRCYWNraW5nU3RvcmVDbGllbnQ7CiAKLWNsYXNzIFRpbGVkQmFja2luZ1N0b3JlIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRpbGVkQmFja2luZ1N0b3JlIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShUaWxlZEJhY2tpbmdTdG9yZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgogICAgIFRpbGVkQmFja2luZ1N0b3JlKFRpbGVkQmFja2luZ1N0b3JlQ2xp
ZW50Kik7CiAgICAgflRpbGVkQmFja2luZ1N0b3JlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhLmgKaW5kZXggZGFjMzFmOC4uNTBlYTAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ZvbnRDdXN0b21QbGF0Zm9ybURh
dGEuaApAQCAtMzUsNyArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGb250UGxh
dGZvcm1EYXRhOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCi1zdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSA6IE5vbmNvcHlhYmxlIHsKK3N0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGb250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKIHB1Ymxp
YzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKEZUX0ZhY2UsIFNoYXJlZEJ1ZmZlciopOwog
ICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HTEVTMkNhbnZhcy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR0xFUzJDYW52YXMuaAppbmRleCA2ZmMxYTBl
Li44OWE3OWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9HTEVTMkNhbnZhcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0dMRVMyQ2FudmFzLmgKQEAgLTUwLDcgKzUwLDggQEAgY2xhc3MgRmxvYXRS
ZWN0OwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0Q7CiBjbGFzcyBTaGFyZWRHcmFwaGljc0NvbnRl
eHQzRDsKIAotY2xhc3MgR0xFUzJDYW52YXMgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3Mg
R0xFUzJDYW52YXMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEdMRVMyQ2FudmFzKTsKIHB1
YmxpYzoKICAgICBHTEVTMkNhbnZhcyhTaGFyZWRHcmFwaGljc0NvbnRleHQzRCosIERyYXdpbmdC
dWZmZXIqLCBjb25zdCBJbnRTaXplJik7CiAgICAgfkdMRVMyQ2FudmFzKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRleHR1cmUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVy
ZS5oCmluZGV4IDcxMWU2ODcuLmI2MGRmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVyZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyVGV4dHVyZS5oCkBAIC0yOCw2ICsy
OCw3IEBACiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIlRleHR1cmVNYW5hZ2VyLmgi
CiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgpAQCAtMzcsNyArMzgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGlj
c0NvbnRleHQzRDsKIGNsYXNzIFRleHR1cmVNYW5hZ2VyOwogCi1jbGFzcyBMYXllclRleHR1cmUg
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgTGF5ZXJUZXh0dXJlIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShMYXllclRleHR1cmUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxMYXllclRleHR1cmU+IGNyZWF0ZShHcmFwaGlj
c0NvbnRleHQzRCogY29udGV4dCwgVGV4dHVyZU1hbmFnZXIqIG1hbmFnZXIpCiAgICAgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJU
aWxlckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclRpbGVyQ2hyb21pdW0uaAppbmRleCAwNWY1MjQyLi5lMDk2OTNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclRpbGVyQ2hy
b21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclRpbGVyQ2hyb21pdW0uaApAQCAtNDMsNyArNDMsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHBhaW50KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgY29u
dGVudFJlY3QpID0gMDsKIH07CiAKLWNsYXNzIExheWVyVGlsZXJDaHJvbWl1bSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBMYXllclRpbGVyQ2hyb21pdW0geworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKExheWVyVGlsZXJDaHJvbWl1bSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8TGF5ZXJUaWxlckNocm9taXVtPiBjcmVhdGUoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBs
YXllclJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiB0aWxlU2l6ZSk7CiAKQEAgLTYyLDcgKzYzLDgg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBMYXllclRpbGVyQ2hyb21pdW0oTGF5ZXJSZW5kZXJl
ckNocm9taXVtKiBsYXllclJlbmRlcmVyLCBjb25zdCBJbnRTaXplJiB0aWxlU2l6ZSk7CiAKLSAg
ICBjbGFzcyBUaWxlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBUaWxlIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsZSk7CiAgICAgcHVibGljOgogICAgICAgICBl
eHBsaWNpdCBUaWxlKFBhc3NPd25QdHI8TGF5ZXJUZXh0dXJlPiB0ZXgpIDogbV90ZXgodGV4KSB7
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCmluZGV4IGE5MzIxOGYuLjY4OWE2
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5oCkBAIC00MSw3ICs0MSw4IEBA
IGNsYXNzIExheWVyQ2hyb21pdW07CiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiBjbGFz
cyBMYXllclRleHR1cmU7CiAKLWNsYXNzIFJlbmRlclN1cmZhY2VDaHJvbWl1bSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTdXJmYWNlQ2hyb21pdW0geworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFJlbmRlclN1cmZhY2VDaHJvbWl1bSk7CiAgICAgZnJpZW5kIGNsYXNzIExh
eWVyUmVuZGVyZXJDaHJvbWl1bTsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBSZW5kZXJTdXJmYWNl
Q2hyb21pdW0oTGF5ZXJDaHJvbWl1bSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RleHR1cmVNYW5hZ2VyLmgKaW5kZXggNDg5MWNj
Ny4uODMxMDRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vVGV4dHVyZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9UZXh0dXJlTWFuYWdlci5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5j
bHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKIAorI2luY2x1ZGUgPHd0Zi9G
YXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYv
TGlzdEhhc2hTZXQuaD4KIApAQCAtMzYsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHR5cGVkZWYgaW50IFRleHR1cmVUb2tlbjsKIAotY2xhc3MgVGV4dHVyZU1hbmFnZXIgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgVGV4dHVyZU1hbmFnZXIgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFRleHR1cmVNYW5hZ2VyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxUZXh0dXJlTWFuYWdlcj4gY3JlYXRlKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0LCBzaXpl
X3QgbWVtb3J5TGltaXRCeXRlcywgaW50IG1heFRleHR1cmVTaXplKQogICAgIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1RyYW5zcGFyZW5j
eVdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNw
YXJlbmN5V2luLmgKaW5kZXggYjZiZWY5MS4uNTM1Y2JhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2luLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVHJhbnNwYXJlbmN5V2lu
LmgKQEAgLTU0LDcgKzU0LDggQEAgY2xhc3MgVHJhbnNwYXJlbmN5V2luX09wYXF1ZUNvbXBvc2l0
ZUxheWVyX1Rlc3Q7CiAvLyB0aGF0IGlzIGNvbXBvc2l0ZWQgbGF0ZXIgbWFudWFsbHkuIFRoaXMg
aXMgdG8gZ2V0IGFyb3VuZCBXaW5kb3dzJyBpbmFiaWxpdHkKIC8vIHRvIGhhbmRsZSB0aGUgYWxw
aGEgY2hhbm5lbCwgc2VtaXRyYW5zcGFyZW50IHRleHQsIGFuZCB0cmFuc2Zvcm1lZCBmb3JtCiAv
LyBjb250cm9scy4KLWNsYXNzIFRyYW5zcGFyZW5jeVdpbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBUcmFuc3BhcmVuY3lXaW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5z
cGFyZW5jeVdpbik7CiBwdWJsaWM6CiAgICAgZW51bSBMYXllck1vZGUgewogICAgICAgICAvLyBO
byBleHRyYSBsYXllciBpcyBjcmVhdGVkLiBEcmF3aW5nIHdpbGwgaGFwcGVuIHRvIHRoZSBzb3Vy
Y2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJh
d2luZ0J1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0RyYXdp
bmdCdWZmZXIuaAppbmRleCBlMGUwZWUxLi44NzdjYWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvRHJhd2luZ0J1ZmZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9EcmF3aW5nQnVmZmVyLmgKQEAgLTgwLDggKzgw
LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCi0gICAgY2xh
c3MgV2lsbFB1Ymxpc2hDYWxsYmFjayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3Mg
V2lsbFB1Ymxpc2hDYWxsYmFjayB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdpbGxQ
dWJsaXNoQ2FsbGJhY2spOwogICAgIHB1YmxpYzoKKyAgICAgICAgV2lsbFB1Ymxpc2hDYWxsYmFj
aygpIHsgfQogICAgICAgICB2aXJ0dWFsIH5XaWxsUHVibGlzaENhbGxiYWNrKCkgeyB9CiAgICAg
ICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFB1Ymxpc2goKSA9IDA7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmll
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlubkNsYXNz
aWZpZXIuaAppbmRleCBjNjY1ODQ0Li4xYmQ2N2I4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uQ2xhc3NpZmllci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5DbGFzc2lmaWVyLmgKQEAg
LTMwLDE0ICszMCwxNCBAQAogI2lmbmRlZiBMb29wQmxpbm5DbGFzc2lmaWVyX2gKICNkZWZpbmUg
TG9vcEJsaW5uQ2xhc3NpZmllcl9oCiAKLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFBvaW50OwogCiAvLyBDbGFzc2lmaWVz
IGN1YmljIGN1cnZlcyBpbnRvIHNwZWNpZmljIHR5cGVzLgotY2xhc3MgTG9vcEJsaW5uQ2xhc3Np
ZmllciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBMb29wQmxpbm5DbGFzc2lmaWVyIHsK
KyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb29wQmxpbm5DbGFzc2lmaWVyKTsKIHB1YmxpYzoK
ICAgICAvLyBUaGUgdHlwZXMgb2YgY3ViaWMgY3VydmVzLgogICAgIGVudW0gQ3VydmVUeXBlIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxp
bm5Mb2NhbFRyaWFuZ3VsYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKaW5kZXggZWEzZDdlMy4uZDAxZTZjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0xvb3BCbGlu
bkxvY2FsVHJpYW5ndWxhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0xvb3BCbGlubkxvY2FsVHJpYW5ndWxhdG9yLmgKQEAgLTMwLDE5ICszMCwyMCBAQAog
I2luY2x1ZGUgIkZsb2F0UG9pbnQzRC5oIgogI2luY2x1ZGUgIkxvb3BCbGlubkNvbnN0YW50cy5o
IgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gUGVyZm9ybXMgYSBsb2NhbGl6ZWQgdHJp
YW5ndWxhdGlvbiBvZiB0aGUgdHJpYW5nbGUgbWVzaAogLy8gY29ycmVzcG9uZGluZyB0byB0aGUg
Zm91ciBjb250cm9sIHBvaW50IHZlcnRpY2VzIG9mIGEgY3ViaWMgY3VydmUKIC8vIHNlZ21lbnQu
Ci1jbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBMb29wQmxpbm5Mb2NhbFRyaWFuZ3VsYXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTG9vcEJsaW5uTG9jYWxUcmlhbmd1bGF0b3IpOwogcHVibGljOgogICAgIC8vIFRoZSB2
ZXJ0aWNlcyB0aGF0IHRoZSB0cmlhbmd1bGF0b3Igb3BlcmF0ZXMgdXBvbiwgY29udGFpbmluZyBi
b3RoCiAgICAgLy8gdGhlIHBvc2l0aW9uIGluZm9ybWF0aW9uIGFzIHdlbGwgYXMgdGhlIGN1Ymlj
IHRleHR1cmUKICAgICAvLyBjb29yZGluYXRlcy4KLSAgICBjbGFzcyBWZXJ0ZXggOiBwdWJsaWMg
Tm9uY29weWFibGUgeworICAgIGNsYXNzIFZlcnRleCB7CisgICAgICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFZlcnRleCk7CiAgICAgcHVibGljOgogICAgICAgICBWZXJ0ZXgoKQogICAgICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EQXJl
bmEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCmlu
ZGV4IGY2OGJhZWYuLjZlZGMxZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9QT0RBcmVuYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9QT0RBcmVuYS5oCkBAIC0xNTgsNyArMTU4LDggQEAgcHJpdmF0ZToKICAgICB9
CiAKICAgICAvLyBNYW5hZ2VzIGEgY2h1bmsgb2YgbWVtb3J5IGFuZCBpbmRpdmlkdWFsIGFsbG9j
YXRpb25zIG91dCBvZiBpdC4KLSAgICBjbGFzcyBDaHVuayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CisgICAgY2xhc3MgQ2h1bmsgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaHVuayk7
CiAgICAgcHVibGljOgogICAgICAgICAvLyBBbGxvY2F0ZXMgYSBibG9jayBvZiBtZW1vcnkgb2Yg
dGhlIGdpdmVuIHNpemUgZnJvbSB0aGUgcGFzc2VkCiAgICAgICAgIC8vIEFsbG9jYXRvci4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZh
bFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RJbnRlcnZh
bFRyZWUuaAppbmRleCAzMjBjZTYwLi41YmYzZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9ESW50ZXJ2YWxUcmVlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPREludGVydmFsVHJlZS5oCkBAIC00NCw4ICs0
NCw4IEBAIHN0cnVjdCBWYWx1ZVRvU3RyaW5nOwogLy8gc3VwcG9ydHMgZWZmaWNpZW50IChPKGxn
IG4pKSBpbnNlcnRpb24sIHJlbW92YWwgYW5kIHF1ZXJ5aW5nIG9mCiAvLyBpbnRlcnZhbHMgaW4g
dGhlIHRyZWUuCiB0ZW1wbGF0ZTxjbGFzcyBULCBjbGFzcyBVc2VyRGF0YSA9IHZvaWQqPgotY2xh
c3MgUE9ESW50ZXJ2YWxUcmVlIDogcHVibGljIE5vbmNvcHlhYmxlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgcHVibGljIFBPRFJlZEJsYWNrVHJlZTxQT0RJbnRlcnZhbDxULCBVc2VyRGF0YT4g
PiB7CitjbGFzcyBQT0RJbnRlcnZhbFRyZWUgOiBwdWJsaWMgUE9EUmVkQmxhY2tUcmVlPFBPRElu
dGVydmFsPFQsIFVzZXJEYXRhPiA+IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQT0RJbnRl
cnZhbFRyZWUpOwogcHVibGljOgogICAgIC8vIFR5cGVkZWYgdG8gcmVkdWNlIHR5cGluZyB3aGVu
IGRlY2xhcmluZyBpbnRlcnZhbHMgdG8gYmUgc3RvcmVkIGluCiAgICAgLy8gdGhpcyB0cmVlLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJs
YWNrVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1BPRFJlZEJs
YWNrVHJlZS5oCmluZGV4IDZkNTk1NGMuLmJkMDg5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9QT0RSZWRCbGFja1RyZWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvUE9EUmVkQmxhY2tUcmVlLmgKQEAgLTE5OCw3
ICsxOTgsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gVGhlIGJhc2UgTm9kZSBjbGFzcyB3aGljaCBp
cyBzdG9yZWQgaW4gdGhlIHRyZWUuIE5vZGVzIGFyZSBvbmx5CiAgICAgLy8gYW4gaW50ZXJuYWwg
Y29uY2VwdDsgdXNlcnMgb2YgdGhlIHRyZWUgZGVhbCBvbmx5IHdpdGggdGhlIGRhdGEKICAgICAv
LyB0aGV5IHN0b3JlIGluIGl0LgotICAgIGNsYXNzIE5vZGUgOiBwdWJsaWMgTm9uY29weWFibGUg
eworICAgIGNsYXNzIE5vZGUgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOb2RlKTsK
ICAgICBwdWJsaWM6CiAgICAgICAgIC8vIENvbnN0cnVjdG9yLiBOZXdseS1jcmVhdGVkIG5vZGVz
IGFyZSBjb2xvcmVkIHJlZC4KICAgICAgICAgZXhwbGljaXQgTm9kZShjb25zdCBUJiBkYXRhKQpA
QCAtNjU5LDcgKzY2MCw4IEBAIHByaXZhdGU6CiAgICAgLy8gSGVscGVyIGNsYXNzIGZvciBzaXpl
KCkKIAogICAgIC8vIEEgVmlzaXRvciB3aGljaCBzaW1wbHkgY291bnRzIHRoZSBudW1iZXIgb2Yg
dmlzaXRlZCBlbGVtZW50cy4KLSAgICBjbGFzcyBDb3VudGVyIDogcHVibGljIFZpc2l0b3IsIHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgQ291bnRlciA6IHB1YmxpYyBWaXNpdG9yIHsK
KyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ291bnRlcik7CiAgICAgcHVibGljOgogICAg
ICAgICBDb3VudGVyKCkKICAgICAgICAgICAgIDogbV9jb3VudCgwKSB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9TaGFkZXIuaAppbmRleCBlNWJkOGRlLi40ZjYy
Y2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvU2hh
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1NoYWRlci5o
CkBAIC00MCw3ICs0MCw4IEBAIGNsYXNzIEFmZmluZVRyYW5zZm9ybTsKIGNsYXNzIEdyYXBoaWNz
Q29udGV4dDNEOwogY2xhc3MgQ29sb3I7CiAKLWNsYXNzIFNoYWRlciA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTaGFkZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNoYWRlcik7
CiBwcm90ZWN0ZWQ6CiAgICAgU2hhZGVyKEdyYXBoaWNzQ29udGV4dDNEKiwgdW5zaWduZWQgcHJv
Z3JhbSk7CiAgICAgflNoYWRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9UaWxpbmdEYXRhLmgKaW5kZXggMWJkYzUxYS4uZDExNDBiZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L1RpbGluZ0RhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvVGlsaW5nRGF0YS5oCkBAIC0z
OCw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNz
IEludFJlY3Q7CiAKLWNsYXNzIFRpbGluZ0RhdGEgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xh
c3MgVGlsaW5nRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGlsaW5nRGF0YSk7CiBw
dWJsaWM6CiAgICAgVGlsaW5nRGF0YShpbnQgbWF4VGV4dHVyZVNpemUsIGludCB0b3RhbFNpemVY
LCBpbnQgdG90YWxTaXplWSwgYm9vbCBoYXNCb3JkZXJUZXhlbHMpOwogICAgIGludCBtYXhUZXh0
dXJlU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4VGV4dHVyZVNpemU7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3Vy
Y2VHU3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKaW5kZXggZTEwZTYxZi4uMzZiNDlkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dl
YktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKQEAgLTM2LDcg
KzM2LDggQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLWNsYXNzIFN0cmVhbWluZ0Ns
aWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSwgcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsK
K2NsYXNzIFN0cmVhbWluZ0NsaWVudCA6IHB1YmxpYyBSZXNvdXJjZUhhbmRsZUNsaWVudCB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3RyZWFtaW5nQ2xpZW50KTsKICAgICBwdWJsaWM6CiAg
ICAgICAgIFN0cmVhbWluZ0NsaWVudChXZWJLaXRXZWJTcmMqKTsKICAgICAgICAgdmlydHVhbCB+
U3RyZWFtaW5nQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2Mz
NDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvaGFpa3UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2hhaWt1L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQg
KzI0LDE0IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJl
bmRlcmluZ01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxh
dGZvcm1EYXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRm
b3JtRGF0YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkg
eyB9CiAgICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaAppbmRleCBjMTE4NThjLi43MDQzZDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
LmgKQEAgLTM2LDcgKzM2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9udFBsYXRm
b3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9y
bURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7CitwdWJsaWM6
CiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YShBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5l
ciwgQ0dGb250UmVmIGNnRm9udCkKICAgICAgICAgOiBtX2F0c0NvbnRhaW5lcihjb250YWluZXIp
CiAgICAgICAgICwgbV9jZ0ZvbnQoY2dGb250KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1BhaW50ZXJPcGVuVkcuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9QYWludGVyT3BlblZHLmgKaW5kZXggMzJmMWZlNS4u
M2YxNDk0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnZnL1BhaW50ZXJPcGVuVkcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9vcGVudmcvUGFpbnRlck9wZW5WRy5oCkBAIC00MSw3ICs0MSw4IEBAIGNsYXNzIFRpbGVkSW1h
Z2VPcGVuVkc7CiAKIHN0cnVjdCBQbGF0Zm9ybVBhaW50ZXJTdGF0ZTsKIAotY2xhc3MgUGFpbnRl
ck9wZW5WRyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBQYWludGVyT3BlblZHIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShQYWludGVyT3BlblZHKTsKIHB1YmxpYzoKICAgICBmcmll
bmQgY2xhc3MgU3VyZmFjZU9wZW5WRzsKICAgICBmcmllbmQgc3RydWN0IFBsYXRmb3JtUGFpbnRl
clN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnZnL1N1cmZhY2VPcGVuVkcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW52Zy9TdXJmYWNlT3BlblZHLmgKaW5kZXggNDZkMTY0Ni4uMTlkOTVkOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL1N1cmZhY2VPcGVuVkcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvU3VyZmFjZU9wZW5W
Ry5oCkBAIC00Miw3ICs0Miw4IEBAIGNsYXNzIEludFNpemU7CiAgKiBvZiAjaWZkZWZzIGFuZCBz
aG91bGQgbWFrZSBpdCBlYXN5IHRvIGFkZCBkaWZmZXJlbnQgc3VyZmFjZS9jb250ZXh0CiAgKiBp
bXBsZW1lbnRhdGlvbnMgdGhhbiBFR0wuCiAgKi8KLWNsYXNzIFN1cmZhY2VPcGVuVkcgOiBwdWJs
aWMgTm9uY29weWFibGUgeworY2xhc3MgU3VyZmFjZU9wZW5WRyB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoU3VyZmFjZU9wZW5WRyk7CiBwdWJsaWM6CiAgICAgZW51bSBNYWtlQ3VycmVudE1v
ZGUgewogICAgICAgICBBcHBseVBhaW50ZXJTdGF0ZU9uU3VyZmFjZVN3aXRjaCwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9y
bURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaAppbmRleCA2YzQxZDQ3Li41NGZhNjc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24uaCIK
ICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NC
YXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KIApAQCAtMzIsNyArMzMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRm9u
dFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0YSk7IFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgorICAgIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEoKSB7IH0KICAgICB+Rm9udEN1c3RvbVBsYXRmb3JtRGF0YSgpOwogCiAgICAgLy8gZm9yIHVz
ZSB3aXRoIFFGb250RGF0YWJhc2U6OmFkZEFwcGxpY2F0aW9uRm9udC9yZW1vdmVBcHBsaWNhdGlv
bkZvbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRQbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRQbGF0Zm9ybURhdGEuaAppbmRleCAxYzU3ZTI5Li5mMjY4MzcwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCkBA
IC0zMiw3ICszMiw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRm9udFBsYXRm
b3JtRGF0YVByaXZhdGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9udFBsYXRmb3Jt
RGF0YVByaXZhdGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRQbGF0Zm9ybURhdGFQ
cml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgRm9udFBsYXRm
b3JtRGF0YVByaXZhdGUoKQogICAgICAgICA6IHJlZkNvdW50KDEpCkBAIC02Miw4ICs2MywxMCBA
QCBwdWJsaWM6CiAKIAogCi1jbGFzcyBGb250UGxhdGZvcm1EYXRhIDogcHVibGljIEZhc3RBbGxv
Y0Jhc2UgeworY2xhc3MgRm9udFBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CisgICAgRm9udFBsYXRmb3JtRGF0YSgpIHsgfQogICAgIEZvbnRQbGF0
Zm9ybURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xkLCBib29sIG9ibGlxdWUpOwogICAgIEZvbnRQ
bGF0Zm9ybURhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSAmKTsKICAgICBGb250UGxhdGZvcm1E
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5TmFt
ZSwgaW50IHdvcmRTcGFjaW5nID0gMCwgaW50IGxldHRlclNwYWNpbmcgPSAwKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4
dFF0LmNwcAppbmRleCBjMjFiNGVlLi4wNTkyODIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQuY3BwCkBAIC0x
NzQsNyArMTc0LDggQEAgc3RhdGljIGlubGluZSBRdDo6RmlsbFJ1bGUgdG9RdEZpbGxSdWxlKFdp
bmRSdWxlIHJ1bGUpCiAgICAgcmV0dXJuIFF0OjpPZGRFdmVuRmlsbDsKIH0KIAotY2xhc3MgR3Jh
cGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKFFQYWludGVy
KiwgY29uc3QgUUNvbG9yJiBpbml0aWFsU29saWRDb2xvcik7CiAgICAgfkdyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcXQvVHJhbnNwYXJlbmN5TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L1RyYW5zcGFyZW5jeUxheWVyLmgKaW5kZXggNWIyZjhiMi4uZTQ4MjhmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvVHJhbnNwYXJl
bmN5TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9UcmFu
c3BhcmVuY3lMYXllci5oCkBAIC00Miw3ICs0Miw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IFRyYW5zcGFyZW5jeUxheWVyIDogRmFzdEFsbG9jQmFzZSB7CitzdHJ1Y3QgVHJh
bnNwYXJlbmN5TGF5ZXIgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVibGljOgog
ICAgIFRyYW5zcGFyZW5jeUxheWVyKGNvbnN0IFFQYWludGVyKiBwLCBjb25zdCBRUmVjdCAmcmVj
dCwgcXJlYWwgb3BhY2l0eSwgUVBpeG1hcCYgYWxwaGFNYXNrKQogICAgICAgICA6IHBpeG1hcChy
ZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpCiAgICAgICAgICwgb3BhY2l0eShvcGFjaXR5KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3Vz
dG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRleCBlNTFiNmI2Li40MjI4YjQwMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250Q3VzdG9tUGxh
dGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTQ5LDcgKzQ5LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotc3Ry
dWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CitzdHJ1Y3QgRm9udEN1
c3RvbVBsYXRmb3JtRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBs
YXRmb3JtRGF0YSk7CitwdWJsaWM6CiAjaWYgT1MoV0lORE9XUykKICAgICBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhKEhBTkRMRSBmb250UmVmZXJlbmNlLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAg
ICAgIDogbV9mb250UmVmZXJlbmNlKGZvbnRSZWZlcmVuY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJp
dmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0Nv
bnRleHRQbGF0Zm9ybVByaXZhdGUuaAppbmRleCA1ZTEyYWQ2Li40NDgzNWE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFBs
YXRmb3JtUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Nr
aWEvR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlLmgKQEAgLTMxLDE0ICszMSwxNCBAQAog
I2lmbmRlZiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogI2RlZmluZSBHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGVfaAogCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+
CiAKIGNsYXNzIFBsYXRmb3JtQ29udGV4dFNraWE7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Ly8gVGhpcyBjbGFzcyBqdXN0IGhvbGRzIG9udG8gYSBQbGF0Zm9ybUNvbnRleHRTa2lhIGZvciBH
cmFwaGljc0NvbnRleHQuCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRl
IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZh
dGUpOwogcHVibGljOgogICAgIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShQbGF0Zm9y
bUNvbnRleHRTa2lhKiBwbGF0Zm9ybUNvbnRleHQpCiAgICAgICAgIDogbV9jb250ZXh0KHBsYXRm
b3JtQ29udGV4dCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCmluZGV4IDExYjMxMWEuLjAzMDQ0
ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxh
dGZvcm1Db250ZXh0U2tpYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oCkBAIC02Nyw3ICs2Nyw4IEBAIGNsYXNzIFRleHR1
cmU7CiAvLyByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgdGhlIHBhaW50aW5nIHN0YXRlIHdoaWNo
IGlzIHN0b3JlIGluIHNlcGFyYXRlCiAvLyBTa1BhaW50IG9iamVjdHMuIFRoaXMgY2xhc3MgcHJv
dmlkZXMgdGhlIGFkYXB0b3IgdGhhdCBhbGxvd3MgdGhlIHBhaW50aW5nCiAvLyBzdGF0ZSB0byBi
ZSBwdXNoZWQgYW5kIHBvcHBlZCBhbG9uZyB3aXRoIHRoZSBiaXRtYXAuCi1jbGFzcyBQbGF0Zm9y
bUNvbnRleHRTa2lhIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFBsYXRmb3JtQ29udGV4
dFNraWEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsYXRmb3JtQ29udGV4dFNraWEpOwog
cHVibGljOgogICAgIC8vIEZvciBwcmludGluZywgdGhlcmUgc2hvdWxkbid0IGJlIGFueSBjYW52
YXMuIGNhbnZhcyBjYW4gYmUgTlVMTC4gSWYgeW91CiAgICAgLy8gc3VwcGx5IGEgTlVMTCBjYW52
YXMsIHlvdSBjYW4gYWxzbyBjYWxsIHNldENhbnZhcyBsYXRlci4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5oCmluZGV4IDJhZGJiMzkuLjUwZDA2NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZmaW5lVHJhbnNmb3JtLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0u
aApAQCAtNTUsNyArNTUsOCBAQCBjbGFzcyBJbnRQb2ludDsKIGNsYXNzIEludFJlY3Q7CiBjbGFz
cyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKIAotY2xhc3MgQWZmaW5lVHJhbnNmb3JtIDogcHVibGlj
IEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgQWZmaW5lVHJhbnNmb3JtIHsKKyAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIGRvdWJsZSBUcmFuc2Zvcm1bNl07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvVHJhbnNmb3JtT3BlcmF0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKaW5kZXggYzBkYTM3Ny4uOTgxZTFm
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jt
cy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1PcGVyYXRpb25zLmgKQEAgLTMxLDcgKzMxLDggQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25zIDogcHVi
bGljIEZhc3RBbGxvY0Jhc2UgeworY2xhc3MgVHJhbnNmb3JtT3BlcmF0aW9ucyB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVHJhbnNmb3JtT3BlcmF0aW9ucyhi
b29sIG1ha2VJZGVudGl0eSA9IGZhbHNlKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRp
b25NYXRyaXguaAppbmRleCA2ODRiMTRjLi5jODgzNjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zv
cm1hdGlvbk1hdHJpeC5oCkBAIC02NCw3ICs2NCw4IEBAIGNsYXNzIEZsb2F0UG9pbnQzRDsKIGNs
YXNzIEZsb2F0UmVjdDsKIGNsYXNzIEZsb2F0UXVhZDsKIAotY2xhc3MgVHJhbnNmb3JtYXRpb25N
YXRyaXggOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJp
eCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBk
b3VibGUgTWF0cml4NFs0XVs0XTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggMWJk
ZjI3MC4uZGUzM2M2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0zNCw3ICszNCw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFzcyBT
aGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29weWFi
bGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEoSEFORExFIGZvbnRSZWZlcmVuY2UsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAg
ICAgICAgOiBtX2ZvbnRSZWZlcmVuY2UoZm9udFJlZmVyZW5jZSkKICAgICAgICAgLCBtX25hbWUo
bmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhQ2Fpcm8uaAppbmRleCAzYWI1MmI4Li45
YzY3MDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YUNhaXJvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGFDYWlyby5oCkBAIC0zMyw3ICsz
Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnRQbGF0Zm9ybURhdGE7CiBjbGFz
cyBTaGFyZWRCdWZmZXI7CiAKLXN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1EYXRhIDogTm9uY29w
eWFibGUgeworc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKEZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOworcHVibGljOgogICAgIEZvbnRDdXN0
b21QbGF0Zm9ybURhdGEoY2Fpcm9fZm9udF9mYWNlX3QqIGZvbnRGYWNlKQogICAgICAgICA6IG1f
Zm9udEZhY2UoZm9udEZhY2UpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKaW5kZXggYzIxNjE0
MC4uNTk1MWU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0xvY2FsV2luZG93c0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCkBAIC0zMSw3ICszMSw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4dCA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBMb2NhbFdpbmRvd3NDb250ZXh0IHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShMb2NhbFdpbmRvd3NDb250ZXh0KTsKIHB1YmxpYzoKICAgICBMb2NhbFdpbmRv
d3NDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBJbnRSZWN0
JiByZWN0LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSwgYm9vbCBtYXlDcmVhdGVCaXRt
YXAgPSB0cnVlKQogICAgICAgICA6IG1fZ3JhcGhpY3NDb250ZXh0KGdyYXBoaWNzQ29udGV4dCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmll
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVE1vdmllLmNwcApp
bmRleCBlZmFmMjE4Li5kZmExZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRNb3ZpZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1FUTW92aWUuY3BwCkBAIC02Myw3ICs2Myw4IEBAIHVuaW9uIFVwcFBhcmFt
IHsKIHN0YXRpYyBWZWN0b3I8Q0ZTdHJpbmdSZWY+KiBnU3VwcG9ydGVkVHlwZXMgPSAwOwogc3Rh
dGljIFNJbnQzMiBxdWlja1RpbWVWZXJzaW9uID0gMDsKIAotY2xhc3MgUVRNb3ZpZVByaXZhdGUg
OiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CitjbGFzcyBR
VE1vdmllUHJpdmF0ZSA6IHB1YmxpYyBRVE1vdmllVGFza0NsaWVudCB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUVRNb3ZpZVByaXZhdGUpOwogcHVibGljOgogICAgIFFUTW92aWVQcml2YXRl
KCk7CiAgICAgflFUTW92aWVQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vUVRUcmFjay5jcHAKaW5kZXggMDkxNDJiYy4uYmY4MGE4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1FUVHJhY2suY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9RVFRyYWNrLmNwcApAQCAt
MzEsNyArMzEsOCBAQAogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCi1jbGFzcyBRVFRyYWNrUHJp
dmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBRVFRyYWNrUHJpdmF0ZSB7CisgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUVRUcmFja1ByaXZhdGUpOwogcHVibGljOgogICAgIFFUVHJh
Y2tQcml2YXRlKCk7CiAgICAgflFUVHJhY2tQcml2YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vV0tDQUNGQ29udGV4dEZsdXNoZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5o
CmluZGV4IDE3ZWM0MWQuLjc4ZTg0OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9XS0NBQ0ZDb250ZXh0Rmx1c2hlci5oCkBAIC0zNiw3
ICszNiw4IEBAIHN0cnVjdCBXS0NBQ0ZDb250ZXh0OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFdLQ0FDRkNvbnRleHRGbHVzaGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IFdLQ0FDRkNvbnRleHRGbHVzaGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXS0NBQ0ZD
b250ZXh0Rmx1c2hlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdLQ0FDRkNvbnRleHRGbHVzaGVy
JiBzaGFyZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1dLQ0FDRkxheWVyUmVuZGVyZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9XS0NBQ0ZMYXllclJlbmRlcmVyLmgKaW5kZXggMDJjZGJkYi4uY2M5ZGZjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1dLQ0FDRkxh
eWVyUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
V0tDQUNGTGF5ZXJSZW5kZXJlci5oCkBAIC02MCw3ICs2MCw4IEBAIHB1YmxpYzoKIC8vIEZJWE1F
OiBDdXJyZW50bHkgdGhlcmUgaXMgYSBXS0NBQ0ZMYXllclJlbmRlcmVyIGZvciBlYWNoIFdlYlZp
ZXcgYW5kIGVhY2gKIC8vIGhhcyBpdHMgb3duIENBUmVuZGVyT0dMQ29udGV4dCBhbmQgRGlyZWN0
M0REZXZpY2U5LCB3aGljaCBpcyBpbmVmZmljaWVudC4KIC8vIChodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4NTUpCi1jbGFzcyBXS0NBQ0ZMYXllclJlbmRlcmVyIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFdLQ0FDRkxheWVyUmVuZGVyZXIgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdLQ0FDRkxheWVyUmVuZGVyZXIpOwogICAgIGZyaWVuZCBQbGF0
Zm9ybUNBTGF5ZXI7CiAKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaAppbmRl
eCBhYmRjMGYyLi4wNTA4MjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW5jZS9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCkBAIC0z
Nyw3ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHVu
cmVnaXN0ZXJGb250KGNvbnN0IFN0cmluZyYgZm9udE5hbWUpID0gMDsKICAgICB9OwogCi0gICAg
c3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgOiBOb25jb3B5YWJsZSB7CisgICAgc3RydWN0
IEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShG
b250Q3VzdG9tUGxhdGZvcm1EYXRhKTsKKyAgICBwdWJsaWM6CiAgICAgICAgIEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICAgICAgOiBtX25hbWUobmFt
ZSkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCmluZGV4IDFiOGE3MDQu
LjliNjcyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKQEAgLTQzOCw3ICs0Mzgs
OCBAQCBzdGF0aWMgdm9pZCByb3RhdGVCaXRtYXAoU2hhcmVkQml0bWFwKiBkZXN0Qm1wLCBjb25z
dCBTaGFyZWRCaXRtYXAqIHNvdXJjZUJtcCwgYwogICAgICAgICBfcm90YXRlQml0bWFwPHVuc2ln
bmVkLCBmYWxzZT4oZGVzdEJtcCwgc291cmNlQm1wLCB0cmFuc2Zvcm0pOwogfQogCi1jbGFzcyBU
cmFuc3BhcmVudExheWVyREMgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc3BhcmVudExheWVy
REMgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRyYW5zcGFyZW50TGF5ZXJEQyk7CiBwdWJs
aWM6CiAgICAgVHJhbnNwYXJlbnRMYXllckRDKEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0
ZSogZGF0YSwgSW50UmVjdCYgb3JpZ1JlY3QsIGNvbnN0IEludFJlY3QqIHJlY3RCZWZvcmVUcmFu
c2Zvcm0gPSAwLCBpbnQgYWxwaGEgPSAyNTUsIGJvb2wgcGFpbnRJbWFnZSA9IGZhbHNlKTsKICAg
ICB+VHJhbnNwYXJlbnRMYXllckRDKCk7CkBAIC01NTgsNyArNTU5LDggQEAgdm9pZCBUcmFuc3Bh
cmVudExheWVyREM6OmZpbGxBbHBoYUNoYW5uZWwoKQogICAgIH0KIH0KIAotY2xhc3MgU2NvcGVE
Q1Byb3ZpZGVyIDogTm9uY29weWFibGUgeworY2xhc3MgU2NvcGVEQ1Byb3ZpZGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTY29wZURDUHJvdmlkZXIpOwogcHVibGljOgogICAgIGV4cGxp
Y2l0IFNjb3BlRENQcm92aWRlcihHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUqIGRhdGEp
CiAgICAgICAgIDogbV9kYXRhKGRhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggY2Mz
NDhlMy4uODZmOTliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd3gvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3d4L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjQsMTQgKzI0LDE0
IEBACiAjaW5jbHVkZSAiRm9udE9yaWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmlu
Z01vZGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBGb250UGxhdGZvcm1E
YXRhOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIAotICAgIHN0cnVjdCBGb250Q3VzdG9tUGxh
dGZvcm1EYXRhIDogTm9uY29weWFibGUgeworICAgIHN0cnVjdCBGb250Q3VzdG9tUGxhdGZvcm1E
YXRhIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRm9udEN1c3RvbVBsYXRmb3JtRGF0
YSk7CiAgICAgcHVibGljOgogICAgICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAg
ICAgICAgIH5Gb250Q3VzdG9tUGxhdGZvcm1EYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvQ2xpcGJvYXJkR3RrLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvQ2xpcGJvYXJkR3RrLmgKaW5kZXggZTE0YTU4My4uMGMwN2MwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NsaXBib2FyZEd0ay5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9DbGlwYm9hcmRHdGsuaApAQCAtMzksNiArMzksNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50
cyBmb3IgZHJhZyBhbmQgZHJvcCBhbmQgY29weS9wYXN0ZQogICAgIC8vIENyZWF0ZWQgZnJvbSB0
aGUgRXZlbnRIYW5kbGVyR3RrIHRvIGJlIHVzZWQgYnkgdGhlIGRvbQogICAgIGNsYXNzIENsaXBi
b2FyZEd0ayA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7
CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q2xpcGJvYXJkR3RrPiBjcmVhdGUoQ2xpcGJvYXJkQWNjZXNzUG9s
aWN5IHBvbGljeSwgR3RrQ2xpcGJvYXJkKiBjbGlwYm9hcmQsIEZyYW1lKiBmcmFtZSkKICAgICAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMv
SW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9J
bWFnZURlY29kZXIuaAppbmRleCAzOWRlZWUyLi4yNGJjZGNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaApAQCAtMjIx
LDcgKzIyMSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBzZXRNYXhOdW1QaXhlbHMo
KSB0byBzcGVjaWZ5IHRoZSBiaWdnZXN0IHNpemUgdGhhdCBkZWNvZGVkIGltYWdlcyBjYW4KICAg
ICAvLyBoYXZlLiBJbWFnZSBkZWNvZGVycyB3aWxsIGRlZmxhdGUgdGhvc2UgaW1hZ2VzIHRoYXQg
YXJlIGJpZ2dlciB0aGFuCiAgICAgLy8gbV9tYXhOdW1QaXhlbHMuIChOb3Qgc3VwcG9ydGVkIGJ5
IGFsbCBpbWFnZSBkZWNvZGVycyB5ZXQpCi0gICAgY2xhc3MgSW1hZ2VEZWNvZGVyIDogcHVibGlj
IE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBJbWFnZURlY29kZXIgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShJbWFnZURlY29kZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAg
ICBwdWJsaWM6CiAgICAgICAgIEltYWdlRGVjb2RlcihJbWFnZVNvdXJjZTo6QWxwaGFPcHRpb24g
YWxwaGFPcHRpb24sIEltYWdlU291cmNlOjpHYW1tYUFuZENvbG9yUHJvZmlsZU9wdGlvbiBnYW1t
YUFuZENvbG9yUHJvZmlsZU9wdGlvbikKICAgICAgICAgICAgIDogbV9zY2FsZWQoZmFsc2UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLmgKaW5kZXggNzE4N2VjZi4u
MzllYWRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2Fy
ZE1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMuaApA
QCAtNDQsNiArNDQsNyBAQCBjbGFzcyBGcmFtZTsKIGNsYXNzIEZpbGVMaXN0OwogCiBjbGFzcyBD
bGlwYm9hcmRNYWMgOiBwdWJsaWMgQ2xpcGJvYXJkLCBwdWJsaWMgQ2FjaGVkUmVzb3VyY2VDbGll
bnQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPENsaXBib2FyZE1hYz4gY3JlYXRlKENsaXBib2FyZFR5cGUgY2xpcGJvYXJkVHlw
ZSwgTlNQYXN0ZWJvYXJkICpwYXN0ZWJvYXJkLCBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9saWN5
LCBGcmFtZSogZnJhbWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oCmluZGV4IDkwYmViNDAuLjhm
ZGUyY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJl
bnRHcmFwaGljc0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9j
YWxDdXJyZW50R3JhcGhpY3NDb250ZXh0LmgKQEAgLTMxLDcgKzMxLDggQEAgY2xhc3MgR3JhcGhp
Y3NDb250ZXh0OwogICAgIAogLy8gVGhpcyBjbGFzcyBhdXRvbWF0aWNhbGx5IHNhdmVzIGFuZCBy
ZXN0b3JlcyB0aGUgY3VycmVudCBOU0dyYXBoaWNzQ29udGV4dCBmb3IKIC8vIGZ1bmN0aW9ucyB3
aGljaCBjYWxsIG91dCBpbnRvIEFwcEtpdCBhbmQgcmVseSBvbiB0aGUgY3VycmVudENvbnRleHQg
YmVpbmcgc2V0Ci1jbGFzcyBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworY2xhc3MgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQpOwogcHVibGljOgog
ICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNz
Q29udGV4dCk7CiAgICAgfkxvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCmluZGV4IDFmZjYzNDQuLmMxZjU1MjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKQEAgLTE0NSw2
ICsxNDUsNyBAQCBwcml2YXRlOgogdHlwZWRlZiBWZWN0b3I8QmxvYkRhdGFJdGVtPiBCbG9iRGF0
YUl0ZW1MaXN0OwogCiBjbGFzcyBCbG9iRGF0YSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8QmxvYkRhdGE+IGNyZWF0ZSgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVp
bGRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YUJ1aWxkZXIu
aAppbmRleCA4N2QwZWYzLi4xMTJlMzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmgKQEAgLTIzLDE0ICsyMywxNCBAQAogCiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERv
Y3VtZW50OwogY2xhc3MgVGV4dEVuY29kaW5nOwogCi1jbGFzcyBGb3JtRGF0YUJ1aWxkZXIgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRm9ybURhdGFCdWlsZGVyIHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShGb3JtRGF0YUJ1aWxkZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBUZXh0
RW5jb2RpbmcgZW5jb2RpbmdGcm9tQWNjZXB0Q2hhcnNldChjb25zdCBTdHJpbmcmIGFjY2VwdENo
YXJzZXQsIERvY3VtZW50KiBkb2N1bWVudCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya1N0YXRlTm90aWZpZXIuaAppbmRleCBkMWYyZGI0Li4y
NmY4ZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdv
cmtTdGF0ZU5vdGlmaWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9O
ZXR3b3JrU3RhdGVOb3RpZmllci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIE5ldHdvcmtT
dGF0ZU5vdGlmaWVyX2gKICNkZWZpbmUgTmV0d29ya1N0YXRlTm90aWZpZXJfaAogCisjaW5jbHVk
ZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KIAog
I2lmIFBMQVRGT1JNKE1BQykKQEAgLTYxLDcgKzYyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgTmV0d29ya1N0YXRlTm90aWZpZXJQcml2YXRlOwogI2VuZGlmCiAKLWNsYXNzIE5ldHdv
cmtTdGF0ZU5vdGlmaWVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIE5ldHdvcmtTdGF0
ZU5vdGlmaWVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOZXR3b3JrU3RhdGVOb3RpZmll
cik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIE5ldHdvcmtTdGF0ZU5v
dGlmaWVyKCk7CiAgICAgdm9pZCBzZXROZXR3b3JrU3RhdGVDaGFuZ2VkRnVuY3Rpb24odm9pZCAo
KikoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IGQ4MzNlMzIuLmVkNjY5NDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbC5oCkBAIC04MCw3ICs4MCw4IEBAIGNsYXNzIE5TVVJMQ29ubmVjdGlvbjsKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBjbGFzcyBSZXNvdXJjZUhhbmRsZUNsaWVudDsKIAotICAgIGNsYXNz
IFJlc291cmNlSGFuZGxlSW50ZXJuYWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNz
IFJlc291cmNlSGFuZGxlSW50ZXJuYWwgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShS
ZXNvdXJjZUhhbmRsZUludGVybmFsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2Fk
ZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQq
IGMsIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYpCiAgICAgICAg
ICAgICA6IG1fY2xpZW50KGMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oCmluZGV4IDVjYjdlZTMuLmRjZTMzZGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFz
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5oCkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3Qg
Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhOwogCiAgICAgLy8gRG8gbm90IHVzZSB0aGlz
IHR5cGUgZGlyZWN0bHkuICBVc2UgUmVzb3VyY2VSZXF1ZXN0IGluc3RlYWQuCi0gICAgY2xhc3Mg
UmVzb3VyY2VSZXF1ZXN0QmFzZSA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKKyAgICBjbGFzcyBS
ZXNvdXJjZVJlcXVlc3RCYXNlIHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgogICAgICAgICAvLyBUaGUgdHlwZSBvZiB0aGlzIFJlc291cmNlUmVxdWVzdCwg
YmFzZWQgb24gaG93IHRoZSByZXNvdXJjZSB3aWxsIGJlIHVzZWQuCiAgICAgICAgIGVudW0gVGFy
Z2V0VHlwZSB7CkBAIC0yMDcsNyArMjA4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBp
bmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgYSwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiBiKSB7IHJldHVybiBSZXNvdXJjZVJlcXVlc3RCYXNlOjpjb21wYXJlKGEs
IGIpOyB9CiAgICAgaW5saW5lIGJvb2wgb3BlcmF0b3IhPShSZXNvdXJjZVJlcXVlc3QmIGEsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgYikgeyByZXR1cm4gIShhID09IGIpOyB9CiAKLSAgICBzdHJ1
Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSA6IE5vbmNvcHlhYmxlIHsKKyAg
ICBzdHJ1Y3QgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhQmFzZSB7CisgICAgICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJsaWM6CisgICAgICAgIENyb3NzVGhyZWFk
UmVzb3VyY2VSZXF1ZXN0RGF0YUJhc2UoKSB7IH0KICAgICAgICAgS1VSTCBtX3VybDsKIAogICAg
ICAgICBSZXNvdXJjZVJlcXVlc3RDYWNoZVBvbGljeSBtX2NhY2hlUG9saWN5OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5o
CmluZGV4IDljNTRiYWIuLmUwNzc0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmgKQEAgLTQxLDcgKzQxLDggQEAg
Y2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIHN0cnVjdCBDcm9zc1RocmVhZFJlc291cmNlUmVzcG9u
c2VEYXRhOwogCiAvLyBEbyBub3QgdXNlIHRoaXMgY2xhc3MgZGlyZWN0bHksIHVzZSB0aGUgY2xh
c3MgUmVzcG9uc2VSZXNwb25zZSBpbnN0ZWFkCi1jbGFzcyBSZXNvdXJjZVJlc3BvbnNlQmFzZSA6
IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2VCYXNlIHsKKyAg
ICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxSZXNvdXJjZVJlc3BvbnNlPiBhZG9wdChQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3VyY2VS
ZXNwb25zZURhdGE+KTsKIApAQCAtMTc1LDcgKzE3NiwxMCBAQCBwcml2YXRlOgogaW5saW5lIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiBiKSB7IHJldHVybiBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6Y29tcGFyZShhLCBiKTsg
fQogaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KIAotc3RydWN0IENy
b3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIDogTm9uY29weWFibGUgeworc3RydWN0
IENyb3NzVGhyZWFkUmVzb3VyY2VSZXNwb25zZURhdGFCYXNlIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDcm9zc1RocmVhZFJlc291cmNlUmVzcG9uc2VEYXRhQmFzZSk7CitwdWJsaWM6Cisg
ICAgQ3Jvc3NUaHJlYWRSZXNvdXJjZVJlc3BvbnNlRGF0YUJhc2UoKSB7IH0KICAgICBLVVJMIG1f
dXJsOwogICAgIFN0cmluZyBtX21pbWVUeXBlOwogICAgIGxvbmcgbG9uZyBtX2V4cGVjdGVkQ29u
dGVudExlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAKaW5kZXggZWJiNmM1Zi4uYTcxNzBmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
SGFuZGxlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L1Jlc291cmNlSGFuZGxlU291cC5jcHAKQEAgLTYwLDcgKzYwLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAjZGVmaW5lIFJFQURfQlVGRkVSX1NJWkUgODE5MgogCi1jbGFzcyBXZWJDb3JlU3lu
Y2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIgOiBwdWJsaWMgUmVzb3Vy
Y2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVTeW5jaHJv
bm91c0xvYWRlcik7CiBwdWJsaWM6CiAgICAgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyKFJlc291
cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlICYsIFZlY3RvcjxjaGFyPiYpOwogICAgIH5XZWJD
b3JlU3luY2hyb25vdXNMb2FkZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvd2luL1Jlc291cmNlSGFuZGxlV2luLmNwcAppbmRleCAzOGQ5Y2QxLi5m
NTA1NDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3dpbi9S
ZXNvdXJjZUhhbmRsZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay93aW4vUmVzb3VyY2VIYW5kbGVXaW4uY3BwCkBAIC03Niw3ICs3Niw4IEBAIHN0YXRpYyBTdHJp
bmcgcXVlcnlIVFRQSGVhZGVyKEhJTlRFUk5FVCByZXF1ZXN0SGFuZGxlLCBEV09SRCBpbmZvTGV2
ZWwpCiB9CiAKIAotY2xhc3MgV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291
cmNlSGFuZGxlQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgV2ViQ29yZVN5bmNo
cm9ub3VzTG9hZGVyIDogcHVibGljIFJlc291cmNlSGFuZGxlQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXZWJDb3JlU3luY2hyb25vdXNMb2FkZXIpOwogcHVibGljOgogICAgIFdl
YkNvcmVTeW5jaHJvbm91c0xvYWRlcihSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYs
IFZlY3RvcjxjaGFyPiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50KTsKICAgICB+V2ViQ29yZVN5
bmNocm9ub3VzTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9DbGlwYm9hcmRRdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQu
aAppbmRleCA1YWNhMWE2Li5mYjVhYmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9DbGlwYm9hcmRRdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0Ns
aXBib2FyZFF0LmgKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
Ly8gU3RhdGUgYXZhaWxhYmxlIGR1cmluZyBJRSdzIGV2ZW50cyBmb3IgZHJhZyBhbmQgZHJvcCBh
bmQgY29weS9wYXN0ZQogICAgIGNsYXNzIENsaXBib2FyZFF0IDogcHVibGljIENsaXBib2FyZCwg
cHVibGljIENhY2hlZFJlc291cmNlQ2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDbGlwYm9hcmRR
dD4gY3JlYXRlKENsaXBib2FyZEFjY2Vzc1BvbGljeSBwb2xpY3ksIGNvbnN0IFFNaW1lRGF0YSog
cmVhZGFibGVDbGlwYm9hcmQpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3FsL1NRTGl0ZURhdGFiYXNlLmgKaW5kZXggYzMyOTI3My4uZGE1M2FjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmgKQEAgLTUwLDcgKzUwLDggQEAg
ZXh0ZXJuIGNvbnN0IGludCBTUUxSZXN1bHRTY2hlbWE7CiBleHRlcm4gY29uc3QgaW50IFNRTFJl
c3VsdEZ1bGw7CiBleHRlcm4gY29uc3QgaW50IFNRTFJlc3VsdEludGVycnVwdDsKIAotY2xhc3Mg
U1FMaXRlRGF0YWJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1FMaXRlRGF0YWJh
c2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNRTGl0ZURhdGFiYXNlKTsKICAgICBmcmll
bmQgY2xhc3MgU1FMaXRlVHJhbnNhY3Rpb247CiBwdWJsaWM6CiAgICAgU1FMaXRlRGF0YWJhc2Uo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuaAppbmRl
eCAxNDQ0ZjBlLi5mZDFhYmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlU3RhdGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NR
TGl0ZVN0YXRlbWVudC5oCkBAIC0zNCw3ICszNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU1FMVmFsdWU7CiAKLWNsYXNzIFNRTGl0ZVN0YXRlbWVudCA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBTUUxpdGVTdGF0ZW1lbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNRTGl0ZVN0YXRlbWVudCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAg
IFNRTGl0ZVN0YXRlbWVudChTUUxpdGVEYXRhYmFzZSYsIGNvbnN0IFN0cmluZyYpOwogICAgIH5T
UUxpdGVTdGF0ZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0
ZVRyYW5zYWN0aW9uLmgKaW5kZXggOTI0MjQxZi4uYmE2ODZiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmgKQEAgLTI2LDE0ICsyNiwxNSBA
QAogI2lmbmRlZiBTUUxpdGVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTGl0ZVRyYW5zYWN0aW9u
X2gKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU1FMaXRlRGF0YWJhc2U7
CiAKLWNsYXNzIFNRTGl0ZVRyYW5zYWN0aW9uIDogcHVibGljIE5vbmNvcHlhYmxlCi17CitjbGFz
cyBTUUxpdGVUcmFuc2FjdGlvbiB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMaXRlVHJh
bnNhY3Rpb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTUUxpdGVU
cmFuc2FjdGlvbihTUUxpdGVEYXRhYmFzZSYgZGIsIGJvb2wgcmVhZE9ubHkgPSBmYWxzZSk7CiAg
ICAgflNRTGl0ZVRyYW5zYWN0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9C
aWRpUmVzb2x2ZXIuaAppbmRleCAxZjg3MTE1Li45N2I5Mzc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKQEAgLTEyNiw3ICsxMjYsOCBAQCBzdHJ1Y3Qg
QmlkaUNoYXJhY3RlclJ1biB7CiAgICAgQmlkaUNoYXJhY3RlclJ1biogbV9uZXh0OwogfTsKIAot
dGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+IGNsYXNzIEJpZGlSZXNvbHZlciA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7Cit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1
bj4gY2xhc3MgQmlkaVJlc29sdmVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCaWRpUmVz
b2x2ZXIpOwogcHVibGljIDoKICAgICBCaWRpUmVzb2x2ZXIoKQogICAgICAgICA6IG1fZGlyZWN0
aW9uKFdURjo6VW5pY29kZTo6T3RoZXJOZXV0cmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9SZWd1bGFyRXhwcmVzc2lvbi5oCmluZGV4IGYxNjExZTUuLjUzNmVkNDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvUmVndWxhckV4cHJlc3Npb24u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1JlZ3VsYXJFeHByZXNzaW9uLmgK
QEAgLTMwLDcgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZWd1bGFy
RXhwcmVzc2lvbiA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKK2NsYXNzIFJlZ3VsYXJFeHByZXNz
aW9uIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZWd1bGFy
RXhwcmVzc2lvbihjb25zdCBTdHJpbmcmLCBUZXh0Q2FzZVNlbnNpdGl2aXR5KTsKICAgICB+UmVn
dWxhckV4cHJlc3Npb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5o
CmluZGV4IGM2YWYzOGEuLjM1MjI5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9U
ZXh0Q29kZWMuaApAQCAtNTcsOCArNTcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
dHlwZWRlZiBjaGFyIFVuZW5jb2RhYmxlUmVwbGFjZW1lbnRBcnJheVszMl07CiAKLSAgICBjbGFz
cyBUZXh0Q29kZWMgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNsYXNzIFRleHRDb2RlYyB7
CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRleHRDb2RlYyk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAgVGV4dENvZGVjKCkgeyB9CiAgICAgICAg
IHZpcnR1YWwgflRleHRDb2RlYygpOwogCiAgICAgICAgIFN0cmluZyBkZWNvZGUoY29uc3QgY2hh
ciogc3RyLCBzaXplX3QgbGVuZ3RoLCBib29sIGZsdXNoID0gZmFsc2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3RyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5o
CmluZGV4IDY3ZGI5NzcuLjY5OTBhMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oCkBAIC00MCw3ICs0MCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFRl
eHRFbmNvZGluZzsKIAotY2xhc3MgRm9udFRyYW5zY29kZXIgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRm9udFRyYW5zY29kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZvbnRU
cmFuc2NvZGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdm9pZCBj
b252ZXJ0KFN0cmluZyYgdGV4dCwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgVGV4dEVu
Y29kaW5nKiA9IDApIGNvbnN0OwogICAgIGJvb2wgbmVlZHNUcmFuc2NvZGluZyhjb25zdCBGb250
RGVzY3JpcHRpb24mLCBjb25zdCBUZXh0RW5jb2RpbmcqID0gMCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmgKaW5kZXggY2U2NGI4NS4uNzc5ZGEyNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uaApAQCAtNDEsNiAr
NDEsNyBAQCBjbGFzcyBXQ0RhdGFPYmplY3Q7CiAKIC8vIFN0YXRlIGF2YWlsYWJsZSBkdXJpbmcg
SUUncyBldmVudHMgZm9yIGRyYWcgYW5kIGRyb3AgYW5kIGNvcHkvcGFzdGUKIGNsYXNzIENsaXBi
b2FyZFdpbiA6IHB1YmxpYyBDbGlwYm9hcmQsIHB1YmxpYyBDYWNoZWRSZXNvdXJjZUNsaWVudCB7
CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q2xpcGJvYXJkV2luPiBjcmVhdGUoQ2xpcGJvYXJkVHlwZSBjbGlwYm9hcmRUeXBlLCBJ
RGF0YU9iamVjdCogZGF0YU9iamVjdCwgQ2xpcGJvYXJkQWNjZXNzUG9saWN5IHBvbGljeSwgRnJh
bWUqIGZyYW1lKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9XaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIuaAppbmRleCBlNzg1NmU3Li5kMzZjMjMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2luZG93TWVzc2FnZUJyb2FkY2Fz
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1dpbmRvd01lc3NhZ2VCcm9h
ZGNhc3Rlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgV2luZG93TWVzc2FnZUxpc3RlbmVy
OwogCi0gICAgY2xhc3MgV2luZG93TWVzc2FnZUJyb2FkY2FzdGVyIDogcHVibGljIE5vbmNvcHlh
YmxlIHsKKyAgICBjbGFzcyBXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXaW5kb3dNZXNzYWdlQnJvYWRjYXN0ZXIpOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIHZvaWQgYWRkTGlzdGVuZXIoSFdORCwgV2luZG93TWVzc2FnZUxpc3Rl
bmVyKik7CiAgICAgICAgIHN0YXRpYyB2b2lkIHJlbW92ZUxpc3RlbmVyKEhXTkQsIFdpbmRvd01l
c3NhZ2VMaXN0ZW5lciopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVn
aW5EYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5EYXRhYmFzZS5oCmlu
ZGV4IGIxNDYwNWYuLmM0MTJjMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMv
UGx1Z2luRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpbkRhdGFi
YXNlLmgKQEAgLTQ0LDcgKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgdHlwZWRl
ZiBIYXNoU2V0PFJlZlB0cjxQbHVnaW5QYWNrYWdlPiwgUGx1Z2luUGFja2FnZUhhc2g+IFBsdWdp
blNldDsKIAotICAgIGNsYXNzIFBsdWdpbkRhdGFiYXNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
KyAgICBjbGFzcyBQbHVnaW5EYXRhYmFzZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFBsdWdpbkRhdGFiYXNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgog
ICAgICAgICBQbHVnaW5EYXRhYmFzZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bHVnaW5zL1BsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdp
bnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oCmluZGV4IDYxMGU4OWMuLjI5YmM0ZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luTWFpblRocmVhZFNjaGVkdWxl
ci5oCkBAIC0zNiw3ICszNiw4IEBAIHR5cGVkZWYgTlBQX3QqIE5QUDsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1jbGFzcyBQbHVnaW5NYWluVGhyZWFkU2NoZWR1bGVyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBsdWdpbk1haW5UaHJlYWRTY2hlZHVsZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKICAgICB0eXBlZGVmIHZvaWQgTWFpblRocmVhZEZ1bmN0aW9uKHZv
aWQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5WaWV3Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAppbmRleCAwNDRkNmUyLi44Zjhm
MTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1BsdWdpblZpZXcuaApAQCAtOTUsNyArOTUsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBsdWdpblN0YXR1c0xvYWRlZFN1Y2Nlc3NmdWxs
eQogICAgIH07CiAKLSAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IDogcHVibGljIE5vbmNvcHlhYmxl
IHsKKyAgICBjbGFzcyBQbHVnaW5SZXF1ZXN0IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGx1Z2luUmVxdWVzdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgUGx1Z2luUmVxdWVzdChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiBmcmFtZUxvYWRS
ZXF1ZXN0LCBib29sIHNlbmROb3RpZmljYXRpb24sIHZvaWQqIG5vdGlmeURhdGEsIGJvb2wgc2hv
dWxkQWxsb3dQb3B1cHMpCiAgICAgICAgICAgICA6IG1fZnJhbWVMb2FkUmVxdWVzdChmcmFtZUxv
YWRSZXF1ZXN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbklu
Zm8uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Db2x1bW5JbmZvLmgKaW5kZXggNWU2ZjYx
OS4uZDc3ZDZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvbHVtbklu
Zm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ29sdW1uSW5mby5oCkBAIC0zMSw3
ICszMSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgQ29sdW1uSW5mbyA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBDb2x1bW5JbmZvIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShDb2x1bW5JbmZvKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAg
ICAgQ29sdW1uSW5mbygpCiAgICAgICAgIDogbV9kZXNpcmVkQ29sdW1uV2lkdGgoMCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKaW5kZXggMGQwNmNiMS4uYzQ5OTQzNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKQEAgLTM3LDcgKzM3LDggQEAgY2xh
c3MgUmVuZGVyQXJlbmE7CiBjbGFzcyBSZW5kZXJCb3g7CiBjbGFzcyBSZW5kZXJPYmplY3Q7CiAK
LWNsYXNzIExheW91dFN0YXRlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExheW91dFN0
YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMYXlvdXRTdGF0ZSk7CiBwdWJsaWM6CiAg
ICAgTGF5b3V0U3RhdGUoKQogICAgICAgICA6IG1fY2xpcHBlZChmYWxzZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKaW5kZXggMzIxMzlmYi4uZTFmZjUzNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmgKQEAgLTM2LDEzICszNiwxNSBAQAogI2RlZmlu
ZSBSZW5kZXJBcmVuYV9oCiAKICNpbmNsdWRlICJBcmVuYS5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IHNpemVfdCBnTWF4UmVjeWNsZWRTaXplID0gNDAwOwog
Ci1jbGFzcyBSZW5kZXJBcmVuYSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJB
cmVuYSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyQXJlbmEpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJBcmVuYSh1bnNpZ25lZCBhcmVuYVNp
emUgPSA0MDk2KTsKICAgICB+UmVuZGVyQXJlbmEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmgKaW5kZXggOTUyOWJkNi4uZjg4MjllZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmgKQEAgLTM2MCw3ICszNjAsOSBAQCBwcml2YXRlOgogICAgICAgICBi
b29sIGV2ZXJIYWRMYXlvdXQ7CiAgICAgfTsKIAotICAgIHN0cnVjdCBGbG9hdGluZ09iamVjdCA6
IE5vbmNvcHlhYmxlIHsKKyAgICBzdHJ1Y3QgRmxvYXRpbmdPYmplY3QgeworICAgICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShGbG9hdGluZ09iamVjdCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OworICAgIHB1YmxpYzoKICAgICAgICAgLy8gTm90ZSB0aGF0IFR5cGUgdXNlcyBiaXRzIHNvIHlv
dSBjYW4gdXNlIEZsb2F0Qm90aCBhcyBhIG1hc2sgdG8gcXVlcnkgZm9yIGJvdGggbGVmdCBhbmQg
cmlnaHQuCiAgICAgICAgIGVudW0gVHlwZSB7IEZsb2F0TGVmdCA9IDEsIEZsb2F0UmlnaHQgPSAy
LCBGbG9hdEJvdGggPSAzIH07CiAKQEAgLTY3OCw3ICs2ODAsOSBAQCBwcml2YXRlOgogICAgIFBv
c2l0aW9uZWRPYmplY3RzTGlzdEhhc2hTZXQqIG1fcG9zaXRpb25lZE9iamVjdHM7CiAKICAgICAv
LyBBbGxvY2F0ZWQgb25seSB3aGVuIHNvbWUgb2YgdGhlc2UgZmllbGRzIGhhdmUgbm9uLWRlZmF1
bHQgdmFsdWVzCi0gICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgOiBOb25jb3B5YWJsZSB7
CisgICAgc3RydWN0IFJlbmRlckJsb2NrUmFyZURhdGEgeworICAgICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShSZW5kZXJCbG9ja1JhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgcHVibGljOgogICAgICAgICBSZW5kZXJCbG9ja1JhcmVEYXRhKGNvbnN0IFJlbmRlckJsb2Nr
KiBibG9jaykgCiAgICAgICAgICAgICA6IG1fbWFyZ2lucyhwb3NpdGl2ZU1hcmdpbkJlZm9yZURl
ZmF1bHQoYmxvY2spLCBuZWdhdGl2ZU1hcmdpbkJlZm9yZURlZmF1bHQoYmxvY2spLCBwb3NpdGl2
ZU1hcmdpbkFmdGVyRGVmYXVsdChibG9jayksIG5lZ2F0aXZlTWFyZ2luQWZ0ZXJEZWZhdWx0KGJs
b2NrKSkKICAgICAgICAgICAgICwgbV9wYWdpbmF0aW9uU3RydXQoMCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCmluZGV4IGZiMDI0ZmMu
LmYyNDEyYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcApAQCAtNjMsNyArNjMsOCBAQCB0eXBlZGVmIEhhc2hNYXA8TGFzdFBhaW50
U2l6ZU1hcEtleSwgSW50U2l6ZT4gTGFzdFBhaW50U2l6ZU1hcDsKIHR5cGVkZWYgSGFzaE1hcDxj
b25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCosIFJlbmRlckJveE1vZGVsT2JqZWN0Kj4gQ29udGlu
dWF0aW9uTWFwOwogc3RhdGljIENvbnRpbnVhdGlvbk1hcCogY29udGludWF0aW9uTWFwID0gMDsK
IAotY2xhc3MgSW1hZ2VRdWFsaXR5Q29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7Citj
bGFzcyBJbWFnZVF1YWxpdHlDb250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJ
bWFnZVF1YWxpdHlDb250cm9sbGVyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgSW1hZ2VRdWFsaXR5Q29udHJvbGxlcigpOwogICAgIGJvb2wgc2hvdWxkUGFpbnRBdExv
d1F1YWxpdHkoR3JhcGhpY3NDb250ZXh0KiwgUmVuZGVyQm94TW9kZWxPYmplY3QqLCBJbWFnZSos
IGNvbnN0IHZvaWQqIGxheWVyLCBjb25zdCBJbnRTaXplJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhbWVTZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFtZVNldC5oCmluZGV4IGQwYWIzNDYuLjFlNTExZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFtZVNldC5oCkBAIC03Myw3ICs3Myw4IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgc3RhdGljIGNvbnN0IGludCBub1NwbGl0ID0gLTE7CiAKLSAgICBj
bGFzcyBHcmlkQXhpcyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgR3JpZEF4aXMg
eworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShHcmlkQXhpcyk7CiAgICAgcHVibGljOgog
ICAgICAgICBHcmlkQXhpcygpOwogICAgICAgICB2b2lkIHJlc2l6ZShpbnQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlUmVzb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZVJlc291cmNlLmgKaW5kZXggMjM0NjcxMi4u
YTIwYzU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdl
UmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2VSZXNv
dXJjZS5oCkBAIC0yOSwxMyArMjksMTMgQEAKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2lu
Y2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgot
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFJlbmRlck9iamVjdDsKIAotY2xhc3MgUmVuZGVySW1hZ2VSZXNvdXJjZSA6IHB1YmxpYyBO
b25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJJbWFnZVJlc291cmNlIHsKKyAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShSZW5kZXJJbWFnZVJlc291cmNlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+UmVuZGVySW1hZ2VSZXNvdXJjZSgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggNWM2ZWQxMi4u
NzI2Yjc3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuaApAQCAtNTMsNyArNTMsOCBAQCBlbnVtIENvbXBvc2l0aW5nTGF5ZXJUeXBlIHsKIC8vIAog
Ly8gVGhlcmUgaXMgb25lIFJlbmRlckxheWVyQmFja2luZyBmb3IgZWFjaCBSZW5kZXJMYXllciB0
aGF0IGlzIGNvbXBvc2l0ZWQuCiAKLWNsYXNzIFJlbmRlckxheWVyQmFja2luZyA6IHB1YmxpYyBH
cmFwaGljc0xheWVyQ2xpZW50LCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTGF5
ZXJCYWNraW5nIDogcHVibGljIEdyYXBoaWNzTGF5ZXJDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFJlbmRlckxheWVyQmFja2luZyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFJlbmRlckxheWVyQmFja2luZyhSZW5kZXJMYXllciopOwogICAgIH5SZW5k
ZXJMYXllckJhY2tpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNYXJxdWVlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWFycXVlZS5o
CmluZGV4IDc5OTk4ZWQuLjk4ZmRkYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNYXJxdWVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck1hcnF1ZWUuaApAQCAtNTMsNyArNTMsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBS
ZW5kZXJMYXllcjsKIAogLy8gVGhpcyBjbGFzcyBoYW5kbGVzIHRoZSBhdXRvLXNjcm9sbGluZyBv
ZiBsYXllcnMgd2l0aCBvdmVyZmxvdzogbWFycXVlZS4KLWNsYXNzIFJlbmRlck1hcnF1ZWUgOiBw
dWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgUmVuZGVyTWFycXVlZSB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoUmVuZGVyTWFycXVlZSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIGV4cGxpY2l0IFJlbmRlck1hcnF1ZWUoUmVuZGVyTGF5ZXIqKTsKICAgICB2aXJ0
dWFsIH5SZW5kZXJNYXJxdWVlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT3ZlcmZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPdmVy
Zmxvdy5oCmluZGV4IDdkYzJiY2IuLjMzZThjZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT3ZlcmZsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT3ZlcmZsb3cuaApAQCAtMzcsNyArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZQog
Ly8gRXhhbXBsZXMgb2YgdmlzdWFsIG92ZXJmbG93IGFyZSBzaGFkb3dzLCB0ZXh0IHN0cm9rZSAo
YW5kIGV2ZW50dWFsbHkgb3V0bGluZSBhbmQgYm9yZGVyLWltYWdlKS4KIAogLy8gVGhpcyBvYmpl
Y3QgaXMgYWxsb2NhdGVkIG9ubHkgd2hlbiBzb21lIG9mIHRoZXNlIGZpZWxkcyBoYXZlIG5vbi1k
ZWZhdWx0IHZhbHVlcyBpbiB0aGUgb3duaW5nIGJveC4KLWNsYXNzIFJlbmRlck92ZXJmbG93IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFJlbmRlck92ZXJmbG93IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShSZW5kZXJPdmVyZmxvdyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwog
cHVibGljOgogICAgIFJlbmRlck92ZXJmbG93KGNvbnN0IEludFJlY3QmIGxheW91dFJlY3QsIGNv
bnN0IEludFJlY3QmIHZpc3VhbFJlY3QpIAogICAgICAgICA6IG1fdG9wTGF5b3V0T3ZlcmZsb3co
bGF5b3V0UmVjdC55KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyU2VsZWN0aW9uSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlbGVj
dGlvbkluZm8uaAppbmRleCBhMDlmYzFhLi40NWNhODEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU2VsZWN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTZWxlY3Rpb25JbmZvLmgKQEAgLTMwLDcgKzMwLDggQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSB7CisgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVuZGVyU2VsZWN0aW9uSW5mb0Jhc2UpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBSZW5kZXJTZWxlY3Rpb25JbmZvQmFzZSgpCiAgICAg
ICAgIDogbV9vYmplY3QoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4
IDFkZmQ0Y2UuLjdlNWI0ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApA
QCAtMjY0LDcgKzI2NCw4IEBAIHZvaWQgdG9SZW5kZXJWaWV3KGNvbnN0IFJlbmRlclZpZXcqKTsK
IAogCiAvLyBTdGFjay1iYXNlZCBjbGFzcyB0byBhc3Npc3Qgd2l0aCBMYXlvdXRTdGF0ZSBwdXNo
L3BvcAotY2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
TGF5b3V0U3RhdGVNYWludGFpbmVyKTsKIHB1YmxpYzoKICAgICAvLyBjdG9yIHRvIHB1c2ggbm93
CiAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcqIHZpZXcsIFJlbmRlckJveCog
cm9vdCwgSW50U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFsc2UsIGludCBwYWdl
SGVpZ2h0ID0gMCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlLCBDb2x1bW5JbmZvKiBj
b2xJbmZvID0gMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJX
aWRnZXRQcm90ZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXRQ
cm90ZWN0b3IuaAppbmRleCA3ODgzMDRjLi44YmY2YWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0UHJvdGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcldpZGdldFByb3RlY3Rvci5oCkBAIC0zMCw3ICszMCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUmVuZGVyV2lkZ2V0UHJvdGVjdG9yIDogcHJp
dmF0ZSBOb25jb3B5YWJsZSB7CitjbGFzcyBSZW5kZXJXaWRnZXRQcm90ZWN0b3IgeworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFJlbmRlcldpZGdldFByb3RlY3Rvcik7CiBwdWJsaWM6CiAgICAg
UmVuZGVyV2lkZ2V0UHJvdGVjdG9yKFJlbmRlcldpZGdldCogb2JqZWN0KQogICAgICAgICA6IG1f
b2JqZWN0KG9iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UYWJs
ZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgKaW5kZXgg
ZTBmYThlZS4uYzVmNjFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Rh
YmxlTGF5b3V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RhYmxlTGF5b3V0LmgK
QEAgLTIxLDEzICsyMSwxNSBAQAogI2lmbmRlZiBUYWJsZUxheW91dF9oCiAjZGVmaW5lIFRhYmxl
TGF5b3V0X2gKIAorI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUmVuZGVyVGFi
bGU7CiAKLWNsYXNzIFRhYmxlTGF5b3V0IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFRh
YmxlTGF5b3V0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUYWJsZUxheW91dCk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIFRhYmxlTGF5b3V0KFJlbmRlclRhYmxl
KiB0YWJsZSkKICAgICAgICAgOiBtX3RhYmxlKHRhYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RyYW5zZm9ybVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVHJhbnNmb3JtU3RhdGUuaAppbmRleCAwYjRjYTQ2Li4zNmZjNmVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvVHJhbnNmb3JtU3RhdGUuaApAQCAtMzEsMTQgKzMxLDE0IEBACiAjaW5j
bHVkZSAiRmxvYXRRdWFkLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIlRyYW5z
Zm9ybWF0aW9uTWF0cml4LmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBUcmFuc2Zv
cm1TdGF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBUcmFuc2Zvcm1TdGF0ZSB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVHJhbnNmb3JtU3RhdGUpOwogcHVibGljOgogICAgIGVu
dW0gVHJhbnNmb3JtRGlyZWN0aW9uIHsgQXBwbHlUcmFuc2Zvcm1EaXJlY3Rpb24sIFVuYXBwbHlJ
bnZlcnNlVHJhbnNmb3JtRGlyZWN0aW9uIH07CiAgICAgZW51bSBUcmFuc2Zvcm1BY2N1bXVsYXRp
b24geyBGbGF0dGVuVHJhbnNmb3JtLCBBY2N1bXVsYXRlVHJhbnNmb3JtIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVmVydGljYWxQb3NpdGlvbkNhY2hlLmgKaW5kZXggNGRlYWVm
NS4uYjI1YjJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1ZlcnRpY2Fs
UG9zaXRpb25DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9WZXJ0aWNhbFBv
c2l0aW9uQ2FjaGUuaApAQCAtMzgsNyArMzgsOCBAQCBjb25zdCBpbnQgUG9zaXRpb25Ub3AgPSAt
MHg3ZmZmZmZmZjsKIGNvbnN0IGludCBQb3NpdGlvbkJvdHRvbSA9IDB4N2ZmZmZmZmY7CiBjb25z
dCBpbnQgUG9zaXRpb25VbmRlZmluZWQgPSAweDgwMDAwMDAwOwogCi1jbGFzcyBWZXJ0aWNhbFBv
c2l0aW9uQ2FjaGUgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVmVydGljYWxQb3NpdGlv
bkNhY2hlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShWZXJ0aWNhbFBvc2l0aW9uQ2FjaGUp
OwogcHVibGljOgogICAgIFZlcnRpY2FsUG9zaXRpb25DYWNoZSgpCiAgICAgeyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ29udGVudERhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5oCmluZGV4IDRmOTY0YTIuLjE1
ZjY5MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9Db250ZW50RGF0YS5o
CkBAIC0zMyw3ICszMyw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU3R5bGVJbWFn
ZTsKIAotc3RydWN0IENvbnRlbnREYXRhIDogTm9uY29weWFibGUgeworc3RydWN0IENvbnRlbnRE
YXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDb250ZW50RGF0YSk7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIENvbnRlbnREYXRhKCkKICAgICAgICAgOiBtX3R5
cGUoQ09OVEVOVF9OT05FKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL0NvdW50ZXJDb250ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291
bnRlckNvbnRlbnQuaAppbmRleCA1Mjc1N2FkLi44MTQwMzllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQ291bnRlckNvbnRlbnQuaApAQCAtMzAsNyArMzAsOCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENvdW50ZXJDb250ZW50IDogcHVibGljIEZh
c3RBbGxvY0Jhc2UgeworY2xhc3MgQ291bnRlckNvbnRlbnQgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgogICAgIENvdW50ZXJDb250ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgaWRlbnRpZmllciwgRUxpc3RTdHlsZVR5cGUgc3R5bGUsIGNvbnN0IEF0b21pY1N0cmluZyYg
c2VwYXJhdG9yKQogICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL0ZpbGxMYXllci5oCmluZGV4IDQ5ZmIyOTQuLjg0N2U4ZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9GaWxsTGF5ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvRmlsbExheWVyLmgKQEAgLTU5LDcg
KzU5LDggQEAgc3RydWN0IEZpbGxTaXplIHsKICAgICBMZW5ndGhTaXplIHNpemU7CiB9OwogCi1j
bGFzcyBGaWxsTGF5ZXIgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CitjbGFzcyBGaWxsTGF5ZXIg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIEZpbGxMYXllcihF
RmlsbExheWVyVHlwZSk7CiAgICAgfkZpbGxMYXllcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TaGFkb3dEYXRhLmgKaW5kZXggZmI1OTI2ZC4uMGJlM2ZjMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1NoYWRvd0RhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU2hhZG93RGF0YS5oCkBAIC0yNiw3ICsyNiw2IEBA
CiAjZGVmaW5lIFNoYWRvd0RhdGFfaAogCiAjaW5jbHVkZSAiQ29sb3IuaCIKLSNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM3LDcgKzM2
LDggQEAgZW51bSBTaGFkb3dTdHlsZSB7IE5vcm1hbCwgSW5zZXQgfTsKIAogLy8gVGhpcyBzdHJ1
Y3QgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgc2hhZG93cyBmb3IgdGhlIHRleHQtc2hhZG93IGFu
ZCBib3gtc2hhZG93IHByb3BlcnRpZXMuCiAKLWNsYXNzIFNoYWRvd0RhdGEgOiBwdWJsaWMgRmFz
dEFsbG9jQmFzZSB7CitjbGFzcyBTaGFkb3dEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBTaGFkb3dEYXRhKCkKICAgICAgICAgOiBtX3goMCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlw
cGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xp
cHBlci5oCmluZGV4IDdmODYyYTcuLjk5ODYxZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuaApAQCAtMzUsNyAr
MzUsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0cnVjdCBDbGlwcGVyRGF0YSA6IEZh
c3RBbGxvY0Jhc2Ugeworc3RydWN0IENsaXBwZXJEYXRhIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKK3B1YmxpYzoKICAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGNsaXBNYXNrSW1hZ2U7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0ltYWdl
QnVmZmVyVG9vbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW1hZ2VCdWZm
ZXJUb29scy5oCmluZGV4IGNmYjE1YjIuLjExNTc3YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHSW1hZ2VCdWZmZXJUb29scy5oCkBAIC0zMiw3ICszMiw4IEBA
IGNsYXNzIEZsb2F0U2l6ZTsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFJlbmRlck9i
amVjdDsKIAotY2xhc3MgU1ZHSW1hZ2VCdWZmZXJUb29scyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7
CitjbGFzcyBTVkdJbWFnZUJ1ZmZlclRvb2xzIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShT
VkdJbWFnZUJ1ZmZlclRvb2xzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjcmVhdGVJbWFn
ZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIGFic29sdXRlVGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRS
ZWN0JiBjbGFtcGVkQWJzb2x1dGVUYXJnZXRSZWN0LCBPd25QdHI8SW1hZ2VCdWZmZXI+JiwgQ29s
b3JTcGFjZSk7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3VidHJlZVRvSW1hZ2VCdWZmZXIoSW1h
Z2VCdWZmZXIqLCBSZW5kZXJPYmplY3QqLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHTWFya2VyTGF5b3V0SW5mby5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKaW5k
ZXggNWU3NWYwYi4uMzIzMTdiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdNYXJrZXJMYXlvdXRJbmZvLmgKQEAgLTQzLDcgKzQzLDggQEAgc3RydWN0IE1hcmtl
ckxheW91dCB7CiAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeDsKIH07CiAKLWNsYXNzIFNWR01h
cmtlckxheW91dEluZm8gOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHTWFya2VyTGF5
b3V0SW5mbyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHTWFya2VyTGF5b3V0SW5mbyk7
CiBwdWJsaWM6CiAgICAgU1ZHTWFya2VyTGF5b3V0SW5mbygpOwogICAgIH5TVkdNYXJrZXJMYXlv
dXRJbmZvKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jl
c291cmNlcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuaApp
bmRleCBkZDMyOGI4Li40OGNjYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1Jlc291cmNlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUmVzb3VyY2VzLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VN
YXNrZXI7CiBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIAogLy8gSG9sZHMgYSBzZXQgb2YgcmVzb3Vy
Y2VzIGFzc29jaWF0ZWQgd2l0aCBhIFJlbmRlck9iamVjdAotY2xhc3MgU1ZHUmVzb3VyY2VzIDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlcyB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU1ZHUmVzb3VyY2VzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgU1ZHUmVzb3VyY2VzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVzb3VyY2VzQ2FjaGUuaAppbmRleCAzMGVhZWNhLi5iYzczZjRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oCkBAIC0z
MSw3ICszMSw4IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgUmVuZGVyU1ZHUmVzb3VyY2VD
b250YWluZXI7CiBjbGFzcyBTVkdSZXNvdXJjZXM7CiAKLWNsYXNzIFNWR1Jlc291cmNlc0NhY2hl
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1Jlc291cmNlc0NhY2hlIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdSZXNvdXJjZXNDYWNoZSk7IFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIFNWR1Jlc291cmNlc0NhY2hlKCk7CiAgICAgflNWR1Jlc291
cmNlc0NhY2hlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1Jlc291cmNlc0N5Y2xlU29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1Jlc291cmNlc0N5Y2xlU29sdmVyLmgKaW5kZXggMDY1MzMwNC4uMDk5ZjkxYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDeWNsZVNvbHZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzQ3ljbGVTb2x2
ZXIuaApAQCAtMjksNyArMjksOCBAQCBjbGFzcyBSZW5kZXJPYmplY3Q7CiBjbGFzcyBSZW5kZXJT
VkdSZXNvdXJjZUNvbnRhaW5lcjsKIGNsYXNzIFNWR1Jlc291cmNlczsKIAotY2xhc3MgU1ZHUmVz
b3VyY2VzQ3ljbGVTb2x2ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUmVzb3Vy
Y2VzQ3ljbGVTb2x2ZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1Jlc291cmNlc0N5
Y2xlU29sdmVyKTsKIHB1YmxpYzoKICAgICBTVkdSZXNvdXJjZXNDeWNsZVNvbHZlcihSZW5kZXJP
YmplY3QqLCBTVkdSZXNvdXJjZXMqKTsKICAgICB+U1ZHUmVzb3VyY2VzQ3ljbGVTb2x2ZXIoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dENodW5rQnVp
bGRlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVy
LmgKaW5kZXggMzYzNDJlNy4uMzIxZjM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0Q2h1bmtCdWlsZGVyLmgKQEAgLTM1LDcgKzM1LDggQEAgc3RydWN0
IFNWR1RleHRGcmFnbWVudDsKIC8vIFBoYXNlIHR3byBwZXJmb3JtZWQgdGhlIGFjdHVhbCBwZXIt
Y2hhcmFjdGVyIGxheW91dCwgY29tcHV0aW5nIHRoZSBmaW5hbCBwb3NpdGlvbnMgZm9yIGVhY2gg
Y2hhcmFjdGVyLCBzdG9yZWQgaW4gdGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0cyAoU1ZHVGV4
dEZyYWdtZW50KS4KIC8vIFBoYXNlIHRocmVlIHBlcmZvcm1zIGFsbCBtb2RpZmljYXRpb25zIHRo
YXQgaGF2ZSB0byBiZSBhcHBsaWVkIHRvIGVhY2ggaW5kaXZpZHVhbCB0ZXh0IGNodW5rICh0ZXh0
LWFuY2hvciAmIHRleHRMZW5ndGgpLgogCi1jbGFzcyBTVkdUZXh0Q2h1bmtCdWlsZGVyIDogcHVi
bGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1RleHRDaHVua0J1aWxkZXIgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFNWR1RleHRDaHVua0J1aWxkZXIpOwogcHVibGljOgogICAgIFNWR1Rl
eHRDaHVua0J1aWxkZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyLmgKaW5kZXggZjI5YWM2
NC4uYzY4MTg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdU
ZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlci5oCkBAIC0zOCw3ICszOCw4IEBA
IGNsYXNzIFJlbmRlclNWR1RleHQ7CiAvLyB0byBjcmVhdGUgdGhlIElubGluZUJveCB0cmVlIGJh
c2VkIG9uIHRleHQgY2h1bmsgYm91bmRhcmllcyAmIEJpRGkgaW5mb3JtYXRpb24uCiAvLyBUaGUg
c2Vjb25kIGxheW91dCBwaGFzZSBpcyBjYXJyaWVkIG91dCBieSBTVkdUZXh0TGF5b3V0RW5naW5l
LgogCi1jbGFzcyBTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIgOiBwdWJsaWMgTm9uY29w
eWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEF0dHJpYnV0ZXNCdWlsZGVyIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0QXR0cmlidXRlc0J1aWxkZXIpOwogcHVibGlj
OgogICAgIFNWR1RleHRMYXlvdXRBdHRyaWJ1dGVzQnVpbGRlcigpOwogICAgIHZvaWQgYnVpbGRM
YXlvdXRBdHRyaWJ1dGVzRm9yVGV4dFN1YnRyZWUoUmVuZGVyU1ZHVGV4dCopOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmUuaAppbmRleCBh
ZDA1OGQ4Li42MzFlNGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmUuaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBTVkdSZW5kZXJT
dHlsZTsKIC8vIFJlbmRlclNWR0lubGluZVRleHQgcmVuZGVyZXJzIHRvIGNvbXB1dGUgdGhlIGZp
bmFsIHBvc2l0aW9ucyBmb3IgZWFjaCBjaGFyYWN0ZXIKIC8vIHdoaWNoIGFyZSBzdG9yZWQgaW4g
dGhlIFNWR0lubGluZVRleHRCb3ggb2JqZWN0cy4KIAotY2xhc3MgU1ZHVGV4dExheW91dEVuZ2lu
ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lKTsKIHB1YmxpYzoKICAg
ICBTVkdUZXh0TGF5b3V0RW5naW5lKCk7CiAgICAgU1ZHVGV4dENodW5rQnVpbGRlciYgY2h1bmtM
YXlvdXRCdWlsZGVyKCkgeyByZXR1cm4gbV9jaHVua0xheW91dEJ1aWxkZXI7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVC
YXNlbGluZS5oCmluZGV4IGQ3NTNiMzkuLjY3OTRiZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuaApA
QCAtMzMsNyArMzMsOCBAQCBjbGFzcyBTVkdSZW5kZXJTdHlsZTsKIGNsYXNzIFNWR1RleHRNZXRy
aWNzOwogCiAvLyBIZWxwZXIgY2xhc3MgdXNlZCBieSBTVkdUZXh0TGF5b3V0RW5naW5lIHRvIGhh
bmRsZSAnYWxpZ25tZW50LWJhc2VsaW5lJyAvICdkb21pbmFudC1iYXNlbGluZScgYW5kICdiYXNl
bGluZS1zaGlmdCcuCi1jbGFzcyBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUgOiBwdWJsaWMg
Tm9uY29weWFibGUgeworY2xhc3MgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUpOwogcHVibGlj
OgogICAgIFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZShjb25zdCBGb250Jik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNw
YWNpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZVNwYWNpbmcuaAppbmRleCAwYTZkNzM2Li43MWQ0NzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5oCkBA
IC0zMCw3ICszMCw4IEBAIGNsYXNzIFNWR1JlbmRlclN0eWxlOwogY2xhc3MgU1ZHRWxlbWVudDsK
IAogLy8gSGVscGVyIGNsYXNzIHVzZWQgYnkgU1ZHVGV4dExheW91dEVuZ2luZSB0byBoYW5kbGUg
J2tlcm5pbmcnIC8gJ2xldHRlci1zcGFjaW5nJyBhbmQgJ3dvcmQtc3BhY2luZycuCi1jbGFzcyBT
VkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZH
VGV4dExheW91dEVuZ2luZVNwYWNpbmcpOwogcHVibGljOgogICAgIFNWR1RleHRMYXlvdXRFbmdp
bmVTcGFjaW5nKGNvbnN0IEZvbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9EYXRhYmFzZVRhc2suaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNr
LmgKaW5kZXggYjYxZTQ2NS4uZTFkZjU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9EYXRhYmFzZVRhc2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
VGFzay5oCkBAIC00Myw3ICs0Myw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogLy8gQ2FuIGJl
IHVzZWQgdG8gd2FpdCB1bnRpbCBEYXRhYmFzZVRhc2sgaXMgY29tcGxldGVkLgogLy8gSGFzIHRv
IGJlIHBhc3NlZCBpbnRvIERhdGFiYXNlVGFzazo6Y3JlYXRlIHRvIGJlIGFzc29jaWF0ZWQgd2l0
aCB0aGUgdGFzay4KLWNsYXNzIERhdGFiYXNlVGFza1N5bmNocm9uaXplciA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKERhdGFiYXNlVGFza1N5bmNocm9uaXplcik7CiBwdWJsaWM6CiAgICAgRGF0
YWJhc2VUYXNrU3luY2hyb25pemVyKCk7CiAKQEAgLTY3LDcgKzY4LDggQEAgcHJpdmF0ZToKICNl
bmRpZgogfTsKIAotY2xhc3MgRGF0YWJhc2VUYXNrIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2Ns
YXNzIERhdGFiYXNlVGFzayB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGF0YWJhc2VUYXNr
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RGF0YWJh
c2VUYXNrKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VU
cmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCmluZGV4
IDcxNDVlNmIuLmExYTViZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNr
ZXIuaApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBEYXRhYmFzZVRyYWNrZXJDbGllbnQ7CiBzdHJ1
Y3QgU2VjdXJpdHlPcmlnaW5UcmFpdHM7CiAjZW5kaWYgLy8gIVBMQVRGT1JNKENIUk9NSVVNKQog
Ci1jbGFzcyBEYXRhYmFzZVRyYWNrZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0
YWJhc2VUcmFja2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZVRyYWNrZXIp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0
aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIGRhdGFiYXNlUGF0aCk7CiAgICAgc3RhdGljIERh
dGFiYXNlVHJhY2tlciYgdHJhY2tlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaAppbmRleCA3ODNhNzMxLi41YmM2YWNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2FjdGlv
bk1vbml0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlBlbmRpbmdUcmFuc2Fj
dGlvbk1vbml0b3IuaApAQCAtNDQsNyArNDQsOCBAQCBjbGFzcyBJREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2U7CiAvLyBGSVhNRTogbW92ZSB0aGUgdmVjdG9yIG9mIHRyYW5zYWN0aW9ucyB0
byBUTFMuIEtlZXBpbmcgaXQgc3RhdGljCiAvLyB3aWxsIG5vdCB3b3JrIG9uY2Ugd2UgYWRkIHN1
cHBvcnQgZm9yIHdvcmtlcnMuIEFub3RoZXIgcG9zc2libGUKIC8vIHNvbHV0aW9uIGlzIHRvIGtl
ZXAgdGhlIHZlY3RvciBpbiB0aGUgU2NyaXB0RXhlY3V0aW9uQ29udGV4dC4KLWNsYXNzIElEQlBl
bmRpbmdUcmFuc2FjdGlvbk1vbml0b3IgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSURC
UGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSURC
UGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgYWRk
UGVuZGluZ1RyYW5zYWN0aW9uKElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSopOwogICAg
IHN0YXRpYyB2b2lkIHJlbW92ZVBlbmRpbmdUcmFuc2FjdGlvbihJREJUcmFuc2FjdGlvbkJhY2tl
bmRJbnRlcmZhY2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxT
dG9yYWdlVGFzay5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgK
aW5kZXggYTJlMzVlYS4uMjdhOGViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0
b3JhZ2VUYXNrLmgKQEAgLTM3LDcgKzM3LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIExvY2FsU3RvcmFnZVRocmVhZDsKIAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFz
cyB0byBTdG9yYWdlVGFzawotICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgOiBwdWJsaWMgTm9u
Y29weWFibGUgeworICAgIGNsYXNzIExvY2FsU3RvcmFnZVRhc2sgeworICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShMb2NhbFN0b3JhZ2VUYXNrKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFR5cGUgeyBBcmVhSW1wb3J0LCBBcmVhU3luYywg
RGVsZXRlRW1wdHlEYXRhYmFzZSwgVGVybWluYXRlVGhyZWFkIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5oCmluZGV4IDZmMDU5MTEuLmEyYzc4YzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuaApAQCAtNDAsNyAr
NDAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGFzazsK
IAogICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBjbGFzcyB0byBTdG9yYWdlVGhyZWFkCi0gICAg
Y2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkIDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFz
cyBMb2NhbFN0b3JhZ2VUaHJlYWQgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShMb2Nh
bFN0b3JhZ2VUaHJlYWQpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gY3JlYXRlKCk7CiAg
ICAgICAgIH5Mb2NhbFN0b3JhZ2VUaHJlYWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09y
aWdpblF1b3RhTWFuYWdlci5oCmluZGV4IGVjOTYyMGMuLjgyZDdjNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaApAQCAtNDEsNyArNDEsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogY2xhc3MgT3JpZ2luVXNh
Z2VSZWNvcmQ7CiAKLWNsYXNzIE9yaWdpblF1b3RhTWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBPcmlnaW5RdW90YU1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KE9yaWdpblF1b3RhTWFuYWdlcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIE9yaWdpblF1b3RhTWFuYWdlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL09yaWdpblVzYWdlUmVjb3JkLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdp
blVzYWdlUmVjb3JkLmgKaW5kZXggYTgzMGU2OC4uNzU1N2VhYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJlY29yZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaApAQCAtMzksNyArMzksOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIC8vIE9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW4gYmUgdXNlZCBmcm9tIG11
bHRpcGxlIHRocmVhZHMgd2l0aCBleHRlcm5hbCBzeW5jaHJvbml6YXRpb24uCiAvLyBTdHJpbmcg
YXJndW1lbnRzIGFyZSBhbHNvIHN1cHBvc2VkIHRvIGJlIGRlZXBseSBjb3BpZWQgYnkgdGhlIGNh
bGxlciB3aGVuIG5lY2Vzc2FyeS4KLWNsYXNzIE9yaWdpblVzYWdlUmVjb3JkIDogcHVibGljIE5v
bmNvcHlhYmxlIHsKK2NsYXNzIE9yaWdpblVzYWdlUmVjb3JkIHsKKyAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShPcmlnaW5Vc2FnZVJlY29yZCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgogICAgIE9yaWdpblVzYWdlUmVjb3JkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAppbmRleCBmZWQwNjU3Li4zYzVlYzJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCkBAIC0zMyw2ICsz
Myw3IEBACiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAKKyNpbmNsdWRlIDx3dGYvRmFzdEFsbG9j
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC00MSw4ICs0MiwxMCBAQCBjbGFzcyBBYnN0cmFjdERhdGFiYXNlOwogCiAvLyBBIGNs
aWVudCB0byB0aGUgU1FMVHJhbnNhY3Rpb24gY2xhc3MuIEFsbG93cyBTUUxUcmFuc2FjdGlvbiB0
byBub3RpZnkgaW50ZXJlc3RlZAogLy8gcGFydGllcyB0aGF0IGNlcnRhaW4gdGhpbmdzIGhhdmUg
aGFwcGVuZWQgaW4gYSB0cmFuc2FjdGlvbi4KLWNsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IDog
cHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNRTFRyYW5zYWN0aW9uQ2xpZW50IHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShTUUxUcmFuc2FjdGlvbkNsaWVudCk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgorICAgIFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkgeyB9CiAgICAg
dm9pZCBkaWRDb21taXRXcml0ZVRyYW5zYWN0aW9uKEFic3RyYWN0RGF0YWJhc2UqKTsKICAgICB2
b2lkIGRpZEV4ZWN1dGVTdGF0ZW1lbnQoQWJzdHJhY3REYXRhYmFzZSopOwogICAgIGJvb2wgZGlk
RXhjZWVkUXVvdGEoQWJzdHJhY3REYXRhYmFzZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAppbmRleCA5NDM2MGMwLi5mZDc2Nzgy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRp
bmF0b3IuaApAQCAtNDMsOCArNDMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgU1FMVHJhbnNhY3Rpb247CiAKLSAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9y
IDogcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICBjbGFzcyBTUUxUcmFuc2FjdGlvbkNvb3JkaW5h
dG9yIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1FMVHJhbnNhY3Rpb25Db29yZGlu
YXRvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKKyAgICAgICAgU1FM
VHJhbnNhY3Rpb25Db29yZGluYXRvcigpIHsgfQogICAgICAgICB2b2lkIGFjcXVpcmVMb2NrKFNR
TFRyYW5zYWN0aW9uKik7CiAgICAgICAgIHZvaWQgcmVsZWFzZUxvY2soU1FMVHJhbnNhY3Rpb24q
KTsKICAgICAgICAgdm9pZCBzaHV0ZG93bigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0RvY3Vt
ZW50RXh0ZW5zaW9ucy5oCmluZGV4IGEwY2YyYmIuLjBlZDYyYTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKQEAgLTM4LDcgKzM4LDggQEAgY2xhc3MgU1ZH
U3R5bGVkRWxlbWVudDsKIGNsYXNzIFNWR1NNSUxFbGVtZW50OwogY2xhc3MgU1ZHU1ZHRWxlbWVu
dDsKIAotY2xhc3MgU1ZHRG9jdW1lbnRFeHRlbnNpb25zIDogcHVibGljIE5vbmNvcHlhYmxlIHsK
K2NsYXNzIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
U1ZHRG9jdW1lbnRFeHRlbnNpb25zKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgdHlwZWRlZiBIYXNoU2V0PFJlZlB0cjxTVkdTdHlsZWRFbGVtZW50PiA+IFNWR1BlbmRp
bmdFbGVtZW50czsKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMoRG9jdW1lbnQqKTsKQEAgLTY4
LDkgKzY5LDYgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPEF0b21pY1N0cmluZywgU1ZHUGVuZGlu
Z0VsZW1lbnRzKj4gbV9wZW5kaW5nUmVzb3VyY2VzOwogICAgIE93blB0cjxTVkdSZXNvdXJjZXND
YWNoZT4gbV9yZXNvdXJjZXNDYWNoZTsKIAotICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyhjb25z
dCBTVkdEb2N1bWVudEV4dGVuc2lvbnMmKTsKLSAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMmIG9w
ZXJhdG9yPShjb25zdCBTVkdEb2N1bWVudEV4dGVuc2lvbnMmKTsKLQogcHVibGljOgogICAgIC8v
IFRoaXMgSGFzaE1hcCBjb250YWlucyBhIGxpc3Qgb2YgcGVuZGluZyByZXNvdXJjZXMuIFBlbmRp
bmcgcmVzb3VyY2VzLCBhcmUgc3VjaAogICAgIC8vIHdoaWNoIGFyZSByZWZlcmVuY2VkIGJ5IGFu
eSBvYmplY3QgaW4gdGhlIFNWRyBkb2N1bWVudCwgYnV0IGRvIE5PVCBleGlzdCB5ZXQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggNDI3NmM0YS4uMzMxOGRlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50UmFyZURhdGEuaApAQCAtMzEsNyArMzEsOCBA
QCBjbGFzcyBTVkdDdXJzb3JFbGVtZW50OwogY2xhc3MgU1ZHRWxlbWVudDsKIGNsYXNzIFNWR0Vs
ZW1lbnRJbnN0YW5jZTsKIAotY2xhc3MgU1ZHRWxlbWVudFJhcmVEYXRhIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFNWR0VsZW1lbnRSYXJlRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHRWxlbWVudFJhcmVEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6CiAgICAgU1ZHRWxlbWVudFJhcmVEYXRhKCkKICAgICAgICAgOiBtX2N1cnNvckVsZW1lbnQo
MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RGF0YS5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKaW5kZXggZTg5N2E1OS4uZjIwMmQyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvbnREYXRhLmgKQEAgLTI1LDcgKzI1LDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTVkdGb250RGF0YSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBT
VkdGb250RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHRm9udERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdGb250RGF0YShTVkdGb250RmFj
ZUVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5TVkdGb250RGF0YSgpIHsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCbGVuZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aEJsZW5kZXIuaAppbmRleCBjMGFlN2YzLi44ZTQzYjk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJsZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUGF0aEJsZW5kZXIuaApAQCAtMjMsMTEgKzIzLDExIEBACiAjaWYgRU5BQkxFKFNWRykKICNp
bmNsdWRlICJTVkdQYXRoQ29uc3VtZXIuaCIKICNpbmNsdWRlICJTVkdQYXRoU291cmNlLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xh
c3MgU1ZHUGF0aEJsZW5kZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJs
ZW5kZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCbGVuZGVyKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU1ZHUGF0aEJsZW5kZXIoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhCeXRlU3RyZWFtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAppbmRleCBiODg4MmI2Li5hNDQ0YWMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEJ5dGVTdHJlYW0uaApAQCAtNDMsNyArNDMsOCBAQCB0
eXBlZGVmIHVuaW9uIHsKICAgICB1bnNpZ25lZCBjaGFyIGJ5dGVzW3NpemVvZih1bnNpZ25lZCBz
aG9ydCldOwogfSBVbnNpZ25lZFNob3J0Qnl0ZTsKIAotY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0g
OiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW0geworICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhCeXRlU3RyZWFtKTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+
IGNyZWF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhD
b25zdW1lci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhDb25zdW1lci5oCmluZGV4IGI3
YzVlNzMuLmFmM2Y3OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoQ29u
c3VtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aENvbnN1bWVyLmgKQEAgLTI2
LDYgKzI2LDcgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgor
I2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDggKzQxLDEwIEBAIGVudW0gUGF0aFBh
cnNpbmdNb2RlIHsKICAgICBVbmFsdGVyZWRQYXJzaW5nCiB9OwogCi1jbGFzcyBTVkdQYXRoQ29u
c3VtZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgU1ZHUGF0aENvbnN1bWVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShTVkdQYXRoQ29uc3VtZXIpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoQ29uc3VtZXIoKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgaW5jcmVtZW50UGF0aFNlZ21lbnRDb3VudCgpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
Y29udGludWVDb25zdW1pbmcoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFudXAoKSA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhQYXJzZXIuaAppbmRleCA3Njc5YTk1Li4wOTYxMzFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFBhcnNlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYXRoUGFyc2VyLmgKQEAgLTI5LDEyICsyOSwxMiBAQAogI2luY2x1ZGUg
IlNWR1BhdGhDb25zdW1lci5oIgogI2luY2x1ZGUgIlNWR1BhdGhTZWcuaCIKICNpbmNsdWRlICJT
VkdQYXRoU291cmNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NPd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQYXRo
UGFyc2VyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhQYXJzZXIgeworICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhQYXJzZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBTVkdQYXRoUGFyc2VyKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNvdXJjZS5oCmluZGV4IGQxYTYxNDkuLjc3YmY5ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQYXRoU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
b3VyY2UuaApAQCAtMjUsOCArMjUsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTVkdQYXRoU291cmNlIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIFNWR1BhdGhTb3Vy
Y2UgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNWR1BhdGhTb3VyY2UpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKKyAgICBTVkdQYXRoU291cmNlKCkgeyB9CiAgICAgdmly
dHVhbCB+U1ZHUGF0aFNvdXJjZSgpIHsgfQogCiAgICAgdmlydHVhbCBib29sIGhhc01vcmVEYXRh
KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAppbmRleCA2ODZjZWMzLi5jZDEw
Y2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaApAQCAtMzIsOCArMzIsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBTVkdFbGVtZW50OwogCiBjbGFzcyBTVkdWaWV3U3BlYyA6IHB1
YmxpYyBTVkdGaXRUb1ZpZXdCb3gsCi0gICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdab29t
QW5kUGFuLAotICAgICAgICAgICAgICAgICAgICBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAg
ICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBhbiB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU1ZHVmlld1NwZWMpOwogcHVibGljOgogICAgIFNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQq
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKaW5kZXggOTdmODZi
ZS4uZmMyZmQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0lt
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBA
IC01NSw3ICs1NSw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHSW1hZ2VD
aHJvbWVDbGllbnQgOiBwdWJsaWMgRW1wdHlDaHJvbWVDbGllbnQsIHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVudCA6IHB1YmxpYyBFbXB0eUNocm9tZUNsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU1ZHSW1hZ2VDaHJvbWVDbGllbnQpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTVkdJbWFnZUNocm9tZUNsaWVudChT
VkdJbWFnZSogaW1hZ2UpCiAgICAgICAgIDogbV9pbWFnZShpbWFnZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dlYmF1ZGlvL1JlYWx0aW1lQW5hbHlzZXIuaAppbmRleCA2ODZjMTdjLi5jYzc5MWZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9SZWFsdGltZUFuYWx5c2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd2ViYXVkaW8vUmVhbHRpbWVBbmFseXNlci5oCkBAIC0zOSw3ICszOSw4
IEBAIGNsYXNzIEZsb2F0MzJBcnJheTsKIGNsYXNzIFVpbnQ4QXJyYXk7CiAjZW5kaWYKIAotY2xh
c3MgUmVhbHRpbWVBbmFseXNlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBSZWFsdGlt
ZUFuYWx5c2VyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZWFsdGltZUFuYWx5c2VyKTsK
IHB1YmxpYzoKICAgICBSZWFsdGltZUFuYWx5c2VyKCk7CiAgICAgdmlydHVhbCB+UmVhbHRpbWVB
bmFseXNlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9UaHJlYWRh
YmxlV2ViU29ja2V0Q2hhbm5lbC5oCmluZGV4IDA1YjM3NjcuLjk1NmUwZmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1RocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
LmgKQEAgLTQzLDggKzQzLDEwIEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OwogY2xhc3MgV2ViU29ja2V0Q2hhbm5lbENsaWVudDsKIAotY2xhc3MgVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgVGhyZWFkYWJs
ZVdlYlNvY2tldENoYW5uZWwgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRocmVhZGFibGVX
ZWJTb2NrZXRDaGFubmVsKTsKIHB1YmxpYzoKKyAgICBUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5l
bCgpIHsgfQogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVs
PiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFdlYlNvY2tldENoYW5uZWxDbGllbnQq
LCBjb25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJiBwcm90b2NvbCk7CiAKICAgICB2aXJ0dWFsIHZv
aWQgY29ubmVjdCgpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMv
V2ViU29ja2V0Q2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRD
aGFubmVsLmgKaW5kZXggOWM1MjM3Ny4uYTM5Y2QwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd2Vi
c29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIGNsYXNzIFdlYlNvY2tldENoYW5uZWxDbGllbnQ7CiAKICAgICBjbGFzcyBX
ZWJTb2NrZXRDaGFubmVsIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViU29ja2V0Q2hhbm5lbD4sIHB1
YmxpYyBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQsIHB1YmxpYyBUaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbCB7CisgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoK
ICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViU29ja2V0Q2hhbm5lbD4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFdlYlNvY2tldENoYW5uZWxDbGllbnQqIGNsaWVu
dCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgV2ViU29ja2V0Q2hhbm5lbChjb250ZXh0LCBjbGllbnQsIHVybCwgcHJvdG9jb2wp
KTsgfQogICAgICAgICB2aXJ0dWFsIH5XZWJTb2NrZXRDaGFubmVsKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRzaGFrZS5oIGIvU291cmNlL1dl
YkNvcmUvd2Vic29ja2V0cy9XZWJTb2NrZXRIYW5kc2hha2UuaAppbmRleCBhNWI0MjYwLi4zNzFk
ODUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dlYlNvY2tldEhhbmRz
aGFrZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYnNvY2tldHMvV2ViU29ja2V0SGFuZHNoYWtl
LmgKQEAgLTM3LDEzICszNywxMyBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5j
bHVkZSAiV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYlNvY2tldEhh
bmRzaGFrZVJlc3BvbnNlLmgiCi0jaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKLSAg
ICBjbGFzcyBXZWJTb2NrZXRIYW5kc2hha2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgIGNs
YXNzIFdlYlNvY2tldEhhbmRzaGFrZSB7CisgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdl
YlNvY2tldEhhbmRzaGFrZSk7CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIE1vZGUgewogICAg
ICAgICAgICAgSW5jb21wbGV0ZSwgTm9ybWFsLCBGYWlsZWQsIENvbm5lY3RlZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hh
bm5lbC5oIGIvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cy9Xb3JrZXJUaHJlYWRhYmxlV2ViU29j
a2V0Q2hhbm5lbC5oCmluZGV4IDM2NmU0ZmEuLjlmMGIwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dlYnNvY2tldHMvV29ya2VyVGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWwuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzL1dvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFu
bmVsLmgKQEAgLTUyLDYgKzUyLDcgQEAgY2xhc3MgV29ya2VyTG9hZGVyUHJveHk7CiBjbGFzcyBX
b3JrZXJSdW5Mb29wOwogCiBjbGFzcyBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbCA6
IHB1YmxpYyBSZWZDb3VudGVkPFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsPiwgcHVi
bGljIFRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxlV2ViU29ja2V0
Q2hhbm5lbD4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFdlYlNvY2tldENo
YW5uZWxDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgS1VSTCYg
dXJsLCBjb25zdCBTdHJpbmcmIHByb3RvY29sKQogICAgIHsKQEAgLTc3LDcgKzc4LDggQEAgcHJv
dGVjdGVkOgogcHJpdmF0ZToKICAgICAvLyBHZW5lcmF0ZWQgYnkgdGhlIGJyaWRnZS4gIFRoZSBQ
ZWVyIGFuZCBpdHMgYnJpZGdlIHNob3VsZCBoYXZlIGlkZW50aWNhbAogICAgIC8vIGxpZmV0aW1l
cy4KLSAgICBjbGFzcyBQZWVyIDogcHVibGljIFdlYlNvY2tldENoYW5uZWxDbGllbnQsIHB1Ymxp
YyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgUGVlciA6IHB1YmxpYyBXZWJTb2NrZXRDaGFubmVs
Q2xpZW50IHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGVlcik7IFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBlZXIqIGNyZWF0ZShS
ZWZQdHI8VGhyZWFkYWJsZVdlYlNvY2tldENoYW5uZWxDbGllbnRXcmFwcGVyPiBjbGllbnRXcmFw
cGVyLCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0IEtVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBwcm90b2NvbCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCmluZGV4IDIxZTE0YTEu
LjQzNWI2MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKQEAgLTUzLDcgKzUzLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIFNoYXJlZFdvcmtlclByb3h5OwogCiAgICAgLy8gUGxhdGZvcm0tc3Bl
Y2lmaWMgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgc3RhdGlj
IGludGVyZmFjZS4KLSAgICBjbGFzcyBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeSA6IHB1
YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnkgeworICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAg
Ly8gSW52b2tlZCBvbmNlIHRoZSB3b3JrZXIgc2NyaXB0IGhhcyBiZWVuIGxvYWRlZCB0byBmaXJl
IHVwIHRoZSB3b3JrZXIgdGhyZWFkLgogICAgICAgICB2b2lkIHdvcmtlclNjcmlwdExvYWRlZChT
aGFyZWRXb3JrZXJQcm94eSYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25zdCBTdHJpbmcm
IHdvcmtlclNjcmlwdCwgUGFzc093blB0cjxNZXNzYWdlUG9ydENoYW5uZWw+KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKaW5kZXggYWUzNzBlMC4uMmU4MDJmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKQEAgLTE0NCw3ICsxNDQsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgaXNDbG9zaW5nKCkgeyByZXR1cm4gbV9jbG9z
aW5nOyB9CiAKICAgICAgICAgLy8gQW4gb2JzZXJ2ZXIgaW50ZXJmYWNlIHRvIGJlIG5vdGlmaWVk
IHdoZW4gdGhlIHdvcmtlciB0aHJlYWQgaXMgZ2V0dGluZyBzdG9wcGVkLgotICAgICAgICBjbGFz
cyBPYnNlcnZlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIE9ic2VydmVy
IHsKKyAgICAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE9ic2VydmVyKTsKICAgICAgICAg
cHVibGljOgogICAgICAgICAgICAgT2JzZXJ2ZXIoV29ya2VyQ29udGV4dCopOwogICAgICAgICAg
ICAgdmlydHVhbCB+T2JzZXJ2ZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuaAppbmRleCAzMzkzN2NlLi5hYjYxMTNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC00Niw3ICs0Niw4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAg
IGNsYXNzIFdvcmtlcjsKIAotICAgIGNsYXNzIFdvcmtlck1lc3NhZ2luZ1Byb3h5IDogcHVibGlj
IFdvcmtlckNvbnRleHRQcm94eSwgcHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29y
a2VyTG9hZGVyUHJveHksIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgY2xhc3MgV29ya2VyTWVz
c2FnaW5nUHJveHkgOiBwdWJsaWMgV29ya2VyQ29udGV4dFByb3h5LCBwdWJsaWMgV29ya2VyT2Jq
ZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSB7CisgICAgICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdvcmtlck1lc3NhZ2luZ1Byb3h5KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiAgICAgcHVibGljOgogICAgICAgICBXb3JrZXJNZXNzYWdpbmdQcm94eShXb3JrZXIqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5jcHAKaW5kZXggODNmMjQzZi4uN2Iz
MTQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCkBAIC0xMDQs
NyArMTA0LDggQEAgU3RyaW5nIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkKICAgICByZXR1
cm4gU3RyaW5nKCk7CiB9CiAKLWNsYXNzIFJ1bkxvb3BTZXR1cCA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitjbGFzcyBSdW5Mb29wU2V0dXAgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJ1bkxv
b3BTZXR1cCk7CiBwdWJsaWM6CiAgICAgUnVuTG9vcFNldHVwKFdvcmtlclJ1bkxvb3AmIHJ1bkxv
b3ApCiAgICAgICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyUnVuTG9vcC5oCmluZGV4IDlkNGVkZmQuLjNmZWI0ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyUnVuTG9vcC5oCkBAIC02NSw3ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgICAgICBzdGF0aWMgU3RyaW5nIGRlZmF1bHRNb2RlKCk7CiAKLSAgICAgICAgY2xhc3Mg
VGFzayA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNsYXNzIFRhc2sgeworICAgICAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGFzayk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAgICBzdGF0aWMgUGFzc093blB0cjxUYXNrPiBj
cmVhdGUoUGFzc093blB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPiB0YXNrLCBjb25z
dCBTdHJpbmcmIG1vZGUpOwogICAgICAgICAgICAgflRhc2soKSB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCBmNjExMjBlLi5lMWYxYTY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCkBAIC02MSw3ICs2MSw4IEBAIHVuc2lnbmVk
IFdvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkQ291bnQoKQogICAgIHJldHVybiBtX3RocmVhZENv
dW50OwogfQogCi1zdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgOiBOb25jb3B5YWJsZSB7
CitzdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+IGNy
ZWF0ZShjb25zdCBLVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBjb25z
dCBTdHJpbmcmIHNvdXJjZUNvZGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVz
dC5jcHAKaW5kZXggNDhhNGY3Zi4uYzA1YWIyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuY3BwCkBAIC02NSw3ICs2NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBX
VEY6OlJlZkNvdW50ZWRMZWFrQ291bnRlciB4bWxIdHRwUmVxdWVzdENvdW50ZXIoIlhNTEh0dHBS
ZXF1ZXN0Iik7CiAjZW5kaWYKIAotc3RydWN0IFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSA6IE5v
bmNvcHlhYmxlIHsKK3N0cnVjdCBYTUxIdHRwUmVxdWVzdFN0YXRpY0RhdGEgeworICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgogICAgIFhNTEh0dHBSZXF1ZXN0U3RhdGljRGF0YSgpOwogICAg
IFN0cmluZyBtX3Byb3h5SGVhZGVyUHJlZml4OwogICAgIFN0cmluZyBtX3NlY0hlYWRlclByZWZp
eDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggYmM2ODE1ZC4uYjE1ZDM1OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3Mg
VGV4dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiAKIGNsYXNzIFhN
TEh0dHBSZXF1ZXN0IDogcHVibGljIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+LCBwdWJsaWMg
RXZlbnRUYXJnZXQsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8WE1MSHR0cFJlcXVlc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgWE1MSHR0cFJlcXVlc3QoY29u
dGV4dCkpOyB9CiAgICAgflhNTEh0dHBSZXF1ZXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRo
RXhwcmVzc2lvbk5vZGUuaAppbmRleCBjMDRkNDViLi40YjViYWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3htbC9YUGF0aEV4cHJlc3Npb25Ob2RlLmgKQEAgLTM5LDcgKzM5LDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgbmFtZXNwYWNlIFhQYXRoIHsKICAgICAgICAgCi0gICAgICAgIHN0cnVj
dCBFdmFsdWF0aW9uQ29udGV4dCA6IEZhc3RBbGxvY0Jhc2UgeworICAgICAgICBzdHJ1Y3QgRXZh
bHVhdGlvbkNvbnRleHQgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Cisg
ICAgICAgIHB1YmxpYzoKICAgICAgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlOwogICAgICAgICAg
ICAgdW5zaWduZWQgbG9uZyBzaXplOwogICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwb3NpdGlv
bjsKQEAgLTUzLDcgKzU1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmly
dHVhbCB+UGFyc2VOb2RlKCkgeyB9CiAgICAgICAgIH07CiAKLSAgICAgICAgY2xhc3MgRXhwcmVz
c2lvbiA6IHB1YmxpYyBQYXJzZU5vZGUsIHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAgICAgIGNs
YXNzIEV4cHJlc3Npb24gOiBwdWJsaWMgUGFyc2VOb2RlIHsKKyAgICAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEV4cHJlc3Npb24pOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAg
ICAgcHVibGljOgogICAgICAgICAgICAgc3RhdGljIEV2YWx1YXRpb25Db250ZXh0JiBldmFsdWF0
aW9uQ29udGV4dCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2Rl
U2V0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhOb2RlU2V0LmgKaW5kZXggZDVjNDdiZS4u
NjE5ZDkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoTm9kZVNldC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aE5vZGVTZXQuaApAQCAtMzcsNyArMzcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBuYW1lc3BhY2UgWFBhdGggewogCi0gICAgICAgIGNs
YXNzIE5vZGVTZXQgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CisgICAgICAgIGNsYXNzIE5vZGVT
ZXQgeworICAgICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIHB1Ymxp
YzoKICAgICAgICAgICAgIE5vZGVTZXQoKSA6IG1faXNTb3J0ZWQodHJ1ZSksIG1fc3VidHJlZXNB
cmVEaXNqb2ludChmYWxzZSkgeyB9CiAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2Vy
LmgKaW5kZXggMGVlNDQ3YS4uZjQ5YjQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL1hQYXRoUGFyc2VyLmgKQEAg
LTU4LDcgKzU4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgVG9rZW4oaW50
IHQsIEVxVGVzdE9wOjpPcGNvZGUgdik6IHR5cGUodCksIGVxb3Aodikge30KICAgICAgICAgfTsK
IAotICAgICAgICBjbGFzcyBQYXJzZXIgOiBwdWJsaWMgTm9uY29weWFibGUgeworICAgICAgICBj
bGFzcyBQYXJzZXIgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFyc2VyKTsK
ICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgUGFyc2VyKCk7CiAgICAgICAgICAgICB+UGFy
c2VyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhQcmVkaWNhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCmluZGV4IDVmMjQ4MmEuLjM2MDAx
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFByZWRpY2F0ZS5oCkBAIC0xMDUsNyArMTA1LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgdmlydHVhbCBWYWx1ZTo6VHlwZSByZXN1
bHRUeXBlKCkgY29uc3QgeyByZXR1cm4gVmFsdWU6Ok5vZGVTZXRWYWx1ZTsgfQogICAgICAgICB9
OwogCi0gICAgICAgIGNsYXNzIFByZWRpY2F0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CisgICAg
ICAgIGNsYXNzIFByZWRpY2F0ZSB7CisgICAgICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQ
cmVkaWNhdGUpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICAgICAgcHVibGljOgogICAg
ICAgICAgICAgUHJlZGljYXRlKEV4cHJlc3Npb24qKTsKICAgICAgICAgICAgIH5QcmVkaWNhdGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YUGF0aFN0ZXAuaCBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9YUGF0aFN0ZXAuaAppbmRleCBlYzAyMmIzLi5iMDMxYmFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvWFBhdGhTdGVwLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1s
L1hQYXRoU3RlcC5oCkBAIC0zOSw3ICszOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICBjbGFzcyBQcmVkaWNhdGU7CiAgICAgICAgIAotICAgICAgICBjbGFzcyBTdGVwIDogcHVi
bGljIFBhcnNlTm9kZSwgcHVibGljIE5vbmNvcHlhYmxlIHsKKyAgICAgICAgY2xhc3MgU3RlcCA6
IHB1YmxpYyBQYXJzZU5vZGUgeworICAgICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU3Rl
cCk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgICAgICBwdWJsaWM6CiAgICAgICAgICAg
ICBlbnVtIEF4aXMgewogICAgICAgICAgICAgICAgIEFuY2VzdG9yQXhpcywgQW5jZXN0b3JPclNl
bGZBeGlzLCBBdHRyaWJ1dGVBeGlzLApAQCAtNDksNyArNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgICAgICAgICAgU2VsZkF4aXMKICAgICAgICAgICAgIH07CiAgICAgICAgICAg
ICAKLSAgICAgICAgICAgIGNsYXNzIE5vZGVUZXN0IDogcHVibGljIEZhc3RBbGxvY0Jhc2Ugewor
ICAgICAgICAgICAgY2xhc3MgTm9kZVRlc3QgeworICAgICAgICAgICAgICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogICAgICAgICAgICAgcHVibGljOgogICAgICAgICAgICAgICAgIGVudW0g
S2luZCB7CiAgICAgICAgICAgICAgICAgICAgIFRleHROb2RlVGVzdCwgQ29tbWVudE5vZGVUZXN0
LCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb25Ob2RlVGVzdCwgQW55Tm9kZVRlc3QsIE5hbWVUZXN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oIGIvU291cmNlL1dl
YkNvcmUveG1sL1hTTEltcG9ydFJ1bGUuaAppbmRleCBmM2E5MzE4Li41YzBjYThhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWFNMSW1wb3J0UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3htbC9YU0xJbXBvcnRSdWxlLmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogY2xhc3MgQ2FjaGVkWFNMU3R5bGVTaGVldDsKIAogY2xhc3MgWFNMSW1wb3J0UnVsZSA6
IHB1YmxpYyBTdHlsZUJhc2UsIHByaXZhdGUgQ2FjaGVkUmVzb3VyY2VDbGllbnQgeworICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFhT
TEltcG9ydFJ1bGU+IGNyZWF0ZShYU0xTdHlsZVNoZWV0KiBwYXJlbnRTaGVldCwgY29uc3QgU3Ry
aW5nJiBocmVmKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZGM4OTU1OC4uODhlMDVkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMS0wMS0yMCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZWZhY3RvcmluZyBvZiB0aGUgY3VzdG9tIGFsbG9jYXRpb24gZnJhbWV3b3JrCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTg5NworCisgICAgICAg
IEluaGVyaXRpbmcgZnJvbSBGYXN0QWxsb2NCYXNlIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0
aW5nIGxhcmdlciAoYnVnICMzMzg5NiwgIzQ2NTg5KS4KKyAgICAgICAgVGhlIG1vZGlmaWNhdGlv
biByZXBsYWNlcyBOb25jb3B5YWJsZSBhbmQgRmFzdEFsbG9jQmFzZSBjbGFzc2VzIGFuZCB0aGVz
ZSBpbmhlcml0cyB3aXRoIHRoZWlyCisgICAgICAgIGVxdWl2YWxlbnQgbWFjcm8gaW1wbGVtZW50
YXRpb24gYXQgdGhlIG5lY2Vzc2FyeSBwbGFjZXMuCisKIDIwMTEtMDEtMTcgIERhbiBCZXJuc3Rl
aW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYXJrIFJv
d2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9iamVjdC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQm91bmRPYmplY3QuaAppbmRleCA3NjllODNm
Li4zOTRmZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Cb3VuZE9i
amVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0JvdW5kT2JqZWN0LmgKQEAg
LTM5LDcgKzM5LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAvLyBCb3VuZE9iamVjdCBpcyBhIGhl
bHBlciBjbGFzcyB0aGF0IGxldHMgeW91IG1hcCBKYXZhU2NyaXB0IG1ldGhvZCBjYWxscwogLy8g
ZGlyZWN0bHkgdG8gQysrIG1ldGhvZCBjYWxscy4gSXQgc2hvdWxkIGJlIGRlc3Ryb3llZCBvbmNl
IEpTIG9iamVjdCBpcwogLy8gYnVpbHQuCi1jbGFzcyBCb3VuZE9iamVjdCA6IHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBCb3VuZE9iamVjdCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
Qm91bmRPYmplY3QpOwogcHVibGljOgogICAgIEJvdW5kT2JqZWN0KHY4OjpIYW5kbGU8djg6OkNv
bnRleHQ+IGNvbnRleHQsIHZvaWQqIHY4VGhpcywgY29uc3QgY2hhciogb2JqZWN0TmFtZSk7CiAg
ICAgdmlydHVhbCB+Qm91bmRPYmplY3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5hZ2VyLmNwcAppbmRleCAwODYwY2IxLi5iNzZiY2ZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFn
ZXIuY3BwCkBAIC01NSw3ICs1NSw4IEBAIGJvb2wgRGVidWdnZXJBZ2VudE1hbmFnZXI6OnNfZXhw
b3NlVjhEZWJ1Z2dlclByb3RvY29sID0gZmFsc2U7CiAKIG5hbWVzcGFjZSB7CiAKLWNsYXNzIENh
bGxlcklkV3JhcHBlciA6IHB1YmxpYyB2ODo6RGVidWc6OkNsaWVudERhdGEsIHB1YmxpYyBOb25j
b3B5YWJsZSB7CitjbGFzcyBDYWxsZXJJZFdyYXBwZXIgOiBwdWJsaWMgdjg6OkRlYnVnOjpDbGll
bnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDYWxsZXJJZFdyYXBwZXIpOwogcHVi
bGljOgogICAgIENhbGxlcklkV3JhcHBlcigpIDogbV9jYWxsZXJJc01hbmFuYWdlcih0cnVlKSwg
bV9jYWxsZXJJZCgwKSB7IH0KICAgICBleHBsaWNpdCBDYWxsZXJJZFdyYXBwZXIoaW50IGNhbGxl
cklkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGVidWdnZXJBZ2Vu
dE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RlYnVnZ2VyQWdlbnRNYW5h
Z2VyLmgKaW5kZXggNjZiZDcxNC4uYTMyMzMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRGVidWdnZXJBZ2VudE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9EZWJ1Z2dlckFnZW50TWFuYWdlci5oCkBAIC02Myw3ICs2Myw4IEBAIGNsYXNz
IFdlYlZpZXdJbXBsOwogLy8gd291bGQgZXhwZWN0IHNvbWUgYWN0aW9ucyBmcm9tIHRoZSBoYW5k
bGVyLiBJZiB0aGVyZSBpcyBubyBhcHByb3ByaWF0ZQogLy8gZGVidWdnZXIgYWdlbnQgdG8gaGFu
ZGxlIHN1Y2ggbWVzc2FnZXMgdGhlIG1hbmFnZXIgd2lsbCBwZXJmb3JtIHRoZSBhY3Rpb24KIC8v
IGl0c2VsZiwgb3RoZXJ3aXNlIHY4IG1heSBoYW5nIHdhaXRpbmcgZm9yIHRoZSBhY3Rpb24uCi1j
bGFzcyBEZWJ1Z2dlckFnZW50TWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBE
ZWJ1Z2dlckFnZW50TWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRGVidWdnZXJB
Z2VudE1hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRlYnVnQXR0YWNoKERlYnVn
Z2VyQWdlbnRJbXBsKiBkZWJ1Z2dlckFnZW50KTsKICAgICBzdGF0aWMgdm9pZCBkZWJ1Z0RldGFj
aChEZWJ1Z2dlckFnZW50SW1wbCogZGVidWdnZXJBZ2VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4
IGZjMjFmM2UuLjI4Njc5MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCkBAIC00NCw4ICs0NCw4IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudDsKIGNsYXNz
IFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsOwogCi1jbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSAgeworY2xhc3Mg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6Okluc3BlY3RvckZy
b250ZW5kQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0b3JGcm9udGVu
ZENsaWVudEltcGwpOwogcHVibGljOgogICAgIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbChX
ZWJDb3JlOjpQYWdlKiwgV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudCosIFdlYkRldlRvb2xzRnJv
bnRlbmRJbXBsKik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250
ZW5kSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNGcm9udGVu
ZEltcGwuaAppbmRleCA4NjZhMWNiLi5kYzdkMmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0Zyb250ZW5kSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzRnJvbnRlbmRJbXBsLmgKQEAgLTU1LDggKzU1LDgg
QEAgc3RydWN0IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIHVzaW5nIFdURjo6U3RyaW5nOwog
Ci1jbGFzcyBXZWJEZXZUb29sc0Zyb250ZW5kSW1wbCA6IHB1YmxpYyBXZWJLaXQ6OldlYkRldlRv
b2xzRnJvbnRlbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsIDogcHVibGljIFdlYktpdDo6
V2ViRGV2VG9vbHNGcm9udGVuZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViRGV2VG9v
bHNGcm9udGVuZEltcGwpOwogcHVibGljOgogICAgIFdlYkRldlRvb2xzRnJvbnRlbmRJbXBsKAog
ICAgICAgICBXZWJLaXQ6OldlYlZpZXdJbXBsKiB3ZWJWaWV3SW1wbCwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IGExM2VlYzAuLjRkMTkwNTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAtMjg0LDcg
KzI4NCw4IEBAIFdlYlBsdWdpbkNvbnRhaW5lckltcGwqIFdlYkZyYW1lSW1wbDo6cGx1Z2luQ29u
dGFpbmVyRnJvbUZyYW1lKEZyYW1lKiBmcmFtZSkKIAogLy8gU2ltcGxlIGNsYXNzIHRvIG92ZXJy
aWRlIHNvbWUgb2YgUHJpbnRDb250ZXh0IGJlaGF2aW9yLiBTb21lIG9mIHRoZSBtZXRob2RzCiAv
LyBtYWRlIHZpcnR1YWwgc28gdGhhdCB0aGV5IGNhbiBiZSBvdmVycmlkZW4gYnkgQ2hyb21lUGx1
Z2luUHJpbnRDb250ZXh0LgotY2xhc3MgQ2hyb21lUHJpbnRDb250ZXh0IDogcHVibGljIFByaW50
Q29udGV4dCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIENocm9tZVByaW50Q29udGV4dCA6
IHB1YmxpYyBQcmludENvbnRleHQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENocm9tZVBy
aW50Q29udGV4dCk7CiBwdWJsaWM6CiAgICAgQ2hyb21lUHJpbnRDb250ZXh0KEZyYW1lKiBmcmFt
ZSkKICAgICAgICAgOiBQcmludENvbnRleHQoZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQb3B1cE1lbnVJbXBsLmgKaW5kZXggYjhlZjdiYS4uNDFhOTUyZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUG9wdXBNZW51SW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBvcHVwTWVudUltcGwuaApAQCAtNTYsNiAr
NTYsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIGNsYXNzIFdlYlBvcHVwTWVudUltcGwgOiBwdWJsaWMg
V2ViUG9wdXBNZW51LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBXZWJDb3JlOjpG
cmFtZWxlc3NTY3JvbGxWaWV3Q2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlBvcHVwTWVudUltcGw+IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKICAgICAvLyBXZWJXaWRnZXQKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2Uo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3Jl
ZW5WaWRlb0NvbnRyb2xsZXJFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXJFZmwuaAppbmRleCA0YmJhZTI1Li42N2M0NjA4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyRWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlckVmbC5oCkBAIC0yNyw3ICsyNyw4IEBACiAjaW5jbHVk
ZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotY2xhc3Mg
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBG
dWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyKCk7CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnVsbHNjcmVl
blZpZGVvQ29udHJvbGxlci5oCmluZGV4IGQ0YmJlYTIuLjNmYjhiMTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyLmgKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50
LmgiCiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250
cm9sbGVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIEZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIpOwogcHVibGljOgogICAgIEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIoKTsKICAgICB2aXJ0
dWFsIH5GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdGRvd25sb2FkLmNwcAppbmRleCA2MGI4ZTZkLi5hNzg5MGMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZG93bmxvYWQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRkb3dubG9hZC5jcHAKQEAgLTU3LDcgKzU3LDggQEAg
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAgKiBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVk
LCBhbmQgZG8gaXQgaXRzZWxmLgogICovCiAKLWNsYXNzIERvd25sb2FkQ2xpZW50IDogcHVibGlj
IE5vbmNvcHlhYmxlLCBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworY2xhc3MgRG93bmxv
YWRDbGllbnQgOiBwdWJsaWMgUmVzb3VyY2VIYW5kbGVDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKERvd25sb2FkQ2xpZW50KTsKICAgICBwdWJsaWM6CiAgICAgICAgIERvd25sb2Fk
Q2xpZW50KFdlYktpdERvd25sb2FkKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oIGIvU291cmNlL1dl
YktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKaW5k
ZXggZjc4NGFkZS4uNGYyYzU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lu
cy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5JbnN0YW5jZVByb3h5LmgKQEAgLTMx
Myw3ICszMTMsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgZGVtYXJzaGFsVmFsdWVGcm9tQXJyYXko
SlNDOjpFeGVjU3RhdGUqLCBOU0FycmF5ICphcnJheSwgTlNVSW50ZWdlciYgaW5kZXgsIEpTQzo6
SlNWYWx1ZSYgcmVzdWx0KTsKICAgICB2b2lkIGRlbWFyc2hhbFZhbHVlcyhKU0M6OkV4ZWNTdGF0
ZSosIGRhdGFfdCB2YWx1ZXNEYXRhLCBtYWNoX21zZ190eXBlX251bWJlcl90IHZhbHVlc0xlbmd0
aCwgSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciYgcmVzdWx0KTsKIAotICAgIGNsYXNzIExvY2Fs
T2JqZWN0TWFwIDogTm9uY29weWFibGUgeworICAgIGNsYXNzIExvY2FsT2JqZWN0TWFwIHsKKyAg
ICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxPYmplY3RNYXApOwogICAgIHB1YmxpYzoK
ICAgICAgICAgTG9jYWxPYmplY3RNYXAoKTsKICAgICAgICAgfkxvY2FsT2JqZWN0TWFwKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNs
aWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xp
ZW50Lm1tCmluZGV4IDI5MTM3MzkuLjY1YWJhNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lm1tCkBAIC01Miw3ICs1Miw4
IEBAIFdlYkRhdGFiYXNlVHJhY2tlckNsaWVudDo6fldlYkRhdGFiYXNlVHJhY2tlckNsaWVudCgp
CiB7CiB9CiAKLWNsYXNzIERpZE1vZGlmeU9yaWdpbkRhdGEgOiBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
RGlkTW9kaWZ5T3JpZ2luRGF0YSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hU
b01haW5UaHJlYWQoV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50KiBjbGllbnQsIFNlY3VyaXR5T3Jp
Z2luKiBvcmlnaW4pCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ09NRW51
bVZhcmlhbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL0NPTUVudW1WYXJpYW50LmgKaW5kZXggYTkz
YTNjMi4uNjcyNTEwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ09NRW51bVZhcmlh
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DT01FbnVtVmFyaWFudC5oCkBAIC0yOSwxMiAr
MjksMTIgQEAKICNkZWZpbmUgTk9NSU5NQVgKICNpbmNsdWRlIDx1bmtud24uaD4KIAotI2luY2x1
ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiAjaW5jbHVkZSAiQ09NVmFyaWFudFNldHRlci5oIgog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb250YWluZXJUeXBlPgotY2xhc3MgQ09NRW51bVZhcmlhbnQg
OiBwdWJsaWMgSUVudW1WQVJJQU5ULCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgQ09NRW51
bVZhcmlhbnQgOiBwdWJsaWMgSUVudW1WQVJJQU5UIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShDT01FbnVtVmFyaWFudCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBh
ZG9wdChDb250YWluZXJUeXBlJik7CiAgICAgc3RhdGljIENPTUVudW1WYXJpYW50KiBjcmVhdGVJ
bnN0YW5jZShjb25zdCBDb250YWluZXJUeXBlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbi9DT01Qcm9wZXJ0eUJhZy5oIGIvU291cmNlL1dlYktpdC93aW4vQ09NUHJvcGVydHlCYWcu
aAppbmRleCA2MTBjMzY3Li42MjA0NThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9D
T01Qcm9wZXJ0eUJhZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NPTVByb3BlcnR5QmFnLmgK
QEAgLTM1LDcgKzM1LDggQEAKICNpbmNsdWRlICJDT01WYXJpYW50U2V0dGVyLmgiDQogDQogdGVt
cGxhdGU8dHlwZW5hbWUgVmFsdWVUeXBlLCB0eXBlbmFtZSBLZXlUeXBlID0gdHlwZW5hbWUgV1RG
OjpTdHJpbmcsIHR5cGVuYW1lIEhhc2hUeXBlID0gdHlwZW5hbWUgV1RGOjpTdHJpbmdIYXNoPg0K
LWNsYXNzIENPTVByb3BlcnR5QmFnIDogcHVibGljIElQcm9wZXJ0eUJhZywgcHVibGljIElQcm9w
ZXJ0eUJhZzIsIE5vbmNvcHlhYmxlIHsNCitjbGFzcyBDT01Qcm9wZXJ0eUJhZyA6IHB1YmxpYyBJ
UHJvcGVydHlCYWcsIHB1YmxpYyBJUHJvcGVydHlCYWcyIHsNCisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ09NUHJvcGVydHlCYWcpOw0KIHB1YmxpYzoNCiAgICAgdHlwZWRlZiBIYXNoTWFwPEtl
eVR5cGUsIFZhbHVlVHlwZSwgSGFzaFR5cGU+IEhhc2hNYXBUeXBlOw0KIA0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuaAppbmRleCA2YjU2YWI1Li5hNjU1
MjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5o
CkBAIC0xMDIsNyArMTAyLDggQEAgcHJpdmF0ZToKICAgICBpbnQgbV9kcmFnU3RhcnRPZmZzZXQ7
CiB9OwogCi1jbGFzcyBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyIDogV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlRnVsbHNjcmVlbkNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNz
IEZ1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIgOiBXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVG
dWxsc2NyZWVuQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShGdWxsc2NyZWVuVmlk
ZW9Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyKCk7
CiAgICAgdmlydHVhbCB+RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAKaW5kZXggYmRjYjU0OS4uZTJiODFlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCkBAIC01Miw3ICs1Miw4IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBpc0VxdWFsKExQQ1dTVFIgczEsIExQQ1dTVFIgczIpCiAgICAgcmV0
dXJuICF3Y3NjbXAoczEsIHMyKTsKIH0KIAotY2xhc3MgRGF0YWJhc2VEZXRhaWxzUHJvcGVydHlC
YWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRGF0
YWJhc2VEZXRhaWxzUHJvcGVydHlCYWcgOiBwdWJsaWMgSVByb3BlcnR5QmFnIHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShEYXRhYmFzZURldGFpbHNQcm9wZXJ0eUJhZyk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIERhdGFiYXNlRGV0YWlsc1Byb3BlcnR5QmFnKiBjcmVhdGVJbnN0YW5jZShjb25z
dCBEYXRhYmFzZURldGFpbHMmKTsKIApAQCAtMzI4LDcgKzMyOSw4IEBAIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgV2ViRGF0YWJhc2VNYW5hZ2VyOjpkZWxldGVEYXRhYmFzZSgKICAgICByZXR1
cm4gU19PSzsKIH0KIAotY2xhc3MgRGlkTW9kaWZ5T3JpZ2luRGF0YSA6IHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBEaWRNb2RpZnlPcmlnaW5EYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEaWRNb2RpZnlPcmlnaW5EYXRhKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBkaXNw
YXRjaFRvTWFpblRocmVhZChXZWJEYXRhYmFzZU1hbmFnZXIqIGRhdGFiYXNlTWFuYWdlciwgU2Vj
dXJpdHlPcmlnaW4qIG9yaWdpbikKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJJbnNwZWN0b3IuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCmluZGV4
IDA1M2E1OTMuLmUyZDJmY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkluc3Bl
Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkluc3BlY3Rvci5oCkBAIC0zNCw3ICsz
NCw4IEBACiAKIGNsYXNzIFdlYlZpZXc7CiAKLWNsYXNzIFdlYkluc3BlY3RvciA6IHB1YmxpYyBJ
V2ViSW5zcGVjdG9yLCBwdWJsaWMgSVdlYkluc3BlY3RvclByaXZhdGUsIHB1YmxpYyBOb25jb3B5
YWJsZSB7CitjbGFzcyBXZWJJbnNwZWN0b3IgOiBwdWJsaWMgSVdlYkluc3BlY3RvciwgcHVibGlj
IElXZWJJbnNwZWN0b3JQcml2YXRlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJJbnNw
ZWN0b3IpOwogcHVibGljOgogICAgIHN0YXRpYyBXZWJJbnNwZWN0b3IqIGNyZWF0ZUluc3RhbmNl
KFdlYlZpZXcqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViTG9jYWxpemFi
bGVTdHJpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5j
cHAKaW5kZXggZGE2YjIyMS4uZTliOTlhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJMb2Nh
bGl6YWJsZVN0cmluZ3MuY3BwCkBAIC03Miw3ICs3Miw4IEBAIHN0YXRpYyBMb2NhbGl6ZWRTdHJp
bmdNYXAgZnJhbWV3b3JrTG9jU3RyaW5ncygpCiAgICAgcmV0dXJuIG1hcDsKIH0KIAotY2xhc3Mg
TG9jYWxpemVkU3RyaW5nIDogcHVibGljIE5vbmNvcHlhYmxlIHsKK2NsYXNzIExvY2FsaXplZFN0
cmluZyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxpemVkU3RyaW5nKTsKIHB1Ymxp
YzoKICAgICBMb2NhbGl6ZWRTdHJpbmcoQ0ZTdHJpbmdSZWYgc3RyaW5nKQogICAgICAgICA6IG1f
Y2ZTdHJpbmcoc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViU2NyaXB0
V29ybGQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlNjcmlwdFdvcmxkLmgKaW5kZXggZjA4OGE3
Mi4uMDE1MTFkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViU2NyaXB0V29ybGQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTY3JpcHRXb3JsZC5oCkBAIC0zMSw3ICszMSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CiB9CiAK
LWNsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIE5vbmNvcHlhYmxlLCBwdWJsaWMgSVdlYlNj
cmlwdFdvcmxkIHsKK2NsYXNzIFdlYlNjcmlwdFdvcmxkIDogcHVibGljIElXZWJTY3JpcHRXb3Js
ZCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViU2NyaXB0V29ybGQpOwogcHVibGljOgog
ICAgIHN0YXRpYyBXZWJTY3JpcHRXb3JsZCogc3RhbmRhcmRXb3JsZCgpOwogICAgIHN0YXRpYyBD
T01QdHI8V2ViU2NyaXB0V29ybGQ+IGNyZWF0ZUluc3RhbmNlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oIGIvU291cmNlL1dlYktpdC93aW4v
V2ViU2VyaWFsaXplZEpTVmFsdWUuaAppbmRleCBhMmQ2ZDU2Li42ZTM3NDdkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJTZXJpYWxpemVkSlNWYWx1ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYlNlcmlhbGl6ZWRKU1ZhbHVlLmgKQEAgLTM0LDcgKzM0LDggQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIH0KIAotY2xh
c3MgV2ViU2VyaWFsaXplZEpTVmFsdWUgOiBwdWJsaWMgTm9uY29weWFibGUsIHB1YmxpYyBJV2Vi
U2VyaWFsaXplZEpTVmFsdWUsIHB1YmxpYyBJV2ViU2VyaWFsaXplZEpTVmFsdWVQcml2YXRlIHsK
K2NsYXNzIFdlYlNlcmlhbGl6ZWRKU1ZhbHVlIDogcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1
ZSwgcHVibGljIElXZWJTZXJpYWxpemVkSlNWYWx1ZVByaXZhdGUgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdlYlNlcmlhbGl6ZWRKU1ZhbHVlKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgQ09N
UHRyPFdlYlNlcmlhbGl6ZWRKU1ZhbHVlPiBjcmVhdGVJbnN0YW5jZSgpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBiL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCmluZGV4IGU4ZjZiNjcuLjQyODU0
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVy
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oCkBA
IC0zMiw3ICszMiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBVc2VyQ29udGVu
dFVSTFBhdHRlcm47CiB9CiAKLWNsYXNzIFdlYlVzZXJDb250ZW50VVJMUGF0dGVybiA6IHB1Ymxp
YyBOb25jb3B5YWJsZSwgcHVibGljIElXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4geworY2xhc3Mg
V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuIDogcHVibGljIElXZWJVc2VyQ29udGVudFVSTFBhdHRl
cm4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlVzZXJDb250ZW50VVJMUGF0dGVybik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIENPTVB0cjxXZWJVc2VyQ29udGVudFVSTFBhdHRlcm4+IGNy
ZWF0ZUluc3RhbmNlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBkYzZkYzViLi41YTdlOGFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDEtMjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFu
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVmYWN0b3Jpbmcgb2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAg
ICAgICBJbmhlcml0aW5nIGZyb20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMg
Z2V0dGluZyBsYXJnZXIgKGJ1ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmlj
YXRpb24gcmVwbGFjZXMgTm9uY29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQg
dGhlc2UgaW5oZXJpdHMgd2l0aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxl
bWVudGF0aW9uIGF0IHRoZSBuZWNlc3NhcnkgcGxhY2VzLgorCiAyMDExLTAxLTE5ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgV2ViS2l0
MiBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKaW5kZXggMDgyNWJmNi4uZWM3NTIzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgKQEAgLTM5LDcgKzM5LDggQEAKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLWNsYXNzIE1vZHVsZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFzcyBN
b2R1bGUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6CiAgICAg
TW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmggYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAppbmRleCAwNWRjMGRkLi45ODU0MTMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaApAQCAtNTIsNyArNTIsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIFJlYWRXcml0ZQogICAgIH07CiAKLSAgICBjbGFzcyBIYW5kbGUgOiBOb25jb3B5YWJs
ZSB7CisgICAgY2xhc3MgSGFuZGxlIHsKKyAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSGFu
ZGxlKTsKICAgICBwdWJsaWM6CiAgICAgICAgIEhhbmRsZSgpOwogICAgICAgICB+SGFuZGxlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oCmluZGV4IGQ3
ZjU5MmUuLjZjMjIxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5oCkBAIC00MCw2ICs0MCw3IEBAIGNsYXNzIFdlYlByb2Nlc3NDb25uZWN0aW9uOwog
c3RydWN0IFBsdWdpblByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAgICAgICAgIAogY2xhc3Mg
UGx1Z2luUHJvY2VzcyA6IENoaWxkUHJvY2VzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGx1Z2luUHJvY2Vzcyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblByb2Nlc3MmIHNoYXJl
ZCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ2hpbGRQcm9jZXNzLmgKaW5kZXggNzhmZTFmNC4uOGM1
ZThlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0NoaWxkUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9DaGlsZFByb2Nlc3MuaApAQCAtMjcsMTMgKzI3LDEx
IEBACiAjZGVmaW5lIENoaWxkUHJvY2Vzc19oCiAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCi0j
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBDaGlsZFByb2Nlc3MgOiBwcm90ZWN0ZWQgQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50IHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDaGlsZFByb2Nlc3MpOwotCiBwcm90ZWN0ZWQ6CiAg
ICAgQ2hpbGRQcm9jZXNzKCk7CiAgICAgfkNoaWxkUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJNZW1vcnlTYW1wbGVyLmgKaW5kZXggOTMyNTRkOS4uYzUwZDNiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYk1lbW9yeVNhbXBsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViTWVtb3J5U2FtcGxlci5oCkBAIC02OSw4ICs2OSw4IEBAIHN0cnVj
dCBXZWJNZW1vcnlTdGF0aXN0aWNzCiAgICAgVmVjdG9yPHNpemVfdD4gdmFsdWVzOwogfTsKICAg
ICAKLWNsYXNzIFdlYk1lbW9yeVNhbXBsZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewotCitjbGFz
cyBXZWJNZW1vcnlTYW1wbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJNZW1vcnlT
YW1wbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgV2ViTWVtb3J5U2FtcGxlciogc2hhcmVkKCk7
CiAgICAgdm9pZCBzdGFydChjb25zdCBkb3VibGUgaW50ZXJ2YWw9MCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaApp
bmRleCBjMjY1ZjJlMi4uYTE1MGQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCkBAIC00MSw3ICs0MSw4IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgUGx1Z2luUHJvY2Vzc1Byb3h5OwogY2xhc3MgV2Vi
UHJvY2Vzc1Byb3h5OwogCi1jbGFzcyBQbHVnaW5Qcm9jZXNzTWFuYWdlciA6IE5vbmNvcHlhYmxl
ICB7CitjbGFzcyBQbHVnaW5Qcm9jZXNzTWFuYWdlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoUGx1Z2luUHJvY2Vzc01hbmFnZXIpOwogcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Qcm9j
ZXNzTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QbHVnaW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggNDg1Zjg5
Mi4uMWUwYzI1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
d2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKQEAgLTI1Myw3ICsyNTMsOCBAQCBW
ZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZvU3RvcmU6OnBsdWdpbnNEaXJlY3RvcmllcygpCiAgICAg
cmV0dXJuIGRpcmVjdG9yaWVzOwogfQogCi1jbGFzcyBQYXRoV2Fsa2VyIDogcHVibGljIE5vbmNv
cHlhYmxlIHsKK2NsYXNzIFBhdGhXYWxrZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBh
dGhXYWxrZXIpOwogcHVibGljOgogICAgIFBhdGhXYWxrZXIoY29uc3QgU3RyaW5nJiBkaXJlY3Rv
cnkpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRM
aW5rUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3Zp
ZGVyLmgKaW5kZXggMDE1NTE1Yy4uYTQyOGQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5oCkBAIC0zMSwxMyArMzEsMTMgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL0xpbmtIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvSGFzaFNldC5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dDsKICAgICAKLWNsYXNzIFZpc2l0ZWRMaW5r
UHJvdmlkZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBWaXNpdGVkTGlua1Byb3ZpZGVyIHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShWaXNpdGVkTGlua1Byb3ZpZGVyKTsKIHB1YmxpYzoKICAg
ICBleHBsaWNpdCBWaXNpdGVkTGlua1Byb3ZpZGVyKFdlYkNvbnRleHQqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWQuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkLmgKaW5kZXggMjMxOWVjNy4u
YmFjZGQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Eb3dubG9hZHMv
RG93bmxvYWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Rvd25sb2Fkcy9Eb3du
bG9hZC5oCkBAIC02Myw3ICs2Myw2IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIERvd25sb2Fk
IDogcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VTZW5kZXI8RG93bmxvYWQ+IHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShEb3dubG9hZCk7Ci0KIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0
cjxEb3dubG9hZD4gY3JlYXRlKHVpbnQ2NF90IGRvd25sb2FkSUQsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYpOwogICAgIH5Eb3dubG9hZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05QSlNPYmplY3QuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OUEpTT2JqZWN0LmgKaW5kZXggNjcz
N2JkNC4uMzUxODIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05QSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTmV0c2NhcGUvTlBKU09iamVjdC5oCkBAIC00MCw3ICs0MCw4IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogY2xhc3MgTlBSdW50aW1lT2JqZWN0TWFwOwogICAgIAogLy8gTlBKU09iamVj
dCBpcyBhbiBOUE9iamVjdCB0aGF0IHdyYXBzIGEgSlNPYmplY3QuCi1jbGFzcyBOUEpTT2JqZWN0
IDogcHVibGljIE5QT2JqZWN0LCBOb25jb3B5YWJsZSB7CitjbGFzcyBOUEpTT2JqZWN0IDogcHVi
bGljIE5QT2JqZWN0IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShOUEpTT2JqZWN0KTsKIHB1
YmxpYzoKICAgICBzdGF0aWMgTlBKU09iamVjdCogY3JlYXRlKE5QUnVudGltZU9iamVjdE1hcCog
b2JqZWN0TWFwLCBKU0M6OkpTT2JqZWN0KiBqc09iamVjdCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbk1hbmFnZXIuaAppbmRleCBkN2JhODUzLi44YjYwZjE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5h
Z2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nl
c3NDb25uZWN0aW9uTWFuYWdlci5oCkBAIC0zOCw3ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiBjbGFzcyBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjsKICAgICAgICAgCi1jbGFzcyBQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgOiBOb25jb3B5YWJsZSB7CitjbGFzcyBQbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdp
blByb2Nlc3NDb25uZWN0aW9uTWFuYWdlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlciYgc2hhcmVkKCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwNDkyYzRkLi5lZWFkMzc0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDEtMjAgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3Jpbmcg
b2YgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIGZyYW1ld29yaworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDk4OTcKKworICAgICAgICBJbmhlcml0aW5nIGZy
b20gRmFzdEFsbG9jQmFzZSBjYW4gcmVzdWx0IGluIG9iamVjdHMgZ2V0dGluZyBsYXJnZXIgKGJ1
ZyAjMzM4OTYsICM0NjU4OSkuCisgICAgICAgIFRoZSBtb2RpZmljYXRpb24gcmVwbGFjZXMgTm9u
Y29weWFibGUgYW5kIEZhc3RBbGxvY0Jhc2UgY2xhc3NlcyBhbmQgdGhlc2UgaW5oZXJpdHMgd2l0
aCB0aGVpcgorICAgICAgICBlcXVpdmFsZW50IG1hY3JvIGltcGxlbWVudGF0aW9uIGF0IHRoZSBu
ZWNlc3NhcnkgcGxhY2VzLgogMjAxMS0wMS0xOSAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBidWlsZCBmaXggLSBJIHB1bGxlZCB0aGlz
IHBhdGNoIGluIHRvIGZpeCBhbiBpc3N1ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vQ3BwQm91bmRDbGFzcy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vQ3BwQm91bmRDbGFzcy5oCmluZGV4IDZjYjYzOGUuLjYxNTFhOWMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0NwcEJvdW5kQ2xhc3MuaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9DcHBCb3VuZENsYXNzLmgKQEAgLTU4LDcgKzU4LDggQEAg
dHlwZWRlZiBWZWN0b3I8Q3BwVmFyaWFudD4gQ3BwQXJndW1lbnRMaXN0OwogCiAvLyBDcHBCb3Vu
ZENsYXNzIGxldHMgeW91IG1hcCBKYXZhc2NyaXB0IG1ldGhvZCBjYWxscyBhbmQgcHJvcGVydHkg
YWNjZXNzZXMKIC8vIGRpcmVjdGx5IHRvIEMrKyBtZXRob2QgY2FsbHMgYW5kIENwcFZhcmlhbnQq
IHZhcmlhYmxlIGFjY2Vzcy4KLWNsYXNzIENwcEJvdW5kQ2xhc3MgOiBwdWJsaWMgTm9uY29weWFi
bGUgeworY2xhc3MgQ3BwQm91bmRDbGFzcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ3Bw
Qm91bmRDbGFzcyk7CiBwdWJsaWM6CiAgICAgY2xhc3MgUHJvcGVydHlDYWxsYmFjayB7CiAgICAg
cHVibGljOgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2
VG9vbHNBZ2VudC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNB
Z2VudC5oCmluZGV4IGUxNDc4ZDAuLjY2NTQzNWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQWdlbnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0FnZW50LmgKQEAgLTQ5LDggKzQ5LDggQEAgc3RydWN0
IFdlYkRldlRvb2xzTWVzc2FnZURhdGE7CiAKIGNsYXNzIERSVERldlRvb2xzQ2xpZW50OwogCi1j
bGFzcyBEUlREZXZUb29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENs
aWVudAotICAgICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBEUlREZXZUb29sc0FnZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudENsaWVu
dCB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRFJURGV2VG9vbHNBZ2VudCk7CiBwdWJsaWM6
CiAgICAgRFJURGV2VG9vbHNBZ2VudCgpOwogICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQWdlbnQo
KSB7fQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJURGV2VG9v
bHNDbGllbnQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVERldlRvb2xzQ2xp
ZW50LmgKaW5kZXggOWNhMTQwMi4uMGNiYTUxYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJURGV2VG9vbHNDbGllbnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlREZXZUb29sc0NsaWVudC5oCkBAIC00OCw4ICs0OCw4IEBAIGNsYXNz
IFdlYlZpZXc7CiAKIGNsYXNzIERSVERldlRvb2xzQWdlbnQ7CiAKLWNsYXNzIERSVERldlRvb2xz
Q2xpZW50IDogcHVibGljIFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudAotICAgICAg
ICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgRFJURGV2VG9v
bHNDbGllbnQgOiBwdWJsaWMgV2ViS2l0OjpXZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50IHsKKyAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShEUlREZXZUb29sc0NsaWVudCk7CiBwdWJsaWM6CiAgICAg
RFJURGV2VG9vbHNDbGllbnQoRFJURGV2VG9vbHNBZ2VudCosIFdlYktpdDo6V2ViVmlldyopOwog
ICAgIHZpcnR1YWwgfkRSVERldlRvb2xzQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCmluZGV4IGI2
NzE0ODkuLjg1MDJhOTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3ROYXZpZ2F0aW9uQ29udHJvbGxlci5oCkBAIC0xMTEsNyArMTExLDggQEAgcHVi
bGljOgogCiAvLyBUZXN0IHNoZWxsJ3MgTmF2aWdhdGlvbkNvbnRyb2xsZXIuIFRoZSBnb2FsIGlz
IHRvIGJlIGFzIGNsb3NlIHRvIHRoZSBDaHJvbWUKIC8vIHZlcnNpb24gYXMgcG9zc2libGUuCi1j
bGFzcyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXI6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRl
c3ROYXZpZ2F0aW9uQ29udHJvbGxlcik7CiBwdWJsaWM6CiAgICAgVGVzdE5hdmlnYXRpb25Db250
cm9sbGVyKE5hdmlnYXRpb25Ib3N0Kik7CiAgICAgflRlc3ROYXZpZ2F0aW9uQ29udHJvbGxlcigp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVDb250
cm9sRFJUV2luLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRy
b2xEUlRXaW4uaAppbmRleCA0ZTIyNDYxLi5lZGUxNDU4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlRXaW4uaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJUaGVtZUNvbnRyb2xEUlRXaW4uaApAQCAtNDYsNyAr
NDYsOCBAQAogLy8gU2tpYSBmb3J3YXJkIGRlY2xhcmF0aW9ucwogc3RydWN0IFNrSVJlY3Q7CiAK
LWNsYXNzIFdlYlRoZW1lQ29udHJvbERSVFdpbiA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBXZWJUaGVtZUNvbnRyb2xEUlRXaW4geworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlRo
ZW1lQ29udHJvbERSVFdpbik7CiBwdWJsaWM6CiAgICAgLy8gVGhpcyBsaXN0IG9mIHN0YXRlcyBt
b3N0bHkgbWlycm9ycyB0aGUgbGlzdCBpbiBXZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAog
ICAgIC8vIGJ1dCBpcyBtYWludGFpbmVkIHNlcGFyYXRlbHkgc2luY2UgdGhhdCBpc24ndCBwdWJs
aWMgYW5kIGFsc28gdG8gbWluaW1pemUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJUV2luLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJUaGVtZUVuZ2luZURSVFdpbi5oCmluZGV4IDJlMTVjZjguLjliMWU4MTcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlRoZW1lRW5naW5lRFJU
V2luLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVGhlbWVFbmdpbmVE
UlRXaW4uaApAQCAtNTAsNyArNTAsOCBAQAogI2luY2x1ZGUgIndpbi9XZWJUaGVtZUVuZ2luZS5o
IgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCi1jbGFzcyBXZWJUaGVtZUVuZ2luZURS
VFdpbiA6IHB1YmxpYyBXZWJLaXQ6OldlYlRoZW1lRW5naW5lLCBwdWJsaWMgTm9uY29weWFibGUg
eworY2xhc3MgV2ViVGhlbWVFbmdpbmVEUlRXaW4gOiBwdWJsaWMgV2ViS2l0OjpXZWJUaGVtZUVu
Z2luZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViVGhlbWVFbmdpbmVEUlRXaW4pOwog
cHVibGljOgogICAgIFdlYlRoZW1lRW5naW5lRFJUV2luKCkge30KIApkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0QVBJVGVzdC9Ib3N0V2luZG93LmggYi9Ub29scy9XZWJLaXRBUElUZXN0L0hvc3RX
aW5kb3cuaAppbmRleCBhMjczNGVkLi4yYWFhODVmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRB
UElUZXN0L0hvc3RXaW5kb3cuaAorKysgYi9Ub29scy9XZWJLaXRBUElUZXN0L0hvc3RXaW5kb3cu
aApAQCAtMzAsNyArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0QVBJVGVzdCB7CiAKLWNsYXNz
IEhvc3RXaW5kb3cgOiBwdWJsaWMgTm9uY29weWFibGUgeworY2xhc3MgSG9zdFdpbmRvdyB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSG9zdFdpbmRvdyk7CiBwdWJsaWM6CiAgICAgSG9zdFdp
bmRvdygpOwogICAgIH5Ib3N0V2luZG93KCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRBUElU
ZXN0L1Rlc3RzQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0QVBJVGVzdC9UZXN0c0NvbnRyb2xs
ZXIuaAppbmRleCAxMWI0NTdkLi5iZGNjNDU1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRBUElU
ZXN0L1Rlc3RzQ29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdEFQSVRlc3QvVGVzdHNDb250
cm9sbGVyLmgKQEAgLTI4LDEzICsyOCwxMyBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgotI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0QVBJVGVzdCB7CiAKIGNsYXNzIFRl
c3Q7CiAKLWNsYXNzIFRlc3RzQ29udHJvbGxlciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitjbGFz
cyBUZXN0c0NvbnRyb2xsZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFRlc3RzQ29udHJv
bGxlcik7CiBwdWJsaWM6CiAgICAgc3RhdGljIFRlc3RzQ29udHJvbGxlciYgc2hhcmVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAppbmRleCBmZWMxZjdhLi5lZmM2
NjM1IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oCkBAIC0zMSw3ICsz
MSw4IEBACiAKIG5hbWVzcGFjZSBXVFIgewogCi1jbGFzcyBUZXN0SW52b2NhdGlvbiA6IHB1Ymxp
YyBOb25jb3B5YWJsZSB7CitjbGFzcyBUZXN0SW52b2NhdGlvbiB7CisgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVGVzdEludm9jYXRpb24pOwogcHVibGljOgogICAgIFRlc3RJbnZvY2F0aW9uKGNv
bnN0IGNoYXIqKTsKICAgICB+VGVzdEludm9jYXRpb24oKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>